Skip to content

Changelog ​

All notable changes to Remind.

[0.13.2] - 2026-08-10 ​

Fixed ​

  • Complete embedding migrations — remind re-embed --all now re-embeds facts and rebuilds their sqlite-vec or pgvector indexes alongside concepts, episodes, and entities, preventing stale-dimension vectors after switching embedding providers. Added --facts and the documented clear-embeddings command.

[0.13.1] - 2026-08-09 ​

Fixed ​

  • Entity reads on pre-0.10.5 databases — Databases whose entities table predates entity embeddings were missing the embedding column, so any remember or apply touching an entity failed with no such column: entities.embedding. The additive migration now backfills it.
  • Labelling a fact created in the same changeset — A fact-type remember op exposes the new fact id as its $ref, but label/unlabel only accepted episodes and concepts. A fact id now resolves to the episode that asserted it.
  • Misattributed apply failures — Errors pointed one op past the failure and named the following op's type, and the CLI swallowed the [op N] location as Rich markup. Both now identify the op that actually failed.

[0.13.0] - 2026-08-08 ​

Removed ​

  • Topics — The Topic model, topic_id fields on episodes/concepts, the topic/set_topic apply ops, the topics/topic:<id> snapshot scopes, the CLI topics group and --topic/--clear-topic flags, the five topic MCP tools, the REST /api/v1/topics endpoints, and topic management in the web UI have all been removed. Breaking: existing databases are migrated automatically on first run — each topic_id becomes a topic=<name> label, and the legacy topics table and columns are dropped.

Added ​

  • Labels — A generic key=value tagging primitive on episodes and concepts, replacing topics. Pushed down as a pre-filter directly into vector search across all three backends (brute-force, pgvector, sqlite-vec), unlike the old topic_id post-filter. New label/unlabel apply ops, labels/label:<key>=<value> snapshot scopes, -l/--label flags, a labels parameter on the Python and MCP APIs, a ?label=key:value REST filter, and a read-only label filter in the web UI. See Labels.
  • Lexical recall channel — A second, independent full-text search channel (SQLite FTS5, PostgreSQL tsvector, or MySQL FULLTEXT, auto-detected) fused with vector search via weighted Reciprocal Rank Fusion, so exact identifiers an embedding might miss are still recoverable. New config: lexical_enabled, rrf_k.
  • Recall budget controls — recall() accepts max_chars (rank-aware truncation), min_score (relevance floor), and timeout_ms (soft deadline, returns best-so-far). New config: recall_max_chars, recall_min_score, recall_timeout_ms; new CLI flags --max-chars, --min-score, --timeout-ms.
  • Change feed — An append-only events table, written atomically with the write it describes, covering every remember and apply op. Poll it with remind events --since <seq>, the events MCP tool, or snapshot(scopes="events:<since_seq>").
  • Query-free bootstrap read — snapshot(scopes="bootstrap[:<n>]") returns the top-n highest-confidence, most-corroborated concepts plus the open conflict count and stats, with no embedding call — deterministic and cheap enough to call every session. Replaces the (never-working) topic_overview.

[0.12.5] - 2026-08-05 ​

Fixed ​

  • CLI storage maintenance commands — Restored deleted-item listing, episode lookup for soft-deleted records, and permanent concept and episode purging by aligning the CLI, interface, and SQLAlchemy store APIs.
  • CLI JSON backups — remind export now writes the current interface payload to its requested file and remind import reads that file before importing it.
  • Purge without vector tables — Permanent deletion no longer fails when sqlite-vec is available but an embedding index has not yet been initialized.

[0.12.4] - 2026-07-04 ​

Fixed ​

  • Entity parsing in JSON apply format — Comma-separated entity IDs are now correctly split in both the string and list cases, matching the behaviour of the compact line format.

[0.12.3] - 2026-07-04 ​

Added ​

  • Capture decision tree in remind-capture skill — New "Should I capture this?" section with a visual decision tree and examples of what to skip, making it easier for agents to decide when to write memories.
  • Entity type reference guide in remind-capture skill — Table of all entity types with examples and naming guidelines.
  • Recall output interpretation guide in remind-context skill — New "Understanding recall output" section explaining similarity scores, concept type badges, and what to do when OPEN CONFLICTS appear.
  • Actionable collision output in remember — CLI and MCP tools now append ready-to-paste apply commands when collisions are detected (supersede for same-cluster collisions, conflict for high-similarity nearby episodes).
  • Browse snapshot scopes — Seven new scopes: concepts[:<n>], episodes[:<n>], entities[:<type>], topics, decisions[:<n>], questions[:<n>]. Returns JSON for agent workflows.
  • health snapshot scope — Returns actionable memory issues: pending episode count, open conflict count, orphan concepts, and stale concepts.
  • Updated remind-curate skill — Curation loop now starts with remind snapshot pending conflicts health.

