What's Changed
- docs: changelog and blog post for v0.8.2 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2172
- docs: add Memory Defense to the 0.8.2 blog post by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2173
- blog: Cursor persistent memory (editor + CLI in one post) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2171
- docs(models): register the nous provider so the Models page lists it by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2128
- docs(litellm): replace removed
opinionfact-type withobservationby @r266-tech in https://github.com/vectorize-io/hindsight/pull/2198 - fix(search): use effective-time fallback (mentioned_at, occurred_end) for recency scoring by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2197
- Chore (opencode): drop utility re-exports from plugin entry by @mdbenito in https://github.com/vectorize-io/hindsight/pull/2193
- fix(metrics): don't count a client-disconnect cancellation as a failed recall/reflect operation by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2185
- docs(reflect): align reflect_async docstring with read-only tool set by @kubaodias in https://github.com/vectorize-io/hindsight/pull/2200
- feat(consolidation): add "shared" observation_scopes keyword by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2202
- fix(db): widen remaining live bank_id columns to TEXT on PostgreSQL (#2106 follow-up) by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2175
- fix(api): mental model delta refresh (prompt size, JSON, consolidation) by @oldschoola in https://github.com/vectorize-io/hindsight/pull/2170
- feat(api): omit null fields from JSON responses where wire-safe by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2204
- feat(migrations): parallelize tenant schema migrations by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2203
- feat(retain): make structured-unit chunk limit configurable by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2139
- feat(api): dry-run fact extraction endpoint (preview, no persistence) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2205
- fix(ts-client): accept shared observation scope by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/2207
- blog(gemini-spark): Gemini Spark persistent memory via MCP by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2208
- feat(zapier): add Hindsight Zapier app (actions + REST Hook triggers) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2119
- feat(continue): add Continue.dev integration via HTTP context provider by @DK09876 in https://github.com/vectorize-io/hindsight/pull/2213
- fix(skill-docs): convert all admonition keywords in the docs→skill generator by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2218
- fix(curation): drop the embedding column from invalidated_memory_units (#2209) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2210
- feat(api): improve Chinese temporal query parsing by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2220
- perf(api): index memory_links.bank_id on PostgreSQL by @zommiommy in https://github.com/vectorize-io/hindsight/pull/2223
- fix(api): gate dry-run extraction behind the operation precheck by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2211
- fix(docs): deflake memories.py doc example (async-consolidation race) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2152
- test: fix flaky test-api shard (migration pg0 provisioning race) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2225
- fix(mcp): give update_memory/invalidate_memory non-empty descriptions by @bluecrayon52 in https://github.com/vectorize-io/hindsight/pull/2215
- test(control-plane): validate t() keys resolve against the i18n catalog by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2232
- feat(tags): officially surface tags_match=exact in UI, docs, and clients by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2230
- fix(migrations): merge two divergent alembic heads by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2234
- test: fix flaky test_llm_trace via leaked global recorder (#2229) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2231
- revert(worker): trust schemas_with_pending_work() result, drop per-poll re-scan by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2236
- docs: update CLAUDE guidance by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2228
- docs: fix stale documentation links by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2221
- fix(control-plane): expose "shared" observation scope in the Add Document UI by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2212
- blog(obsidian): Chat With Your Obsidian Vault, grounded in your notes by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2237
- feat(composio): add Composio integration (Hindsight memory as custom tools) by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2180
- chore(control-plane): format bank-selector.tsx (lint drift from [#2212]) by @DK09876 in https://github.com/vectorize-io/hindsight/pull/2250
- Add TypeScript client getVersion helper by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/2252
- Strip reasoning tags on non-structured LLM output (and unclosed blocks) by @grimmjoww in https://github.com/vectorize-io/hindsight/pull/2195
- fix(api): reject empty/whitespace content in dry-run extraction before the LLM call by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2246
- docs(embed): document control center commands by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2151
- docs(paperclip): document dynamicBankId / bankId / user granularity (#1761) by @r266-tech in https://github.com/vectorize-io/hindsight/pull/1803
- Add Python client get_version helper by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2256
- fix(api): defer provider quota reset retries by @oldschoola in https://github.com/vectorize-io/hindsight/pull/2194
- chore(ci): disable Dependabot version updates by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2257
- Honor CODEX_HOME for Codex auth.json location by @mdenil in https://github.com/vectorize-io/hindsight/pull/1874
- fix(openclaw): always session-scope retained documents by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2259
- fix(claude-code-mcp): resolve venv interpreter in the Windows Scripts/ layout (#1758, 3a) by @eldar702 in https://github.com/vectorize-io/hindsight/pull/2066
- claude-code: case-insensitive directoryBankMap matching on Windows by @eskild-boop in https://github.com/vectorize-io/hindsight/pull/2183
- fix: template bank-id path segment in HTTP metric endpoint label (follow-up to [#850]) by @sireika in https://github.com/vectorize-io/hindsight/pull/2191
- feat(api): add optional MarkItDown OCR support by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2145
- fix(litellm): hard-cap completions with asyncio.wait_for so a hung call can't block forever by @kubaodias in https://github.com/vectorize-io/hindsight/pull/2224
- log(consolidation): show call count + avg for each timing phase by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/2238
- feat(mcp): add ToolAnnotations (read-only/destructive hints) to MCP tools by @yunanwg in https://github.com/vectorize-io/hindsight/pull/2243
- fix(consolidation): handle single-value source_fact_ids from LLM by @haodonp in https://github.com/vectorize-io/hindsight/pull/2240
- feat(extensions): expose Content-Length on PrecheckContext by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/2247
- feat(metrics): expose async-operation queue + consolidation backlog as gauges by @MattJackson in https://github.com/vectorize-io/hindsight/pull/1987
- fix(api): apply bank-config disposition + mission overlay in list_banks by @PathKnower in https://github.com/vectorize-io/hindsight/pull/2101
- fix(openclaw): strip runtime metadata from memory content by @de1tydev in https://github.com/vectorize-io/hindsight/pull/1968
- fix(mcp): omit reflect tool_trace/llm_trace from responses by default by @yunanwg in https://github.com/vectorize-io/hindsight/pull/2242
- Add Gemini service tier config by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2251
- feat(embeddings): detect Intel XPU for local embedding acceleration by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2260
- docs: document MCP trace and precheck content length by @r266-tech in https://github.com/vectorize-io/hindsight/pull/2264
- test(openclaw): fix agent_end hook tests after [#1968] context change by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2266
- test(retain): fix broken quota-defer test config mock by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2265
- fix(retain): stop dropping chunks when an oversized doc splits into multi-chunk sub-batches by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/2269
- Hide Windows netstat port probes by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/2263
- Update integrations.json by @yugandhar-maram in https://github.com/vectorize-io/hindsight/pull/2268
- docs(observations): stop claiming a per-observation freshness trend by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2271
- feat(zed): add Zed editor integration (MCP context server + recall/retain rule) by @DK09876 in https://github.com/vectorize-io/hindsight/pull/2153
- blog(freshness): Freshness-Aware Memory — knowing when a belief has gone stale by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/2267
- feat(openhands): add OpenHands integration (native MCP config + recall/retain rule) by @DK09876 in https://github.com/vectorize-io/hindsight/pull/2276
- chore(deps): fix critical/high Dependabot alerts by @dcbouius in https://github.com/vectorize-io/hindsight/pull/2278
- fix(tests) backsweep migration test pg0 isolation by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2282
- fix(tests) S3 testcontainers port mapping race by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2283
- fix(mcp): restore custom tool instructions by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/2288
- feat(metrics): instrument async worker completion path with operation metrics by @kubaodias in https://github.com/vectorize-io/hindsight/pull/2253
New Contributors
- @mdbenito made their first contribution in https://github.com/vectorize-io/hindsight/pull/2193
- @kubaodias made their first contribution in https://github.com/vectorize-io/hindsight/pull/2200
- @koriyoshi2041 made their first contribution in https://github.com/vectorize-io/hindsight/pull/2207
- @zommiommy made their first contribution in https://github.com/vectorize-io/hindsight/pull/2223
- @bluecrayon52 made their first contribution in https://github.com/vectorize-io/hindsight/pull/2215
- @mdenil made their first contribution in https://github.com/vectorize-io/hindsight/pull/1874
- @eldar702 made their first contribution in https://github.com/vectorize-io/hindsight/pull/2066
- @eskild-boop made their first contribution in https://github.com/vectorize-io/hindsight/pull/2183
- @yunanwg made their first contribution in https://github.com/vectorize-io/hindsight/pull/2243
- @haodonp made their first contribution in https://github.com/vectorize-io/hindsight/pull/2240
- @MattJackson made their first contribution in https://github.com/vectorize-io/hindsight/pull/1987
- @PathKnower made their first contribution in https://github.com/vectorize-io/hindsight/pull/2101
- @yugandhar-maram made their first contribution in https://github.com/vectorize-io/hindsight/pull/2268
Full Changelog: https://github.com/vectorize-io/hindsight/compare/v0.8.2...v0.8.3