Changelog
User-facing changes only. Internal maintenance and infrastructure updates are omitted.
This page covers the Hindsight core (API, CLI, control plane). Each integration is released on its own cadence and has its own changelog — find it on the integration's page.
0.9.2
Features
- Recall callers can now supply an explicit temporal window instead of relying on parsed time expressions.·
@nicoloboschi·3de41af86 - Control plane now shows per-model staleness with consistent wording across views.·
@nicoloboschi·97dbebb00 - Automatic mental-model refreshes now enforce a minimum interval to prevent overly frequent refresh cycles.·
@nicoloboschi·2b54a1d3c - Text-in embedding providers can now use asymmetric query/passage prefixes to improve retrieval quality.·
@nicoloboschi·e256a7409 - Knowledge-base tree now exposes each page’s refresh trigger, making refresh behavior easier to inspect.·
@nicoloboschi·0dd32a3d6 - Add a GitHub Copilot subscription provider, so Hindsight can run its LLM lanes on a Copilot plan.·
@dudujuju828·1d9a6a381 - Expose the knowledge base as native MCP tools, so an agent can browse, search and maintain its pages over MCP instead of falling back to HTTP.·
@nicoloboschi·6582e26ef
Improvements
- Retain processing uses less memory and handles large batches more efficiently by streaming sub-batch splitting.·
@nicoloboschi·634312795 - Mental model deltas are stored as verbatim Markdown blocks for more faithful, readable model change tracking.·
@nicoloboschi·fe5c25d64 - Batch retain is routed through batch-capable multi-LLM handling for better throughput and provider compatibility.·
@handnewb·7f7d9c133 - Database write overhead is reduced by disabling row counting when min_rows=0 and by interpreting 0 as 'off'.·
@nicoloboschi·94815f5d0 - Engine now serves addressed document/chunk/entity reads from the backing store, improving read consistency.·
@nicoloboschi·7c5646436 - Mental-model refresh operations now record what changes were made, improving auditability and debugging.·
@nicoloboschi·300c546c5 - CLI output is now non-interactive-friendly by disabling ANSI color and spinners when not running in a TTY.·
@yossiovadia·b7c65fbb2 - Vector index creation is now proportional to bank size instead of always creating three per bank, reducing DB bloat.·
@nicoloboschi·edd0d0c5b - Retain and update_memory can now optionally resolve entities via a dedicated flag, enabling more controlled entity handling.·
@nicoloboschi·df8ac42b5 - Maintenance cross-tenant sweeps scale with tenant count to reduce unnecessary work on large deployments.·
@nicoloboschi·3770d62e3 - Worker polling uses a pooled DB connection per cycle with consolidated session setup, improving throughput.·
@nicoloboschi·32b90cc98 - The bank list endpoint is now paginated.·
@nicoloboschi·6692e38c8 - Background worker runs are now traced and join the caller's trace, giving end-to-end visibility into async work.·
@nicoloboschi·08a119eeb
Bug Fixes
- Consolidation now avoids retrying an entire batch when only some LLM calls fail, improving reliability of batch runs.·
@nicoloboschi·ad6312a51 - Retain now enforces a memory budget (rather than per-document limits) to prevent runaway memory usage on large inputs.·
@nicoloboschi·e65973b1d - Consolidation claims are serialized per bank within a batch to prevent conflicts and inconsistent results.·
@nicoloboschi·85bd23d50 - Knowledge pages keep their intended scope reliably and trigger updates no longer reset it unexpectedly.·
@nicoloboschi·99a319513 - Entity resolution no longer merges entities based only on history-matched names, reducing incorrect merges.·
@nicoloboschi·92695c6e5 - Retain retries and fails clearly when fact extraction encounters schema drift, instead of silently producing bad data.·
@nicoloboschi·d8a71c313 - Reflect runs now fail if no answer is produced, preventing placeholder memories from being stored.·
@nicoloboschi·f4a936950 - Recall now skips over-budget facts instead of stopping early, and avoids returning empty matches.·
@nicoloboschi·1f5006583 - If llama.cpp is missing, the system now reports the configuration problem instead of looping on connection errors.·
@nicoloboschi·bdee2bc88 - Embedding profile env files are now read as UTF-8 to avoid failures with non-ASCII characters.·
@koriyoshi2041·86675983b - Batch recovery is now correctly tied to the account that submitted the batch, preventing cross-account mixups.·
@nicoloboschi·6ff6dc692 - Provider content-policy refusals during retain are treated as permanent failures rather than endlessly retried.·
@nicoloboschi·b81a3742b - Control plane: clearing the memories query no longer closes the search view unexpectedly.·
@nicoloboschi·9ef1f1b84 - Re-retain now correctly deletes chunks that were removed when content is reduced, preventing stale data from lingering.·
@nicoloboschi·801f4910e - Query analyzer no longer misinterprets lone four-digit numbers as years.·
@nicoloboschi·e20bb290f - Knowledge tree writes are serialized to prevent write conflicts and corruption under concurrency.·
@Sanderhoff-alt·ea9efa860 - CLI now exits with a non-zero status when configured with an invalid API URL, making failures script-friendly.·
@Alan5168·71029fb81 - Retain strict-schema behavior is now honored consistently for batch processing.·
@kamilfurtak·2bba17ee4 - Bank configuration is validated and persisted atomically to prevent partial or inconsistent config saves.·
@nicoloboschi·2e0af7550 - Consolidation now respects the configured temperature setting when generating consolidated results.·
@lusoris·31cb1c2c8 - Retain now fails closed on malformed memory-defense policies instead of skipping screening.·
@nicoloboschi·400fd3684 - Mental model refresh now removes references to facts that no longer exist, preventing stale citations.·
@nicoloboschi·ba97f8585 - Misconfigured retain settings now fail loudly instead of silently falling back to defaults.·
@nicoloboschi·cc2dd3945 - Ollama free-form calls now use the API path that honors num_ctx, improving context-window correctness.·
@nicoloboschi·2409c2d5a - Voyage embeddings preserve asymmetric query/passage behavior to maintain retrieval quality.·
@Tosko4·4d03f7d48 - Knowledge-base page staleness is now computed per scope rather than from the bank watermark, improving accuracy.·
@nicoloboschi·a5d00660b - Embedding configuration now inherits unspecified LLM settings instead of overwriting them with defaults.·
@Sanderhoff-alt·e4e5f8b28 - Recall budget limits now apply all the way through vector-index querying, improving predictability of results.·
@nicoloboschi·31c1aaf21 - Recall performance is improved by avoiding inefficient query plans on nested observation graph lookups.·
@nicoloboschi·5f137bf39 - Embedded daemon/UI lifecycle is hardened to reduce startup/shutdown errors and improve stability.·
@nicoloboschi·d98990b46 - Consolidation preserves source dates when observations are merged, improving timeline accuracy.·
@nicoloboschi·2e2dfe130 - Null metadata values are dropped during retain and recall to prevent invalid metadata from propagating.·
@NovaLux12·19318ac08 - Secret redaction uses ASCII token boundaries so secrets adjacent to CJK text are properly detected and removed.·
@oldnicke·e181fb75c - Mental models now ensure only one refresh is queued at a time, preventing refresh backlogs and duplication.·
@nicoloboschi·d69c53739 - Knowledge-base page triggers are now patched (not replaced) on create/update, preserving existing trigger settings.·
@nicoloboschi·b64943d19 - List endpoints for mental models and directives now return a correct total count for pagination.·
@nicoloboschi·803a45171 - Automatic cache affinity is disabled for Azure OpenAI to avoid routing issues and instability.·
@koriyoshi2041·7850efcef - Memory updated_at is now refreshed on all writes that change a memory, improving freshness tracking and sync behaviors.·
@nicoloboschi·b919b97df - Retention sweep is now batched to prevent it from stalling foreground queries.·
@nicoloboschi·0480f171e - Recall with long BM25 queries keeps the most selective terms, improving relevance and avoiding degraded search results.·
@nicoloboschi·a37257ede - Retain writes keep entity postings and witness coverage consistent by applying them together in one write group.·
@nicoloboschi·f660a4ad8 - A mental model's last_refreshed_at records when the refresh finished again, not the source-data watermark, which is now carried by the new last_memory_seen_at. Clients testing staleness against last_memory_write_at should compare last_memory_seen_at.·
@nicoloboschi·8fbdc6bf7 - Maintenance skips a schema under concurrent schema change instead of deadlocking against it.·
@nicoloboschi·435f1640b - Vertex AI's EU and US regional endpoints work again instead of returning 404.·
@ferrastas·3e6a812f7 - The embedded daemon no longer flashes console windows on Windows.·
@Sanderhoff-alt·3f14672ea
0.9.1
Features
- Add per-bank store capability checks, including the ability for a store to mark a bank as read-only (close it to writes).·
@nicoloboschi·6c5857813 - Allow selected HTTP request headers to be forwarded to extensions.·
@rares-mollie·27d4386de - Add asynchronous document export for bank transfers.·
@nicoloboschi·00b520e59 - Improve bank import/export by preserving the Knowledge Pages tree and rebuilding related search state on import.·
@nicoloboschi·fd294227c - Make all bank configuration fields exportable and importable via bank templates.·
@nicoloboschi·3e3e3f372 - Add a new xAI OAuth LLM provider for using LLM lanes with a SuperGrok subscription.·
@JoshFunnell·82852c522 - Add an opt-in forced-tool mode to produce structured outputs when using LiteLLM providers.·
@nicoloboschi·7b35d2c6f
Improvements
- Restore server-side prompt caching when using load-balanced OpenAI-compatible backends.·
@JoshFunnell·e62015cbf - Speed up recall by making temporal extraction significantly faster without changing results.·
@nicoloboschi·e8c42f2a7 - Speed up recall scoring by evaluating observation expansion as sets instead of per-candidate rows.·
@nicoloboschi·e6fb5d479 - Improve recall efficiency by reusing entity IDs already returned in results to avoid redundant fetches.·
@nicoloboschi·00acde015 - Reduce large entity-pruning sweeps by processing entity pruning through a queue.·
@nicoloboschi·681a79e6b - Make graph maintenance job submission smarter by deduplicating against running jobs as well as pending ones.·
@cdbartholomew·a763109d8
Bug Fixes
- Prevent recall from crashing when given extreme relative date offsets in queries.·
@nicoloboschi·423e25db4 - Ensure retrieved evidence is never dropped when synthesis is forced during reflection.·
@nicoloboschi·07aec3b95 - Fix document statements being incorrectly shared across banks by scoping them to the correct bank.·
@nicoloboschi·da8077ade - Prevent lost turns when appending to the same document concurrently.·
@nicoloboschi·11a4eda80 - Fix batched file uploads so each file gets a unique storage key.·
@nicoloboschi·45713adcc - Fix markdown table rendering in structured documents.·
@dragonkid·e9a14da69 - Fix knowledge base search errors on deployments without native text-search backends.·
@nicoloboschi·18bff79ae - Fix Knowledge Pages search to use PGroonga when configured, improving correctness and reliability.·
@JiehoonKwak·81b58934d - Add a DB-independent liveness probe so slow databases don’t cause pods to restart unnecessarily.·
@nicoloboschi·00bad1711 - Validate UUID inputs for entity and observation-history endpoints to prevent bad requests from triggering server errors.·
@Alan5168·862a77c1a - Fix OpenAI/LLM reasoning handling by preserving literal inline <think> text and honoring configured reasoning effort.·
@nicoloboschi·39ee97a61 - Fix Llama.cpp requests so extra request fields (extra_body) are correctly passed through.·
@handnewb·650da8c1e - Make Ollama “think” behavior configurable via extra request fields (extra_body).·
@nicoloboschi·3a4b0214f - Prevent reranking failures/timeouts by batching FlashRank passage scoring instead of using an unbounded single pass.·
@nicoloboschi·3e1b4611c - Prevent bank deletion deadlocks involving vector index schema changes during concurrent deletes.·
@nicoloboschi·d733772e3 - Validate bank configuration value types to prevent misconfigurations from wedging background tasks.·
@nicoloboschi·2cf31d7fb - Improve transfer import handling by rejecting invalid import ZIPs with a clear 400 error explaining how to fix it.·
@nicoloboschi·d506641dc - Fix whole-bank import to assign fresh internal IDs to avoid collisions.·
@nicoloboschi·d7c33fdea - Fix document upload cleanup so failed uploads are correctly deleted.·
@koriyoshi2041·78f1a0ef0 - Avoid database lock issues by using a consistent lock order when inserting memory links.·
@nicoloboschi·83a080f90 - Fix long-running or stuck mental-model delta operations by tracing the call and decoupling its completion cap.·
@nicoloboschi·500ab70f1 - Fix consolidation after multi-round drains by refreshing all affected mental models.·
@nicoloboschi·64ede3617 - Fix consolidation batching so sibling tag groups are canceled when a batch fails, preventing cascading stuck work.·
@nicoloboschi·dca002551 - Fix pending consolidation statistics by removing memories that have permanently failed.·
@nicoloboschi·dbe0ffb98 - Fix embed daemon shutdown detection to use actual port occupancy instead of an unreliable health probe.·
@Alan5168·c094ac27d
0.9.0
Features
- Add per-bank toggles to enable/disable temporal search, graph expansion, and reranking during recall.·
@cdbartholomew·d3946f17c - Allow configuring a per-budget cap on how many candidates the reranker considers during recall.·
@nicoloboschi·359e619a4 - Add a reranker failover chain so recall can fall back across multiple reranker configurations.·
@nicoloboschi·76d8ba8a5 - Add configurable locale detection for date parsing in the query analyzer.·
@yufanw03·f2ae61eda - Add support for the OpenAI Responses API via a new
openai-responsesLLM provider.·
@nicoloboschi·55883dc51 - Add a generic per-input token cap for embeddings across providers.·
@nicoloboschi·8e953c230 - Allow per-operation overrides of extra LLM request body fields via configuration.·
@nicoloboschi·cac55feda - Introduce Knowledge Pages: client-managed knowledge content with Control Plane UI and
hindsight fsCLI management.·
@nicoloboschi·218e6d34b - Add tools to troubleshoot mental model refreshes, including dry-run mode and trace retention.·
@nicoloboschi·06e9c7054 - Surface structured output for reflect/mental-model operations in the Control Plane.·
@nicoloboschi·4278f0989 - Introduce Hindsight Coding Agents: harness-pluggable long-term memory for coding agents.·
@nicoloboschi·b5d8439c8 - Add a local daemon mode for Coding Agents and let users choose the server during installation.·
@nicoloboschi·e1b3d438e - Add
--import-conversationsto Coding Agents to migrate/import conversations from older per-agent plugins.·
@nicoloboschi·17b7f46ae - Add a headless CLI tool to ingest/sync an Obsidian vault (
hindsight-obsidian-sync).·
@benfrank241·93fa0b016 - Add a recall option to prefer returning observations (via OpenClaw integration).·
@nicoloboschi·d19f54c77 - Allow
agent_knowledge_recall(Agent SDK) to request source chunks alongside results.·
@chethanuk·cd4064939 - Add support for custom OCR headers in the file parser.·
@Sanderhoff-alt·f61d383ac
Improvements
- Improve security and reliability of outbound webhooks by hardening delivery destinations and response handling.·
@nicoloboschi·ad85affb1 - Add Hermes-branded bank templates grounded in real Hermes user stories.·
@benfrank241·5e557dbfc - Require an explicit Coding Agents install target (e.g.,
install allor a specific harness) to avoid accidental installs.·
@nicoloboschi·05b55d20f - Make the memories storage backend pluggable so deployments can swap storage implementations.·
@nicoloboschi·b769045b6 - Add Control Plane indicators for documents being updated by an in-flight retain operation.·
@nicoloboschi·3868c8d05 - Show the originating coding agent’s logo on documents and memories in the Control Plane.·
@nicoloboschi·aa38790dd - Improve the Control Plane UI design system and visual consistency.·
@nicoloboschi·bf6c12d55
Bug Fixes
- Fix bank restore/import so label entities are correctly classified.·
@nicoloboschi·53948468a - Fix workers leaving behind in-progress operations by reconciling still-owned operations when a worker stops.·
@nicoloboschi·c15b565c8 - Prevent scheduled mental-model refresh jobs from enqueueing duplicate work.·
@nicoloboschi·afdea53a9 - Improve entity deduplication within a batch to avoid duplicate/variant entities being created.·
@nicoloboschi·25a7237b1 - Fix recalls so
created_after/created_beforetime windows also constrain graph expansion.·
@nicoloboschi·bda7ffd28 - Fix embeddings so local providers honor configured query/document prompts.·
@jpmf33·468cc4b7d - Fix LLM retry behavior to release concurrency permits during backoff to avoid unnecessary throttling.·
@koriyoshi2041·f6b3ce3e3 - Prevent unbounded log growth in the embedding daemon.·
@koriyoshi2041·9d828cc7b - Keep observations in the original source language during consolidation.·
@nicoloboschi·42e8c53da - Prevent mental model documents from being overwritten by delta-window candidates.·
@nicoloboschi·ba5a4813b - Ensure internal (non-HTTP) recall paths also enforce the query token cap.·
@nicoloboschi·5c15f28af - Return a proper 422 error when recall requests specify invalid fact types.·
@tao943·4b76d8be2 - Fix retention so metadata updates are applied even when memories are otherwise unchanged.·
@Sanderhoff-alt·751deb47b - Fix auto-splitting of overlong retention output by unifying the OutputTooLong error handling.·
@nicoloboschi·f572d8647 - Show accurate last-write timestamps for banks and documents in the API.·
@nicoloboschi·1ce308f35 - Improve database connection handling so pooled connections aren’t held across embedding/LLM calls, reducing contention and timeouts.·
@nicoloboschi·24825200b - Retry embedding connect timeouts for TEI-based embedding providers.·
@jooneyp·417efb35d - Fix delete operations to sweep orphan entities even when no relink victims were enqueued.·
@nicoloboschi·797faf798 - Fix configuration errors to explicitly report which fields are disallowed when permissions are violated.·
@kubaodias·13cacf21a - Fix Coding Agents session import attribution to use recorded working directory (cwd) rather than the session name.·
@nicoloboschi·d238d2f7d - Fix Coding Agents Devin transcript ingestion by using node:sqlite and failing early if it’s missing.·
@nicoloboschi·333812c85 - Fix macOS installs so they work without requiring a Rust toolchain.·
@nicoloboschi·8de576b4b
0.8.6
Features
- Control plane: add document tag filtering and a unified facet chip UI for browsing memories.·
@nicoloboschi·3a1841c42 - Reflect: add an option to apply directives across all scopes (bypass directive tag scoping) when needed.·
@nicoloboschi·6a460d2c9 - Retain: detect and report documents that produce zero extracted facts at write time.·
@nicoloboschi·9452ac29d - Configuration: allow per-operation overrides of LLM reasoning_effort.·
@nicoloboschi·b1a0ef5f7 - Temporal parsing: add Russian temporal period rules for better date/period understanding.·
@dimonnld·4724f26d3 - Configuration: make embedding thresholds configurable.·
@Sanderhoff-alt·ada3329bb - Control plane: display the API version in the sidebar.·
@handnewb·7a9ea7058 - Engine: add a bulk API to delete multiple memory units in one operation.·
@chrislatimer·64fe5e81f - API/UI: filter memory lists by linked entity and add an entity timeline view.·
@nicoloboschi·c41ad9bd7 - Extensions: support extension-owned, bank-scoped tables with automatic provisioning.·
@nicoloboschi·57c18bc29 - Configuration: allow per-bank overrides for storing document text (store_document_text).·
@nicoloboschi·6a0b85f10 - TypeScript client: support custom HTTP headers on requests.·
@menelsystemsbot·dbf3b9d9b - Engine: add created_before filtering to list_memory_units to query memories by ingest age.·
@nicoloboschi·441cf2272 - Observability: a stalled /health check now self-diagnoses — it reports whether the event loop is blocked or the database connection pool is exhausted.·
@nicoloboschi·489d55fa6 - Added a GitHub Copilot CLI integration that recalls memory before a session and retains a summary after.·
@ScottGuymer·6500944c7
Improvements
- Reflect: fail fast on unusable tool calls instead of attempting to salvage leaked text, improving correctness and safety.·
@nicoloboschi·678ca0e90 - Performance: reduce redundant graph seeding and UUID scans for faster operation on large datasets.·
@zommiommy·b475f5cca - Retain: reject misplaced file retain metadata to prevent invalid ingestion requests.·
@r266-tech·1fa2de332 - Workers: per-type slot settings are now named
HINDSIGHT_API_WORKER_<TYPE>_RESERVED_SLOTS, since they reserve a guaranteed minimum rather than cap concurrency. The old*_MAX_SLOTSnames keep working but log a deprecation warning.·
@nicoloboschi·979999651 - Python 3.14 is now supported.·
@nicoloboschi·a514d3962
Bug Fixes
- Control plane: dark mode styling now correctly follows the configured dark theme class.·
@nicoloboschi·94f4adfbe - Python and other clients: expose mental-model query controls (and async retain operation_id) so callers can tune queries and track async operations.·
@nicoloboschi·70c09adcf - Reflect: mental-model scoping is now applied correctly for empty scopes.·
@Sanderhoff-alt·c5643fdf5 - Graph maintenance: fix a race between enqueuing maintenance work and worker draining to prevent missed/duplicated queue work.·
@nicoloboschi·40d2b7f6b - Oracle support: fix full-text/vector and audit/log related SQL issues to improve compatibility and reliability on Oracle.·
@dcbouius·4f4c2988e - Tracing/observability: provider responses are now safely serialized even when unvalidated.·
@oldnicke·b8e1524a1 - TEI embeddings/reranking: automatically retry on HTTP 429 backpressure to reduce transient failures.·
@r266-tech·91160f3ba - Workers: prevent wedged retain jobs from occupying worker slots indefinitely.·
@nicoloboschi·8133c5ab7 - LLM integrations: reasoning_effort is now consistently sent across tool paths/providers (including Codex).·
@merlinr68·9a1ba951f - Batch retain: improve retry/recovery so parent jobs can be re-run and stranded work is reconciled after failures.·
@nicoloboschi·ac4df7eb8 - Transfers/import: preserve consolidation lifecycle state when importing an entire bank.·
@nicoloboschi·af196287e - Local embeddings/reranking: default to CPU on Apple Silicon to avoid an MPS memory leak.·
@nicoloboschi·2620a2a3f - Claude Code integration: reflect tool calls now work and honor the configured model.·
@nicoloboschi·8f19087c2 - Control plane: audit-log and observations tabs now respect resolved per-bank configuration, and observations inheritance is preserved.·
@nicoloboschi·ed248447e - Library import: avoid dotenv side effects when importing Hindsight as a dependency.·
@nicoloboschi·5792b2b86 - Consolidation: stop emitting an unsupported maxItems field that broke AWS Bedrock consolidation.·
@r266-tech·c908fade1 - Retain/dry run: return free-form entities from dry-run extraction and accept a text alias in fact extraction inputs.·
@oldnicke·f7ff5341f - Graph: edited/restored memories are now re-queued for relinking so links stay up to date.·
@Sanderhoff-alt·73b575c7a - Curation: preserve causal links across edit and invalidate/restore operations.·
@nicoloboschi·0e5aa8896 - Auth: ensure bank writes are authorized before provisioning occurs.·
@Sanderhoff-alt·0f47c7a8d - Helm/Kubernetes: ensure workers use the correct API port override to avoid service-discovery failures.·
@Fyko·d29f4703e - Mental models: fix delta refresh watermarking so refreshes anchor to the newest processed memory.·
@nicoloboschi·af8cf142d - Retain: async retries are now idempotent via caller-supplied operation_id.·
@nicoloboschi·31218127e - CLI: preserve HTTP 400 error details to make failures easier to diagnose.·
@koriyoshi2041·1ff09ccf9 - LLM endpoints: normalize LM Studio/Ollama base URLs to /v1 for compatibility.·
@nicoloboschi·47a7d4380 - Retain/linking: fix within-batch cosine similarity and adjust causal-target offsets to improve link quality.·
@koriyoshi2041·7b161740d - Backups: fix restore schema compatibility issues.·
@oldnicke·3cc371382 - Retain: oversized append-only documents are recognized as appends again, so re-ingesting long histories no longer re-extracts everything from scratch.·
@Korayem·a6c875156 - Retain: fix a database deadlock where flushing statistics took a second connection while the first still held uncommitted row locks, which could hang a retain indefinitely (notably on Oracle, where no deadlock error is raised).·
@nicoloboschi·6d5157575
Other
- Zapier: remove the memoryDefenseTriggered trigger (gated capability) from the integration surface.·
@benfrank241·e57765e01
0.8.5
Features
- Add opt-in request dumps for rejected (4xx) LLM calls to make diagnosing provider errors easier.·
@nicoloboschi·be6caf9dc - Add an optional fail-on-extraction-errors mode for retain(), allowing stricter handling when fact extraction fails.·
@benfrank241·ec3b415c4 - Add tag-based filtering to memory listing endpoints (list_memories and list_memory_units).·
@superafun·c1fadc008 - Allow deleting terminal bank operations via the API (with control-plane support).·
@chethanuk·dcef72480 - Allow overriding audit logging settings per bank.·
@nicoloboschi·0d2dbe756 - Add support for pg0:// URLs carrying optional user/password credentials for easier configuration.·
@nicoloboschi·0c38d46ee - Add a configurable cap on planner parallelism to reduce connection pool pressure on busy deployments.·
@cdbartholomew·347b9c23c - Support Anthropic Message Batches (batch API) for discounted token usage.·
@hb-cam·7f2df54e0 - Add Anthropic prompt caching support (including carrying cache markers in batch system prompts) to reduce repeated prompt costs.·
@hb-cam·7c3a5619f - Add step-by-step context caching for Gemini tool loops to improve efficiency across multi-step tool interactions.·
@nicoloboschi·81aa4979b
Improvements
- Add bank attribution for remote reranker calls to improve per-bank observability and accounting.·
@Jordan-Jarvis·8a7a70b82
Bug Fixes
- Recover from malformed LLM JSON responses using a last-resort repair fallback, reducing failures on structured outputs.·
@nicoloboschi·a23187a45 - Ensure per-operation strict JSON schema handling works correctly and respects explicit per-call opt-out.·
@nicoloboschi·9fe339dfb - Improve compatibility with OpenAI-style tool calling by emitting canonical tool-result messages and preserving required tools for custom endpoints.·
@Jordan-Jarvis·434dbee64 - Fix Claude Code LLM calls with max_turns=1 by preventing built-in tools from interfering with single-turn requests.·
@peter216·b82fb603c - Increase reliability of retain() fact extraction by handling retries/edge cases (zero retry budgets, boundary batches, degenerate text) and preserving fact alignment.·
@chethanuk·912f8e22d - Make retain() more robust by reasserting resolved entities before linking and standardizing extracted entities as plain strings.·
@nicoloboschi·0679d38e8 - Preserve bank attribution and refresh search vectors during memory curation, improving correctness of curated memories.·
@Jordan-Jarvis·6ba98c040 - Fix audit coverage so memory updates are properly recorded when auditing is enabled.·
@handnewb·000fb9ddb - Repair vector index coverage per bank after restore/upgrade to prevent missing or incomplete search results.·
@nicoloboschi·bd853be35 - Improve stability and correctness of background operation processing (retry budgeting, completing successful operations, bounding terminal history, and isolating side-effect failures).·
@handnewb·234f5a062 - Fix delta refresh watermark handling so no-op refreshes still advance and don’t cause repeated processing.·
@SunneeYang·c1fae2ae1 - Fix PostgreSQL startup to honor credentials embedded in the database URL.·
@r266-tech·820019f3c - Fix database migrations to correctly handle percent-encoded database URLs and install maintenance routines in the configured schema.·
@Jordan-Jarvis·8bd9ce194 - Improve date parsing by selecting the strongest match and fixing day+month+year interpretation (avoids collapsing to whole-month dates).·
@benfrank241·d28b85273 - Fix crashes and incorrect results in Chinese temporal extraction (including year-0 edge cases).·
@r266-tech·5f1a86765 - Prevent oversized embedding requests from failing by truncating inputs before embedding.·
@nicoloboschi·263eba134 - Improve consolidation robustness by requesting JSON dedup decisions and normalizing/handling invalid dedup actions safely.·
@r266-tech·6d82c8a55 - Fix memory browsing endpoints to return associated metadata.·
@Sanderhoff-alt·5cc1482a7 - Preserve JSONB and timestamp provenance during transfers to avoid losing data fidelity.·
@Korayem·d7c32f963 - Make LLM trace writing safer by avoiding writes during startup/shutdown races and gating on lifecycle state.·
@nicoloboschi·3fb33b987
0.8.4
Features
- Added Requesty as an OpenAI-compatible LLM provider option.·
@Thibaultjaigu·6eb85570a - Recall can now return structured per-stage scores and supports two-level min_scores filtering for finer result control.·
@nicoloboschi·758f346d3 - Mental models can now be refreshed on a cron schedule automatically.·
@nicoloboschi·dae18b1fa - Multi-LLM setups now support configuring LiteLLM Router and Vertex service account keys.·
@nicoloboschi·47992d843 - Multi-LLM configurations can now set Vertex AI project and region per indexed member.·
@cdbartholomew·4fe477eaa - Added multi-LLM failover and round-robin selection via indexed configuration.·
@nicoloboschi·f7c7a62e5 - Added Atlas Cloud as an OpenAI-compatible LLM provider option.·
@lucaszhu-hue·f8d277697 - Recall can now prefer observations to avoid returning raw facts that have been superseded.·
@nicoloboschi·5f0b71551 - Recall supports configurable recency decay (linear, exponential, or none) to tune ranking toward recent memory.·
@nicoloboschi·a2166ee4f - Local reranking can now accelerate on Intel XPU where available.·
@r266-tech·1a09a9ccc - Added an Aider integration to bracket sessions and persist memory more cleanly.·
@DK09876·aab703207 - Added an Eve (Microsoft Agent Framework) MCP connection helper for easier integration.·
@benfrank241·d0b77f5be - Added a Windsurf (Codeium) integration via MCP.·
@DK09876·7194f98b1 - Added a GitHub Copilot (VS Code) integration via MCP.·
@DK09876·91bf32842
Improvements
- Memory explorer now shows full memory details for easier inspection and debugging.·
@koriyoshi2041·f8ce15b9b - Bank stats are faster and more scalable, with a refresh option to force recomputation when needed.·
@nicoloboschi·d68f61896 - LLM configuration now supports per-operation temperature control for more predictable behavior across different workflows.·
@nicoloboschi·a27754fb1 - Reflect structured output will retry fewer times, reducing latency and avoiding runaway retries.·
@koriyoshi2041·85599f3ef - Standalone workers now warn when worker_id is missing or unstable, helping prevent misconfigured deployments.·
@nicoloboschi·680305aea - Recall tracing now reports phase timing that matches total request duration more accurately.·
@nicoloboschi·9e06237e4 - Token usage reporting now includes cached tokens and model “thoughts” tokens where available.·
@cdbartholomew·b4874672f - MCP responses omit reflect directives_applied by default to reduce noise in traces.·
@r266-tech·246803bcf - Control plane upload size limit is now configurable.·
@nicoloboschi·5543992d7 - Database migrations are faster and more flexible, including optional extension reconciliation and dropping an unused global vector index.·
@nicoloboschi·51cb32896
Bug Fixes
- Batch fact extraction now honors the configured LLM temperature, making outputs consistent with your settings.·
@r266-tech·8ed49e438 - CLI explore now correctly handles header selection when displaying results.·
@koriyoshi2041·82afa7618 - Per-scope LLM timeouts and retry policies are now correctly applied to providers.·
@nicoloboschi·40fe7aac8 - LiteLLM-backed providers now correctly apply configured default request headers.·
@r266-tech·5e73d5ff6 - Dynamic banks now correctly inherit configured defaults.·
@devinkuhn·ef2e8ab7f - Reflect now correctly parses JSON-wrapped responses from models.·
@xmh1011·82b01ace5 - Trace-based token/cost accounting is preserved even when tool-call argument parsing fails.·
@nicoloboschi·01eda5188 - Python and TypeScript SDK wrappers now correctly pass recall min_scores filtering options.·
@r266-tech·cce0a2cb3 - Consolidation no longer drops items when a dedup action is missing; it defaults to keeping data.·
@koriyoshi2041·1c1cf4ce5 - Markitdown parser now correctly handles certain UTF-8 text files that begin with an ASCII prefix.·
@nicoloboschi·74e82a3ea - Database migration bootstrap now respects the configured vector extension.·
@r266-tech·017b8d727 - Consolidation now keeps search vectors up-to-date for observations, improving recall quality and reliability.·
@qxxaa·21176f8ee - Embedding on Windows now reliably finds pythonw when installed alongside the API script.·
@r266-tech·911d27fc5 - Retain append mode now correctly merges JSON arrays to preserve conversation-aware chunking.·
@qxxaa·78d32cd16 - Control plane now shows documents that are uploaded but still pending processing.·
@nicoloboschi·91e095afa - PATCH bank no longer accidentally creates new banks.·
@Sanderhoff-alt·a7d1f26f9 - Dry-run extraction no longer creates banks as a side effect.·
@Sanderhoff-alt·0673131a8 - Memory defense now shows the correct number of matched patterns.·
@Sanderhoff-alt·8e66c397a - CLI pagination now correctly supports large limit/offset values.·
@nicoloboschi·63a92bef5 - Gemini structured output prompts no longer duplicate schema instructions.·
@r266-tech·199ae146a - List endpoints now reject negative limit/offset with a clear 422 error instead of a server error.·
@r266-tech·4db8a1236 - Reduced risk of graph maintenance queue deadlocks under concurrency.·
@cdbartholomew·cabcb3bb0 - Recall can now accurately filter for untagged/global observations.·
@nicoloboschi·0ba613c3c - Async operations now return a clean 404 for missing banks instead of an internal database error.·
@cdbartholomew·04703d215 - Bank configuration writes now validate disposition_* ranges to prevent invalid settings.·
@r266-tech·387c09e91 - Anthropic strict structured output is now produced more reliably by using tool_use instead of prompt-based injection.·
@eldar702·cbce93704 - Bank stats no longer become stale after deletes/clears thanks to improved cache invalidation.·
@r266-tech·f21944d78 - Bank stats cache invalidation no longer leaves stale results in some cases.·
@zupengwang·ccd3eb24c - Retain chunking is now idempotent, preventing failures when structured chunk size settings increase.·
@nicoloboschi·ba5ddd59a
0.8.3
Features
- Added OpenHands integration with native MCP configuration and built-in recall/retain rules.·
@DK09876·65862c4fe - Added Zed editor integration via an MCP context server with recall/retain rules.·
@DK09876·539101af3 - Added Continue.dev integration via an HTTP context provider.·
@DK09876·c05ab9103 - Added Composio integration so Hindsight memory can be used as custom tools.·
@benfrank241·1c9ba0e65 - Added a Zapier app with actions and REST-hook triggers for automating workflows with Hindsight.·
@benfrank241·359b2bc76 - Added a dry-run fact extraction API endpoint to preview extraction results without saving them.·
@nicoloboschi·d382b340f - Added optional MarkItDown-based OCR support for extracting text from documents.·
@Sanderhoff-alt·5ee53c512 - Improved Chinese temporal query understanding for more accurate time-based searches.·
@Sanderhoff-alt·d0c54560a - Added tool annotations (read-only/destructive hints) to MCP tools for safer client behavior.·
@yunanwg·27aa6bbf4 - Added support for the "shared" observation scope across consolidation and the Control Plane UI.·
@nicoloboschi·0a046f97a - Added support for exact tag matching (tags_match=exact) across the UI and client libraries.·
@nicoloboschi·2f075dede - Added Intel XPU detection to enable local embedding acceleration when available.·
@nicoloboschi·2fb2de1aa
Improvements
- Exposed additional operation/worker backlog metrics to make async processing health easier to monitor.·
@MattJackson·b1fe23fbe - Added Gemini service tier configuration options.·
@r266-tech·d68bd0742 - API responses now omit wire-safe null fields to reduce payload size.·
@nicoloboschi·e20a36c95 - Improved search recency scoring using effective-time fallback for better ranking of results.·
@r266-tech·3d6b19af5 - Parallelized tenant schema migrations to reduce migration time on multi-tenant deployments.·
@nicoloboschi·460fc63d9
Bug Fixes
- Fixed retain chunking so oversized documents no longer lose content when split into multiple sub-batches.·
@nicoloboschi·81865bf87 - Fixed MCP so custom tool instructions are applied correctly again.·
@Sanderhoff-alt·f4bac2d41 - MCP responses no longer include reflect tool/LLM traces by default, preventing unexpected extra output.·
@yunanwg·44972d321 - Prevented hung LiteLLM calls from blocking forever by enforcing a hard timeout.·
@kubaodias·551932991 - Fixed bank listing so bank-config disposition and mission overlays are applied consistently.·
@PathKnower·cb73790c2 - Dry-run extraction now rejects empty/whitespace inputs and runs only after passing the precheck step.·
@r266-tech·a92e25bcf - Fixed consolidation when the LLM returns single-value source_fact_ids so runs don’t fail unexpectedly.·
@haodonp·94619ce52 - Fixed metric labeling for HTTP endpoints so bank IDs are templated correctly (avoids high-cardinality labels).·
@sireika·4efa20472 - Fixed provider quota reset behavior by deferring retries to avoid unnecessary retry storms.·
@oldschoola·2b521c3a0 - Honored CODEX_HOME for locating Codex auth.json, fixing auth in custom home directories.·
@mdenil·0c9bc765c - Fixed the Control Plane so the “shared” observation scope is selectable in the Add Document UI.·
@r266-tech·0ca0226d3 - Improved output sanitization by stripping malformed reasoning tags/blocks from non-structured outputs.·
@grimmjoww·7b17da7a0
0.8.2
Features
- Added support for observation scopes, including listing, filtering, visualization, and per-scope observation limits.·
@nicoloboschi·b08f43496 - Added SIEM-focused enrichment fields to Memory Defense webhook events to improve downstream security alert context.·
@chrislatimer·f304ce7e0 - Introduced reversible memory curation so memory units can be edited, invalidated, and reverted.·
@nicoloboschi·de22b606e - Added per-bank provider cost attribution using the OpenAI "user" field.·
@sireika·fb16fc4fd - Added a native Nous Portal LLM provider with OAuth authentication (no external CLI dependency).·
@nicoloboschi·82c7df726 - Added a per-bank LLM connectivity probe to help verify provider configuration.·
@nicoloboschi·0d55a9b78 - Added Gemini Batch API support for retain fact extraction.·
@nicoloboschi·a942b1c81 - Added support for the Gemini embedding-2 model family (per-input embeddings).·
@nicoloboschi·22ae72a90 - Improved retain ingestion by chunking JSONL files on line boundaries to avoid splitting records.·
@nicoloboschi·4e7780e59 - Added an option in the UI to export a constellation as a shareable SVG poster.·
@nicoloboschi·0280b3486 - Added a Cursor plugin providing Hindsight persistent memory integration.·
@DK09876·91d767cdc - Added a pip-installable Cline integration package (hindsight-cline).·
@benfrank241·36e31c675 - Added a pip-installable Cursor CLI integration package (hindsight-cursor-cli).·
@benfrank241·c6dd08944 - Added Hindsight memory integration for Microsoft Agent Framework (no MCP required).·
@benfrank241·f5a6c300f
Improvements
- Added a local Control Center web app for embedded deployments.·
@nicoloboschi·4032b2791 - Improved reflect synthesis to better respect directives and language rules in final outputs.·
@nicoloboschi·90ee101be - Added support for selecting Amazon Bedrock service tier.·
@mobilinkd·27cb1c684
Bug Fixes
- Fixed the control-plane bank view to avoid double-loading graph data, improving performance and reducing redundant requests.·
@nicoloboschi·d81486ff9 - Fixed per-scope observation limiting so a limit of 0 correctly prevents new observations from being created.·
@r266-tech·f6710963e - Improved cancellation handling so abandoned recall/reflect operations can be reliably cancelled on disconnect.·
@nicoloboschi·07c85da98 - Fixed a concurrency issue where model initialization could change the global Torch default dtype, ensuring consistent float32 behavior.·
@nicoloboschi·30fb287d1 - Fixed webhook payloads to include previously missing fields.·
@chrislatimer·87448b161 - Fixed PostgreSQL history storage by widening history bank_id to TEXT to prevent failures with longer IDs.·
@nicoloboschi·621ab7e66 - Fixed the CLI to correctly parse get-memory responses.·
@nicoloboschi·72d9881a6 - Fixed the control-plane meeting notes flow to drop empty messages that could fail locale validation.·
@nicoloboschi·8e6dc5fcd - Improved rolling-deployment migration skipping to handle wrapped dependency-resolution errors more reliably.·
@bionicbutterfly13·0afa046fc
0.8.1
Features
- Add an API configuration flag to skip storing raw document text.·
@nicoloboschi·1296e9fc1 - Add an Oh-My-OpenAgent (OMO) integration for connecting Hindsight memory to OMO workflows.·
@dcbouius·6dc56498c - Add a Cline integration that hooks into lifecycle events to save and retrieve Hindsight memory.·
@benfrank241·66e58a23a - Add a Haystack integration to use Hindsight as a memory component in Haystack pipelines.·
@DK09876·394d66e60 - Add a Cursor CLI integration for capturing and using Hindsight memory from Cursor workflows.·
@Korayem·dbfe83a2a
Improvements
- Introduce an official Obsidian plugin to sync and use Hindsight memory from Obsidian.·
@benfrank241·b0f86f9c0 - Package the Roo Code integration as an installable PyPI CLI (hindsight-roo-code).·
@benfrank241·644e37ac1
Bug Fixes
- Fix vector index behavior to avoid forcing vchordrq.probes settings on vchord indexes that don't support it.·
@nicoloboschi·109e1bd95 - Ensure database maintenance routines are installed correctly when using the public schema.·
@nicoloboschi·95d77233b
0.8.0
Features
- Add periodic background maintenance to reconcile consolidation state and enforce retention across tenants.·
@nicoloboschi·e77461762 - Add durable progress snapshots for long-running consolidation and batch retain operations, so status can be resumed/inspected reliably.·
@nicoloboschi·c94935bfa - Enable LLM request tracing by default (with per-bank support) and retain traces for 1 day for easier debugging/observability.·
@nicoloboschi·f4a3329ce - Add semantic deduplication of near-duplicate observations during consolidation (enabled by default, except on Oracle).·
@nicoloboschi·8aa31edd4 - Store mental-model and observation history in dedicated database tables for better scalability and reliability.·
@nicoloboschi·7e1145c08 - Add a local ONNX embeddings provider so embeddings can be generated without a hosted embeddings API.·
@shoveller·b5a324b77 - Add whole-bank export/import for cross-instance migration.·
@nicoloboschi·602c9f55e - Add document export/import between banks without re-running the LLM (reusing previously extracted results).·
@nicoloboschi·1d6d73bce - Add provider-agnostic prompt-prefix caching (default on) to reduce repeated LLM work for retain, consolidation, and reflect.·
@cdbartholomew·d7a3aa526 - Add global support for sending extra provider request fields via HINDSIGHT_API_LLM_EXTRA_BODY.·
@nicoloboschi·01296d8d5 - Honor HINDSIGHT_API_LLM_STRICT_SCHEMA across all JSON-schema capable LLM providers for stricter structured outputs.·
@nicoloboschi·a3d3d42b3 - Add Superagent safety middleware integration for safer agent execution.·
@DK09876·b70830218
Improvements
- Improve client SDK trace visibility by exposing reflect tool/LLM call details in the Python and TypeScript wrappers.·
@nicoloboschi·0db70bb88 - Allow tuning recall behavior with configurable per-strategy retrieval boosts via environment configuration.·
@nicoloboschi·01134047d - Allow tuning semantic recall sensitivity with a configurable minimum similarity threshold (HINDSIGHT_API_SEMANTIC_MIN_SIMILARITY).·
@zwcf5200·aa024a5cd - Avoid an unnecessary extra LLM call during reflect when a fresh mental model can be used directly.·
@nicoloboschi·c255d3552 - Speed up and reduce load from bank statistics queries via caching and more efficient computation.·
@cdbartholomew·7683f2900 - Improve visibility when audit logs or LLM requests are disabled by showing a clear "not enabled" splash in the control plane UI.·
@nicoloboschi·283419280 - Improve OpenCode integration observability with clearer debug logging, endpoint reporting, and surfaced errors.·
@nicoloboschi·796a9eff9
Bug Fixes
- Fix consolidation runs failing or truncating output by enforcing an explicit output token budget.·
@xmh1011·c2524473e - Reduce slow/expensive temporal recall paths by limiting how many entries are scanned per fact type.·
@nicoloboschi·4c33a4e55 - Fix pgroonga BM25 search failures by escaping query text properly.·
@xmh1011·6b8fc53d7 - Preserve correct RRF (fusion) source ranks in retrieval traces/results.·
@zwcf5200·f62500193 - Prevent the API from hanging indefinitely at startup by failing fast when model initialization blocks.·
@nicoloboschi·4f5003480 - Fix recall and mental-model history support when using the Oracle database backend.·
@DK09876·23710f4a8 - Validate embedding vector dimensions before writing to pgvector to prevent storage/query errors.·
@ai-ag2026·06c88e043 - Improve retain concurrency safety by rechecking freshness before extraction and serializing concurrent writes to the same document.·
@nicoloboschi·23168ebf6 - Fix incorrect fact attribution during retain caused by bank routing key leakage.·
@nicoloboschi·d695611ad - Fix mental model creation failures by ensuring the bank exists before inserting the model.·
@r266-tech·56b4271d9 - Fix external Postgres setups using vchord by adding required catalogs to the session search_path.·
@nicoloboschi·049901802 - Improve Docker standalone diagnostics by providing a clear error when pg0 bind-mount permissions prevent startup.·
@nicoloboschi·75a7c19d6 - Improve compatibility with LLM servers that mishandle tool_choice="required" by falling back to a safer tool-choice mode.·
@nicoloboschi·e30f8af14 - Fix Bedrock IAM authentication with the LiteLLM reranker by making the reranker API key optional.·
@r266-tech·3c8ca47dd - Expose retain outcome metadata so users can see what happened during a retain operation.·
@xmh1011·831f0efa1 - Make bank config PATCH persist correctly even for banks that have never retained data yet.·
@nicoloboschi·a809547aa - Prevent fact extraction prompt formatting from breaking extraction by removing Markdown bold markers.·
@Oxygen56·50b7eda2a - Improve recall stability/performance by gating VectorChord BM25 usage and applying per-source candidate caps.·
@nicoloboschi·70d98c7a2 - Fix control plane UI localization issues for operations and graph legends.·
@MapleEve·a14ce623c - Improve transfer import reporting by including mental_model_history counts in CLI summaries.·
@r266-tech·3346363d2
0.7.2
Features
- Added Google ADK integration to connect Hindsight memory with Google ADK agents.·
@benfrank241·c032a74f - Added Flowise integration with Hindsight memory tools.·
@benfrank241·41ad2b55 - Added Fireworks AI as a batch inference provider.·
@Fyko·537b2812 - Added Roo Code integration via MCP (including rules support) to connect Roo Code with Hindsight memory.·
@benfrank241·bf6b9026 - Added Vapi webhook integration to send voice-agent interactions into Hindsight memory.·
@benfrank241·dde133da - Added Gemini Spark integration via MCP.·
@benfrank241·7cdacc4b
Improvements
- Improved graph maintenance performance for vector search seeding (faster ANN maintenance work).·
@nicoloboschi·99c7367f - Improved vector search correctness/tuning by using cosine opclass for vchord ANN and applying backend-specific tuning settings.·
@isac322·e4686b92 - Reduced consolidation retry backoff to recover faster from transient failures.·
@nicoloboschi·f49b85c0
Bug Fixes
- Fixed a control-plane i18n redirect loop by pinning the Next.js version.·
@nicoloboschi·201f5d7c - Limited native ML thread pools to available CPU cores to prevent resource overuse and instability.·
@nicoloboschi·0a2ee845 - Fixed PostgreSQL upgrade issues for v0.7.x deployments.·
@nicoloboschi·b7f267b0 - Fixed backup/restore to include previously missing tables.·
@nicoloboschi·867b7b4a - Made memory consolidation more reliable under concurrency by improving scope-aware locking/dispatch and atomic submission behavior.·
@nicoloboschi·08ce8176 - Fixed retention of oversized documents to prevent incorrect chunk indexing and loss of full document content.·
@nicoloboschi·364ccf17 - Improved retain/recall robustness for unusual Unicode inputs (special-token literals and lone surrogates).·
@nicoloboschi·4bc7013e - Fixed a race condition when inserting memory links during retain operations.·
@nicoloboschi·8cf0dcbf - Fixed Windows embedded daemon launch behavior to avoid opening an extra terminal tab.·
@nicoloboschi·4280ac3f - Improved embedded Postgres stop/restart reliability by updating the embedded DB dependency.·
@nicoloboschi·8d9000a8 - Fixed CLI memory retain timestamp handling and corrected supported fact-type values.·
@slayoffer·df73c792 - Fixed directive listing/reflect to honor tag groups so filtering behaves as expected.·
@nicoloboschi·fb554664 - Fixed daemon networking to honor an explicitly configured host and port.·
@Sanderhoff-alt·77380211 - Isolated the Claude Code provider subprocess from user plugins to prevent interference and improve reliability.·
@nicoloboschi·bcae23d9 - Improved daemon startup reliability by waiting for health before reclaiming its port.·
@s09x·5e547f71 - Made worker retry behavior respect the configured maximum retries.·
@aaronwestphal·85f6769e - Prevented retain from silently dropping memories when fact extraction fails.·
@nicoloboschi·6e734e1a - Fixed control-plane auth redirects to validate return targets and honor basePath (improving security and correct routing).·
@nicoloboschi·9571a341 - Preserved raw reranker scores for providers that already return calibrated [0,1] scores.·
@nicoloboschi·18b9c596
0.7.1
Features
- Allow configuring LLM "reasoning effort" via environment variable.·
@s9rkn·1890d2b7 - Add per-provider HTTP timeout environment variables for reranker requests.·
@nicoloboschi·a510b07a - Add additional Chinese locale variants in the control plane UI.·
@MapleEve·617939d8
Improvements
- Schedule consolidation work using bank priorities so higher-priority banks are processed first.·
@nicoloboschi·cf637799 - Expose "graph_maintenance" in the control plane operations type filter dropdown.·
@nicoloboschi·691cb539
Bug Fixes
- Make consolidation more reliable by retrying indefinitely with backoff and preventing duplicate work per bank.·
@nicoloboschi·0d2ba56f - Fixed memory corruption when retaining large documents that exceeded a single LLM call — some extracted memories could be lost. Re-retain affected documents after upgrading.·
@nicoloboschi·74525cc0 - Improve Codex OAuth embeddings stability by adding token refresh support and follow-up fixes.·
@DK09876·ffa6fbf2 - Fix recall recency scoring to anchor timestamps to the query time for more consistent results.·
@Sanderhoff-alt·2de19e57
0.7.0
Features
- Added support for ParadeDB pg_search as a Citus-compatible BM25 search backend.·
@nicoloboschi·4cd260b6 - Added tokenizer configuration for pg_search to better control how text is tokenized for search.·
@Sanderhoff-alt·16f80769 - Added a new embeddings provider: ZeroEntropy.·
@flamerged·ec49175f - Added support for Codex OAuth-based embeddings authentication.·
@haha0815·d802f914 - Added an API endpoint to clear mental model content.·
@nicoloboschi·7bd11bed - Added targeted consolidation by observation scope to focus consolidation on specific parts of memory.·
@nicoloboschi·ac3ab2b5 - Added support for the Alibaba Qwen3 rerank model.·
@quicklyfast·b83bb87d - Added Right Agent integration.·
@onsails·203ddfdd - Added an OpenCode Go LLM provider.·
@tevenfeng·c29c76e3
Improvements
- Added configurable BM25 language/tokenization and optional PGroonga backend for better multilingual search tuning.·
@nicoloboschi·cb04cb79 - Added an environment variable to enable API access logging (Uvicorn access logs).·
@nicoloboschi·25387083 - Control plane now exposes a UI action to clear the mental model.·
@nicoloboschi·6e9b741b - Improved observation consolidation quality, including better handling of temporal reasoning.·
@nicoloboschi·d1ef9da9 - Control plane now supports internationalization with 8 locales.·
@nicoloboschi·486c3a8b
Bug Fixes
- Fixed stale outgoing links after deletions by recomputing links asynchronously.·
@nicoloboschi·cc3ba4a3 - Fixed Codex configuration to ignore inherited base URLs and automatically refresh OAuth access tokens.·
@benfrank241·795c081d - Stopped sending the temperature parameter to Anthropic requests to avoid API incompatibilities.·
@nicoloboschi·dabbf9ff - Prevented duplicate webhook batch deliveries for retain events.·
@xmh1011·6348f424 - Improved reliability for large retain requests by splitting oversized single items in batch retains.·
@nicoloboschi·c3b2b154 - Fixed Ollama support by adding an Ollama Cloud provider and correcting authentication for cloud endpoints.·
@nicoloboschi·cb037290 - Ensured disabled tools are not included in the agent system prompt.·
@nicoloboschi·2582b45a - Avoided retries when an embeddings provider returns invalid vector dimensions.·
@ai-ag2026·e1e1a5e0 - Prevented prompt formatting errors by escaping literal braces in all user-supplied prompt fields.·
@nicoloboschi·67ae2a41 - Fixed issues with mental-model baseline refresh and capped history size to prevent database JSON overflow.·
@xmh1011·44b34c89 - Enabled gzip handling to keep graph responses parseable when compressed.·
@nicoloboschi·31d1e172 - Added per-operation LLM concurrency caps to prevent overload and improve stability under parallel workloads.·
@nicoloboschi·daf2348b - Preserved tag group/triggers correctly when updating tags.·
@xmh1011·9c161e4e - Improved reranking robustness by detecting pre-normalized scores and applying rank-based normalization when needed.·
@xuli500177·dcf5588e - Fixed entity resolution so user-defined label entities are not fuzzy-matched incorrectly.·
@nicoloboschi·46dd2dfd - Improved worker resilience by handling stale pending schema routines.·
@xmh1011·592f01bb - Fixed embedded UI startup on Windows by resolving the correct npx path before launch.·
@tuancookiez-hub·2e5186a6 - Improved control-plane session security by verifying signed session cookies instead of just checking presence.·
@nicoloboschi·878ef957
0.6.2
Features
- Added a configurable MCP request timeout to the Claude Code integration so long-running recall/reflect calls no longer time out at the default.·
@rsaulo·55ef7067
Improvements
- Renamed the Agent SDK
agent_knowledge_recallmax_resultsparameter tomax_tokensand raised the default from 10 to 1024 so default-config users get useful recall results.·
@r266-tech·d9dd1499 - Applied the same
max_results→max_tokensrename to the Claude Code MCP plugin so both integrations stay in sync.·
@offendingcommit·909a4fd4
Security
- Bumped vulnerable dependencies across the stack to address GitHub-reported CVEs — including litellm to ≥1.83.14, urllib3 to 2.7.0, and additional high/critical pip and npm packages.·
@dcbouius·fd05bdab
Bug Fixes
- Fixed the CLI “memory retain” timestamp/Event Date option so the provided timestamp is actually sent to the API.·
@benfrank241·51ea9aa2 - Repaired a database migration issue affecting mental model subtype data at the current schema head.·
@benfrank241·debbd919 - Improved migration robustness by handling transient database OID errors during the embedding-dimension migration.·
@dcbouius·9dfbfb4b - Fixed Claude Code knowledge
get_pagecalls to requestdetail=contentand avoid tool-result spillover so full page content returns reliably.·
@cdbartholomew·b2a693ab - Applied the same
agent_knowledge_get_pagedetail=contentfix to the Agent SDK so SDK callers also receive full page content.·
@r266-tech·b593d40f - Aligned the Paperclip integration with Paperclip's actual event payload shape, restoring correct fact extraction from incoming events.·
@amirhmoradi·be908d5b
0.6.1
Features
- Added AlloyDB ScaNN vector index support, providing a high-performance vector index option for AlloyDB deployments·
@can1357·e4422a9b - Added map-type entity labels so entity extraction can produce structured groups (e.g. address fields) instead of flat strings·
@nicoloboschi·2b725bc4 - Added z.ai (智谱) as a first-class LLM provider with a free-tier-friendly default model·
@Burgunthy·4c75cd9e - Added a litellmrouter provider that lets the API call multiple LLM endpoints with automatic fallback chains·
@nicoloboschi·98f33cbf - Added an optional read-only database backend for recall queries, letting recall traffic go to a replica while writes stay on the primary·
@cdbartholomew·cf9b1f59 - Added optional access-key login to the Control Plane for protecting the admin UI without a full SSO setup·
@ariel-ai-bot·c0ff87ea - Added a
--strategyflag tomemory retain-filesin the CLI for selecting how files are split before retention·
@nicoloboschi·375747f5 - Bank dropdown in the Control Plane now shows per-bank memory counts to make bank selection easier·
@nicoloboschi·5a0cb4a5
Improvements
- Worker progress-stats fanout is now scoped to schemas with pending work, eliminating wasted polling on idle tenants·
@nicoloboschi·39d31ad2
Bug Fixes
- Fixed fact extraction reliability by removing multiplicative retry layers that could turn one transient LLM failure into many·
@nicoloboschi·a22e8bdd - Fixed reflect to read document metadata from the original retain parameters so reflect outputs include the right document context·
@nepenth·f2a2f9fe - Failed batch_retain operations now propagate the child error_message to the parent, so failures surface a meaningful reason instead of a generic error·
@cdbartholomew·7b82d05b - Fixed macOS daemon mode by replacing os.fork() with subprocess.Popen, restoring compatibility with PyTorch MPS·
@nicoloboschi·8d77976a - Hardened Control Plane access-key authentication and improved login UX (clearer errors, redirect handling)·
@nicoloboschi·b628716f - Reduced retain memory pressure by clearing content references after use, helping long-running workers avoid OOM on large batches·
@nicoloboschi·c9145805 - Fixed Docker image to chmod 755 /home/hindsight so containers run cleanly with --user UID:GID overrides·
@nicoloboschi·a5cef602 - Hard-pinned meta packages (hindsight-api, hindsight-all, hindsight-all-slim) to matching hindsight-api-slim, preventing stale slim installs after upgrade·
@nicoloboschi·a86d5381 - Worker now probes pg_proc before calling the optional schemas_with_pending_work() function, so older databases without it don't crash the worker·
@nicoloboschi·a1c1b7de - TypeScript client now derives CLIENT_VERSION via tsup define so the published package version is always reported correctly·
@nicoloboschi·ab8cc3e6
0.6.0
Features
- Added Dify integration providing Hindsight memory tools inside Dify workflows.·
@benfrank241·bc23750b - Added n8n community node package for using Hindsight memory in n8n automations.·
@benfrank241·c1eaf711 - Added SmolAgents integration providing Hindsight memory tools for SmolAgents-based agents.·
@benfrank241·8314de5e - Added AWS Bedrock AgentCore Runtime integration (hindsight-agentcore).·
@benfrank241·c91696f5 - Added an Oracle Database backend option for enterprise storage.·
@DK09876·50f559c9 - Added the ability to cancel long-running async operations.·
@nicoloboschi·7f30dcc7 - Typescript client now supports AbortSignal across all methods for request cancellation.·
@harryplusplus·8367930c
Improvements
- Python client now exposes retain_async via retain()/aretain() for async memory retention flows.·
@harryplusplus·daae8223 - Anthropic provider now supports environment-configurable max retries and default headers.·
@TuftyBruno·fa4bf700 - Memories timeseries stats can now be grouped by different time fields (time_field toggle).·
@aliu-ronin·cf1a97ab - Improved database performance for observation reads by reducing overhead and making reads backend-aware.·
@nicoloboschi·d8ec2d7f
Bug Fixes
- Fixed search ranking by correcting BM25 score direction for the vchord backend.·
@liling·b322b0c5 - Recall now correctly inherits observation entities through source_memory_ids, improving entity continuity across related memories.·
@youchi1·8507095a - Entity co-occurrence timestamps now use the event date instead of the ingestion time, improving timeline accuracy.·
@aliu-ronin·fc624cbf - Daemon mode now respects configured host settings (CLI --host and HINDSIGHT_API_HOST).·
@nicoloboschi·3d3aa76b - Webhooks are now processed tenant-aware to prevent cross-tenant routing issues.·
@cdbartholomew·b9069c28 - API per-document graph and counts now include observations, improving completeness of document-level views.·
@youchi1·7cc2daf4 - Improved compatibility with OpenAI-compatible providers by hardening JSON response parsing and handling null content.·
@voarsh2·bc14e5c4 - Fixed Windows worker startup by handling platforms that don't implement add_signal_handler.·
@nicoloboschi·08b56fdc - Retain/batch retain reliability improved by fixing transactional atomicity, recovery checkpoint scoping, and a cascade deadlock risk.·
@cdbartholomew·f4ca3038 - Typescript client now exposes previously missing recall/reflect parameters.·
@nicoloboschi·641b3912 - MCP recall tool now exposes tag_groups so recalls can be filtered/grouped by tag groups.·
@nicoloboschi·b948b574 - Embed/daemon startup reliability improved (script path resolution, correct extras when spawning API, and safer subprocess output handling).·
@nicoloboschi·0f15f76a - Configuration logging now redacts database URLs to avoid leaking credentials in logs.·
@xmh1011·2bada2db - Fixed support for OpenAI-compatible embedding dimensions by allowing provider-specific parameters.·
@zwcf5200·324b4b0a
0.5.6
Bug Fixes
- Reverted the JSON schema simplification introduced in 0.5.5 (
5b1c3486). The change inlined$ref/$defsinto a large blob that caused some LLMs (notably GPT-4o-mini in soft-enforcement mode) to echo the schema structure instead of producing valid responses, resulting in 0 facts extracted during retain. If you are on 0.5.5, upgrade to 0.5.6 immediately.
0.5.5
0.5.5 contains a regression that can cause 0 facts to be extracted during retain. The JSON schema simplification change (5b1c3486) was reverted in 0.5.6. Please upgrade to 0.5.6.
Features
- Added a new LlamaParse file parser, using the LlamaIndex Cloud parsing API to convert documents (PDF, DOCX, etc.) to markdown before retain.·
@nicoloboschi·91106f30 - Added a new Mental Models list view and tag filtering from mental models.·
@nicoloboschi·8fbe85f0 - Added Pipecat voice AI pipeline integration so voice agents can use Hindsight long-term memory.·
@benfrank241·f7cc9ad6 - Added an option to force IPv4 for Gemini embeddings to improve compatibility in restricted network environments.·
@connorblack·6fb8ac97 - Added support to control Cohere embedding output dimensions via configuration.·
@nicoloboschi·a7514e18 - Added a new Document Chunks API plus document reprocessing and a richer document detail experience in the UI.·8eb6e0e5b
- Added an exclude_parents filter for list operations to better control what results are returned.·
@nicoloboschi·8f6e0e5b - Operation responses now include retry information (retry count and next retry time).·
@cdbartholomew·45f47a91 - Retain results now include processed content token counts for better usage/throughput visibility.·
@cdbartholomew·9c9d7917
Improvements
- Added full Windows support for the embedded runtime and improved how the local API is discovered/launched.·
@nicoloboschi·4ba54d8c - Operation status reporting now includes processing and cancelled states across the API and UI.·
@nicoloboschi·80982da5 - Workers can reserve per-operation slots when claiming tasks, improving fairness and throughput under load.·
@nicoloboschi·c81e62ae - PostgreSQL connections now support a configurable statement timeout to prevent runaway queries.·
@nicoloboschi·bdb3a55d Improved LLM interoperability by simplifying JSON schemas and avoiding problematic tool-choice defaults.Reverted in 0.5.6 — caused 0 facts extracted with some LLMs.·
@nicoloboschi·5b1c3486- Worker scheduling no longer allows child tasks to block parent execution.·
@nicoloboschi·a49d19cd
Bug Fixes
- Fixed DeepSeek compatibility issues (including tool-calling quirks) and added it as a first-class LLM provider.·
@nicoloboschi·461b00d4 - Fixed Amazon Bedrock Converse compatibility by adjusting how causal relations are represented.·
@nicoloboschi·4bc772d8 - GET /banks/{bank_id}/profile no longer creates a bank as a side effect.·
@cdbartholomew·99a89789 - Reduced memory fan-out during consolidation recall to prevent excessive retrieval and improve stability.·
@nicoloboschi·4ba2fffe - External PostgreSQL connection strings now accept asyncpg-style URLs.·
@nicoloboschi·db7f4921 - Timeseries stats buckets now return timezone-aware ISO timestamps.·
@aliu-ronin·cd1ab497 - Fixed conversation storage when using streaming LLM responses via LiteLLM.·
@DK09876·ac5181f5 - Removed the MCP delete_memory tool to close an authorization-bypass vulnerability.·
@nicoloboschi·90674aef - First-time UI launch no longer requires manual confirmation to install the control plane.·
@bwjoke·33aacf5c
0.5.4
Features
- Delta mental model refresh now scopes recall to memories created since the last refresh, making updates faster and more accurate.·
@nicoloboschi·e90cfa4a - OpenAI-compatible embedding providers now support configurable batch sizes for better throughput.·
@r266-tech·30700de6 - Embedded daemon now includes a liveness check that auto-recovers from crashes.·
@nicoloboschi·59f9a2bf - Disable daemon idle timeout by default so embedded instances stay alive between requests.·
@nicoloboschi·f5dfe59b - Add
{user_id}template variable for retainTags in the Claude Code integration.·
@soichisumi·9181c9a2 - New
decommission-workersandworker-statusadmin CLI commands for managing worker fleets.·
@nicoloboschi·c8b898bd
Bug Fixes
- Fix duplicate memory units caused by chunk index scrambling during concurrent upserts.·
@nicoloboschi·511ca723 - Prevent directive content from leaking into reflect answers on empty banks.·
@nicoloboschi·3d877b05 - Honor the reflect_mission identity framing in the prompt builder so agent personality works correctly.·
@nicoloboschi·a3b0d265 - Allow reflect-specific LLM configuration when the default LLM provider is disabled.·
@zwcf5200·afd00c03 - Preserve document
created_attimestamp across upsert and add UI edit flow for documents.·
@nicoloboschi·10785666 - Fix
ensure_ascii=Falsein json.dumps for LLM prompts so non-Latin text is preserved.·
@harryplusplus·d05b49a2 - Route
update_bankthrough the config resolver with generic config_updates.·
@nicoloboschi·abbd3619 - Workers now scan for active schemas before claiming tasks, preventing work on decommissioned tenants.·
@cdbartholomew·7126bf8a - Pass DeferOperation through MemoryEngine.execute_task so extensions can requeue work.·
@cdbartholomew·858f0b3a - Downgrade LLM verify_connection failure to a warning instead of crashing on startup.·
@nicoloboschi·9901aa1e - Fix
items_countin list_operations response to populate from result_metadata.·
@nicoloboschi·41710ba1 - Align AI SDK ReflectBasedOn types with the OpenAPI spec.·
@nicoloboschi·3d6b3805 - Fix database migration path by merging divergent Alembic heads for v0.5.3.·
@grimmjoww·487e2a5e - Lower OpenCode retainEveryNTurns default from 10 to 3 for more frequent memory saves.·
@DK09876·902704df
0.5.3
Features
- Add a setting to limit how many memories can be consolidated per round, helping control consolidation workload and cost.·
@nicoloboschi·ca561aca - Add integration with the OpenAI Agents SDK.·
@DK09876·b8da88c8 - Improve mental model refresh and updates with structured operations and cleaner observation handling on upsert.·
@nicoloboschi·8b80959b - Allow extensions to requeue work by throwing a DeferOperation exception from worker operations.·
@nicoloboschi·f8904797 - Make recall budget mapping configurable per memory bank.·
@nicoloboschi·576c44d2 - Control plane now shows failed consolidation counts with a drilldown to investigate issues.·
@nicoloboschi·e1e5f36c - Add mental-model staleness signals and a refreshed UI/experience for reviewing model history and snapshots.·
@nicoloboschi·654e4c0c - Replace the embedded Paperclip library with the Paperclip plugin for more flexible integrations.·
@benfrank241·c571fac7 - JSON logs can now include tenant information and support a configurable allowlist for what gets logged.·
@nicoloboschi·3bedc1ce - CLI now supports named connection profiles (via -p/--profile) for easier switching between environments.·
@nicoloboschi·70d60e96
Improvements
- Reduce the default number of retries for LLM calls to fail faster when providers are erroring or unavailable.·
@nicoloboschi·b52b483c - Make reranker failures easier to diagnose and add a configurable timeout for the TEI reranker.·
@octo-patch·69383af8
Bug Fixes
- Fix crashes when using Jina MLX on Metal GPUs by serializing GPU operations.·
@lkttle·2e74a324 - Fix database migration path so upgrades from v0.4.22 to v0.5.x work correctly.·
@nicoloboschi·5437cc02 - Prevent orphaned observations if a source memory is deleted during consolidation.·
@nicoloboschi·f9042e37 - Fix Ollama requests by explicitly disabling "think" mode in the native call payload.·
@karl-8888·7d4fd1aa - Fix file retain uploads and prevent orphaned retained files.·
@christerence·9e30ae25 - Fix file retain API to correctly accept and map a provided "timestamp" field.·
@christerence·13f3052e - Improve fairness across tenants when workers claim tasks, reducing the chance of noisy tenants starving others.·
@cdbartholomew·a5e53721 - Ensure the mental model max_tokens setting is respected during refresh/reflect operations.·
@nicoloboschi·568e3c30 - Fix control-plane links by properly encoding bank IDs in URLs end-to-end.·
@nicoloboschi·cbaec36f - Make task submission idempotent when a payload is already set, preventing duplicate/failed submissions.·
@nicoloboschi·088dfecb
0.5.2
Features
- Added a co-occurrence graph view for exploring entity relationships in the control plane.·
@nicoloboschi·f64c5d20 - Added recall controls to the mental model trigger API/CLI so you can tune what gets recalled during runs.·
@nicoloboschi·f2fc8f9f - Async operations now expose task payload details and associated document IDs for better observability and debugging.·
@nicoloboschi·870bf4a3
Improvements
- Revamped the control plane bank statistics view for clearer insights.·
@nicoloboschi·34365c32 - Clients now send an identifying User-Agent header on all HTTP requests for easier server-side diagnostics.·
@nicoloboschi·9372462e
Bug Fixes
- Fixed consolidation retry budget handling so retries are correctly applied at the LLM call site.·
@r266-tech·dee58139 - Fixed a crash during retain when embeddings and extracted facts counts didn’t match.·
@nicoloboschi·dbd1d1a7 - Improved embedded mode cleanup stability by adding a timeout when acquiring the cleanup lock (prevents hangs).·
@r266-tech·6b5aa3af - OpenClaw plugins now reliably register agent hooks on every entry invocation.·
@nicoloboschi·1be5ff33 - TypeScript SDK now re-exports BankTemplate types from the package root for simpler imports.·
@mrkhachaturov·581bbf3f - Bank template configuration validation was aligned with configurable fields to prevent invalid/ignored settings.·
@mrkhachaturov·099f4c92
0.5.1
Breaking Changes
- OpenClaw now reads configuration from plugin config instead of environment variables. (
e22ae05f)
Features
- Added SiliconFlow as a supported reranker provider. (
d0b2ab9a) - Added an interactive OpenClaw setup wizard with Cloud / API / Embedded modes. (
87322396) - Added a config-aware CLI to backfill OpenClaw history. (
72fd3d59) - Added OpenClaw session pattern filtering to ignore or treat sessions as stateless. (
5a61ac50) - Added a Cloudflare OAuth proxy integration option for self-hosted Hindsight. (
aad07a14) - Expanded the CLI to cover all OpenAPI endpoints and request-body parameters. (
c05c491d) - Added a default bank template environment variable (HINDSIGHT_API_DEFAULT_BANK_TEMPLATE). (
fc941d5c) - Added a daemon lifecycle package (@vectorize-io/hindsight-all) to simplify running the all-in-one daemon. (
576016f5) - Added recallTags and recallTagsMatch configuration options to control which tagged memories are recalled. (
b57e337f)
Improvements
- Improved OpenClaw reliability with more resilient startup behavior and richer retain metadata. (
1f1716bd)
Bug Fixes
- OpenClaw setup wizard now prompts for the token value (not the env var name). (
9679d813) - Fixed embedded mode daemon start/stop race that could terminate healthy daemons. (
e5724fcb) - Fixed reranker initialization issues to show real import errors and avoid a Transformers 5.x race in jina-mlx. (
f82f58fa) - Fixed worker consolidation slot accounting to respect the configured maximum concurrency. (
2d74007d) - Improved CLI API error output by including the HTTP response body. (
93300b91) - Fixed CLI memory listing showing "[UNKNOWN]" for fact types. (
2635bbb4) - Fixed recall ranking so RRF ordering is preserved when the reranker is configured as a passthrough. (
4f9cf15c) - Fixed retain chunk insertion to be idempotent and avoid repeated retries on integrity errors. (
2d95f78b) - Fixed retain ANN seed temp table creation to run inside a transaction for better reliability. (
3fc87e76) - Fixed LLM requests to use the correct max token parameter for reasoning models and Azure OpenAI. (
7b2263ba)
0.5.0
Breaking Changes
- Removed BFS and MPFP graph retrieval strategies. LinkExpansionRetriever is now the sole graph retrieval algorithm, offering simpler, faster, and more accurate results. (
ea834bc7) - Dropped the
hindsight-hermesintegration package. (cf0537ba)
Features
- Built-in llama.cpp LLM provider for fully local inference without external API calls. (
f74b577e) - Retain
update_mode='append'for concatenating new content onto an existing document instead of replacing it. (3c633e5e) - OpenRouter support for LLM, embeddings, and reranking. (
e5944b63) - Bank template import/export with Template Hub — export a bank's configuration, mental models, and directives as a reusable manifest, then import into other banks. (
30a319a6) - Constellation view in the Control Plane — interactive, zoomable canvas visualization of entity relationship graphs with heat-gradient coloring and dark mode support. (
36783df3) - Added
detailparameter to list/get mental model endpoints for controlling response verbosity. (8d1bfbbd) - Added AutoGen integration (
hindsight-autogen) for persistent long-term memory in AutoGen agents. (a757765a) - Added Paperclip integration (
@vectorize-io/hindsight-paperclip) with Express middleware and process adapter modes for stateless agent memory. (81441ee9) - Added OpenCode persistent memory plugin for the OpenCode editor. (
e1c6220f) - OpenClaw JSONL-backed retain queue for external API resilience — buffers retain calls locally when the API is unreachable. (
087545cc) - OpenClaw now supports
bankIdfor static bank configurations. (0e81d1a2) - Added Google embeddings and reranker provider support. (
07de798c) - Added persistent volume support in Helm chart for local model cache. (
cefa7554) - MCP server now includes a
sync_retaintool and validates UUID inputs. (48185a4b) - Recall combined scoring now includes
proof_countboost for better ranking. (26794aab)
Improvements
- 3-phase retain pipeline restructures memory ingestion into pre-resolve, insert, and post-link phases, dramatically improving throughput under concurrent load by removing slow reads from write transactions. (
914ba796) - Recall entity graph expansion now caps per-entity fanout and includes a timeout fallback, preventing slow queries on banks with high-fanout entities. (
57f15445) - Fact serialization in think-prompt now includes
occurred_endandmentioned_atfor richer temporal context. (37348c85) - Consolidation observation quality improved with structured processing rules. (
6f173b10)
Bug Fixes
- LiteLLM SDK embeddings
encoding_formatis now configurable instead of hardcoded. (cece2c90) - Fixed out-of-range
content_indexcrash in recall result mapping. (9790d904) - Experience fact types are now preserved correctly during normalization. (
9cfdd464) - Clear memories endpoint no longer deletes the bank profile. (
26a64cc0) - Embedding daemon clears stale processes on the port before starting. (
7d6c570a) - Per-bank vector index migration now respects vector extension configuration. (
4fd7c5d1) - Timeline group sort uses numeric date comparison instead of locale string comparison. (
f3f2c6b0) - Resolved 25 test regressions from the streaming retain pipeline. (
7415ebff) - MCP server now auto-coerces string-encoded JSON in tool arguments. (
443c94c8) - Entity labels structure is now validated on PATCH to prevent invalid configurations. (
7e23f8e1) - Fixed
bank_idmetric label to be opt-in, preventing OTel memory leak. (cf4bd598) - Fixed
max_tokenshandling for OpenAI-compatible endpoints with custom base URLs. (cd99eef4) - Fixed
event_dateAttributeError when date is None in fact extraction. (6cb309f7) - Query analyzer now handles dateparser internal crashes gracefully. (
e0e65c44) - Embedding profile
.envoverwrite skipped when config has no Hindsight keys. (9e2890ba) - Windows compatibility fix for hindsight-embed. (
f9fe6953) - Addressed critical and high severity security vulnerabilities in dependencies. (
ee4510a7)
0.4.22
Features
- API now supports passing custom LLM request parameters via the HINDSIGHT_API_LLM_EXTRA_BODY configuration. (
ecaa1ad1) - Document metadata is now exposed through the API and control plane. (
627ec5d5) - Added a /code-review skill for automated code quality checks against project standards. (
bdb33c58) - ZeroEntropy reranker now supports a configurable base URL. (
a915584e) - Codex can now retain structured tool calls from rollout files. (
3461398b)
Improvements
- Embeddings via the LiteLLM SDK can now optionally specify output dimensions. (
f841bcb9) - API responses now include an X-Ignored-Params header to warn when unknown request parameters were ignored. (
cef42d81) - OpenClaw CLI startup is faster by deferring heavy initialization until the service starts. (
41025c3b)
Bug Fixes
- Mental model triggers now support the full config schema, including tag matching and tag group filters. (
2c32ffad) - Cohere reranking via Azure endpoints now works reliably (avoids 404 errors). (
84985ee9) - Claude Code provider no longer defers to built-in tools, preventing MCP tool handling issues. (
fa82efc8) - Recall endpoint now returns metadata correctly instead of dropping it from the response. (
4768bf39) - Gemini 3.1+ tool calls now read thought signatures correctly. (
1b5c262a) - First-person agent memories are now correctly classified as "experience" facts. (
00961156) - Codex upgrades now preserve and merge new settings instead of skipping them. (
b104bad0) - LlamaIndex integration fixes improve document ID handling, memory API behavior, and ReAct tracing. (
d93dfea8)
0.4.21
Features
- Added audit logging for feature usage tracking, including request duration in audit entries. (
083295dc) - Added Hindsight memory integration for the OpenAI Codex CLI. (
0b17a67c) - Added an MCP hook to filter tool visibility per user. (
f8285b7b) - Added a per-bank limit setting to cap the number of observations stored per scope. (
b32767ca) - Added native Windows support so Hindsight can run without Docker. (
c5700ff5) - Added a 'none' LLM provider to support chunk-only storage without LLM calls. (
9e5a066d) - Added a setup command/skill to register hooks more reliably. (
22ca6a8d) - Hermes now supports file-based configuration. (
0ff36548) - Added a LiteLLM-based provider to support Bedrock and many additional LLM providers. (
db70fdbe) - Added support for Strands Agents SDK integration with Hindsight memory tools. (
7fe773c0) - Added LlamaIndex integration. (
2d787c4f) - Added AG2 framework integration. (
73123870) - Added support for Ark and Volcano LLM providers. (
417fac61) - Retain now supports delta mode to skip LLM processing for unchanged chunks on upsert. (
fd88c0ef) - Claude Code integration can now retain full sessions with document upsert and configurable tags, and records tool calls as structured JSON. (
2d31b67d) - MCP retain tool now supports selecting a retain strategy via a parameter. (
4285e944)
Improvements
- OpenClaw logging is now configurable and can emit structured output. (
d441ab81) - Made inclusion of source facts in search observations configurable. (
5095d5e3) - Integrations no longer use hardcoded default models, relying on configured defaults instead. (
58e68f3e)
Bug Fixes
- Improved MCP server compatibility by handling Claude Code GET probes and allowing stateless HTTP mode to be configured. (
d8050387) - Per-bank vector index creation now respects the configured vector extension setting. (
6488c9bc) - Verbose retain extraction now correctly includes the retain mission context. (
d2965e64) - Codex integration no longer crashes on startup when the API quota is exhausted (HTTP 429). (
111e8c70) - OpenAI embeddings client now correctly parses query parameters included in base_url. (
a209ef1a) - Fixed tool_choice handling for Codex/Claude Code when forcing specific tool calls. (
585ac76f) - OpenClaw auto-recall now supports a configurable timeout to prevent hangs. (
cd4d449f) - Fixed control plane UI issues affecting recall and data viewing. (
6bb83f46) - Recall responses now include associated metadata. (
0bcbf849) - Python client update_bank_config() now exposes all configurable fields. (
7c18723f) - API OpenAPI schema now correctly includes Pydantic v2 ValidationError fields. (
939cb40a) - JSON-string tags are now coerced to lists for MemoryItem and MCP tools to prevent tagging errors. (
c5273f5f)
0.4.20
Features
- Add a one-command setup CLI package for the NemoClaw integration. (
d284de28) - Add a LangGraph integration for using Hindsight memory within LangGraph agents. (
b4320254) - Add reflect filters to exclude specific fact types and mental model content during reflection. (
ea662d06) - Introduce independent versioning for integrations so they can be released separately from the core server. (
31f1c53c) - Add a Claude Code integration plugin. (
f4390bdc)
Improvements
- Add a wall-clock timeout to reflect operations so they don’t run indefinitely. (
8ce06e3e) - Provide richer context when validating operations via the OperationValidator extension. (
2eb1019d) - Make the hindsight-api package runnable directly via uvx by adding script entry points. (
97f7a365) - Support passing query parameters during OpenAI-compatible client initialization for broader provider compatibility. (
20e17f28) - Upgrade the default MiniMax model from M2.5 to M2.7. (
1f1462a5)
Bug Fixes
- Prevent context overflow during observation search by disabling source facts in results. (
8e2e2d5b) - Fix Claude Code integration session startup by pre-starting the daemon in the background. (
26944e25) - Fix Claude Code integration installation and configuration experience so setup is more reliable. (
35b2cbb6) - Fix a memory leak in entity resolution that could grow over time under load. (
e6333719) - Avoid crashes and retain failures when the Postgres pg_trgm extension is unavailable by handling detection/fallback correctly. (
365fa3ce) - Strip Markdown code fences from model outputs across all LLM providers for more consistent parsing. (
2f2db2a6) - Return a clear 400 error for empty recall queries and fix a SQL parameterization issue. (
5cdc714a) - Ensure file retain requests include authentication headers so uploads work in authenticated deployments. (
78aa7c53) - Fix MCP tool calls when MCP_AUTH_TOKEN and TENANT_API_KEY differ. (
8364b9c5) - Allow claude-agent-sdk to install correctly on Linux/Docker environments. (
3f31cbf5) - In LiteLLM mode, fall back to the last user message when no explicit hindsight query is provided. (
5e8952c5) - Fix non-atomic async operation creation to prevent inconsistent operation records. (
94cf89b5) - Prevent orphaned parent operations when a batch retain child fails unexpectedly. (
43942455) - Fix failures for non-ASCII entity names by ensuring entity IDs are set correctly. (
438ce98b) - Correctly store LLM facts labeled as "assistant" as "experience" in the database. (
446c75f3)
0.4.19
Features
- TypeScript client now works in Deno environments. (
72c25c97) - Added Agno integration to use Hindsight as a memory toolkit. (
8c378b98) - Added Hermes Agent integration (hindsight-hermes) for persistent memory. (
ef90842f) - Expanded retain behavior with new
verbatimandchunksextraction modes and named retain strategies. (e4f8a157)
Improvements
- Improved local reranker performance/efficiency with FP16 and bucketed batching, plus compatibility with Transformers 5.x. (
e7da7d0e)
Bug Fixes
- Prevented silent memory loss when consolidation fails (failed consolidations are tracked and can be recovered). (
28dac7c7) - Fixed Docker control-plane startup to respect the configured control-plane hostname. (
8a64dc8d) - Database cleanup migration now removes orphaned observation memory units to avoid inconsistent memory state. (
f09ad9de) - Deleting a document now also deletes linked memory units to prevent leftover/stale memory entries. (
f27bd953) - Fixed MCP middleware to send an Accept header, preventing 406 response errors in some setups. (
836fd81e) - Improved compatibility with Gemini tool-calling by preserving thought signature metadata to avoid failures on gemini-3.1-flash-lite-preview. (
21f9f46c)
0.4.18
Features
- Add compound tag filtering using tag groups. (
5de793ee) - Publish new slim Python packages (hindsight-api-slim and hindsight-all-slim) for smaller installs. (
15ea23d5) - Add MiniMax as a supported LLM provider. (
2344484f) - Add Jina MLX reranker provider optimized for Apple Silicon. (
1caf5ec9)
Improvements
- Allow configuring maximum recall query tokens via an environment variable. (
66dedb8d) - Improve retrieval performance by switching to per-bank HNSW indexes. (
43b3efc4)
Bug Fixes
- Prevent reranking failures by truncating long documents that exceed LiteLLM reranker context limits. (
eeb938fc) - Ensure recalled memories are injected as system context for OpenClaw. (
b17f338e) - Ensure embedded profiles are registered in CLI metadata when the daemon starts. (
06b0f74a) - Cancel in-flight async operations when a bank is deleted to avoid dangling work. (
0560f626)
0.4.17
Features
- Added a manual retry option for failed asynchronous operations. (
dcaacbe4) - You can now change/update tags on an existing document. (
1b4ad7f4) - Added history tracking and a diff view for mental model changes. (
e2baca8b) - Added observation history tracking with a UI diff view to review changes over time. (
576473b6) - File uploads can now choose a parser per request, with configurable fallback chains. (
99220d05) - Added an extension hook that runs after file-to-Markdown conversion completes. (
1d17dea2)
Improvements
- Operations view now supports filtering by operation type and has more reliable auto-refresh behavior. (
f7a60f89) - Added token limits for “source facts” used during consolidation and recall to better control context usage. (
5d05962d) - Improved bank selector usability by truncating very long bank names in the dropdown. (
1e40cd22)
Bug Fixes
- Fixed webhook schema issues affecting multi-tenant retain webhooks. (
32a4882a) - Fixed file ingestion failures by stripping null bytes from parsed file content before retaining. (
cd3a6a22) - Fixed tool selection handling for OpenAI-compatible providers when using named tool_choice. (
1cdfb7c2) - Improved consolidation behavior to prioritize a bank’s mission over an ephemeral-state heuristic. (
00ccf0b2) - Fixed database migrations to correctly handle mental model embedding dimension changes. (
7accac94) - Fixed file upload failures caused by an Iris parser httpx read timeout. (
fa3501d4) - Improved reliability of running migrations by serializing Alembic upgrades within the process. (
f88b50a4) - Fixed Google Cloud Storage authentication when using Workload Identity Federation credentials. (
d2504ac5) - Fixed the bank selector to refresh the bank list when the dropdown is opened. (
0ad8c2d0)
0.4.16
Features
- Added Webhooks with
consolidation.completedandretain.completedevents. (abbf874d)
Improvements
- Improved OpenClaw recall/retention controls. (
d425e93c) - Improved search/reranking quality by switching combined scoring to multiplicative boosts. (
aa8e5475) - Improved performance of observation recall by 40x on large banks. (
ad2cf72a) - Improved server shutdown behavior by capping graceful shutdown time and allowing a forced kill on a second Ctrl+C. (
4c058b4b)
Bug Fixes
- Fixed an async deadlock risk by running database schema migrations in a background thread during startup. (
e0a2ac63) - Fixed webhook delivery/outbox processing so transactions don’t silently roll back due to using the wrong database schema name. (
75b95106) - Fixed observation results to correctly resolve and return related chunks using source_memory_ids. (
cb6d1c46) - Fixed MCP bank-level tool filtering compatibility with FastMCP 3.x. (
f17406fd) - Fixed crashes when an LLM returns invalid JSON across all retries (now handled cleanly instead of raising a TypeError). (
66423b85) - Fixed observations without source dates to preserve missing (None) temporal fields instead of incorrectly populating them. (
891c33b1)
0.4.15
Features
- Added observation_scopes to control the granularity/visibility of observations. (
55af4681) - List documents API now supports filtering by tags (and fixes the q parameter description). (
1d70abfe) - Added PydanticAI integration for persistent agent memory. (
cab5a40f) - Added richer entity label support (optional labels, free-form values, multi-value fields, and UI polish). (
9b96becc) - Added support for timestamp="unset" so content can be retained without a date. (
f903948a) - OpenClaw can now automatically retain the last n+2 turns every n turns (default n=10). (
ad1660b3) - Added configurable Gemini/Vertex AI safety settings for LLM calls. (
73ef99e7) - Added extension hooks to customize root routing and error headers. (
e407f4bc)
Improvements
- Improved recall performance by fetching all recall chunks in a single query. (
61bf428b) - Improved recall/retain performance and scalability for large memory banks. (
7942f181)
Bug Fixes
- Fixed the TypeScript SDK to send null (not undefined) when includeEntities is false. (
15f4b876) - Prevented reflect from failing with context_length_exceeded on large memory banks. (
77defd96) - Fixed a consolidation deadlock caused by retrying after zombie processing tasks. (
c2876490) - Fixed observations count in the control plane that always showed 0. (
eaeaa1f2) - Fixed ZeroEntropy rerank endpoint URL and ensured the MCP retain async_processing parameter is handled correctly. (
f6f1a7d8) - Fixed JSON serialization issues and logging-related exception propagation when using the claude_code LLM provider. (
ecb833f4) - Added bank-scoped request validation to prevent cross-bank/invalid bank operations. (
5270aa5a)
0.4.14
Features
- Add Chat SDK integration to give chatbots persistent memory. (
fed987f9) - Allow configuring which MCP tools are exposed per memory bank, and expand the MCP tool set with additional tools and parameters. (
3ffec650) - Enable the bank configuration API by default. (
4d030707) - Support filtering graph-based memory retrieval by tags. (
0bb5ca4c) - Add batch observations consolidation to process multiple observations more efficiently. (
0aa7c2b3) - Add OpenClaw options to toggle autoRecall and exclude specific providers. (
3f9eb27c) - Add a ZeroEntropy reranker provider option. (
17259675)
Improvements
- Increase customization options for reflect, retain, and consolidation behavior. (
2a322732) - Include source document metadata in fact extraction results. (
87219b73)
Bug Fixes
- Raise a clear error when embedding dimensions exceed pgvector HNSW limits (instead of failing later at runtime). (
8cd65b98) - Fix multi-tenant schema isolation issues in storage and the bank config API. (
b180b3ad) - Ensure LiteLLM embedding calls use the correct float encoding format to prevent embedding failures. (
58f2de70) - Improve recall performance by reducing memory usage during retrieval. (
9f0c031d) - Handle observation regeneration correctly when underlying memories are deleted. (
ac9a94ad) - Fix reflect retrieval to correctly populate dependencies and enforce full hierarchical retrieval. (
8b1a4658) - Fix OpenClaw health checks by passing the auth token to the health endpoint. (
40b02645)
0.4.13
Features
- Switched the default OpenAI LLM to gpt-4o-mini. (
325b5cc1) - Observation recall now includes the source facts behind recalled observations. (
5569d4ad) - Added CrewAI integration to enable persistent memory. (
41db2960)
Bug Fixes
- Fixed npx hindsight-control-plane failing to run. (
0758827d) - Improved MCP compatibility by aligning the local MCP implementation with the server and removing the deprecated stateless parameter. (
ea8163c5) - Fixed Docker startup failures when using named Docker volumes. (
ac739487) - Prevented reranker crashes when an upstream provider returns an error. (
58c4d657) - Improved accuracy of fact temporal ordering by reducing per-fact time offsets. (
c3ef1555) - Client timeout settings are now properly respected. (
dcaa9f14) - Fixed documents not being tracked when fact extraction returns zero facts. (
f78278ea)
0.4.12
Features
- Accept and ingest PDFs, images, and common Office documents as inputs. (
224b7b74) - Add the Iris file parser for improved document parsing support. (
7eafba66) - Add async Retain support via provider Batch APIs (e.g., OpenAI and Groq) for higher-throughput ingestion. (
40d42c58) - Allow Recall to return chunks only (no memories) by setting max_tokens=0. (
7dad9da0) - Add a Go client SDK for the Hindsight API. (
2a47389f) - Add support for the pgvectorscale (DiskANN) vector index backend. (
95c42204) - Add support for Azure pg_diskann vector indexing. (
476726c2)
Improvements
- Improve reliability of async batch Retain when ingesting large payloads. (
aefb3fcf) - Improve AI SDK tooling to make it easier to work with Hindsight programmatically. (
d06a0259)
Bug Fixes
- Ensure document tags are preserved when using the async Retain flow. (
b4b5c44a) - Fix OpenClaw ingestion failures for very large content (E2BIG). (
6bad6673) - Harden OpenClaw behavior (safer shell usage, better HTTP mode handling, and more reliable initialization), including per-user banks support. (
c4610130) - Improve Python client async API consistency and reduce connection drop issues via keepalive timeout fixes. (
8114ef44)
0.4.11
Features
- Added support for LiteLLM SDK as an embeddings and reranking provider. (
e408b7e) - Expanded Postgres search support with additional text/vector extensions, including TimescaleDB pg_textsearch and vchord/pgvector options. (
d871c30) - Added hierarchical configuration scopes (system, tenant, bank) for more flexible multi-tenant setup and overrides. (
8d731f2) - Added reverse proxy/base-path support for running Hindsight behind a proxy. (
93ddd41) - Added MCP tools to create, read, update, and delete mental models. (
f641b30) - Added a "docs" skill for agents/tools to access documentation-oriented capabilities. (
dd1e098) - Added an OpenClaw configuration option to skip recall/retain for specific providers. (
fb7be3e)
Improvements
- Improved LiteLLM gateway model configuration for more reliable provider/model selection. (
7d95a00) - Exposed actual LLM token usage in retain results to improve cost/usage visibility. (
83ca669) - Added user-initiated attribution to request context to improve async task and usage attribution. (
90be7c6) - Added OpenTelemetry tracing for improved request traceability and observability. (
69dec8e) - Helm chart: split TEI embedding and reranker into separate deployments for independent scaling and rollout. (
43f9a8b) - Helm chart: added PodDisruptionBudgets and per-component affinity controls for more resilient scheduling. (
9943957)
Bug Fixes
- Fixed a recursion issue in memory retention that could cause failures or runaway memory usage. (
4f11210) - Fixed Reflect API serialization/schema issues for "based_on" so reflections are returned and stored correctly. (
f9a8a8e) - Improved MCP server compatibility by allowing extra tool arguments when appropriate and fixing bank ID resolution priority. (
7ee229b) - Added missing trust_code environment configuration support. (
60574ee) - Hardened the MCP server with fixes to routing/validation and more accurate usage metering. (
e798979) - Fixed the slim Docker image to include tiktoken to prevent runtime tokenization errors. (
6eec83b) - Fixed MCP operations not being tracked correctly for usage metering. (
888b50d) - Helm chart: fixed GKE deployments overriding the configured HINDSIGHT_API_PORT. (
03f47e2)
0.4.10
Features
- Provided a slimmer Docker distribution to reduce image size and speed up pulls. (
f648178) - Added Markdown support in Reflect and Mental Models content. (
c4ef090) - Added built-in Supabase tenant extension for running Hindsight with Supabase-backed multi-tenancy. (
e99ee0f) - Added TenantExtension authentication support to the MCP endpoint. (
fedfb49)
Improvements
- Improved MCP tool availability/routing based on the endpoint being used. (
d90588b)
Bug Fixes
- Stopped logging database usernames and passwords to prevent credential leaks in logs. (
c568094) - Fixed OpenClaw sessions wiping memory on each new session. (
981cf60) - Fixed hindsight-embed profiles not loading correctly. (
0430588) - Fixed tagged directives so they correctly apply to tagged mental models. (
278718d) - Fixed a cast error that could cause failures at runtime. (
093ecff)
Other
- Added a docker-compose example to simplify local deployment and testing. (
5179d5f)
0.4.9
Features
- New AI SDK integration. (
7e339e1) - Add a Python SDK for running Hindsight in embedded mode (HindsightEmbedded). (
d3302c9) - Add streaming support to the hindsight-litellm wrappers. (
665877b) - Add OpenClaw support for connecting to an external Hindsight API and using dynamic per-channel memory banks. (
6b34692)
Improvements
- Improve the mental models experience in the control plane UI. (
7097716) - Reduce noisy Hugging Face logging output. (
34d9188)
Bug Fixes
- Improve recall endpoint reliability by handling timeouts correctly and rejecting overly long queries. (
dd621a6) - Improve /reflect behavior with Claude Code and Codex providers. (
a43d208) - Fix OpenClaw shell argument escaping for more reliable command execution. (
63e2964)
0.4.8
Features
- Added profile support for
hindsight-embed, enabling separate embedding configurations/workspaces. (6c7f057) - Added support for additional LLM backends, including OpenAI Codex and Claude Code. (
539190b)
Improvements
- Enhanced OpenClaw and
hindsight-embedparameter/config options for easier configuration and better defaults. (749478d) - Added OpenClaw plugin configuration options to select LLM provider and model. (
8564135) - Server now prints its version during startup to simplify debugging and support requests. (
1499ce5) - Improved tracing/debuggability by propagating request context through asynchronous background tasks. (
44d9125) - Added stronger validation and context for mental model create/refresh operations to prevent invalid requests. (
35127d5)
Bug Fixes
- Improved embedding CLI experience with richer logs and isolated profiles to avoid cross-contamination between runs. (
794a743) - Operation validation now runs correctly in the worker process, preventing invalid background operations from slipping through. (
96f0e54) - Fixed unreliable behavior when using a custom PostgreSQL schema. (
3825506)
0.4.7
Features
- Add extension hooks to validate and customize mental model operations. (
9c3fda7) - Add support for using an external embedding API provider in OpenClaw plugin (with additional OpenClaw compatibility fixes). (
4b57b82)
Improvements
- Speed up container startup by preloading the tiktoken encoding during Docker image builds. (
039944c)
Bug Fixes
- Prevent PostgreSQL insert failures by stripping null bytes from text fields before saving. (
ef9d3a1) - Fix worker schema selection so it uses the correct default database schema. (
d788a55) - Honor an already-set HINDSIGHT_API_DATABASE_URL instead of overwriting it in the hindsight-embed workflow. (
f0cb192)
0.4.6
Improvements
- Improved OpenClaw configuration setup to make embedding integration easier to configure. (
27498f9)
Bug Fixes
- Fixed OpenClaw embedding version binding/versioning to prevent mismatches when using the embed integration. (
1163b1f)
0.4.5
Bug Fixes
- Fixed occasional failures when retaining memories asynchronously with timestamps. (
cbb8fc6)
0.4.4
Bug Fixes
- Fixed async “retain” operations failing when a timestamp is provided. (
35f0984) - Corrected the OpenClaw daemon integration name to “openclaw” (previously “openclawd”). (
b364bc3)
0.4.3
Features
- Add Vertex AI as a supported LLM provider. (
c2ac7d0,49ae55a) - Add Bearer token authentication for MCP and propagate tenant authentication across MCP requests. (
0da77ce)
Improvements
- CLI: add a --wait flag for consolidate and a --date filter for listing documents. (
ff20bf9)
Bug Fixes
- Fix worker polling deadlocks to prevent background processing from stalling. (
f4f86e3) - Improve reliability of Docker builds by retrying ML model downloads. (
ecc590c) - Fix tenant authentication handling for internal background tasks and ensure the control-plane forwards required auth to the dataplane. (
03bf13e) - Ensure tenant database migrations run at startup and workers use the correct tenant schema context. (
657fe02) - Fix control-plane graph endpoint errors when upstream data is missing. (
751f99a)
Other
- Rename the default bot/user identity from "moltbot" to "openclaw". (
728ce13)
0.4.2
Features
- Added Clawdbot/Moltbot/OpenClaw integration. (
12e9a3d)
Improvements
- Added additional configuration options to control LLM retry behavior. (
3f211f0) - Added real-time logs showing a detailed timing breakdown during consolidation runs. (
8781c9f)
Bug Fixes
- Fixed hindsight-embed crashing on macOS. (
c16ccc2)
0.4.1
Features
- Added support for using a non-default PostgreSQL schema by default. (
2b72e1f)
Improvements
- Improved memory consolidation performance (benchmarking and optimizations). (
b43ef98)
Bug Fixes
- Fixed the /version endpoint returning an incorrect version. (
cfcc23c) - Fixed mental model search failing due to UUID type mismatch after text-ID migration. (
94cc0a1) - Added safer PyTorch device detection to prevent crashes on some environments. (
67c4788) - Fixed Python packages exposing an incorrect version value. (
fccbdfe)
0.4.0
Observations, Mental Models, new Agentic Reflect and Directives, read the announcement.
Features
- Added support for providing a custom prompt for memory extraction. (
3172e99) - Expanded the LiteLLM integration with async retain/reflect support, cleaner API, and support for tags/mission (including passing API keys correctly). (
1d4879a) - Added a new worker service to run background tasks at scale. (
4c79240) - MCP retain now supports timestamps. (
b378f68) - Added support for installing skills via
npx add-skill. (ec22317)
Improvements
- CLI retain-files now accepts more file types. (
1eeced3)
Bug Fixes
- Fixed a macOS crash in the embed daemon caused by an XPC connection issue. (
e5fc6ee) - Fixed occasional extraction in the wrong language. (
87d4a36) - Fixed PyTorch model initialization issues that could cause startup failures (meta tensor/init problems). (
ddaa5f5)
Features
- Add memory tags so you can label and filter memories during recall/reflect. (
20c8f8b) - Allow choosing different AI providers/models per operation. (
e6709d5) - Add Cohere support for embeddings and reranking. (
4de0730) - Add configurable embedding dimensions and OpenAI embeddings support. (
70de23e) - Support custom base URLs for OpenAI-style embeddings and Cohere endpoints. (
fa53917) - Add LiteLLM gateway support for routing LLM/embedding requests. (
d47c8a2) - Add multilingual content support to improve handling and retrieval across languages. (
c65c6a9) - Add delete memory bank capability. (
4b82d2d) - Add backup/restore tooling for memory banks. (
67b273d)
Improvements
- Add retention modes to control how memories are extracted and stored. (
fb31a35) - Add offline (optional) database migrations to support restricted/air-gapped deployments. (
233bd2e) - Add database connection configuration options for more flexible deployments. (
33fac2c) - Load .env automatically on startup to simplify configuration. (
c06d9b4) - Expose an operation ID from retain requests so async/background processing can be tracked. (
1dacd0e) - Add per-request LLM token usage metrics for monitoring and cost tracking. (
29a542d) - Add LLM call latency metrics for performance monitoring. (
5e1f13e) - Include tenant in metrics labels for better multi-tenant observability. (
1ffc2a4) - Add async processing option to MCP retain tool for background retention workflows. (
37fc7fb)
Bug Fixes
- Fix extension loading in multi-worker deployments so all workers load extensions correctly. (
f5f3fca) - Improve recall performance by batching recall queries. (
5991308) - Improve retrieval quality and stability for large memory banks (graph/MPFP retrieval fixes). (
6232e69) - Fix entities list being limited to 100 entities. (
26bf571) - Fix UI only showing the first 1000 memories. (
67c1a42) - Fix duplicated causal relationships and improve token usage during processing. (
49e233c) - Improve causal link detection accuracy. (
2a00df0) - Make retain max completion tokens configurable to prevent truncation issues. (
7715a51) - Fix Python SDK not sending the Authorization header, preventing authenticated requests. (
39e3f7c) - Fix stats endpoint missing tenant authentication in multi-tenant setups. (
d6ff191) - Fix embedding dimension handling for tenant schemas in multi-tenant databases. (
6fe9314) - Fix Groq free-tier compatibility so requests work correctly. (
d899d18) - Fix security vulnerability (qs / CVE-2025-15284). (
b3becb6) - Restore MCP tools for listing and creating memory banks. (
9fd5679)
0.2.0
Features
- Add additional model provider support, including Anthropic Claude and LM Studio. (
787ed60) - Add multi-bank access and new MCP tools for interacting with multiple memory banks via MCP. (
6b5f593) - Allow supplying custom entities when retaining memories via the retain endpoint. (
dd59bc8) - Enhance the /reflect endpoint with max_tokens control and optional structured output responses. (
d49e820)
Improvements
- Improve local LLM support for reasoning-capable models and streamline Docker startup for local deployments. (
eea0f27) - Support operation validator extensions and return proper HTTP errors when validation fails. (
ce45d30) - Add configurable observation thresholds to control when observations are created/updated. (
54e2df0) - Improve graph visualization to the control plane for exploring memory relationships. (
1a62069)
Bug Fixes
- Fix MCP server lifecycle handling so MCP lifespan is correctly tied to the FastAPI app lifespan. (
6b78f7d)
0.1.15
Features
- Add the ability to delete documents from the web UI. (
f7ff32d)
Improvements
- Improve the API health check endpoint and update the generated client APIs/types accordingly. (
e06a612)
0.1.14
Bug Fixes
- Fixes the embedded “get-skill” installer so installing skills works correctly. (
0b352d1)
0.1.13
Improvements
- Improve reliability by surfacing task handler failures so retries can occur when processing fails. (
904ea4d) - Revamp the hindsight-embed component architecture, including a new daemon/client model and CLI updates for embedding workflows. (
e6511e7)
Bug Fixes
- Fix memory retention so timestamps are correctly taken into account. (
234d426)
0.1.12
Features
- Added an extensions system for plugging in new operations/skills (including built-in tenant support). (
2a0c490) - Introduced the hindsight-embed tool and a native agentic skill for embedding/agent workflows. (
da44a5e)
Improvements
- Improved reliability when parsing LLM JSON by retrying on parse errors and adding clearer diagnostics. (
a831a7b)
Bug Fixes
- Fixed structured-output support for Ollama-based LLM providers. (
32bca12) - Adjusted LLM validation to cap max completion tokens at 100 to prevent validation failures. (
b94b5cf)
0.1.11
Bug Fixes
- Fixed the standalone Docker image and control plane standalone build process so standalone deployments build correctly. (
2948cb6)
0.1.10
This release contains internal maintenance and infrastructure changes only.
0.1.9
Features
- Simplified local MCP installation and added a standalone UI option for easier setup. (
1c6acc3)
Bug Fixes
- Fixed the standalone Docker image so it builds and starts reliably. (
b52eb90) - Improved Docker runtime reliability by adding required system utilities (procps). (
ae80876)
0.1.8
Bug Fixes
- Fix bank list responses when a bank has no name. (
04f01ab) - Fix failures when retaining memories asynchronously. (
63f5138) - Fix a race condition in the bank selector when switching banks. (
e468a4e)
0.1.7
This release contains internal maintenance and infrastructure changes only.
0.1.6
Features
- Added support for the Gemini 3 Pro and GPT-5.2 models. (
bb1f9cb) - Added a local MCP server option for running/connecting to Hindsight via MCP without a separate remote service. (
7dd6853)
Improvements
- Updated the Postgres/pg0 dependency to a newer 0.11.x series for improved compatibility and stability. (
47be07f)
0.1.5
Features
- Added LiteLLM integration so Hindsight can capture and manage memories from LiteLLM-based LLM calls. (
dfccbf2) - Added an optional graph-based retriever (MPFP) to improve recall by leveraging relationships between memories. (
7445cef)
Improvements
- Switched the embedded Postgres layer to pg0-embedded for a smoother local/standalone experience. (
94c2b85)
Bug Fixes
- Fixed repeated retries on 400 errors from the LLM, preventing unnecessary request loops and failures. (
70983f5) - Fixed recall trace visualization in the control plane so search/recall debugging displays correctly. (
922164e) - Fixed the CLI installer to make installation more reliable. (
158a6aa) - Updated Next.js to patch security vulnerabilities (CVE-2025-55184, CVE-2025-55183). (
f018cc5)
0.1.3
Improvements
- Improved CLI and UI branding/polish, including new banner/logo assets and updated interface styling. (
fa554b8)
0.1.2
Bug Fixes
- Fixed the standalone Docker image so it builds/runs correctly. (
1056a20)