v3.4.0

datalab-to/suryav3.4.0Jun 6, 2026by igorls

AI Summary

Adds pluggable vector backends (Qdrant, pgvector, sqlite_exact), Docker images for the MCP server and CLI, and reliability fixes including a migration tool for legacy wing names.

Key Highlights

  • Pluggable vector backends selectable via `MEMPALACE_BACKEND` / `--backend`.
  • Docker images (CPU + GPU) for the MCP server and CLI.
  • New `mempalace migrate-wings` tool to normalize legacy wing names.
  • Fixes embeddinggemma compatibility with ChromaDB 1.5.x.
  • PyPI publishing via GitHub Actions Trusted Publishing.

New Features

  • Pluggable vector backends (Qdrant, pgvector, sqlite_exact).
  • Docker images for MCP server and CLI.
  • Migration tool for legacy wing names.
  • `diary_write` accepts a `content` alias.
  • Known-systems lexicon for entity detection.

Full Release Notes

## v3.4.0 — pluggable backends, Docker, and reliability fixes

### Features
- **Pluggable vector backends** — Qdrant, pgvector, and sqlite_exact alongside the default ChromaDB, selectable via `MEMPALACE_BACKEND` / `--backend`.
- **Docker images** (CPU + GPU) for the MCP server and CLI.
- **`mempalace migrate-wings`** — one-time migration that normalizes legacy wing names (strip leading/trailing separators) so pre-upgrade palaces stay discoverable. See `docs/recovery/wing-name-migration.md`.
- **Known-systems lexicon** keeps multi-word product names atomic in entity detection.

### Fixes
- embeddinggemma (the default model) now works with ChromaDB 1.5.x — semantic search was silently failing on fresh installs.
- Prevent silent data loss from `drawer_id` hash collisions.
- Importing `mcp_server` no longer recreates `~/.mempalace` (respects the privacy kill-switch).
- `diary_write` accepts a `content` alias and restores the missing-parameter diagnostic.
- Explicit-vector backends handle single-document inputs correctly.

### Infrastructure
- PyPI publishing via GitHub Actions **Trusted Publishing** (OIDC), gated by manual approval.