v4.0.0 - Major API Changes & Observability Features
v4.0.0 Release Notes
Major API Changes & Observability Features
This major release introduces the SystemDb observability architecture, new capabilities like hybrid FTS5 + vector search (sqlite_hybrid_search), native subscription management, and encryption at rest with SQLCipher. We've also hardened the core tools and removed the legacy sqlite_append_insight tool.
Highlights
- SystemDb Architecture: Built-in sidecar (
system.db) forMetricsRegistrypersistence and advanced observability. sqlite_hybrid_search: Combines FTS5 and vector similarity scoring in a single query via Reciprocal Rank Fusion (RRF).- Subscription Capability: Live schema change events for
sqlite://schemaandsqlite://tablesusingSubscriptionManager. - Encryption at Rest: SQLCipher integration for Native backend and
SystemDblogs via--encryption-key. - Administrative Utilities:
sqlite_audit_searchfor server logs andsqlite_server_configfor runtime dynamic configuration.
Added
- CI/CD workflow documentation and Mermaid diagrams in
.github/workflows/README.md. Performance-Tuning.mdGitHub Wiki guide.- Dependabot verification step in
.github/workflows/ci-health-monitor.md. - Internal server metrics exposed at
/metricsand viasqlite://metricsresource. sqlite_hybrid_searchtool combining FTS5 text search and vector embedding search via Reciprocal Rank Fusion (RRF).sqlite_audit_searchtool for querying server audit logs.sqlite_server_configadministrative tool to dynamically manage logging levels.includeFacetsandcursorparameters for faceted search and pagination in search/read queries.recommendCompositeandqueriesToAnalyzeoptions insqlite_index_auditfor automatic index recommendations.- SystemDb observability architecture with structured SQLite sidecar (
system.db) andMetricsRegistrypersistence. - Subscription capability via
SubscriptionManagerwithschemaChangedevents. - Configuration file support (
.yaml,.json) via--configand--dump-configCLI flags. - Encryption at rest (SQLCipher) for Native backend and
SystemDblogs via--encryption-keyorDB_ENCRYPTION_KEY. - Capacity Planning Guide covering scaling, memory requirements, and token budgets.
- Continuous wiki documentation drift check workflow in
.github/workflows/wiki-drift-detector.md. - Data Privacy, Compliance policies, and Supply Chain Security guidance in
SECURITY.md.
Changed
- GitHub Actions workflows updated to use
actions/checkout@v6andactions/setup-node@v6via SHA pinning. sqlite_read_queryinstructions updated with token conservation guidance.- Dependencies bumped:
@vitest/coverage-v8to4.1.8,typescript-eslintto8.60.1, andvitestto4.1.8. - Agentic workflows updated to strictly use single quotes in YAML frontmatter and explicitly reference
gh copilot. mcp-config-example.jsonpopulated with meaningful placeholder values.
Removed
sqlite_append_insighttool andmemo://insightsresource.
Fixed
MCP_HOSTdefault documentation discrepancy inREADME.mdandDOCKER_README.md.- Missing
MCP_ENABLE_HSTSvariable inDOCKER_README.mdEnvironment Variables table. - Silent fallbacks in
introspectionschemas swallowing wrong-type validation errors for enum properties. sqlite_spatialite_loadomittingversionstring required by the schema output.- Native build failure on Node 26 for Windows caused by LLVM/Clang LTO flags.
- FTS5 syntax errors on malformed user input.
- V8 Garbage Collection
STATUS_ACCESS_VIOLATIONcrashes duringCodeModeSandboxteardown. - Native V8 thread leaks on Windows.
- SQLCipher
PRAGMA keysyntax errors causing "file is not a database" failures. DB_ENCRYPTION_KEYenvironment variable leakage breaking unencrypted Playwright E2E tests.SubscriptionManagersilently dropping subscriptions over statelessstdiotransports.SchemaManager/describeTableomitting generated columns.- Code Mode API normalization regression where parameter arrays were incorrectly processed in
searchRegex. - Missing AST validation error trigger in
sandbox.test.ts. - Automated subscription test scripts attempting DDL via
sqlite_write_queryinstead of dedicated DDL tools. reset-database.ps1crashing withSQLITE_NOTADBduring encryption when database is locked.- Defunct
--auth-tokenargument remaining incli.tshelp text. SubscriptionManagerblindly broadcasting resource update notifications without verifying active subscribers for the URI.- Test output clarity and missing assertions in
test-subscriptions-raw.mjsandtest-subscriptions-sdk.mjs. - Test suite spawning failures with
SQLITE_NOTADBwhenDB_ENCRYPTION_KEYis present in the global environment. EXPECTED_TOOL_COUNTand missing administrative tools inSDK_REGISTERED_TOOLSintest-tool-annotations.mjs.- Refactored
test-progress.mjsto systematically iterate and rigorously verify all 7 progress-enabled tools.
Security
- Bumped npm bundled
tarin Dockerfile to7.5.16to apply latest security patches.
Installation
npm install -g db-mcp@4.0.0Docker
docker pull writenotenow/db-mcp:v4.0.0