v0.4.21

vectorize-io/hindsightv0.4.21Mar 30, 2026by github-actions[bot]

Upgrading?

Release notes summary

Expanded integration ecosystem with Strands and AG2, added a comprehensive LiteLLM provider, and introduced delta retain for performance optimization.

Key Highlights

  • Added Strands Agents SDK integration
  • Introduced LiteLLM provider for Bedrock and 100+ providers
  • Added delta retain to skip LLM for unchanged chunks
  • Added LlamaIndex integration

New Features

  • Strands SDK
  • LiteLLM provider
  • Delta retain
  • Windows native support
  • LlamaIndex integration
  • AG2 integration

Full Release Notes

## What's Changed
* docs: 0.4.20 release blog post and changelog by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/671
* feat: remove hardcoded default models from integrations by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/670
* feat: add Strands Agents SDK integration with Hindsight memory tools by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/659
* Blog: Adding Long-Term Memory to LangGraph and LangChain Agents by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/637
* security: exclude litellm 1.82.8 (supply chain compromise) by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/673
* fix: return metadata in recall responses by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/680
* fix(hermes): use async client methods to prevent event loop deadlock by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/681
* feat(mcp): add strategy parameter to retain tool by @philippop in https://github.com/vectorize-io/hindsight/pull/684
* fix: coerce JSON-string tags to list in MemoryItem and MCP tools by @philippop in https://github.com/vectorize-io/hindsight/pull/682
* feat: add LiteLLM LLM provider for Bedrock and 100+ providers by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/679
* feat(embed): add programmatic UI (control plane) management by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/683
* ci: skip unrelated jobs based on changed paths by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/687
* blog: Your AWS Strands Agent Forgets Everything Between Runs. Here's the Fix. by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/685
* feat(hermes): file-based config + updated docs by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/686
* fix: add setup_hooks.py and hindsight:setup skill for hook registration by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/690
* feat(reflect): make source facts in search_observations configurable by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/688
* feat: add 'none' LLM provider for chunk-only storage mode by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/691
* fix(claude-code): make fcntl import conditional for Windows compatibility by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/694
* fix: control plane UI fixes for recall and data view by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/693
* feat: Windows native support — run Hindsight without Docker by @grimmjoww in https://github.com/vectorize-io/hindsight/pull/699
* fix: include Pydantic v2 fields in ValidationError OpenAPI schema by @mrkhachaturov in https://github.com/vectorize-io/hindsight/pull/697
* docs: add supported platforms and Windows installation guide by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/700
* feat(claude-code): full-session retain with document upsert and configurable tags by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/695
* feat(claude-code): retain tool calls as structured JSON by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/704
* fix: resolve all Dependabot security alerts by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/702
* fix: resolve remaining Dependabot security alerts by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/705
* feat(retain): delta retain — skip LLM for unchanged chunks on upsert by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/701
* docs(claude-code): tidy configuration reference and sync README by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/706
* fix(python-client): async=true silently ignored on retain by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/709
* feat(openclaw): add recallInjectionPosition config to preserve prompt cache by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/710
* docs(python-client): async-first pydoc + low-level API access + missing params by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/711
* feat: add support for volcano LLM providers by @beordie in https://github.com/vectorize-io/hindsight/pull/714
* fix(python-client): expose all configurable fields in update_bank_config() by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/712
* docs: add Volcano Engine as supported LLM provider by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/715
* Teaching the Llama to Remember by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/707
* feat(integrations): Add hindsight-ag2 — persistent memory for AG2 agents by @faridun-ag2 in https://github.com/vectorize-io/hindsight/pull/720
* feat: add audit log for feature usage tracking by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/717
* fix(ag2): code cleanup and CI/release integration by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/721
* docs: add AG2 integration page by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/723
* fix(codex): resolve JSON serialization and logging exception propagation in codex_llm by @Rutimka in https://github.com/vectorize-io/hindsight/pull/724
* fix(migration): use IF EXISTS when dropping chunk FK constraint by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/725
* fix: silence noisy google_genai.models INFO logging by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/727
* fix(migrations): bypass PgBouncer for advisory locks via MIGRATION_DATABASE_URL by @cdbartholomew in https://github.com/vectorize-io/hindsight/pull/726
* fix(docker): add graceful shutdown handler to prevent pg0 data loss on restart by @kagura-agent in https://github.com/vectorize-io/hindsight/pull/698
* perf(stats): add bank_id to memory_links for direct filtering by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/718
* How We Built a 4-Way Hybrid Search System That Actually Runs in Parallel by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/708
* refactor(embedded): replace UI methods with constructor flags by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/728
* fix(openclaw): add recallTimeoutMs config option for auto-recall by @Rutimka in https://github.com/vectorize-io/hindsight/pull/736
* feat: add max_observations_per_scope bank config by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/729
* fix(claude-code): implement tool_choice support for forced tool calls by @kagura-agent in https://github.com/vectorize-io/hindsight/pull/733
* Fix Codex named tool_choice serialization in reflect by @Sapientropic in https://github.com/vectorize-io/hindsight/pull/734
* fix: parse query params from base_url in OpenAI embeddings client by @akhater in https://github.com/vectorize-io/hindsight/pull/735
* feat(mcp): add filter_mcp_tools hook for per-user tool visibility by @mrkhachaturov in https://github.com/vectorize-io/hindsight/pull/737
* feat(openclaw): configurable logging with structured output by @akhater in https://github.com/vectorize-io/hindsight/pull/739
* fix(codex): don't crash on startup when quota is exhausted (429) by @Rutimka in https://github.com/vectorize-io/hindsight/pull/744
* feat: add LlamaIndex integration by @DK09876 in https://github.com/vectorize-io/hindsight/pull/672
* fix(hermes): sync lifecycle hooks for hermes-agent 0.5.0 by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/741
* feat: add Hindsight memory integration for OpenAI Codex CLI by @benfrank241 in https://github.com/vectorize-io/hindsight/pull/730
* fix(codex): cleanup dead code, add release lifecycle and docs by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/753
* fix(retain): inject retain_mission into verbose extraction mode by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/754
* fix: per-bank index creation respects HINDSIGHT_API_VECTOR_EXTENSION by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/755
* Convert codex tool_choice test to pytest style by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/752
* fix(mcp): handle Claude Code GET probe and make stateless_http configurable by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/757
* feat(api): add duration_ms to audit log entries by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/758
* refactor(llamaindex): merge into single hindsight-llamaindex package by @nicoloboschi in https://github.com/vectorize-io/hindsight/pull/760

## New Contributors
* @philippop made their first contribution in https://github.com/vectorize-io/hindsight/pull/684
* @grimmjoww made their first contribution in https://github.com/vectorize-io/hindsight/pull/699
* @beordie made their first contribution in https://github.com/vectorize-io/hindsight/pull/714
* @faridun-ag2 made their first contribution in https://github.com/vectorize-io/hindsight/pull/720
* @Rutimka made their first contribution in https://github.com/vectorize-io/hindsight/pull/724
* @Sapientropic made their first contribution in https://github.com/vectorize-io/hindsight/pull/734
* @akhater made their first contribution in https://github.com/vectorize-io/hindsight/pull/735

**Full Changelog**: https://github.com/vectorize-io/hindsight/compare/v0.4.20...v0.4.21

Related Repositories