Releases: KingDasWinx/Dexo
Releases · KingDasWinx/Dexo
Release list
1.4.2
Highlights
New screens
- Connections, History, Compare, Server and Agents now live beside the workbench, each with a list, a detail view and action buttons. Switch with
Ctrl+G, and move between list and detail withAlt+1/Alt+2. - History keeps every statement you run, with its outcome, time, rows and errors. You can filter, re-run, copy and save from it.
- Server shows sessions, locks, sizes, statistics and settings, refreshed live. You can cancel a query from there.
- Compare lists schema differences by kind, with the statement for each or the whole script.
Agents & MCP
dexo mcp setupconnects Dexo to Claude Code, Codex, Cursor, Claude Desktop, Gemini CLI, Windsurf and VS Code, creating the profile in the same step.- An agent's write can wait for a person to approve it, from Agents → Approvals.
- MCP grants and profiles let you control which connections an agent can use and which SQL it can run.
New databases
- DuckDB: open
.duckdbfiles as well as CSV, Parquet and JSON, with catalog, rows and plans. - SQLite: queries, catalog, row editing, query plans, import and export.
- MariaDB support.
Editor
- Modal Vim mode, find and replace, editing in
$EDITOR, comment toggling, and duplicating and moving lines. - Errors are underlined as you type, and psql's
\dcommands are answered from the catalog. dexo lspbrings completion, diagnostics and formatting to any editor.- Saved queries, plus templates for Alter Table, New View, New Index, New Function and New Trigger.
Queries & data
F7runs EXPLAIN andShift+F7runs EXPLAIN ANALYZE, with plans drawn as a tree.- Try an index before building it (Postgres with hypopg).
- WHERE and ORDER BY bars over the grid, sorting by clicking a column header, and navigation to related rows through foreign keys.
- A table's document shows its structure, DDL and privileges next to its rows.
- Notes on tables and columns, readable by people and by agents.
Connections
- Add a connection by pasting a URL, or open a temporary one with
dexo <url>. - Databases running in Docker are found automatically.
- Passwords can come from a command, and a command can run before Dexo connects (for example, to open a tunnel).
dexo --demoopens a seeded database to try every screen.
Safety & customization
- One policy decides what may run on each connection: plain reads, writes and destructive statements are told apart.
- Production connections confirm before every write path, including grid edits, imports, restores and DDL.
- Five theme presets, custom themes and your own keymap overlay.
Fixes
Hundreds of fixes, mainly in these areas:
- Responsiveness: database, catalog and clipboard access moved off the UI loop, and Dexo's own database now uses a write-ahead log, so the screen no longer freezes.
- Small terminals: every screen works at 80x24 and folds to a single column below 80.
- Input editing: all inputs share the same editing keys (
Ctrl+A, word navigation and deletion, accented characters). - Safety guards: read-only and production rules are enforced in the TUI, the CLI and MCP alike.
- Dialect correctness: Postgres type rendering, MySQL/MariaDB parsing and plans, DuckDB values and SQLite edge cases.
- Import, export, backup and restore: streamed import, correct column mapping, and SQL export in the connection's own dialect.
- Vim fidelity: motions, counts, text objects and Visual mode behave as in Vim.
Performance
- Imports send multi-row INSERT batches, and use DuckDB's appender on DuckDB.
- Diagnostics re-check only the statement that changed.
- Faster SQL highlighting in detail views.
Install dexo 1.4.2
Shell (macOS/Linux)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.4.2/dexo-installer.sh | shPowerShell (Windows)
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.4.2/dexo-installer.ps1 | iex"Homebrew
brew install KingDasWinx/tap/dexoPrebuilt binaries for macOS (Apple Silicon/Intel), Windows (zip/msi) and Linux (x64/ARM64) are in the assets below, each with its SHA-256 checksum.
1.4.1
Release Notes
Features
- Ctrl+Up/Down scroll the view; the wheel stops at the last line
- Results follow the outcome (Messages on error, Grid on success)
- Log failed statements with SQLSTATE, caret, DETAIL and HINT
- Audit every tool call with timing, size and a hashed statement
- Opt-in admin session list, separate from admin actions
- Compare saved schema snapshots
- Page table data without raw SQL
- Live catalog tools behind the allowlist
- Typed tools on a per-connection router
- Configure MCP profiles without editing SQLite
Fixes
- Ctrl+Delete no longer glues the words around it
- Ctrl+Left/Right move by word like VS Code
- Save file offers the document's name
- Ctrl+Backspace/Delete handle blanks and line breaks
- Help, inspect and explain stop scrolling at the end
- New row dialog walks to Insert/Cancel with the arrows
- Copies also go through the terminal (OSC 52)
- Keep the server's SQLSTATE, detail, hint and position
- Prompts point at real tools; drop dead adapter code
- Row writes use the table's real keys
- Writes refuse production, stay inside the grant and need typed confirmation
- Grants cannot widen the profile or leave their connection
- Read inside a read-only transaction and cancel only the request asked
- Match selectors against the object's real path
- Parse MCP statements instead of reading the first keyword
- Copy cell copies the value alone
- Copying reaches other programs on Wayland
Other changes
- Update README.md
Install dexo 1.4.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.4.1/dexo-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.4.1/dexo-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install KingDasWinx/tap/dexoDownload dexo 1.4.1
| File | Platform | Checksum |
|---|---|---|
| dexo-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dexo-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| dexo-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| dexo-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| dexo-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| dexo-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
1.4.0
Release Notes
Features
- Reserved words go in capitals as they are typed
- Alt+Shift+F formats SQL the way prettier would
- Completion that knows where it is and what the tables hold
- Copy and cut in the SQL editor
Fixes
- Connecting to a database no longer opens a SQL of its own
- The view scrolls only when the cursor reaches its edge
- ORDER BY comes up after a table and keeps its colour
- A table name before a dot offers its columns without a FROM
- Deleting a connection asks in a dialog of its own
- A password field shows one mark per character typed
- The completion popup gets out of the way
- An unfinished statement no longer swallows or discolours the next
- Save As names the tab after the new file
- A dropped storage handle no longer stops storage for everyone
- Ctrl+Backspace and Ctrl+Delete delete a whole word
- Enter on a table expands it instead of opening its rows
Install dexo 1.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.4.0/dexo-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.4.0/dexo-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install KingDasWinx/tap/dexoDownload dexo 1.4.0
| File | Platform | Checksum |
|---|---|---|
| dexo-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dexo-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| dexo-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| dexo-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| dexo-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| dexo-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
1.3.0
Release Notes
Features
- A Windows installer and a portable .exe
- Tell the user when a newer Dexo is out
Install dexo 1.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.3.0/dexo-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.3.0/dexo-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install KingDasWinx/tap/dexoDownload dexo 1.3.0
| File | Platform | Checksum |
|---|---|---|
| dexo-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dexo-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| dexo-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| dexo-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| dexo-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| dexo-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
v1.3.0-rc.1
Install dexo 1.3.0-rc.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.3.0-rc.1/dexo-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.3.0-rc.1/dexo-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install KingDasWinx/tap/dexoDownload dexo 1.3.0-rc.1
| File | Platform | Checksum |
|---|---|---|
| dexo-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dexo-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| dexo-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| dexo-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| dexo-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| dexo-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
1.2.0
Release Notes
Features
- Ctrl+R on an offline table connects first
- Ctrl+R refreshes a table's data
- Clicking the console focuses it
- Closing unsaved work asks before losing it
- Closing the last document leaves nothing open
- The entrance comes up in the saved theme
- Colour the sidebar row the cursor points at
- Make the tab strip a pane instead of a second focus
- A document belongs to a connection
- Name the actions key where the sidebar names its other two
- Act on a sidebar node without leaving the sidebar
- Thin the command palette down to what it is for
- Complete names the sidebar has not loaded yet
- Walk a snippet's holes with Tab
- Open the popup where it belongs, and accept what it says
- Suggest the join condition the foreign key already knows
- Offer what the position asks for, best match first
- Read the cursor's context off the tokens
- Add a lexer, and stop completing inside strings and comments
- Add the Messages view to the output pane
- Give toasts a severity, and keep errors on screen
- Group catalog objects by class in the sidebar
- Split the light/dark mode from the system accent color
- Surface the actual mutation-conflict detail in the Review modal
- Let the export/import modal pick a real format, add a direct key
- Commit or discard pending row changes with Ctrl+S / Ctrl+Shift+R
- Add a Ctrl+N modal to insert a new row locally
- Mark/restore a grid row for deletion with the Delete key
- Add row-identity lookup and GridModel::remove_row
- Fetch and apply real primary-key metadata when a table opens
- Implement table_columns via information_schema
- Implement table_columns via pg_constraint
- Add a table_columns capability to DataMutator
- Open sidebar tables into their own grid-primary document tab
- Add keybinds to hide the explorer, results, and inspector panels
- Add search to the F1 keybindings overlay
- Make the settings modal a navigable form
- Open recent SQL files from the picker
- Name documents on create and rename with F2
- Add a reusable text input widget
- Fold connections into the explorer tree
- Align execution shortcuts with DataGrip
- Warn in the status bar when mouse capture is off
- Open the results action menu with a double-click
- Select SQL text by dragging with the mouse
- Resize workbench panes by dragging dividers
- Add sidebar New/Edit mouse affordances for connections
- Make inspector tabs and wheel scrolling mouse-reachable
- Close and create SQL document tabs with the mouse
- Render the first-run onboarding overlay
- Handle onboarding keys, mouse, and logo ticks
- Persist onboarding completion from the runtime
- Play entrance animation and open onboarding on first run
- Treat onboarding as a blocking overlay for mouse hits
- Add onboarding actions and model state
- Add entrance splash helpers and first-run completion marker
- Add a collapsible Advanced section to the connection form
- Make connection and SQL tab actions reachable without palette
- Autosave dirty SQL documents with a path on checkpoint
- Open per-connection console.sql on connect
- Show connections in sidebar with click-to-connect
- Add VS Code-style SQL document tab strip
- Bind editor documents to unique ids and connections
- Add per-connection SQL file directory helpers
- Give SQL, Data, DDL and Properties their own editor views
- Toggle specific result rows with Ctrl+Enter
- Group explorer catalog children into folders
- Grow explorer and inspector width with Alt+= when focused
- Wire help, layout controls, focus keys, and results row actions
- Track help, results menu, and grid cursor in the model
- Add layout presets and honor results height in compact mode
- Restyle the theme toward Yazi-like pane and grid colors
- Render highlights overlays hits and status messages
- Run ddl explain admin mcp and snippets via managers
- Dispatch unwired actions through existing effects
- Restore checkpoints and track file picker mode
- Add editor overlays and explorer inspector helpers
- Expose execute, tabs, and data commands in keymap and palette
Fixes
- A file opened with Ctrl+O shows its text
- Scope the ttfx test's import to Unix
- Clear clippy warnings so CI's -D warnings passes
- The tab strip lights the document that is open
- Each table document keeps its own paging and edits
- Clicking a table's grid focuses the grid
- Popups paint in the theme's colours
- Document keys work from whichever pane holds the document
- Find placeholders with the lexer, not a byte scan
- One set of keys for every Submit/Cancel dialog
- Accepting a completion inserts the name, not an alias too
- Actually enable bracketed paste, and make Ctrl+V paste
- Paste as a paste, not as the keys it looks like
- Tell the terminal what colour to draw the caret
- Label the documents that were already there
- Each document keeps its own results
- Say something when a connection refuses
- Stop reopening every document the project ever held
- Let the editor see the columns of a table
- Keep the cursor row lined up with the header
- Give the grid columns room to breathe
- Send text parameters for the server to parse
- Stop reporting values it cannot decode as NULL
- Re-derive the row viewport when the document changes
- Give the model the terminal size it is actually drawn into
- Let the cursor reach the last row the pane paints
- Size every result set by the pane that draws it
- Give the grid the room a table document has
- Size the grid viewport to the rows it actually paints
- Let Alt+Up/Down resize the console pane
- Let Alt+Left/Right switch documents from any pane
- Stop opening a Properties modal when a table opens
- Make Alt+1/2/3 follow the panes a table document has
- Populate the MCP grants list from the ledger
- Reach per-profile grant revocation and profile disable
- Make config import/export and MCP enable actually reachable
- Re-arm the offline catalog capture after folding connections in
- Rebuild real hierarchy when restoring the offline catalog
- Apply a settings reset to the live state
- Restore every saved setting on startup
- Widen result columns as longer values scroll into view
- Stop narrow result columns from being truncated first
- Keep the sidebar focused when a connection opens
- Resolve the statement under the caret on unicode text
- Recover local database after schema downgrade
- Route wheel input to visible overlay
- Ignore non-left mouse buttons for activation clicks
- Keep schema and security selections visible
- Make overlay mouse hits and scrolling accurate
- Reset inspector scroll when changing tabs
- Block workbench mouse through completion and match overlay z-order
- Clear project recovery checkpoints after a document flush
- Clear recovery rows after documents save or flush
- Checkpoint workbench layout into session recovery
- Restore recovery documents automatically on bootstrap
- Clear the explorer when a session closes or a profile is deleted
- Keep the last results row visible under the column header
- Show group/name paths and shorten the connections footer
- Keep the Linux clipboard handle alive after copy
- Prevent stale document saves from closing newer edits
- Clear the clippy warnings this branch introduced
- Explain Edit Connection when nothing is selected
- Keep a dirty tab open until its save is acknowledged
- Line sidebar mouse hits up with the rows it draws
- Make write_sql_file durable again
- Keep
ntypable in the SQL editor - Catalog-empty state and global n in emacs keymap
- Empty states and footer hints for sidebar workbench
- Scope sidebar footer shortcuts to connection focus
- Place autosave reducer arm correctly
- Restore autosave action variant boundaries
- Ignore stale connection SQL results
- Preserve connection overlay selection
- Keep sidebar connection navigation focused
- Preserve dirty document tabs on close
- Bind NewDocument connection_id to profile UUID
- Make destructive and diagnostic flows visible
- Connect editor and explain palette flows
- Load schema diff and security flows
- Dispatch import export backup and restore safely
- Validate transaction data and explorer commands
- Open visible project and connection flows
- Pick Add Connection driver with left/right instead of typing
- Show column names without the table prefix
- Embed JSON columns instead of escaping them as strings
- Scroll the file picker when arrow keys move past the window
- Anchor SQL completion to the cursor like vim
- Drop explorer footer chrome and hide leaf twisties
- Let Enter collapse an already open explorer folder
- Pan results columns with Left/Right
Performance
- An arrow key costs the screen, not the script
Other changes
- Tudo
- Pre work: restore parked row-detail results menu and drop superseded sprint docs
- Toma
- Add footer actions to TUI forms
- Improve explorer enter, scroll, and completion UX
- Expose SQL completion token APIs
- Improve results grid navigation and copy actions
Install dexo 1.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.2.0/dexo-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.2.0/dexo-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install KingDasWinx/tap/dexoDownload dexo 1.2.0
| File | Platform | Checksum |
|---|---|---|
| dexo-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dexo-x86_64-apple-darwin.tar.gz | Intel macOS | [checksum](https://github.com/kingdaswinx/Dexo/releases/download/v1.2.0/dexo-x86... |
v1.2.0-rc.1
Install dexo 1.2.0-rc.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kingdaswinx/Dexo/releases/download/v1.2.0-rc.1/dexo-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kingdaswinx/Dexo/releases/download/v1.2.0-rc.1/dexo-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install KingDasWinx/tap/dexoDownload dexo 1.2.0-rc.1
| File | Platform | Checksum |
|---|---|---|
| dexo-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dexo-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| dexo-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| dexo-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| dexo-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
Dexo 1.1.0
Functional completion of the approved workbench: live schema/diff/transfer/explain, administration, settings, recovery, and policy-enforced multi-connection MCP.
- Driver-specific DDL planning, protected apply, and live/saved/file schema diff
- Streaming import/export, secure native backup/restore, EXPLAIN save/compare
- Live admin views, durable settings, crash recovery, and local diagnostics
- MCP connection router, expiring grants, and production fixture prohibition
- Release artifacts include checksums and an SBOM derived from the lockfile
This tag points at the development tip included in #2 (not merged into main).
Dexo 1.0.0
Changelog
1.0.0
First production release of Dexo: PostgreSQL and MySQL workbench, CLI, and local MCP server.
- Local-first SQLite state (schema v7) with keychain secrets
- TUI workbench, schema diff, transfer, explain, and admin
- MCP stdio adapter with grants and sanitized audit
- Release gates: fmt, clippy, tests, deny, fuzz smoke, performance budgets