Download Latest Version mempalace-native-windows-amd64.exe (2.3 MB) Google Add to Preferred Sources
Home / v3.8.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-08-23 8.7 kB
v3.8.0 -- fast large palaces, lean MCP proxies, wakeable agents source code.tar.gz 2026-08-23 25.9 MB
v3.8.0 -- fast large palaces, lean MCP proxies, wakeable agents source code.zip 2026-08-23 26.2 MB
Totals: 3 Items   52.1 MB 0

v3.8.0 — fast large palaces, lean MCP proxies, wakeable agents

Large palaces get fast and stay small in 3.8.0. Chroma metadata tools no longer cold-load HNSW, sqlite_exact stops scanning and hydrating the whole palace for common reads, long-running Chroma servers stop rebuilding their client on their own writes, and proxied MCP sessions no longer import a storage stack they never use. Agents also gain a persistent logstream watch primitive so coordination can wake a harness instead of relying on repeated five-minute waits.

Performance

  • Chroma metadata reads skip the vector index. On a 1.7 GB / 165k-drawer palace, wing-scoped list_drawers(limit=20) fell from 2.31 s and 1148 MB peak RSS to 0.01 s and 86 MB. list_drawers and tunnel reads now query Chroma's SQLite metadata directly, push filters into SQL, and hydrate only the requested previews. (#2314)
  • sqlite_exact common reads no longer walk the whole palace. On a live 167k-drawer / 166k-closet palace, mempalace_status fell from 6997 ms to 1045 ms and warm mempalace_search from 6364 ms to 210–1600 ms. Vector ranking is batched and cached, top-k documents are hydrated afterward, equality filters paginate in SQL, taxonomy results are cached, and wing / room / hall gain indexed generated columns without rewriting the 1.6 GB embedding table. (#2308, [#2311], [#2313])
  • Long-running Chroma servers stay flat instead of reloading HNSW on their own writes. Across eight searches, measured RSS changed from 951 MB → 3522 MB before to 940 MB → 965 MB after. Replaced clients are closed, while genuine external database changes still trigger a rebuild. (#2307)
  • Hub-proxied MCP sessions are thin. A plain stdio proxy now imports only the forwarding path and lazily loads the full server only if local fallback is needed. A proxied session runs at roughly 17 MB, with import weight falling from about 80 MB to 24 MB—avoiding roughly 3.9 GB across a 50-agent fleet. (#2312)

Agent coordination

  • mempalace logstream watch provides a durable wake-up loop. It owns cursor advancement, supports repeated type filters, agent self-exclusion, persistent state files, idle exit, and NDJSON follow mode. Cursorless first runs start at the live tip; restarts may replay an event but do not silently miss one. (#2315)
  • The monitoring protocol now documents the safe resume cursor. Cross-replica events are appended in arrival order, so since_event_id—not a wall-clock timestamp—is the resumable high-water mark. Tool descriptions and the shared coordination protocol now put that rule where agents use it. (#2315)

Integrity and operations

  • sync --apply no longer deletes drawers whose source file it could not reach. One Path.exists() separated keep from remove, so an unreadable directory, a path component that is a regular file, and a volume that is not mounted all answered the same as a deletion — a project mined from a mounted volume could lose every drawer to one sync --apply while the volume was away, and come back empty. Removal now asks for corroboration rather than a probe: a file that is not at its path is removable only while the palace can still see a source of its own, a regular file, in that same directory. Everything uncorroborated lands in a new unresolved bucket, never pruned and reported the way removals are. (#2320)
  • EmbeddingGemma cannot silently store NaN or zero vectors through CoreML auto-selection on Apple Silicon. Auto mode avoids the affected provider/model pair, and every vector is checked for a finite, non-zero norm before use. CUDA, DirectML, and other models are unchanged. (#2283)
  • FTS5 auto-heal verifies and repairs the content table before rebuilding the index. It uses Chroma's metadata copy as authority where possible and declines to guess when integrity cannot be established. (#2279)
  • Mesh status is consistent across transports. The hub publishes a token-free, last-known-good estate snapshot so mempalace_mesh_peers can report reachability and profiles from stdio as well as HTTP. (#2309)
  • Filesystem edge cases fail safely. sweep reports failed stats, init handles unreadable manifest paths, and split refuses FIFO or symlink output targets instead of blocking or writing through them. (#2244)
  • Published containers gain provenance and SBOM attestations. Release documentation also adds Termux PRoot installation guidance, KG supersede examples, and clarified hook write-routing scope. (#2097, [#2139], [#2059], [#2123])

A big thank-you to everyone who contributed to this release. Contributors and first-time contributors are credited below.

What's Changed

New Contributors

Full Changelog: https://github.com/MemPalace/mempalace/compare/v3.7.1...v3.8.0

Install: pip install -U mempalace==3.8.0

Source: README.md, updated 2026-08-23