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