The biggest addition: *a built-in Web UI*. Add `--http=:8080` and open your browser — queries stream in via SSE, you can click to inspect, run EXPLAIN, filter, and copy queries with args embedded. It's a vanilla JS SPA baked into the binary, so there's nothing extra to install or deploy.
Other updates since v0.0.1:
*TUI improvements* - Structured filter mode (`f`): `d>100ms`, `op:select`, `error`, combinable with AND logic - Analytics view (`a`): aggregate queries by template, sort by total/count/avg duration - Export to file (`w`): save captured queries as JSON or Markdown - Copy with bound args (`C`): substitutes `$1`/`?` placeholders with actual values - Sort by duration (`s`), half-page scrolling (`Ctrl+d`/`Ctrl+u`)
*Database support* - TiDB support (`--driver=tidb`) - MySQL 9 compatibility - Fixed PostgreSQL binary parameter decoding (UUIDs, etc.)
The proxy works the same way: point your app at sql-tapd instead of your database, no code changes needed. It parses the native wire protocol to capture queries, prepared statements, transactions, and errors transparently.
Written in Go, single binary, install via Homebrew (`brew install --cask mickamy/tap/sql-tap`) or `go install`. This is a solo side project — if you find it useful, a star on GitHub would mean a lot.