v0.9.2

wxt-dev/wxtv0.9.2Aug 25, 2026by github-actions[bot]

Upgrading?

AI Summary

Hindsight vector database release featuring DeepSeek Harness support, batch retention sweeps, and improved daemon stability.

Key Highlights

  • DeepSeek Harness (dsh) support for coding agents
  • Batch the retention sweep to prevent foreground query stalling
  • Improved daemon and UI lifecycle hardening
  • MCP tools exposed for knowledge-base CRUD

New Features

  • DeepSeek Harness integration
  • Batch retention sweep
  • MCP tools for knowledge base
  • Asymmetric query/passage prefixes for embeddings
  • Knowledge page refresh trigger configuration

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