Skip to content

Releases: vectorize-io/hindsight

v0.4.22

31 Mar 16:37

Choose a tag to compare

What's Changed

  • docs: 0.4.21 release blog post and changelog by @nicoloboschi in #765
  • blog: What's New in Hindsight Cloud — Native OAuth for MCP Clients by @benfrank241 in #731
  • Update MCP OAuth blog post date to March 30 by @benfrank241 in #769
  • Fix blog homepage: Hindsight Cloud section always shows top 3 posts by @benfrank241 in #770
  • Fix trailing commas in openclaw plugin manifest by @nicoloboschi in #774
  • fix(docs): use tools=[] in BaseMemory example by @DK09876 in #772
  • feat: add configurable base URL for ZeroEntropy reranker by @iskhakovt in #766
  • feat(codex): structured tool call retention from rollout files by @nicoloboschi in #778
  • docs: add ZeroEntropy base URL config to docs by @nicoloboschi in #779
  • fix(llamaindex): document_id, memory API, and ReAct trace fixes by @DK09876 in #777
  • SEO: add title and description to all integration pages by @cdbartholomew in #787
  • fix(codex): merge new settings on upgrade instead of skipping by @nicoloboschi in #780
  • fix(engine): classify first-person agent experiences as 'experience' fact type by @nicoloboschi in #775
  • fix(gemini): thought_signature read from wrong object and type in gemini 3.1+ tool calls by @ParadiseN1 in #785
  • fix(openclaw): defer heavy init to service.start() to avoid CLI slowdown by @kagura-agent in #764
  • fix(openclaw): warn log and tests for CLI mode waitForReady no-op by @nicoloboschi in #799
  • ci: support safe-to-test label for fork PRs by @nicoloboschi in #800
  • fix(tests): use random port for pg0 to avoid port conflicts by @nicoloboschi in #801
  • fix(http): recall endpoint drops metadata in response by @nicoloboschi in #803
  • Add /code-review skill for automated code quality checks by @nicoloboschi in #805
  • feat(api): warn on unknown request parameters via X-Ignored-Params header by @nicoloboschi in #802
  • ci: report safe-to-test CI results on PR by @nicoloboschi in #807
  • feat: add /code-review skill with project standards by @nicoloboschi in #806
  • feat: expose document_metadata in API and control plane by @nicoloboschi in #798
  • fix(claude-code): disable built-in tools to prevent MCP tool deferral in call_with_tools by @mkremnev in #784
  • feat: add optional LiteLLM SDK embedding output dimensions by @bullbo in #809
  • ci: trigger full CI on PR approval instead of safe-to-test label by @nicoloboschi in #813
  • What's New: multi-org support and credit transfers (March 29) by @benfrank241 in #815
  • chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #763
  • chore(deps): bump azure/setup-helm from 4 to 5 by @dependabot[bot] in #761
  • chore(deps): bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in #762
  • feat(api): add HINDSIGHT_API_LLM_EXTRA_BODY config for custom model params by @emirhan-gazi in #781
  • fix(reranker): use httpx for Cohere Azure endpoints to avoid 404 (fixes #783) by @kagura-agent in #790
  • refactor: replace LLMProvider classmethods with from_env() and document missing config fields by @nicoloboschi in #816
  • fix(mental-models): add tags_match and tag_groups to trigger config by @nicoloboschi in #804

New Contributors

Full Changelog: v0.4.21...v0.4.22

v0.4.21

30 Mar 13:14

Choose a tag to compare

What's Changed

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

New Contributors

Full Changelog: v0.4.20...v0.4.21

v0.4.20

24 Mar 08:39

Choose a tag to compare

What's Changed

  • feat: upgrade MiniMax default model from M2.5 to M2.7 by @octo-patch in #606
  • docs: add 0.4.19 release blog post, Agno and Hermes integration pages by @nicoloboschi in #608
  • feat: independent versioning for integrations by @nicoloboschi in #565
  • blog: Hermes Agent persistent memory by @benfrank241 in #599
  • fix: rename fact_type "assistant" to "experience" across extraction pipeline by @nicoloboschi in #609
  • Fix entity_id null constraint for non-ASCII entity names by @cdbartholomew in #612
  • feat: 4-tab code parity across all documentation examples by @nicoloboschi in #613
  • feat: add scrolling integrations banner to all doc pages by @nicoloboschi in #616
  • feat(skill): validate links, strip images, include openapi.json and changelog by @nicoloboschi in #614
  • fix(security): address all Dependabot vulnerability alerts by @nicoloboschi in #617
  • Fix orphaned batch_retain parents when child fails via unhandled exception by @cdbartholomew in #618
  • Fix non-atomic async operation creation by @cdbartholomew in #619
  • feat: fact_types and mental model exclusion filters for reflect by @nicoloboschi in #615
  • feat(docs): Integrations Hub + unified page hero by @nicoloboschi in #620
  • Enhance OpenAI client initialization to support Azure OpenAI deployments by @c15yi in #623
  • fix(hindsight-api): add script entry points so uvx hindsight-api works directly by @nicoloboschi in #629
  • feat: add LangGraph integration by @DK09876 in #610
  • feat(nemoclaw): add hindsight-nemoclaw setup CLI package by @benfrank241 in #630
  • doc: add langgraph and nemoclaw by @nicoloboschi in #633
  • blog: Give NemoClaw the Best Agent Memory Available In One Command by @benfrank241 in #631
  • fix: add readme field to integration pyproject.toml files for PyPI by @DK09876 in #634
  • fix: MCP tool calls fail when MCP_AUTH_TOKEN and TENANT_API_KEY differ by @DK09876 in #635
  • fix(litellm): fall back to last user message when hindsight_query not provided by @nicoloboschi in #641
  • fix: allow claude-agent-sdk installation on Linux/Docker by @Bortlesboat in #644
  • Fix: POST files/retain uses authentication headers by @soberreu in #636
  • fix(recall): reject empty queries with 400 and fix SQL parameter gap by @nicoloboschi in #632
  • docs: add gitcgr code graph badge by @vitali87 in #648
  • fix: strip markdown code fences from all LLM providers, not just local by @feniix in #646
  • feat(extensions): add context enrichment to OperationValidatorExtension by @mrkhachaturov in #639
  • Fix pg_trgm unavailability causing startup crash and silent retain failures by @coder999999999 in #649
  • Add wall-clock timeout to reflect operations by @ThePlenkov in #643
  • test: add unit tests for pg_trgm auto-detection and ValidationResult.accept_with() enrichment by @nicoloboschi in #650
  • docs: update HindClaw integration listing by @mrkhachaturov in #653
  • feat: Add Claude Code integration plugin by @fabioscarsi in #651
  • fix(claude-code): fix plugin installation, config UX, and release workflow by @nicoloboschi in #661
  • doc: Claude Code + Telegram + Hindsight blog post by @nicoloboschi in #656
  • fix(entity_resolver): prevent _pending_stats/_pending_cooccurrences memory leak by @nicoloboschi in #662
  • fix(claude-code): pre-start daemon in background on SessionStart by @nicoloboschi in #663
  • feat(blog): Agent Memory Benchmark launch post by @nicoloboschi in #657
  • blog: add cover images to AMB, Claude Code Telegram, and NemoClaw posts by @benfrank241 in #667
  • chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #654
  • fix(reflect): disable source facts in search_observations to prevent context overflow by @kagura-agent in #669

New Contributors

Full Changelog: v0.4.19...v0.4.20

v0.4.19

18 Mar 14:00

Choose a tag to compare

What's Changed

  • doc: add 0.4.18 release blog post by @nicoloboschi in #567
  • fix: support for gemini-3.1-flash-lite-preview (thought_signature in tool calls) by @nicoloboschi in #568
  • docs: improve type hints and documentation in client_wrapper by @hiSandog in #570
  • fix: inject Accept header in MCP middleware to prevent 406 errors by @DK09876 in #571
  • blog: add disposition-aware agents post by @benfrank241 in #566
  • Upgrade GitHub Actions to latest versions by @salmanmkc in #576
  • chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #583
  • chore(deps): bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #582
  • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #581
  • fix: chunk FK cascade so doc deletion doesn't leave orphan memory units by @jnMetaCode in #580
  • fix(migration): backsweep orphaned observation memory units by @nicoloboschi in #584
  • feat: local reranker FP16, bucket batching, and transformers 5.x compatibility by @fabioscarsi in #588
  • fix(docker): honor HINDSIGHT_CP_HOSTNAME for control-plane startup by @abix5 in #590
  • docs: add config vars for local reranker FP16 and bucket batching by @nicoloboschi in #589
  • docs(skills): encourage rich context over pre-summarized strings in retain by @nicoloboschi in #594
  • blog: add n8n persistent memory workflows post by @benfrank241 in #585
  • docs: add Best Practices unversioned page by @nicoloboschi in #598
  • feat: hindsight-hermes integration for Hermes Agent by @benfrank241 in #600
  • feat(retain): verbatim, chunks modes and named retain strategies by @nicoloboschi in #593
  • blog: Streamlit chatbot with persistent memory by @benfrank241 in #602
  • fix: prevent silent memory loss on consolidation LLM failure by @nicoloboschi in #601
  • blog: fix streamlit post slug and add cover image by @benfrank241 in #604
  • blog: fix internal links in streamlit post by @benfrank241 in #605
  • feat: add Agno integration with Hindsight memory toolkit by @benfrank241 in #596
  • feat(typescript-client): Deno compatibility by @nicoloboschi in #607

New Contributors

Full Changelog: v0.4.18...v0.4.19

v0.4.18

13 Mar 14:57

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.17...v0.4.18

v0.4.17

10 Mar 16:46

Choose a tag to compare

What's Changed

Full Changelog: v0.4.16...v0.4.17

v0.4.16

05 Mar 17:48

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.15...v0.4.16

v0.4.15

03 Mar 14:34

Choose a tag to compare

What's Changed

  • doc: changelog and blog post by @nicoloboschi in #445
  • doc: improvements by @nicoloboschi in #448
  • doc: 0.4.14 by @nicoloboschi in #449
  • feat: observation_scopes field to drive observations granularity by @nicoloboschi in #447
  • feat(openclaw): retain last n+2 turns every n turns (default n=10) by @fabioscarsi in #452
  • Add bank-scoped validation to engine and HTTP handlers by @cdbartholomew in #454
  • fix: JSON serialization and logging exception propagation in claude_code_llm by @nicoloboschi in #461
  • fix: zeroentropy rerank URL missing /v1 prefix and MCP retain async_processing param by @nicoloboschi in #460
  • fix(control-plane): observations count always showing 0 by @nicoloboschi in #464
  • fix: resolve consolidation deadlock caused by zombie processing tasks on retry by @nicoloboschi in #463
  • fix(reflect): prevent context_length_exceeded on large memory banks by @nicoloboschi in #462
  • feat: support timestamp="unset" to retain content without a date by @nicoloboschi in #465
  • feat: entity labels — optional, free_values, multi_value, UI polish by @nicoloboschi in #450
  • docs: entities vs tags vs metadata by @nicoloboschi in #466
  • feat: add Pydantic AI integration for persistent agent memory by @benfrank241 in #441
  • feat: add Pydantic AI integration to CI, release pipeline, and docs by @nicoloboschi in #467
  • feat: add tags filtering and q description fix for list documents API by @nicoloboschi in #468
  • blog: add CrewAI persistent memory post by @benfrank241 in #471
  • feat: add extension hooks for root routing and error headers by @DK09876 in #470
  • refactor(openclaw): replace console.log with debug() helper by @slayoffer in #456
  • fix(performance): improve recall and retain performance on large banks by @nicoloboschi in #469
  • feat: configurable Gemini/Vertex AI safety settings by @nicoloboschi in #473
  • perf(recall): improve single-query chunk fetch by @nicoloboschi in #475
  • fix(ts-sdk): send null instead of undefined when includeEntities is false by @nicoloboschi in #476
  • refactor: replace set_gemini_safety_settings() with LLMProvider.with_config() by @nicoloboschi in #474

New Contributors

Full Changelog: v0.4.14...v0.4.15

v0.4.14

26 Feb 19:15

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.13...v0.4.14

v0.4.13

19 Feb 18:21

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.12...v0.4.13