Releases: yuyudhan/LazyTables
v0.2.3 🐛 Bug Fixes & Code Refactoring
LazyTables v0.2.3 Release Notes
Release Date: October 14, 2025
Release Type: Maintenance Release - Bug Fixes & Code Refactoring
Overview
Version 0.2.3 delivers critical bug fixes, major code refactoring for improved maintainability, and enhanced user experience features. The highlight is fixing a critical issue where number keys were blocked during cell editing, along with a comprehensive reorganization of event handling code into dedicated modules.
What's New
🐛 Critical Bug Fix
- Number Key Input During Cell Editing - Fixed blocking issue where pressing number keys 1-6 while editing numerical fields in table cells would trigger pane navigation instead of entering the digits. This significantly improves the data editing experience.
✨ New Features
Database Management
- Disconnect Functionality - Press
xin Connections pane to disconnect from active database with proper cleanup and toast notification - Abort Connection Tests - Press
Ctrl+Cduring connection testing to abort ongoing tests with visual feedback
Enhanced Schema Viewing
- Toggle Data/Schema Views - Press
tin table viewer to switch between views - Comprehensive Metadata Display including:
- Columns with primary key indicators (🔑)
- Indexes with type, uniqueness, and size information
- Foreign keys with ON DELETE/UPDATE actions
- Table constraints (CHECK, UNIQUE, etc.)
- Table statistics (row count, sizes, vacuum/analyze timestamps, owner)
- Scrollable Schema View - Navigate with
j/k,gg/G,Ctrl+d/u
User Experience Improvements
- Informative Empty States - Query results pane shows helpful guidance when no data available
- Progressive Pane Enablement - Panes only enabled when relevant data is available
- Enhanced Visual Feedback - Disabled panes show dimmed borders with informative messages
- Improved Delete Confirmation Modal - Better visibility with solid background colors
🏗️ Major Code Refactoring
Event Handler Modularization - Reorganized ~2000 lines of event handling code:
src/app/handlers/
├── global.rs # Global key bindings (137 lines)
├── connections.rs # Connection pane handlers (644 lines)
├── tables.rs # Tables pane handlers (117 lines)
├── query_results.rs # Query results handlers (293 lines)
├── query_editor.rs # SQL editor handlers (267 lines)
├── sql_files.rs # SQL files handlers (186 lines)
├── overlays.rs # Modal handlers (198 lines)
└── details.rs # Details pane handlers (46 lines)
Impact:
- Reduced
src/app/mod.rsfrom ~2600 lines to ~460 lines - Clear separation of concerns by pane/feature
- Improved maintainability and code organization
- Easier navigation and testing
🔧 Additional Fixes
- Help Modal Navigation - Fixed event routing for proper help system interaction
- SQLite Connection Format - Corrected connection string format for SQLite
- Security Improvements - Enhanced error handling in all database adapters
📚 Design Philosophy
Schema Modification Approach - Removed table creation and schema editing features to focus on core mission:
- Most users only need to view schema information
- Power users can use SQL directly via Query Editor for modifications
- Reduces complexity while maintaining comprehensive read-only schema viewing
- Keeps tool focused on data viewing and querying
Installation
From crates.io
cargo install lazytablesUpdate Existing Installation
cargo install lazytables --forceUsing cargo-binstall
cargo binstall lazytablesFrom Source
git clone https://github.com/yuyudhan/LazyTables.git
cd LazyTables
cargo install --path .Upgrade Notes
No Breaking Changes - Seamless upgrade from v0.2.1/v0.2.2 with all configurations preserved.
New Features to Try:
- Press
xin Connections pane to disconnect from database - Press
tin table viewer to toggle Data/Schema views - Press
Ctrl+Cduring connection test to abort - Edit numerical fields - number keys now work correctly
Database Support Status
| Database | Status |
|---|---|
| PostgreSQL | ✅ Full Support |
| MySQL | ✅ Full Support |
| MariaDB | ✅ Full Support |
| SQLite | ✅ Full Support |
Technical Details
Code Statistics:
- Lines Added: ~2,442 lines (modular handlers)
- Lines Removed: ~1,839 lines (refactored)
- Net Change: +603 lines
- Files Changed: 18 files
- New Modules: 10 handler modules
Testing:
- All 82 unit tests passing
- Verified with
cargo checkandcargo clippy - Release build successful
What's Next
Planned for v0.2.4:
- Connection health monitoring with automatic reconnection
- Query history with search and filtering
- Export functionality (CSV, JSON, SQL formats)
- Performance optimizations for large datasets
Roadmap:
- Oracle, Redis, MongoDB support
- Advanced filtering and aggregation
- Multi-tab query editor
- Result set comparison tools
Feedback & Support
- Issues: https://github.com/yuyudhan/LazyTables/issues
- Documentation: https://github.com/yuyudhan/LazyTables/tree/main/docs
- Discussions: https://github.com/yuyudhan/LazyTables/discussions
- Changelog: CHANGELOG.md
Full Changelog
See v0.2.1...v0.2.3 for complete diff.
License: WTFPL
Platforms: macOS, Linux
Rust Version: 1.70+