v0.9.2
nilbuild/developer-roadmapv0.9.2Aug 25, 2026by github-actions[bot]
Upgrading?
AI Summary
This release introduces DeepSeek Harness support and exposes knowledge base CRUD operations as native MCP tools. It also improves database performance through connection pooling and vector index optimization, alongside numerous stability fixes for coding agents.
Key Highlights
- DeepSeek Harness (dsh) support added
- Knowledge base CRUD exposed as native MCP tools
- Performance improvements: pooled connections and vector index sizing
- Hardened daemon and UI lifecycle
- Knowledge page refresh trigger configuration
New Features
- DeepSeek Harness support
- Knowledge base CRUD via MCP
- Configurable knowledge page refresh trigger
- Asymmetric query/passage prefixes for text-in providers
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
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
Reverse engineer anything with agents, from app behavior down to native binaries.
The open source coding agent.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