Multiple query tabs, SSH tunnels for database connections, and a built-in SSH terminal - work on several queries at once and manage remote servers without leaving the app.
- Open multiple query tabs per connection - each with its own SQL, results, and state
- Query tabs scoped per database - switching databases shows only relevant tabs
- Keyboard shortcuts:
⌘+T new tab, ⌘+W close tab - Double-click tab title to rename inline
- Tab state (SQL text) persisted to localStorage across sessions
- Migration: existing editor content automatically moves to the first tab
- Race-condition safe - query results always land in the correct tab, even when switching mid-execution
- External callers (saved queries, history, snippets, Cmd+D) open into the active query tab
- SSH tunnel for MySQL, PostgreSQL, and Redis connections
- Password-based auth (via sshpass) and key-based auth
- Automatic local port forwarding - binds random available port, forwards to remote DB
- Tunnel verification with TCP ping retry (800ms + 1200ms timeout)
- Test connection (ping) validates tunnel + database connectivity before saving
- SSH section in connection form with collapsible toggle
- Key file picker via native file dialog (.pem, .key, .crt, .cert, .p12)
- Tunnel lifecycle managed per connection - auto-close on disconnect
- SSH password stored securely in OS keychain
- Full interactive SSH terminal powered by xterm.js
- Multi-tab terminal sessions - open multiple SSH connections at once
- Save SSH sessions with name, host, port, username, and credentials
- Session grouping and color coding for organization
- Password auth (via SSH_ASKPASS) and key auth with file picker (.pem, .key, .pub, .ppk)
- SSH keepalive:
ServerAliveInterval=15, TCPKeepAlive=yes, 3 retries - Auto-reconnect on disconnect - press Enter to retry
- Green/red status dots on saved sessions showing active connections
- 5000-line scrollback buffer with dark theme
- Completely isolated from database client - SSH bugs can't crash DB features
Introducing the Metrics Board - write SQL, pick a chart type, and see live visualizations right inside Dibiku.
- New Dashboard tab - SQL-powered chart visualizations per connection
- 5 chart types: Bar, Line, Area, Pie, and Doughnut
- Multi-step chart builder with live SQL preview (first 5 rows)
- Configurable X/Y column mapping from query results
- 3 card sizes: small (1 col), medium (2 col), large (4 col) in a responsive grid
- 4 grid layouts: switch between 1, 2, 3, or 4 columns - persisted per connection
- Full-screen chart detail view with Chart/Data toggle
- Export chart as PDF - chart image + full data table, dark-themed, multi-page
- Auto-refresh with configurable intervals (10s, 30s, 1m, 5m, 10m)
- Edit and update existing charts in-place
- Per-connection card persistence - cards saved to config database
- Per-connection state isolation - switching connections preserves each dashboard independently
- Database context stored per card - works across database switches
- Dark theme optimized charts via Chart.js + vue-chartjs
- Dashboard hidden for Redis connections (no SQL support)
- Keyboard shortcut:
⌘+5 to switch to Dashboard tab
The first public release of Dibiku - a fast, lightweight database client for MySQL, PostgreSQL, SQLite, and Redis. Built from the ground up for speed, keyboard-first workflows, and zero bloat.
- Revamped detail panel with compact card layout
- Per-connection schema and query state isolation
- Create, edit, duplicate, and delete connections
- Group connections into folders with drag-and-drop
- Color-coded connection badges for quick identification
- Import connections from URL (e.g.
mysql://user:pass@host/db) - Multi-connection tabs with independent data grids
- Reconnect button when connection drops
- SNI routing support for cloud-hosted databases
- MySQL driver with single-connection pool and per-query database switching
- PostgreSQL driver with multi-schema support (all user schemas, not just public)
- SQLite driver for local file-based databases
- Redis driver with key browser, CLI mode, TTL management, and key operations
- SSH tunnel support with password and key-based authentication
- SSL/TLS with custom certificate paths (key, cert, CA)
- OS keychain integration - passwords stored securely, never on disk
- Dark theme (VS Code-inspired) and light theme with toggle
- macOS native title bar with traffic light integration
- 36 keyboard shortcuts with cheat sheet (Cmd+?)
- Command palette (Cmd+P) for quick table search
- Data masking toggle with inline eye icon and label
- Toast notifications for all actions
- Settings dialog with theme, page size, and read-only mode
- First-run welcome dialog with onboarding steps
- Auto-update with download progress banner
- Session restore - reopen last connection tabs on restart
- ESC layered close: modals → table tabs → database → connection
- Table structure viewer with columns, indexes, and primary keys
- Context menu: Copy Name, Copy SELECT, Copy INSERT, Copy CREATE TABLE
- Create table dialog, duplicate table, truncate and drop table
- Database picker (Cmd+K) with search
- Foreign key viewer and navigation
- Slow query warning with inline EXPLAIN
- Export current view or full table as CSV, JSON, or SQL INSERT statements
- Import CSV into existing tables with column mapping
- Copy rows as PHP array, Python dict, Go struct, Ruby hash, or YAML
- Copy CREATE TABLE statements
- Database backup (full SQL dump) and restore
- Connection import/export for team sharing
- Virtual scrolling - render millions of rows at 60fps
- Multi-table tabs scoped per database with independent state
- Column sorting, resize, drag-to-reorder, and visibility toggle
- Row selection - click, Shift+click, Cmd+click, drag-to-select
- Inline cell editing with dirty state tracking and batch save (Cmd+S)
- Undo cell edits (Cmd+Z) with full undo stack
- Pagination with configurable page size (50-1000 rows)
- In-grid search with match highlighting (Cmd+F)
- Copy rows to clipboard (Cmd+C) and paste rows (Cmd+V)
- Row comparison - select 2 rows to compare side-by-side
- Column statistics - right-click any column for min, max, avg, distinct count
- Full-featured SQL editor with syntax highlighting
- Schema-aware autocomplete for tables, columns, and SQL keywords
- Multi-statement execution with result tabs
- SQL formatter (Cmd+Shift+F)
- Query variables -
:user_id placeholders - EXPLAIN visualizer for MySQL (color-coded) and PostgreSQL (tree view)
- Saved queries library (Cmd+B)
- Query snippets per engine
- Editor content auto-saved to localStorage
- Per-connection query history (up to 500 entries, persisted to disk)