narwhal v2.3.0
The agent-native database workbench, now sharper end-to-end.
This release is the agent-native one. The README, the docs, and the
internals all converge on the same story: one binary that does DBA
work and speaks MCP to your editor.
Highlights
- 🤖 Agent-native repositioning.
narwhal mcpis now a first-class
product surface. Point Claude / Cursor / Zed at it and the agent
canlist_connections→describe_schema→run_queryagainst
your saved databases — read-only, sandboxed, every call wrapped
in a ROLLBACK. - 📚 Documentation rewritten end-to-end — install, configuration,
MCP, plugins, schema diff, upgrading. - 🛡 No more panics in production paths. Every
unwrap()and
expect()on a fallible operation in driver setup, audit sinks,
dispatch routing, and config loading is gone. Errors now surface
cleanly instead of taking the process down. - 🧱 Big internal refactor. Pure state, value, and view types
moved out ofnarwhal-tui/narwhal-appintonarwhal-domain.
The TUI crate is now a thin renderer over the domain model.
Legacy per-driver crate trees are gone.
See CHANGELOG.md for the full list.
Install
curl -fsSL https://github.com/Nonanti/narwhal/releases/latest/download/install.sh | shOr cargo install narwhaldb, the Nix flake, prebuilt tarballs in
this release, or brew/AUR (see docs/install.md).
Wire it to your editor
narwhal mcp --read-onlyClaude Desktop, Cursor, and Zed configs are documented in
docs/mcp.md.
Engines
Postgres, MySQL, SQLite, DuckDB, ClickHouse, SQL Server — one binary.
Compatibility
Drop-in replacement for v2.2.0. No config migration required.
Full changelog: v2.2.0...v2.3.0
