0.6.2
🚀 New Features
SSH Tunnel Support (#51)
Connect to databases through SSH tunnels for secure access to remote databases behind firewalls. Configure SSH host, port, username, and authentication method (password or private key) directly in the connection dialog.
Improved Row Insert UX (#46)
- New Add Row Sheet: Side sheet form with smart, type-aware field inputs:
- UUID fields with one-click generate button
- Date/time fields with picker and "Now" button
- Boolean fields with toggle switch
- Enum fields with dropdown selection
- JSON fields with textarea editor
- Foreign key fields with searchable dropdown that fetches referenced values
- Duplicate Row: Right-click any row to duplicate it (auto-clears serial/identity PKs)
- Quick Add: Add rows directly from normal view mode without entering edit mode first
Cancel Long-Running Queries (#45)
New cancel button appears during query execution, allowing you to abort long-running queries without restarting the app.
Schema Caching with Background Refresh
- Schemas and custom types are now cached to disk for faster load times
- Background refresh keeps cached data fresh
- Toast notifications inform you when schema updates are detected
- Refresh spinner and cache status shown in schema explorer tooltip
Auto-Update Improvements
- Periodic update checks every 4 hours (in addition to startup)
- Toast notification when update is downloading
- Persistent toast with "Restart Now" button when download completes
🐛 Bug Fixes
MSSQL Compatibility (#53)
- Use
TOPinstead ofLIMITfor MSSQL queries (fixes syntax errors) - Generate fallback names (
column_1,column_2) for unnamed columns from aggregate queries - Fixes "Columns require an id" errors in data tables
- Fixes
SELECT COUNT(*), SUM(), AVG()queries showing NULL values
🛠️ Internal Improvements
Test Coverage
- Added Vitest testing framework with v8 coverage
- 177 unit tests covering critical paths:
sql-builder.ts: INSERT/UPDATE/DELETE generation (97% coverage)ddl-builder.ts: CREATE/ALTER TABLE DDL (97% coverage)sql-utils.ts: identifier quoting (100% coverage)edit-store.ts: Zustand store state management (92% coverage)
- Tests cover all 4 database dialects: PostgreSQL, MySQL, SQLite, MSSQL
- New scripts:
pnpm test,pnpm test:watch,pnpm test:coverage
Code Refactoring
- Extracted IPC handlers into separate files for better maintainability
- Improved logging infrastructure
- Added SQL statement splitting and PostgreSQL type resolution utilities
New Contributors
- @PhantomReactor made their first contribution in #51
Full Changelog: v0.5.3...v0.6.2