v10.3.0
thedotmack/claude-memv10.3.0Feb 18, 2026by thedotmack
AI Summary
This release replaces the WASM-based embeddings with a persistent chroma-mcp MCP connection via uvx, introducing ChromaMcpManager as a singleton stdio client to eliminate native binary issues like segfaults and cross-platform install problems.
Key Highlights
- New ChromaMcpManager replaces ChromaServerManager, using stdio MCP client with chroma-mcp via uvx
- Eliminates native binary issues - no more segfaults, WASM embedding failures, or cross-platform install headaches
- Graceful subprocess lifecycle integrated with GracefulShutdown for clean teardown and zombie process prevention
- 10-second connection backoff prevents chroma-mcp spawn storms
- SQL injection guards added to ChromaSync ID exclusion queries
New Features
- ChromaMcpManager - singleton stdio MCP client for chroma-mcp communication
- Subprocess lifecycle management with kill-on-failure and stale onclose handler guards
- Connection backoff with 10-second reconnect intervals
- Parameterized queries for SQL injection prevention
- Simplified ChromaSync by delegating embedding concerns to chroma-mcp
Full Release Notes
## Replace WASM Embeddings with Persistent chroma-mcp MCP Connection ### Highlights - **New: ChromaMcpManager** — Singleton stdio MCP client communicating with chroma-mcp via `uvx`, replacing the previous ChromaServerManager (`npx chroma run` + `chromadb` npm + ONNX/WASM) - **Eliminates native binary issues** — No more segfaults, WASM embedding failures, or cross-platform install headaches - **Graceful subprocess lifecycle** — Wired into GracefulShutdown for clean teardown; zombie process prevention with kill-on-failure and stale `onclose` handler guards - **Connection backoff** — 10-second reconnect backoff prevents chroma-mcp spawn storms - **SQL injection guards** — Added parameterization to ChromaSync ID exclusion queries - **Simplified ChromaSync** — Reduced complexity by delegating embedding concerns to chroma-mcp ### Breaking Changes None — backward compatible. ChromaDB data is preserved; only the connection mechanism changed. ### Files Changed - `src/services/sync/ChromaMcpManager.ts` (new) — MCP client singleton - `src/services/sync/ChromaServerManager.ts` (deleted) — Old WASM/native approach - `src/services/sync/ChromaSync.ts` — Simplified to use MCP client - `src/services/worker-service.ts` — Updated startup sequence - `src/services/infrastructure/GracefulShutdown.ts` — Subprocess cleanup integration