Release history for the VibeSQL ecosystem. Source code on GitHub.
Pinned-port serve mode unlocks Micro as a long-lived storage backend. Verified end-to-end in production as the data layer for vsql-vault. Also ships on npm as a thin wrapper — npx vibesql-micro downloads the platform binary from GitHub and verifies SHA256.
vsql-micro serve --listen 127.0.0.1:5433 --data ./vault.vsql — long-lived server mode on a pinned TCP port. Trust auth, graceful SIGINT/SIGTERM shutdown. Pod-internal use.pkg/vsql.OpenOnPort(path, port, progress) — library API for embedding PostgreSQL on a specific portinternal/postgres.StartOnPort(..., port) — internal helper; port=0 preserves the previous auto-select behaviournpm install vibesql-micro fetches the matching GitHub release binary on postinstall with SHA256 verification. Published tarball is ~22KB (wrapper only, no Go source or embed assets)runInitdb now passes -L <shareDir> explicitly — PGSHAREDIR alone isn't always honored when the embedded PostgreSQL binary's compiled-in pkglibdir wins (containers, systemd units)vsql-vault's storage backend on port 5433 — full card-purpose PUT/GET round-trip verified end-to-endFirst tagged GitHub release. Governed opaque storage for pre-encrypted data — stores ciphertext, enforces per-entry access policies and per-purpose retention, and produces cryptographic purge proof. Paired with VibeSQL Micro, the two binaries form the smallest possible PCI cardholder data environment.
docs/logging.md covers the structured-JSON-to-stdout pattern and operator recipes for Graylog (GELF), Fluent, CloudWatch, syslog, journald, and Kubernetes sinks. vsql-vault stays transport-agnostic; operators pick the shippervsql-vault-linux-x64, ~10.3 MB, musl static-pie linked, no dynamic linker requiredFROM scratch Docker image bits that serve production on 10.0.0.93PUT /v1/vault/card/{id} → blob stored via EncryptionApi → GET round-trips ciphertext + audit-logs to vsql_vault.access_logserve mode on port 5433 — no standalone PostgreSQL cluster requiredgelf log driverPayEz Vibe API capabilities upstreamed to the open-source server. Non-query DML execution, query validator DX improvements, and full constraint violation observability.
UPDATE, DELETE, and INSERT without RETURNING now route through ExecuteNonQueryAsync, returning the actual affected row count in QueryExecutionResult.RowCountRETURNING detection strips comments and literals so the keyword in a comment or quoted string does not false-positive the non-query checkCONSTRAINT_VIOLATION events with constraint name, schema, table, column, detail, hint, and durationlogs/vibesql-constraints.log) leaves the main Console/Graylog pipeline untouchedUNIQUE_VIOLATION, FOREIGN_KEY_VIOLATION, NOT_NULL_VIOLATION, CHECK_VIOLATION, EXCLUSION_VIOLATION with semantic HTTP statuses (409 conflicts, 400 for not-null/check)tests/VibeSQL.Core.Tests seeded with 41 passing contract regression testsQueryExecutor is now behaviorally more correct than the private PayEz fork for comment/literal RETURNING detection — reverse-sync candidate identifiedProduction-ready Schema Sentinel (VS-SS) — automated schema change protection with risk classification, data-aware inspection, and fail-closed security design.
X-Vibe-Force-Schema-Update: true for authorized destructive changesPostgresTableInspector checks for data at risk before allowing destructive operationssentinel.verdict and riskItemsReact-based admin UI for VibeSQL — manage databases, backups, sync, and vault from a modern web interface.
PCI DSS v4.0 compliance documentation and hardened retention policies. Governed opaque storage for pre-encrypted cardholder data.
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