What's New in v1.0.76
This is a major stability release with 16 fixes across all 3 operating systems, a new SQLite backend for Linux, and significant improvements to hook reliability.
⚡ New Feature
node:sqliteadapter for Linux (#228) — On Linux + Node.js ≥ 22.13, context-mode now automatically uses the built-innode:sqlitemodule instead ofbetter-sqlite3. This eliminates sporadic SIGSEGV crashes caused by V8's madvise bug corrupting native addon memory. No configuration needed — detection is automatic. Also resolvesNODE_MODULE_VERSIONmismatch errors after Node.js upgrades (#231).
🐛 Bug Fixes
Stability & Crash Prevention
- MCP readiness sentinel (#230) — All tool redirects (WebFetch, curl/wget, inline HTTP, build tools) now check if the MCP server is alive before denying. If MCP hasn't started yet or crashed mid-session, original tools are allowed through as graceful degradation. PID liveness check protects against stale sentinels.
- MCP -32000 "Connection closed" fix (#236) — Removed stdin listeners from lifecycle guard that conflicted with MCP SDK's StdioServerTransport, causing spurious server disconnections.
- ctx_doctor crash prevention (#247) — FTS5 test DB and testExecutor now cleaned up in
try/finallyblocks, preventing potential segfault from V8 garbage-collecting unmanagedbetter-sqlite3instances. - WAL checkpoint on exit + corrupt DB recovery (#244) — SQLite databases now checkpoint WAL on exit and recover from corrupt DB files automatically.
- Orphaned WAL/SHM cleanup on Windows — Stale WAL/SHM files from crashed processes no longer cause "file is not a database" errors when creating fresh databases.
Hook Reliability
- Windows username spaces (#239) — All 12 hook commands in
hooks.jsonnow quote${CLAUDE_PLUGIN_ROOT}paths, fixing hook failures for Windows users whose username contains spaces (e.g.C:/Users/TECH SHOP/...). - Concurrent PostToolUse resilience (#243) —
insertEventtransaction now wrapped withwithRetryforSQLITE_BUSYdefense-in-depth under parallel hook execution. Also propagatesbusy_timeoutpragma toBunSQLiteAdapter. Thanks @james-gough-op! - Task/TaskCreate matcher fix (#229, #241) —
PreToolUsehook no longer interceptsTaskCreate/TaskUpdate/TaskListtodo tools. Task routing removed from PreToolUse; PostToolUse matcher narrowed. - Native ABI cache validation (#238) — Validates better-sqlite3 ABI cache via child-process probe before trusting it, preventing stale cache from causing load failures. Thanks @husniadil!
Context Optimization
- Subagent ctx_commands omission (#233) — Subagent prompts no longer include the ~400-token
<ctx_commands>section (ctx stats/doctor/upgrade/purge). Saves context on every Agent tool call. - Hook migration to session-loaders.mjs (#249) — 9 platform hooks migrated from
build/session/imports tosession-loaders.mjs, improving startup reliability for marketplace installs.
Configuration
- .mcp.json warning silenced (#253) — Uses relative path instead of
${CLAUDE_PLUGIN_ROOT}to prevent "missing env variable" warnings. - batch_execute label field guidance (#256) — All 12 adapter routing instructions now include guidance for the required
labelfield inctx_batch_executecommands.
🧪 Test & CI Improvements
- vitest maxWorkers=3 (#258) — Capped parallel test workers to prevent fork exhaustion from
spawnSync + better-sqlite3under parallel load. 2.8x speedup with near-zero worker crashes. - MCP sentinel test setup — All 8 routing test files now set up MCP readiness sentinel, fixing 32 false test failures.
- Windows CI green — Corrupt DB recovery tests skipped on Windows (file locking prevents WAL cleanup in parallel test workers).
- Lifecycle regression guards (#236) — Test guards ensure stdin listeners never return to lifecycle guard.
📖 Documentation
- Cursor
additional_contextupstream limitation documented in README - Hacker News #1 badge and company adoption list added
- YouTube demo badge added
- SQLite backend selection documented in platform-support.md
Issues Closed
#228, #229, #230, #231, #233, #236, #238, #239, #241, #243, #244, #247, #249, #253, #256, #258
PRs Merged
#237 (@ponythewhite), #238 (@husniadil), #243 (@james-gough-op), #253 & #255 (@flightlesstux)
Upgrade:
npm install -g context-mode@1.0.76Full Changelog: v1.0.75...v1.0.76