github doobidoo/mcp-memory-service v10.36.8
v10.36.8 — fix: event-loop blocking paths in SqliteVecMemoryStorage.initialize()

7 hours ago

Fixed

  • [#664] Event-loop blocking paths in SqliteVecMemoryStorage.initialize(): Two synchronous operations in the async initialization path were blocking the event loop on startup:

    1. Pragma application in _connect_and_load_extension now runs in a worker thread under _conn_lock via _run_in_thread instead of executing synchronously on the event loop.
    2. _initialize_hash_embedding_fallback is now async and wraps _get_existing_db_embedding_dimension in _run_in_thread.

    The initial fix used asyncio.to_thread but was corrected to use _run_in_thread during Gemini code review to ensure proper _conn_lock protection — the sqlite-vec extension is not thread-safe and check_same_thread=False only disables Python's thread-safety check, not the underlying C-extension safety requirement. (PR #700, closes #664)

What's Unchanged

  • 1,537 tests passing
  • No API or behavior changes
  • All storage backends unaffected

Upgrade

pip install --upgrade mcp-memory-service
# or
uv add mcp-memory-service==10.36.8

Full changelog: https://github.com/doobidoo/mcp-memory-service/blob/main/CHANGELOG.md

Don't miss a new mcp-memory-service release

NewReleases is sending notifications on new releases.