Skip to main content

What's new in Hindsight 0.6.0

· 3 min read
Nicolò Boschi
Hindsight Team

Hindsight 0.6.0 is a major release that adds an Oracle 23ai database backend, new integrations for Dify, n8n, SmolAgents, and AWS Bedrock AgentCore, and significant reliability improvements. On the reliability side, retain gets transactional atomicity fixes, BM25 search ranking is corrected, and entity timeline accuracy is improved.

Oracle 23ai Database Backend

Hindsight can now run on Oracle Database 23ai as an alternative to PostgreSQL. The entire migration system has been unified under Alembic with a dialect dispatcher — each migration file contains both a PG and Oracle implementation, so schema changes stay in sync across backends.

Oracle 23ai supports vector search and JSON document storage natively, making it a natural fit for enterprises already running Oracle infrastructure. Set the database URL to an Oracle connection string and Hindsight handles the rest — no separate schema setup required.

New Integrations

Four new framework integrations ship in 0.6.0:

  • Dify (hindsight-dify): Use Hindsight memory tools inside Dify workflows — retain conversation context, recall relevant memories, and reflect on accumulated knowledge without leaving the Dify canvas.
  • n8n (n8n-nodes-hindsight): A community node package that brings Hindsight retain/recall/reflect into n8n automations.
  • SmolAgents (hindsight-smolagents): Memory tools for HuggingFace's SmolAgents framework.
  • AWS Bedrock AgentCore (hindsight-agentcore): Persistent memory for agents running on Amazon Bedrock AgentCore Runtime.

Retain Reliability

Several fixes improve retain correctness under concurrent and batch workloads:

  • Transactional atomicity: Batch retain now commits parent and child operation rows atomically, preventing orphaned states on failure.
  • Recovery checkpoint scoping: Async recovery checkpoints are now scoped per-document, so a failure in one document doesn't invalidate progress on others.
  • Cascade deadlock fix: Memory links → memory units foreign keys are now deferred, breaking a deadlock pattern that could occur under high-concurrency retain.

Search & Retrieval Fixes

  • BM25 score direction corrected for the vchord backend — previously inverted scores could cause keyword-relevant results to rank last.
  • Observation entity inheritance: Recall now correctly inherits observation entities through source_memory_ids, so entity graph traversal doesn't lose continuity across related memories.
  • Entity co-occurrence timestamps: Co-occurrences are now stamped with the event date (not ingestion time), improving temporal queries and timeline accuracy.

Other Notable Changes

  • OpenCode worktree sharing: Memory banks are now shared across git worktrees of the same repository.
  • TypeScript client AbortSignal: All HindsightClient methods accept an AbortSignal for request cancellation.
  • Python client retain_async: The retain() and aretain() methods now expose async retain flows directly.
  • Anthropic provider knobs: Environment-configurable max_retries and default_headers for the Anthropic LLM provider.
  • Timeseries time_field toggle: Stats charts can now be grouped by different time fields.
  • Database URL redaction: Config logging no longer leaks database credentials.
  • OpenAI-compatible provider hardening: Better JSON response parsing and null content handling across Ollama, LM Studio, and other OpenAI-compatible backends.
  • MCP tag_groups: The recall MCP tool now exposes tag_groups for filtered/grouped recall.
  • Daemon host override: --host and HINDSIGHT_API_HOST are now respected in daemon mode.