Changed ​

  • README — Fully updated to reflect post-0.11 architecture: apply ops table, snapshot scopes table, and updated key features.

[0.12.2] - 2026-07-04 ​

Added ​

  • Nearest-neighbor surfacing on remember() — RememberResult now includes nearby_episodes and nearby_concepts for agent conflict triage. Configurable via remember_nearby_k (default 5; set to 0 to disable).

Fixed ​

  • remind apply transaction crash — Fixed closed-transaction errors when batch apply initializes vector dimensions or upserts entities and mentions.

Changed ​

  • Web UI — Removed the Conflicts sidebar nav item and open-count badge.

[0.12.1] - 2026-07-03 ​

Added ​

  • Cross-cluster related facts on remember() — RememberResult now includes related_facts: active facts in other clusters that share a subject name (type prefix stripped) or have high embedding similarity (≥ 0.6). The MCP remember tool renders these as a "Related facts — check for conflicts" block for immediate agent triage.

Changed ​

  • New config knobs: fact_related_similarity_threshold (default 0.6) and fact_related_max_results (default 10).

[0.12.0] - 2026-07-03 ​

Added ​

  • Fact embeddings — Facts now have vector embeddings for semantic collision detection. Collisions are detected via both entity overlap AND embedding similarity.

  • Evidence-based episode links — Episodes link to concepts with typed relationships (supports, contradicts, exemplifies, qualifies, supersedes). New apply operations: evidence and unlink.

  • Freeform concept types — Concepts can have any type string. Well-known types: fact, pattern, rule, procedure, hypothesis.

  • Concept evolution operations — reshape, merge, split for evolving concepts as living documents.

Changed ​

  • Collision detection combines Jaccard + embedding similarity — Facts sharing entities OR with similar embeddings are flagged.

  • Evidence-weighted retrieval — Concepts with more supporting evidence rank higher; contradicting evidence reduces activation.

  • ConceptType enum deprecated — Use CONCEPT_TYPE_* constants instead.

[0.11.5] - 2026-07-03 ​

Fixed ​

  • remind apply link crash — Fixed missing add_relation method when creating concept relations via the link operation.
  • remind topics list crash — Fixed TypeError: 'Topic' object is not subscriptable when listing topics.
  • remind update-concept crash — The method now accepts confidence, tags, and relations parameters.
  • remind purge-concept crash — The get_concept method now supports the include_deleted parameter.
  • remind status crash — Added missing consolidation and ingest worker status check functions.
  • Missing RELATED_TO relation type — Added related_to to the RelationType enum as the default generic relationship type.
  • REST API topics endpoint crash — Fixed 'dict' object has no attribute 'to_dict' error on /api/v1/topics.

[0.11.4] - 2026-07-03 ​

Added ​

  • entity_relation apply operation — Create relationships between entities using entity_relation source=X target=Y relation=Z. Builds the entity graph visible in the web UI.

Documentation ​

  • Updated remind-capture and remind-curate skills to document entity relationships.

[0.11.3] - 2026-07-03 ​

Fixed ​

  • Web UI Topics crash — Fixed Object of type Topic is not JSON serializable error on the dashboard.
  • snapshot query: crash — Fixed AttributeError when using semantic search scope.

[0.11.2] - 2026-07-03 ​

Fixed ​

  • recall --topic crash — Fixed AttributeError when looking up topics by display name.

[0.11.1] - 2026-07-03 ​

Fixed ​

  • remind apply crash — Fixed AttributeError that blocked all batch changesets.
  • CLI hangs in non-interactive mode — Commands with confirmation prompts now detect non-TTY stdin and exit with a clear error. Use -y/--yes for automation.

[0.11.0] - 2026-07-03 ​

BREAKING CHANGES ​

This release fundamentally changes how Remind works. All internal LLM usage has been removed. The calling agent is now the only intelligence — Remind is a deterministic memory substrate that you curate explicitly.

Migration required:

  • Remove any consolidate, ingest, flush-ingest, end-session commands from scripts
  • Remove --llm flags from CLI invocations
  • Update any code that called memory.consolidate(), memory.ingest(), etc.
  • Run remind re-embed --all if switching from OpenAI to local embeddings (dimensions change from 1536 to 384)

