v1.8.0
What's Changed
This release ships four merged PRs. The most important one is a bug fix. If you've noticed entries disappearing from recall after updates, this is why.
Bug Fixes
Re-embed was deleting vectors it just inserted (#136)
Contributed by @mikestanley00
Single-chunk entries could silently vanish from recall after an update. storeEntry keys a single-chunk entry by the bare entry ID, so when the update flow deleted "stale" vector IDs after re-embedding, it was deleting the new vector (same ID). Fixed by diffing old vector IDs against freshly inserted ones before deletion. Only genuinely orphaned vectors get removed now. Affected entries will resurface on next update or re-store.
New Features
Semantic compression: rolling digests (#127)
A nightly cron compresses tags with more than 10 entries into a single synthesized digest. Source entries are penalized 0.4x in recall scoring so digests surface above originals. There's also an on-demand endpoint to trigger compression from the Settings UI without waiting for cron.
REST parity for recall and forget (#131)
GET /recall and POST /forget now work as direct REST routes, mirroring the MCP tools exactly (time-decay reranking, vector cleanup on delete). GET /list also picks up tag, after, and before filter support to match list_recent. Error responses are standardized across the API.
One-command AI client setup (#134)
New setup scripts (connect-ai-clients.sh / connect-ai-clients.ps1) append global system instructions to ~/.claude/CLAUDE.md and ~/.codex/AGENTS.md, and register your worker's /mcp endpoint with both clients in one run.
Other
- Star History chart added to README (#128)
Full changelog: v1.7.0...v1.8.0