v0.9.2
nextapps-de/flexsearchv0.9.2Aug 25, 2026by github-actions[bot]
Upgrading?
AI Summary
This release focuses on engine performance optimizations, stability fixes for retention and recall processes, and introduces support for DeepSeek along with MCP tools for the knowledge base.
Key Highlights
- DeepSeek Harness (dsh) support
- MCP tools for knowledge base CRUD operations
- Performance improvements for connection pooling and indexing
- Fixes for daemon and UI lifecycle stability
- Optimizations for retention sweeps and BM25 queries
New Features
- DeepSeek Harness support
- MCP tools for knowledge base
- Configurable knowledge page refresh triggers
- Asymmetric query/passage prefixes for text-in embedding providers
- Knowledge base page refresh trigger exposure
- Knowledge base CRUD as native MCP tools
Full Release Notes
## What's Changed * Stop whole-schema claim test fixtures deleting other xdist workers' operations by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3469 * docs: changelog and blog post for v0.9.1 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3438 * docs: rework the topbar, page chrome and skill installer by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3495 * docs: specify Claude Sonnet benchmark version by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3468 * fix(retain): enqueue relink victims before delta chunk deletion by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3420 * fix(db): keep the DSN's application_name across pool reuse (blank pg_stat_activity behind pgbouncer) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3491 * fix(retain): entity postings and witness coverage inside a write-group by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3497 * fix(recall): keep the most selective terms for native BM25 long queries by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3498 * perf(worker): one pooled connection per poll cycle, one statement of session setup by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3501 * feat(coding-agents): DeepSeek Harness (dsh) support by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3504 * blog: Give DeepSeek Harness a Memory of Your Codebase by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3507 * fix(api): batch the retention sweep so it stops stalling foreground queries by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3539 * fix(mental-models): last_refreshed_at records the refresh, not the source watermark by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3538 * fix(coding-agents): start the local daemon for plugin harnesses too by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3542 * fix(maintenance): skip a schema under concurrent DDL instead of deadlocking by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3543 * fix(ci): authenticate Hermes compatibility clone by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3536 * fix(coding-agents): stop forcing a 300s idle timeout on the shared daemon by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3544 * fix(tests): stop the LLM judge mistaking context for the response by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3546 * fix(engine): stamp memory_units.updated_at on the writes that change a memory (#3490) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3502 * fix: disable automatic cache affinity for Azure OpenAI by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3521 * docs(recall): say that the created_after/created_before window filters updated_at by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3551 * perf(maintenance): make the cross-tenant sweeps proportionate to tenant count by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3552 * fix: report total on the mental-model and directive list endpoints by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3548 * blog: 20,000 Stars — How Hindsight Got Here, Version by Version by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3503 * fix(knowledge-base): patch a page's trigger instead of replacing it, on create and update by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3549 * fix(mental-models): keep at most one queued refresh per model (#3487) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3550 * feat(coding-agents): make the knowledge-page refresh trigger configurable by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3545 * fix(coding-agents): scope knowledge pages to the repository they are about by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3571 * fix(deps): bump google-genai past the eu/us multi-region 404 fix by @ferrastas in https://github.com/vectorize-io/hindsight/pull/3568 * fix: use ASCII boundaries for memory defense patterns by @oldnicke in https://github.com/vectorize-io/hindsight/pull/3569 * fix(coding-agents): pin the bank to where the session started in a non-git tree by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3573 * fix(coding-agents): consolidate one set of observations per bank by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3575 * feat(knowledge-base): expose a page's refresh trigger on the tree by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3572 * feat(embeddings): asymmetric query/passage prefixes for text-in providers by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3570 * fix(engine): drop null metadata values at retain and recall (#3209) by @NovaLux12 in https://github.com/vectorize-io/hindsight/pull/3531 * fix(consolidation): keep source dates when observations merge by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3500 * fix(embed): harden daemon and UI lifecycle (#3099, #3100, #3517, #3520, #3527) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3585 * fix(memory): add resolve_entities flag to update_memory and retain by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3576 * fix(api): paginate the bank list by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3586 * fix(recall): keep the observation graph arm out of a nested-loop plan (#3510) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3588 * fix(db): earn per-bank vector indexes by size instead of creating three per bank (#3485) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3561 * test: assert memory state via the engine read API, not raw SQL by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3591 * fix(recall): make the recall budget reach the vector index by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3541 * fix(coding-agents): let hindsight_reflect wait as long as it is configured to (#3590) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3592 * fix(coding-agents): timestamp the aggregated git-log document so its facts get occurrence dates (#3602) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3605 * docs(readme): track hindsight-client downloads, cover the missing concepts by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3608 * fix(coding-agents): keep a long-lived host's credential live, and say which one it used (#3600) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3606 * fix(coding-agents): honor retainSessions in the hook harnesses (#3596) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3607 * feat(mcp): expose knowledge-base CRUD as native MCP tools by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3611 * fix(embed): inherit unset LLM settings instead of overwriting them (#3253) by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3359 * fix(knowledge): cast the mental_models.name bind for vchord writes by @valda in https://github.com/vectorize-io/hindsight/pull/3615 * fix(coding-agents): name the calling harness in every MCP registration by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3612 * fix(knowledge-base): answer page staleness per scope, not from the bank watermark (#3291) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3589 * fix: preserve Voyage asymmetric embedding semantics by @Tosko4 in https://github.com/vectorize-io/hindsight/pull/3515 * fix(cli): suppress ANSI color and spinner when output is not a TTY by @yossiovadia in https://github.com/vectorize-io/hindsight/pull/3598 * fix(coding-agents): recapture an initiative when the plan changes (#3616) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3617 * Send free-form Ollama calls to the API that honours num_ctx by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3620 * chore(deps): close every open medium/high Dependabot alert by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3624 * feat(mental-models): record what a refresh did on the operation itself by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3609 * fix(retain): drop silent getattr config defaults so a wrong config fails loudly by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3610 * fix(mental-models): unsay facts a page cites that no longer exist (#3475) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3618 * chore(clients): regenerate the Go client lockfile for testify 1.12.1 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3631 * fix(coding-agents): inherit opt-in across worktrees (#3471) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3627 * chore(clients): re-sync the Go client's go.mod/go.sum by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3632 * fix(observability): trace the worker process and join the caller's trace by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3625 * Add GitHub Copilot subscription LLM provider by @dudujuju828 in https://github.com/vectorize-io/hindsight/pull/3597 * chore(clients): re-export the two mental-model types the TS barrel is missing by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3635 * fix(openclaw): inject [doc:<document_id>] provenance into auto-recall memories by @xiaoxiaoHe-E in https://github.com/vectorize-io/hindsight/pull/3583 * fix(coding-agents): answer tools/list when disabled (#3537) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3626 * feat(mental-models): a minimum interval between automatic refreshes (#3480) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3621 * fix(memory-defense): fail the retain on a malformed policy instead of skipping screening by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3636 * docs(api): correct recall fact type descriptions by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3547 * fix(scripts): preserve go client go.mod/go.sum across regeneration by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3540 * feat(control-plane): show per-model staleness, and say it the same way everywhere by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3643 * fix(llm): forward consolidation temperature by @lusoris in https://github.com/vectorize-io/hindsight/pull/3511 * engine: serve the addressed document/chunk/entity reads from the store too by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3560 * blog: Give Every Hermes Bot Its Own Memory by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3648 * retain: run delta for a store-owned bank, fenced by the store's own compare-and-set by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3650 * fix(openclaw): strip operator-configured display-name prefix from recall and retain by @chethanuk in https://github.com/vectorize-io/hindsight/pull/3120 * fix(db): make min_rows=0 mean "off", and stop counting rows on every write by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3638 * fix(openclaw): make queued retains idempotent by @r266-tech in https://github.com/vectorize-io/hindsight/pull/3143 * fix(config): validate and persist bank config as one serialized unit (#3037) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3639 * fix(ci): give the Windows process probe a real deadline, and close the trace-recorder leak by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3661 * fix(retain): honour the retain strict-schema flag in the batch path by @kamilfurtak in https://github.com/vectorize-io/hindsight/pull/3656 * feat(llm): route batch retain through a batch-capable multi-LLM member by @handnewb in https://github.com/vectorize-io/hindsight/pull/3649 * fix(coding-agents): let knowledge pages see the observations they ask for, and stop tagging initiative markers with a page id by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3664 * fix(cli): exit non-zero when configure receives invalid API URL by @Alan5168 in https://github.com/vectorize-io/hindsight/pull/3356 * fix(mcp): pass the retain strategy to the worker by @fhiltscher in https://github.com/vectorize-io/hindsight/pull/3296 * Memory backend: store-owned delta retain, bank-list times, and generic comments by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3660 * fix(mental-models): store delta documents as verbatim markdown blocks (#3361, #3273) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3622 * fix(kb): serialize knowledge tree writes by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3358 * fix(query-analyzer): reject lone four-digit integers as years (#3250) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3665 * fix(tests): unbreak main — post-#3649 batch stubs and a leaked tracing global by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3668 * fix(retain): delete the removed chunks when a re-retain only removes content by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3676 * comments updated by @coder-with-ai in https://github.com/vectorize-io/hindsight/pull/3679 * blog: Introducing Hindsight Academy — learn agent memory by doing by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3682 * fix(tests): run the maintenance-routine e2e against the current routine body by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3680 * fix(control-plane): keep the memories search open when the query is cleared by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3697 * feat(recall): let callers supply the temporal window instead of parsing it by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3678 * fix(retain): treat provider content-policy refusals as permanent (#3690) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3698 * fix(llm): bind batch recovery to the account that submitted the batch by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3699 * blog: Give Your elizaOS Agent a Long-Term Memory by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3705 * docs: use the elizaOS brand mark for the integration icon by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3707 * fix(embed): use UTF-8 for profile env files by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3748 * docs(coding-agents): generate the companion skill from the README (#3735) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3753 * fix(openclaw): probe append capability in local-daemon mode (#3686) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3706 * docs(coding-agents): add Devin CLI to harness list in README intro (#3721) by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3738 * fix(coding-agents): hide Windows child processes by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3736 * fix(windows): hide daemon subprocess windows by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3743 * fix(llamacpp): report a missing llama.cpp instead of endless connection errors by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3758 * fix(recall): skip over-budget facts instead of stopping, and never answer a match with nothing (#3688) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3704 * fix(coding-agents): tolerate hidden page triggers by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3742 * fix(integrations): resolve bare-hub project names by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3741 * fix(reflect): fail when a run produces no answer instead of storing a placeholder (#2959) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3761 * fix(retain): retry and fail loudly on schema-drifted fact extraction (#3708) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3760 * fix(coding-agents): find Claude sessions for underscore paths by @pstanton237 in https://github.com/vectorize-io/hindsight/pull/3732 * fix(entities): don't merge a name onto an existing entity on history alone, + a resolution eval by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3752 * fix(knowledge-pages): move a page's scope onto its mental model, and stop trigger patches resetting it (#3687) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3755 * fix(coding-agents): check knowledge pages before reflecting by @altaywtf in https://github.com/vectorize-io/hindsight/pull/3702 * fix(db): log the exception class when a DB error has no message by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3762 * fix(worker): serialise consolidation claims per bank within a batch (#3700) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3764 * fix(retain): bound retain's memory by a budget instead of by the document (#3756) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3763 * test(retain): cover the retain.completed outbox across a split batch by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3767 * perf(retain): stream the sub-batch split instead of collecting it (#3756) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3770 * blog: Knowledge Graphs vs. Vector Search for Agent Memory by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3766 * fix(consolidation): classify batch LLM failures instead of retrying everything (#3684) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3783 ## New Contributors * @ferrastas made their first contribution in https://github.com/vectorize-io/hindsight/pull/3568 * @NovaLux12 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3531 * @yossiovadia made their first contribution in https://github.com/vectorize-io/hindsight/pull/3598 * @dudujuju828 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3597 * @xiaoxiaoHe-E made their first contribution in https://github.com/vectorize-io/hindsight/pull/3583 * @lusoris made their first contribution in https://github.com/vectorize-io/hindsight/pull/3511 * @kamilfurtak made their first contribution in https://github.com/vectorize-io/hindsight/pull/3656 * @fhiltscher made their first contribution in https://github.com/vectorize-io/hindsight/pull/3296 * @coder-with-ai made their first contribution in https://github.com/vectorize-io/hindsight/pull/3679 * @pstanton237 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3732 * @altaywtf made their first contribution in https://github.com/vectorize-io/hindsight/pull/3702 **Full Changelog**: https://github.com/vectorize-io/hindsight/compare/v0.9.1...v0.9.2
Related Repositories
affaan-m/ECC★ 285,702
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
react/react★ 251,622
The library for web and native user interfaces.
nodejs/node★ 122,511
Node.js JavaScript runtime ✨🐢🚀✨
Leonxlnx/taste-skill★ 100,555
Agent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
louislam/uptime-kuma★ 92,731
A fancy self-hosted monitoring tool