v0.9.0

vectorize-io/hindsightv0.9.0Aug 7, 2026by github-actions[bot]

Upgrading?

AI Summary

A major release introducing pluggable memories storage, client-managed knowledge pages, and coding agents integration. It also adds the OpenAI Responses API provider and Hermes-branded bank templates.

Key Highlights

  • Introduced pluggable memories storage backend
  • Added client-managed knowledge pages with control-plane UI
  • Integrated coding agents with harness-pluggable long-term memory
  • Added OpenAI Responses API provider
  • Added Hermes-branded bank templates

New Features

  • Pluggable memories storage backend
  • Client-managed knowledge pages
  • Coding agents integration
  • OpenAI Responses API
  • Hermes-branded bank templates

Full Release Notes

## What's Changed
* docs: changelog and blog post for v0.8.6 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3051
* blog: Give GitHub Copilot CLI a memory of your codebase by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3055
* docs: add missing 0.8.6 changelog entries by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3063
* docs: give the documents table its own section in the 0.8.6 blog post by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3064
* feat(engine): pluggable memories storage backend by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2917
* chore(deps): bump pg0-embedded to >=0.15.0 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3073
* feat(knowledge-base): client-managed knowledge pages, control-plane UI + `hindsight fs` CLI by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2455
* docs(hermes): deprecate standalone hindsight-hermes plugin (#3057) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3077
* feat(file-parser): support custom OCR headers by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3065
* feat(control-plane): show the coding agent's logo on documents and memories by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3079
* fix(packaging): bundle licenses in Python distributions by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3067
* fix(consolidation): trigger mental model refresh on resolved scope, not the tags column (#3053) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3078
* fix(control-plane): knowledge-pages polish by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3080
* fix(copilot-cli): parse Copilot CLI 1.0.76 native message transcript format by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3081
* blog(github-copilot): redate to 2026-07-30 by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3087
* feat(control-plane): a logo for every coding agent, not just five by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3101
* feat(control-plane): badge documents an in-flight retain op is updating by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3102
* fix(openclaw): default recall injection to user context by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3066
* feat(agent-sdk): let agent_knowledge_recall request source chunks by @chethanuk in https://github.com/vectorize-io/hindsight/pull/2995
* fix(engine): don't hold pooled DB connections across embedder/LLM calls (consolidation + mental model) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3082
* feat(openclaw): add preferObservations recall option (#2977) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3108
* fix(memory-engine): compute update_memory_unit embeddings off the pooled connection by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3083
* fix(api): report the real last-write time on banks and documents by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3109
* blog: How to Actually Evaluate an Agent-Memory System by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3106
* blog(evaluate-agent-memory): more contextual cover by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3117
* hindsight-coding-agents: harness-pluggable long-term memory for coding agents by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2522
* docs(embed): document uvx cache growth and how to reclaim it (#2915) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3118
* feat(control-plane): refresh the UI design system by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3149
* chore: replace broken star-history chart with self-hosted gh-stars by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3150
* feat(llm): add `openai-responses` provider (OpenAI Responses API) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3121
* docs(knowledge-pages): document Knowledge Pages and Mental Models, and manage them from the CLI by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3151
* fix(recall): apply the created_after/created_before window to graph expansion by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3153
* fix: render disallowed fields in config permission error message by @kubaodias in https://github.com/vectorize-io/hindsight/pull/3148
* fix(consolidation): apply sanitize_text to the _DedupDecision merge write path by @iRonin in https://github.com/vectorize-io/hindsight/pull/3144
* feat(mental-models): dry-run refresh and keep_trace for troubleshooting by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3119
* feat(reflect,mental-models): surface structured output in the control plane by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3113
* fix: return 422 for invalid recall fact types by @tao943 in https://github.com/vectorize-io/hindsight/pull/3062
* chore(api): drop the never-written memory_units.access_count column by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3157
* docs(retain): deprecate bank name as narrator; steer speaker via context (#3138) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3155
* fix(recall): enforce the query token cap for internal recalls, not just HTTP by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3158
* feat(config): per-operation llm_extra_body overrides by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3159
* feat(embeddings): generic per-input token cap across all providers by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3160
* fix(tei): retry embedding connect timeouts by @jooneyp in https://github.com/vectorize-io/hindsight/pull/3097
* fix(coding-agents): read Devin's transcript with node:sqlite, and refuse to install without it by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3175
* docs(retain): suggest a distinct document_id per source document by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3173
* fix(control-plane): report mental-model freshness from the bank write watermark by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3156
* fix(retain): unify OutputTooLongError so #2579 output auto-split actually runs by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3174
* chore(db): remove deprecated entity schema from memory_links by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3177
* fix(retain): sync metadata to unchanged memories by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3011
* fix(recall): retry get_or_create_bank_profile on per-bank index deadlock by @dcbouius in https://github.com/vectorize-io/hindsight/pull/2984
* fix(consolidation): guard observation_history append on 0-row observation UPDATE by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3161
* fix(config): report deleted import banks as conflicts by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/3035
* feat(reranker): failover chain via indexed HINDSIGHT_API_RERANKER_<n>_* members by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3176
* blog: Per-User Memory for AI Products — Multi-Tenant Patterns by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3180
* feat(obsidian): headless CLI vault ingestion (hindsight-obsidian-sync) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3179
* perf(entity-resolution): skip fuzzy probing for exact-match-only label entities by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3187
* feat(entity-resolution): configurable pg_trgm similarity threshold, applied at connection setup by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3188
* fix(embeddings): honor query and document prompts locally by @jpmf33 in https://github.com/vectorize-io/hindsight/pull/3032
* feat(query-analyzer): configurable dateparser locale detection by @yufanw03 in https://github.com/vectorize-io/hindsight/pull/3154
* fix(mental-models): never overwrite a document with a delta-window candidate by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3182
* fix(consolidation): keep observations in their source facts' language by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3181
* fix(embed): bound daemon log growth by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3165
* fix(llm): release concurrency permits during retry backoff by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/3145
* feat(recall): per-budget reranker candidate cap via env config (#3107) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3191
* fix(api): publish LabelGroup schema for entity_labels in OpenAPI (#3107) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3190
* fix(delete): sweep orphan entities when no relink victims were enqueued by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3198
* fix(deps): make macOS installs work without a Rust toolchain by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3199
* feat(coding-agents): local daemon mode, and pick the server at install time by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3193
* fix: remove stale global memory_units vector index via migration; make reconcile hands-off by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3204
* feat(templates): Hermes-branded bank templates, grounded in real Hermes user stories by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2996
* fix(entities): dedup same-batch entity variants via pg_trgm (#3107) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3197
* fix(maintenance): stop the scheduled mental-model refresh from enqueueing duplicates (#3210) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3212
* perf(entity-resolution): exclude label entities from the trigram fuzzy-match index by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3214
* fix(retain): bound entity-resolution candidate scoring (#3211) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3213
* fix(litellm): keep macOS on litellm's last pure-python line (pip install is broken on Mac) by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/3224
* test(vector-index): resolve the repair migration's parent instead of branch@-1 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3238
* fix(worker): reconcile operations a worker still owns when it stops by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3234
* fix(import): classify label entities when restoring a bank (#3236) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3237
* Harden outbound webhook delivery destinations and response handling by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3239
* feat(coding-agents): carry the Codex plugin's endpoint over too by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3203
* feat(coding-agents): stage the runtime so npx installs work by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3241
* feat(recall): per-bank toggles for the temporal, graph, and rerank stages by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/3223
* feat(coding-agents): styled installer UI, arrow-key server picker, required Cloud token by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3242
* docs(templates): recommend more integrations per template, not just Hermes by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/3215
* docs: launch Coding Agents + mark the per-agent plugins superseded by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3162
* Revert "chore(db): remove deprecated entity schema from memory_links" (#3177) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/3244

## New Contributors
* @tao943 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3062
* @jooneyp made their first contribution in https://github.com/vectorize-io/hindsight/pull/3097
* @jpmf33 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3032
* @yufanw03 made their first contribution in https://github.com/vectorize-io/hindsight/pull/3154

**Full Changelog**: https://github.com/vectorize-io/hindsight/compare/v0.8.6...v0.9.0

Related Repositories