v0.10.1
cloudflare/pingorav0.10.1Sep 21, 2026by github-actions[bot]
Upgrading?
AI Summary
A patch release for Hindsight that improves attachment handling, memory defense, OAuth behavior, and adds various fixes for coding agents, recall, and storage.
Key Highlights
- Attachment filenames for store-owned banks
- Memory-defense redacts Hindsight Cloud API keys
- Coding agents take Codex user turns from UserMessage events
- Unified bank transfer API (export/import)
New Features
- Add task-local retain suspension
- Configurable default trigger for new knowledge pages
- Control-plane lighter recall and reflect option forms
- Admin rename-bank to change a bank's id in place
Full Release Notes
## What's Changed * docs(skill): sync the docs skill's openapi.json to v0.10.0 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4362 * feat(api): attachment filenames for store-owned banks by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4360 * fix(attachments): never reclaim attachments for a store-owned bank by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4363 * fix(retain): guard concise prompt examples by @koriyoshi2041 in https://github.com/vectorize-io/hindsight/pull/4284 * fix(memory-defense): redact Hindsight Cloud API keys by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4276 * fix(oauth): do not fail the store lock when the store cannot be written by @LoneExile in https://github.com/vectorize-io/hindsight/pull/4286 * blog: Onboarding an Engineer vs. Onboarding an Agent by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/4100 * fix(coding-agents): take Codex user turns from UserMessage events by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4377 * fix(reranker): release the MLX buffer cache after each jina-mlx batch by @w-seok in https://github.com/vectorize-io/hindsight/pull/4305 * fix(coding-agents): read transcripts whole so append survives past 32MB by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4388 * chore(skills): add ship-it skill by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4390 * fix(api): report `deleted_count` from the bulk memories delete by @1jeffchristensen in https://github.com/vectorize-io/hindsight/pull/4312 * fix(api): keep a converted file's reference on a store-owned bank's document by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4367 * fix(reflect): honour configured recall budgets and bound tool token asks (#4239) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4290 * fix(storage): delete a bank's stored files with it, and scope file keys to the tenant by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4376 * fix(embed): pin the probe's decode instead of taking the locale's by @L4XB in https://github.com/vectorize-io/hindsight/pull/4347 * fix(memory-defense): avoid redacting technical numbers as credit cards by @kyletser in https://github.com/vectorize-io/hindsight/pull/4333 * feat(python-client): add task-local retain suspension by @roli-lpci in https://github.com/vectorize-io/hindsight/pull/4285 * fix(api): fail fast when the listen port is unavailable, before engine init by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4386 * fix(api): async-submit RetainContext parity — document_id and attachments (#4373) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4394 * feat: configurable default trigger for new knowledge pages by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4393 * fix(engine): serialize same-bank cleanup before document locks by @r266-tech in https://github.com/vectorize-io/hindsight/pull/4339 * feat(control-plane): lighter recall and reflect option forms, with help on every option by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4397 * feat(admin): hindsight-admin rename-bank — change a bank's id in place by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4392 * fix(banks): cap new bank ids at 192 bytes and refuse control characters by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4395 * fix(coding-agents): capture background git stderr by @kyletser in https://github.com/vectorize-io/hindsight/pull/4334 * chore(coding-agents): track stable OpenCode 2 packages by @oliver-mee in https://github.com/vectorize-io/hindsight/pull/4351 * test(client): exempt suspend_retains from the async-twin contract by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4402 * docs(embeddings): the input cap is counted in Hindsight's tokens, not the provider's by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4399 * fix(coding-agents): preserve distinct non-ASCII document titles by @Shy7777 in https://github.com/vectorize-io/hindsight/pull/4330 * fix(coding-agents): drop the hardcoded 20s cap on the automatic reflect by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4401 * fix(extensions): drop per-request tenant state from the shared ExtensionContext by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4400 * fix(coding-agents): resolve the auto-update version check through npm by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/4385 * fix(recall): search pg_search queries as pruned word terms, not the raw sentence (#4313) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4403 * fix(recall): anchor the default temporal window on UTC, not the server clock by @ebarkhordar in https://github.com/vectorize-io/hindsight/pull/4356 * fix(engine): lock the observation sweep's rows in id order so re-ingest cannot deadlock a delete by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4407 * test(recall): give the hub-traversal test random-prefixed unit ids by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4405 * docs(claude): refine architecture inventory, test setup, and providers by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/4383 * fix(retain): state the language rule as a mapping, not a detection step; add a retain-language eval by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4410 * fix(coding-agents): tell dsh users to start new sessions after install by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4413 * fix(control-plane): serve the UI when bound to a loopback address by @snevesgraca-nwmo in https://github.com/vectorize-io/hindsight/pull/4379 * fix(engine): close the remaining delete/re-ingest deadlocks from #4251 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4414 * fix(recall): cache and reuse observation source memory IDs across pipeline by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/4370 * fix(mental-models): keep a page's current state when a refresh brings older events by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4427 * fix(retain): keep non-English facts in their own script by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4432 * fix(extensions): give the operation validator the engine's ExtensionContext by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4433 * fix(coding-agents): pre-create host-owned harness diagnostics by @heyallencao in https://github.com/vectorize-io/hindsight/pull/4430 * feat(coding-agents): autoInject — choose reflect, pages or recall for the first-prompt injection by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4415 * feat(system-evals): replace the in-repo LoComo/LongMemEval runners with AMB by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4429 * fix(coding-agents): deliver the companion skill on the plugin-manager route by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4439 * fix(codex): preserve rollout event timestamps by @carlosrve in https://github.com/vectorize-io/hindsight/pull/4425 * fix(openclaw): read the transcript session_end does not carry by @L4XB in https://github.com/vectorize-io/hindsight/pull/4348 * fix(openclaw): expose knowledge tool payloads as details for Code Mode by @L4XB in https://github.com/vectorize-io/hindsight/pull/4310 * fix(codex): support current custom tool calls by @carlosrve in https://github.com/vectorize-io/hindsight/pull/4426 * blog: Stop Growing Your System Prompt by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/4099 * feat(transfer): unified bank transfer API (export/import) with a documented scope by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4431 * fix(anthropic): stop the uncapped-caller default truncating long output (#4437) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4440 * blog: What It Takes to Put a Screenshot in an Agent's Memory by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/4454 * test(multilingual): give the language-preservation retries a budget that matches the model by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4447 * feat(openclaw): per-agent bank mapping (agentBankMap) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4446 * fix(client): cancel capacity-retry backoff on abort by @Tosko4 in https://github.com/vectorize-io/hindsight/pull/4448 * fix(openclaw): forward recall deadlines to the client transport by @Tosko4 in https://github.com/vectorize-io/hindsight/pull/4449 * fix(openclaw): invalidate recall work across service generations by @Tosko4 in https://github.com/vectorize-io/hindsight/pull/4450 * feat(transfer): clone a bank in one API call by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4444 * fix(api): 404 recall for a bank that was never created (#4442) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4465 * fix(api): 0 disables the recall query token cap by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4475 * fix(migrations): scope the vector-index lookup to one relation by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4472 * fix(transfer): build the bank archive off the event loop and outside the read transaction by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4474 * feat(coding-agents): per-page knowledge-page config (pages) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4467 * ci(core-llm): run the quality job on gemini-2.5-flash by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4473 * fix(api): repair two crossed merges on main by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4480 * feat(attachments): an attachment belongs to its document by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4471 * fix(transfer): import and clone into a bank whose memories live in the memories store by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4479 * feat(api): separate LLM config for the automatic mental-model refresh (#4463) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4477 * fix(embed): launch the base pythonw for uv venv trampolines on Windows (#4466) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4478 * fix(reflect): spell out what a disposition level means in the tools prompt by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4435 * perf(banks): stop aggregating all of memory_units to list banks by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4486 * blog: See the Exact Prompt Before You Spend a Token by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/4482 * fix(api): refuse recall before answering 404 for a missing bank by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4487 * test(transfer): read an archived fact's document through the memories store by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4484 * fix(attachments): keep a store-owned bank's attachments and uploaded originals in step with its documents by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4504 * feat(hermes): bring the Hermes Agent memory plugin into this repo by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4505 * fix(local-models): stop using Apple Silicon MPS entirely by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4508 * feat(coding-agents): improve how often the agent reads memory by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4510 * feat(control-plane): advanced knowledge-page search dialog by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4511 * fix(reflect): reject a blank query instead of burning 8 LLM calls (#4416) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4507 * fix(knowledge): normalize knowledge-page search scores onto 0..1 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4512 * fix(retain): opt-in flag to let a fact leave when/where/who/why unset (#4457) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4506 * feat(api): server-side time filtering and sorting on GET /memories/list and GET /documents by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4509 * fix(retain): opt-in server flag to let a fact leave when/where/who/why unset (#4457) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4513 * feat(control-plane): filter the documents list by time, with presets and a custom range by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4515 * chore(deps): bump soupsieve to 2.9.2 in root uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4517 * fix(retain): retry the FK violation from the delete race instead of dropping the retain (#4453) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4516 * fix(packaging): install mlx only on Apple Silicon by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4520 * feat(llm): Cursor's agent CLI as an LLM provider (#4501) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4519 * feat(reflect): make the search_observations budget and its entities configurable (#4483) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4521 * blog: What Hindsight Learned This Summer by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/4518 * fix(storage): object-store backends must return native bytes from retrieve() by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4524 * chore(deps): bump anyio to 4.15.1 in hindsight-integration-tests/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4539 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/composio/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4540 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/haystack/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4541 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/superagent/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4542 * chore(deps): bump anyio to 4.15.1 in hindsight-integrations/claude-agent-sdk/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4543 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/google-adk/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4544 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/litellm/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4546 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/pydantic-ai/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4547 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/crewai/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4548 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/langgraph/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4550 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/pipecat/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4552 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/openai-agents/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4553 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/llamaindex/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4554 * chore(deps): bump anyio to 4.15.1 in hindsight-integrations/ag2/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4555 * chore(deps): bump anyio to 4.14.2 in uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4538 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/dify/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4551 * fix(admin): move a renamed bank's stored files to its new prefix (#4502) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4573 * feat(llm): inject x-opencode-session for any provider targeting opencode.ai by @davidneyra2804 in https://github.com/vectorize-io/hindsight/pull/4489 * fix(llm): read a numeric retry_after from the rate-limit body by @i-Hun in https://github.com/vectorize-io/hindsight/pull/4481 * perf(retain): hoist prompt and schema generation outside chunk loop by @Sanderhoff-alt in https://github.com/vectorize-io/hindsight/pull/4382 * fix(entities): apply the word-level agreement check to in-batch clustering too by @ebarkhordar in https://github.com/vectorize-io/hindsight/pull/4441 * fix(recall): order the temporal arm by temporal_score before fusion by @rocke2020 in https://github.com/vectorize-io/hindsight/pull/4494 * feat(reranker): TypeSafe provider (Jev) that can prune irrelevant candidates by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4522 * fix(embed): stop the HTTP probe clearing its caller's event loop, and make the Hermes gate test our plugin by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4575 * fix(http): honour proxy env vars on outbound aiohttp calls by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/4574 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/strands/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4545 * chore(deps): bump anyio to 4.14.2 in hindsight-integrations/agno/uv.lock by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/4549 ## New Contributors * @LoneExile made their first contribution in https://github.com/vectorize-io/hindsight/pull/4286 * @w-seok made their first contribution in https://github.com/vectorize-io/hindsight/pull/4305 * @1jeffchristensen made their first contribution in https://github.com/vectorize-io/hindsight/pull/4312 * @L4XB made their first contribution in https://github.com/vectorize-io/hindsight/pull/4347 * @roli-lpci made their first contribution in https://github.com/vectorize-io/hindsight/pull/4285 * @oliver-mee made their first contribution in https://github.com/vectorize-io/hindsight/pull/4351 * @Shy7777 made their first contribution in https://github.com/vectorize-io/hindsight/pull/4330 * @snevesgraca-nwmo made their first contribution in https://github.com/vectorize-io/hindsight/pull/4379 * @heyallencao made their first contribution in https://github.com/vectorize-io/hindsight/pull/4430 * @carlosrve made their first contribution in https://github.com/vectorize-io/hindsight/pull/4425 * @davidneyra2804 made their first contribution in https://github.com/vectorize-io/hindsight/pull/4489 * @i-Hun made their first contribution in https://github.com/vectorize-io/hindsight/pull/4481 * @rocke2020 made their first contribution in https://github.com/vectorize-io/hindsight/pull/4494 **Full Changelog**: https://github.com/vectorize-io/hindsight/compare/v0.10.0...v0.10.1
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one