Release history for the VibeSQL ecosystem. Source code on GitHub.
We addressed the clumsiness of embedded PostgreSQL by borrowing the best ideas from projects like PGlite and other single-binary distributions. The result is a much cleaner wrapper: streamlined extraction with progress feedback, dynamic port allocation, lock-file guarding, and truly zero-config startup. Cross-platform parity is now verified with 61 automated tests.
test_comprehensive.go — 20 Go integration tests covering JSONB, unicode, concurrency, persistence, JOINs/aggregates, and warm-open performancetest_linux_cli.sh — 18 bash CLI tests for Linux (CRUD, complex queries, lock detection, large result sets, path with spaces)pkg/vsql/open_test.go and new pkg/vsql/query_test.goTEST_STRATEGY.md and CHANGELOG.md project documentationWarmError messagesvsql.Open("app.vsql")vsql-cli --profile flag now correctly routes requests to non-default profilesAgent-to-agent mail system for AI coding teams. MCP server, npm distribution, and interactive TUI client.
check_inbox, read_message, send_mail, reply, list_agents, search_mailnpx vibesql-mail-mcp --agent MyAgent auto-downloads platform binary from GitHub releasesmail://agents, mail://inbox/{agent}, mail://thread/{thread_id}cmd /c wrapper documentation for MCP configParameterized query fix — params array now correctly passes through to PostgreSQL's prepared statement driver.
params array in request body was silently ignored — queries using $1, $2 placeholders now work correctly with prepared statementsTwo new projects join the VibeSQL Server solution: Edge (OIDC gateway) and Sentinel (schema change classifier).
Zero-dependency TypeScript CLI for VibeSQL. Query databases, manage schemas, seed data, rollback versions — all from the command line.
vsql query — execute SQL with table/json/csv output formatsvsql schema show <collection> — dump active JSON schemavsql schema update <collection> --file schema.json — push schema changes with dry-run and confirmationvsql insert <collection> <table> — insert documents via --file or --data, with --batch for arraysvsql rollback <collection> — roll back schema versions with --list, --dry-run, --yes safety laddervsql tables, vsql describe <table> — explore database structurevsql config init — named connection profiles at ~/.vsql/config.jsonvsql health — server connectivity check with latencySchema management API, document CRUD routes, Schema Sentinel for safe schema evolution, and simplified container secret authentication.
PUT /v1/schemas/{collection}, GET /v1/schemas/{collection}/versionsPOST /v1/schemas/{collection}/rollback with version targetingSchemaDiffEngine — structural change detection between schema versionsChangeClassifier with taxonomy codes for safe, migration, destructive, and prohibited changesPostgresTableInspector — data-aware destructive change verificationSentinelPipeline — full diff → classify → inspect → verdict pipelineAuthorization: Secret {key})MCP server for AI coding tools — connect Claude Code, OpenCode, or Codex CLI to a VibeSQL database.
classifyDdl() method)ALTER TABLE support with injection preventiongetConstraints(), getIndexes(), getDependents() for schema explorationgetRowCount() for table statisticsBinary relocation engine — embedded PostgreSQL now works on any system regardless of temp directory paths. Also trims npm package from 62MB to 8KB.
initdb failed with could not access file "$libdir/dict_snowball" — extension libraries were not being extracted on LinuxPKGDATADIR path didn't match the runtime temp extraction directoryshare, share/locale, share/man, share/doc, lib, include, include/server, etc, binplpgsql.so and dict_snowball.so for Linux — required by initdb post-bootstrapvibe-postgres-* to vb-* for path length compatibilityfiles whitelistinstall.js reads version from package.json instead of hardcodingInstall script version check — npm upgrades now correctly replace outdated binaries.
install.js now checks the installed binary version before skipping download — previously any existing binary would skip, even if outdatednpm install -g vibesql-micro@<new> now correctly replaces the old binaryLinux initdb fix — embedded postgres.bki had CRLF line endings causing startup failure on Linux.
initdb failed with input file "...postgres.bki" does not belong to PostgreSQL 16.1 on every startuppostgres.bki had Windows CRLF line endings — version header read as # PostgreSQL 16\r instead of # PostgreSQL 16postgres.bki to Unix LF line endings in share.tar.gzGraceful shutdown overhaul, vibe stop command, and a new quickstart showcasing the Rust Agent Mail MCP server for multi-agent coordination on localhost.
vibe stop command — cleanly shuts down a running instance via HTTP endpoint or PID file fallback/v1/shutdown localhost-only endpoint for programmatic shutdownKILL_ON_JOB_CLOSE) — guarantees child process cleanup even on crashSetpgid) — group kill ensures no orphaned PostgreSQL processesexec.CommandContext to exec.Command so pg_ctl stop actually runs before context cancellationStop() ordering: PostgreSQL now stops before context is cancelled, preventing data lossstopPostgres() kills the entire process tree, not just the main PIDParameterized query support — pass params alongside sql for safe, typed queries using PostgreSQL $1, $2 placeholders.
params array in request body: {"sql": "SELECT $1::text", "params": ["hello"]}$1, $2, ... placeholders with automatic type inferenceBetter startup diagnostics — when PostgreSQL fails to start, you now see exactly why instead of a generic timeout.
Extracting → Initializing → Starting on port → Waiting for connectionsWindows fix for the PostgreSQL /share directory resolution bug that caused startup failures on some machines.
/share as <drive>:\share — now creates share directory on both the temp and CWD drives\share and \lib directories on shutdownFirst public release. PostgreSQL 16.1 embedded in a single binary with HTTP API. Available on npm and GitHub Releases.
POST /v1/query — send SQL, get JSON backnpx vibesql-micro downloads and runs automaticallyCtrl+C — stops PostgreSQL, removes temp files