Skip to content

v0.1.8

Choose a tag to compare

@memtomem memtomem released this 16 Apr 14:15
1f75816

What's Changed (93 commits since v0.1.7)

Concurrency & lifecycle hardening (15 PRs)

Systematic audit covering all SQLite stores, MCP client connections, proxy connection stacks, and compressor lifecycle. Key fixes: init-failure cleanup (#127, #141), cache stampede locks (#137, #139), LLMCompressor drain gate (#140), surfacing dedup/boost races (#133, #134).

Failure-path guards

  • Auto-index stage guarded so failures don't kill agent response (F1)
  • Surfacing drops surfacing_id on record failure (S1)
  • exc_info=True added to inner auto-index/fact-index failure logs
  • Surfacing cache invalidation on negative feedback (#148)

Input validation & safety

Config precedence fix (#116), atomic CLI writes (#115), Pydantic constraints (#109), empty API key rejection (#123), max_upstream_chars OOM guard (#118), upstream result.content=None defense (#114, #119), pipeline error metrics (#117).

Features & performance

  • BM25 tokenizer extended to Cyrillic, Arabic, Devanagari, Thai (#94)
  • Periodic cleanup_expired() for seen_memories
  • Hot-path regex hoisted to module level (#112)
  • PRAGMA tuning centralized across all SQLite stores (#96)

Documentation

  • Post-v0.1.7 full audit: 11 files updated (#150)
  • New: Custom Integration guide for FileIndexer wiring (#149)
  • MEMTOMEM_STM_LOG_LEVEL env var documented across configuration, operations, CLI, and notebook 05

Tests

Coverage for memory ops, CLI, surfacing webhooks, privacy, circuit breaker, embedding provider, relevance scorer, and LLM compressor lifecycle (#84-#101).

Full Changelog: v0.1.7...v0.1.8