v0.9.1
vectorize-io/hindsightv0.9.1Aug 14, 2026by github-actions[bot]
Upgrading?
AI Summary
Enhances bank template management and transfer functionality. Adds support for Prime Agent and Opencode 2, introduces retain tags/metadata configuration, and improves the elizaOS integration.
Key Highlights
- Made every bank config field export+importable
- Transfer now carries Knowledge Pages tree and regenerates mental model search state
- Added Prime Agent as a supported coding agent harness
- Added Opencode 2 support
- Added retainTags and retainMetadata configuration options
Breaking Changes
- Dropped retainEveryTurns — batching belongs on the server
New Features
- Bank template export/import
- Transfer with knowledge pages
- Prime Agent harness
- Opencode 2 support
- Retain tags/metadata
Full Release Notes
## What's Changed
* docs: 0.9.0 changelog + blog posts by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3189
* fix(coding-agents): seed the actual harness, not the "opencode" default (#3247, #3248) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3266
* fix(docker): repair PGroonga Compose image by @JiehoonKwak in https://github.com/vectorize-io/hindsight/pull/3316
* fix(engine): stop concurrent bank deletes from deadlocking on vector-index DDL by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3245
* fix(coding-agents): fall back from filesystem-root worktrees by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3286
* fix(worker): serialise graph_maintenance per bank at claim time by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3235
* fix(llm): forward extra body to Codex requests by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3305
* fix(api): knowledge-base search 500s on non-native text-search backends (#3268) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3318
* test(ci): gate every build on hermes-agent@main co-installability by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3265
* fix(config): validate bank config value types and stop them wedging tasks (#3218) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3319
* test(bank-template): round-trip every exportable field through export+import by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3324
* perf(reflect): drop retrieval plumbing from reflect tool results by @JoshFunnell in https://github.com/vectorize-io/hindsight/pull/3310
* feat(bank-template): make every bank config field export+importable by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3332
* fix(structured-doc): add TableBlock to fix markdown table rendering by @dragonkid in https://github.com/vectorize-io/hindsight/pull/3289
* feat(reflect): resolve entity names on reflect sub-recalls by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3334
* fix(api): gate knowledge-base routes through the operation validator (#3312) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3331
* fix(coding-agents): write back only the new turns (append + idempotent retain) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3336
* Pin embed to the metapackage release by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3261
* feat(transfer): carry Knowledge Pages tree + regenerate mental-model search state on import (#3308, #3323) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3330
* fix(api): return 400 for malformed UUID on GET /entities/{id} and /memories/{id}/history by @Alan5168 in https://github.com/vectorize-io/hindsight/pull/3260
* fix(control-plane): surface direct request failures by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3333
* fix(api): add a DB-free liveness probe so a slow database stops restarting pods by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3337
* fix(coding-agents,ci): drop the periodic re-sync; stop running doc examples for integration changes by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3341
* fix(coding-agents): bound transcript reads so an oversized session still retains (#3292) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3345
* fix(ollama): make native think configurable via extra_body by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3344
* feat(llm): xai-oauth provider — run the engine's LLM lanes on a flat-rate SuperGrok subscription (device-code OAuth, no API key), production-hardened by @JoshFunnell in https://github.com/vectorize-io/hindsight/pull/3272
* fix(reflect): provide the current date for temporal reasoning by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3287
* fix(transfer): reject a wrong import zip with a 400 that names the fix by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3339
* blog: guest post — writenode, continuity over retrieval (Josh Groves) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3243
* docs(config): name LM Studio/Ollama/Volcano for LLM_STRICT_SCHEMA by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3348
* fix(search): use PGroonga for Knowledge Pages by @JiehoonKwak in https://github.com/vectorize-io/hindsight/pull/3335
* fix(engine): normalize whitespace in candidate entity names at resolution intake by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3338
* fix(gemini): fail fast on deterministic 400 INVALID_ARGUMENT (#3256) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3347
* fix(ci): compare OpenAPI against the merge-base; build benchmark role configs whole by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3349
* feat(coding-agents): retainTags / retainMetadata, with HINDSIGHT_RETAIN_TAGS (#3269, #2896) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3346
* fix(coding-agents): seed bank missions once, then leave them to the user (#2492) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3352
* fix(coding-agents): report configured MCP harness by @TheAngryPit in https://github.com/vectorize-io/hindsight/pull/3342
* feat(llm): restore server-side prompt caching on load-balanced OpenAI-compatible backends — measured 0.085% aggregate hit rate without affinity vs 99.4% with, same backend by @JoshFunnell in https://github.com/vectorize-io/hindsight/pull/3271
* fix(retain): cut oversized sub-batches on native chunk boundaries (#3282) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3351
* perf(docs): switch the Docusaurus build to Rspack + SWC by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3357
* feat(transfer): async document export (#3321) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3340
* fix(obsidian): scope sync index to bank and API target (#3257) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3354
* fix(coding-agents): drop harness transport wrappers from retained turns (#3023) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3378
* docs(coding-agents): say which harnesses retainEveryTurns applies to by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3380
* fix(transfer): mint a fresh internal_id on whole-bank import (#3270) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3353
* fix(coding-agents): drop Claude Code's compaction summary from retained turns (#3379) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3383
* fix deletion of failed document uploads by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3366
* fix(retain): sweep observations when delta retain deletes chunks by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3384
* docs: correct the Azure OpenAI base URL by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3385
* feat(llm): opt-in forced-tool structured output for LiteLLM providers (#3300) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3382
* feat(memories): per-bank store capabilities on main (writes_memory_rows_in_sql_for / owns_document_store_for) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3388
* fix(retain): fold shared document_id items on the sync path (#3363) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3386
* fix(reflect): decouple page max_tokens from the provider output cap (#3365) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3389
* fix(retain): match chunk-delete link endpoints through indexable joins (#3387) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3393
* feat(agent-plugin): portable Hindsight plugin for the Agent Plugins standard by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3394
* fix(retain): stop concurrent appends to one document from losing turns by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3395
* fix(stats): drop permanently failed memories from pending_consolidation by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3397
* blog: Best Open-Source Agent Memory Systems (Self-Hosted, 2026) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3192
* blog: update Best Open-Source Agent Memory Systems date to 2026-08-11 by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3399
* fix(reflect): split synthesis — parallel claim extraction + reduce instead of dropping over-budget evidence by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3392
* fix(coding-agents): bound automatic reflect budget by @TheAngryPit in https://github.com/vectorize-io/hindsight/pull/3364
* feat(coding-agents): add Prime Agent as a supported harness by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3240
* fix(compose): use HINDSIGHT_API_LLM_API_KEY env var by @ishfuseini in https://github.com/vectorize-io/hindsight/pull/3398
* fix(coding-agents): resolve the project when the working directory is gone (supersedes #3110) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3410
* fix(retain): globalise memory_links lock order on the insert path (#3396) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3406
* perf(graph): decouple stale-cooccurrence prune from hub-entity degree (#3367) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3408
* docs(reflect): clarify tag-scoped directive behavior by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3038
* fix(coding-agents): stop the prompt hook wiping the retain cursor; write state atomically (supersedes #3136) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3412
* fix(knowledge): sync backing mental_model name on page rename (#3307) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3407
* fix(search): stop extreme relative date offsets from crashing recall (#3217) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3413
* feat(coding-agents)!: drop retainEveryTurns — batching belongs on the server by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3415
* fix(consolidation): cancel sibling tag groups when a batch fails by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3417
* feat(coding-agents): apply retain attribution to all ingestion paths by @voarsh2 in https://github.com/vectorize-io/hindsight/pull/3418
* fix(recall): fill the source_facts budget in rank order and flag truncation (#3221) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3419
* fix: untrack the coding-agents node_modules symlink by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3422
* fix(embed): define daemon stop() success by port occupancy, not the health probe by @Alan5168 in https://github.com/vectorize-io/hindsight/pull/3171
* feat(coding-agents): handle 429 on both the request and the poll path by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3423
* fix(consolidation): refresh mental models every round, not just the final one (#3411) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3416
* feat(coding-agents): optInOnly — run memory only in projects that were opted in by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3433
* fix(mental-models): trace delta-ops call and decouple its completion cap (#3421) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3424
* fix(graph-maintenance): drive the entity prune off a queue, not a bank-wide sweep (#3222) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3409
* fix(engine): scope document statements by bank_id (#3429) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3435
* retain: don't hold the data-plane connection across a separate-store write by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3414
* fix(coding-agents): bound the 429 retry by the caller's clock, not a constant by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3425
* retrieval: one unified store call for all arms + all fact types by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3434
* fix(files): give each batched file a unique storage key (#3226) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3437
* fix(llm): preserve inline <think> literals in _strip_reasoning_tags by @hundunweimi in https://github.com/vectorize-io/hindsight/pull/3426
* blog: Give Any Agent Plugins Client Long-Term Memory by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3440
* fix(reranker): batch FlashRank passages instead of one unbounded forward pass (#3355) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3441
* fix(release): ship Rust CLI license notices by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3447
* fix(api): correct stale OpenAPI examples by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3436
* fix(llamacpp): pass extra_body through factory to LlamaCppLLM by @handnewb in https://github.com/vectorize-io/hindsight/pull/3431
* docs(config): clarify that zeroing maintenance intervals stops scheduling, not execution by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3454
* fix(coding-agents): say when a turn is running without memory by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3455
* perf(recall): score observation expansion set-wise, not per candidate row (#3085) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3451
* fix(ci): fetch crates for all targets before the offline license scan by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3457
* perf(recall): make temporal extraction ~9x faster without changing behaviour by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3452
* fix(release): keep package-lock.json's version in step with the release by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3456
* refactor(kb): create pages and mental models atomically by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3369
* fix(coding-agents): run the opencode survey under our own agent, not plan mode by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3460
* feat(api): forward allowlisted request headers to extensions by @rares-mollie in https://github.com/vectorize-io/hindsight/pull/3428
* feat(docs): blog list infinite scroll, search, category badges, mobile polish by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3463
* recall: carry entity_ids on results, skip redundant re-fetch in entity_build by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3461
* feat(eliza): Hindsight long-term memory integration for elizaOS by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2385
* fix(llm): send an explicitly configured reasoning_effort (#3449) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3459
* docs(examples): add TEI embeddings + reranker docker-compose example by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3465
* Dedupe graph maintenance submits against running jobs, not just pending ones by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/3444
* blog: Claude Code Now Builds and Reads Its Own Knowledge Base by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3464
* docs: link Hindsight Academy from the docs navbar and footer by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3473
* feat(memories): assert_writable — let a store close a bank to writes by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3489
## New Contributors
* @JoshFunnell made their first contribution in https://github.com/vectorize-io/hindsight/pull/3310
* @dragonkid made their first contribution in https://github.com/vectorize-io/hindsight/pull/3289
* @Alan5168 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3260
* @TheAngryPit made their first contribution in https://github.com/vectorize-io/hindsight/pull/3342
* @ishfuseini made their first contribution in https://github.com/vectorize-io/hindsight/pull/3398
* @hundunweimi made their first contribution in https://github.com/vectorize-io/hindsight/pull/3426
* @rares-mollie made their first contribution in https://github.com/vectorize-io/hindsight/pull/3428
**Full Changelog**: https://github.com/vectorize-io/hindsight/compare/v0.9.0...v0.9.1Related Repositories
public-apis/public-apis★ 491,162
A collective list of free APIs
NousResearch/hermes-agent★ 256,001
The agent that grows with you
yt-dlp/yt-dlp★ 200,153
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,518
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,704
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.