Added ​

  • Local embedding provider (default) — LocalEmbedding using fastembed (ONNX-based, no API key). Zero-config default.
  • remind snapshot — Batch read tool returning a single JSON document. Scopes: pending, conflicts, entity:<id>, topic:<id>, concept:<id>, recent:<n>, stats, query:<text>.
  • remind apply — Batch write tool for transactional memory curation. Operations: remember, supersede, conflict, resolve, dismiss, concept, update, link, topic, set_topic, delete, restore, processed. Local refs, JSON and compact line format.
  • Deterministic fact pipeline — remember() with type=fact creates Fact rows using Jaccard similarity for cluster assignment. Collisions returned in RememberResult for agent disposition.
  • Transaction support — store.transaction() context manager for atomic operations.
  • Episode provenance — asserted_by and source_ref on episodes. Shown in recall output and web UI.
  • First-class temporal facts — Fact model with validity windows, supersession, provenance.
  • Time-travel recall (as_of) — Show facts valid at a past point in time.
  • Conflict lifecycle — Conflict model with open → resolved/dismissed lifecycle.
  • Conflicts inbox in web UI — New view with open-count badge.
  • Rewritten agent skills — remind-capture, remind-context, remind-curate for snapshot/apply workflow.

Changed ​

  • embedding_provider default is now "local" — No API key required.
  • remember() returns RememberResult — Contains episode_id, and for facts: collision info.
  • create_memory() no longer accepts llm_provider — Only embedding providers supported.
  • Dashboard card renamed — "Consolidation Status" → "Pending Review".

Removed ​

  • All LLM providers — AnthropicLLM, OpenAILLM, AzureOpenAILLM, OllamaLLM removed.
  • Consolidation — memory.consolidate(), CLI remind consolidate, MCP consolidate tool.
  • Ingestion — memory.ingest(), memory.flush_ingest(), CLI commands, MCP tools.
  • Transcript capture — remind ingest-transcript, remind hook-install.
  • Entity extraction — extraction.py removed. Entities must be specified explicitly.
  • Chat endpoint — POST /api/v1/chat removed.
  • Background workers — Consolidation and ingest workers removed.

[0.10.5] - 2026-05-05 ​

Added ​

  • Dual-track concepts — pattern (generalizations) or fact_cluster (verbatim facts).
  • Entity embeddings — Entities embedded alongside episodes for richer retrieval.

Changed ​

  • Consolidation prompts — Improved specificity and throughput.

Removed ​

  • Plan / spec / task episode types and CLI — Removed. Use standard episode types.
  • Bundled plan/spec/implement skills — Removed.

Fixed ​

  • Entity processing bug — Fixed incorrect associations during consolidation.
  • UI fixes — Various reliability improvements.

[0.10.4] - 2026-04-09 ​

Added ​

  • cli_output_mode — table, json, or compact-json output modes.
  • JSON output — For browse commands.
  • --compact-json — Minimal payloads.

[0.10.3] - 2026-04-08 ​

Added ​

  • Topic reassignment — Move episodes/concepts between topics.

[0.10.2] - 2026-04-08 ​

Fixed ​

  • SQLite startup crash — Fallback when sqlite-vec can't load.

[0.10.1] - 2026-04-08 ​

Added ​

  • re-embed command — Regenerate embeddings after model change.

[0.10.0] - 2026-04-08 ​

Added ​

  • Native vector indexes — sqlite-vec and pgvector support.
  • Cross-encoder reranking — Optional reranking for recall.
  • Hybrid retrieval — Embedding + keyword scoring.
  • Topics — First-class memory partitions.
  • PostgreSQL/MySQL support — Via SQLAlchemy.

Changed ​

  • Improved consolidation, retrieval, and web UI.

[0.8.0] - 2026-03-23 ​

Added ​

  • Episode embeddings — Direct vector search during recall.
  • Contradiction display — Shows contradicts relations.

[0.7.0] - 2026-03-19 ​

Added ​

  • Auto-ingest — LLM-powered triage pipeline.
  • Fact/outcome episodes — New episode types.
  • Hybrid recall — Entity name matching.

[0.6.0] - 2026-03-09 ​

Added ​

  • Task management — Task episodes with status tracking.
  • Agent workflow skills — Plan/spec/implement lifecycle.

[0.5.0] - 2026-03-02 ​

Added ​

  • Support for updating and deleting concepts/episodes.

[0.4.0] - 2026-02-26 ​

Added ​

  • Memory decay — Concepts lose priority based on recall frequency.

[0.3.0] - 2026-02-25 ​

Added ​

  • Global config file support.
  • Agent skills for Claude Code.

[0.2.0] - 2026-01-09 ​

Added ​

  • Web UI with concept graph visualization.
  • Docker support.

[0.1.0] - 2026-01-04 ​

Added ​

  • Core memory system.
  • Spreading activation retrieval.
  • LLM-powered consolidation.
  • MCP server and CLI.

Released under the Apache 2.0 License.