All notable changes to Mnemon will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.15 - 2026-06-18
mnemon setup --target cursornow installs a Cursor integration, including a Mnemon skill, prompt files, and Cursor lifecycle hooks under.cursor/or~/.cursor/. The session-start hook primes Cursor with Mnemon guidance and memory status, the stop hook can nudge for durable-memory writeback, and an optional pre-compaction hook can remind users to preserve durable context.mnemon setup --eject --target cursorremoves the installed Cursor skill and Mnemon hook entries while preserving unrelated Cursor hook configuration.- Cursor environment detection is included in interactive setup when the
cursorbinary or~/.cursor/config directory is present.
- CI workflow permissions are now declared explicitly for the code-scanning workflow surface.
- Added Cursor setup coverage for skill installation, executable hook writes, hook registration, preservation of unrelated Cursor hooks, and eject cleanup.
- Harness modules remain experimental and are not part of the v0.1.15 public
stability guarantee. This release includes substantial internal harness
iteration, documentation, and validation work, but release-path commands such
as
mnemon setupcontinue to keep formal integrations undercmd/andinternal/.
0.1.14 - 2026-06-08
- Entity extraction now has an index-aware fourth path for known entities. When Mnemon has already seen an entity through provided metadata or earlier extraction, later graph operations can admit wider candidate tokens that match the known-entity index. This improves recall for personal project names, internal codenames, and single-segment CamelCase entities without globally loosening first-mention extraction.
- Store support for loading known entities from active insights, used by the graph engine to seed index-aware extraction while still skipping soft-deleted records.
- Embedding blobs are now stored as little-endian
float32values instead offloat64, cutting embedding storage size roughly in half while keeping the public vector API and cosine-similarity calculations infloat64. - Existing official databases are migrated on open from legacy
float64embedding blobs to the newfloat32storage format. The migration records its completion in SQLitePRAGMA user_versionand leaves malformed or non-legacy-looking blobs untouched rather than blocking database startup.
- Claude Code project-local setup now detects the degenerate
$HOME/.claudecollision. Whenmnemon setupis run from$HOME, the apparent local.claude/directory is actually Claude Code's user-global config directory; Mnemon now writes absolute hook commands in that case so hooks resolve correctly from every future Claude Code session directory. - Added symlink-aware and
CLAUDE_CONFIG_DIR-aware coverage for Claude Code config collision detection, plus regression tests that genuine project-local installs keep relative hook paths.
- Added round-trip and invalid-length coverage for
float32vector serialization, plus legacyfloat64deserialization coverage for migration. - Added store migration coverage for normal legacy embeddings, malformed blobs, and non-legacy-looking blobs that should be skipped.
- Added entity extraction and store tests for the known-entity path, including propagation of previously seeded project names without admitting arbitrary new wide tokens.
0.1.11 - 2026-05-27
- English/Chinese import guide coverage and setup skill guidance for using
mnemon importon historical chat exports.
0.1.10 - 2026-05-27
mnemon import <file>bulk-imports memory draft JSON files into a selected Mnemon store. Imported insights use the normal write path for duplicate and conflict detection, embeddings when Ollama is available, entity/causal/ semantic graph construction, lifecycle scoring, and capacity pruning.internal/importdraftdefines the public draft schema for historical chat imports:- top-level
schema_version,source,insights, and optionaledges - insight fields for
content,category,importance,tags,entities,source, and RFC 3339created_at - explicit edge fields for
source_index,target_index,edge_type,weight, andreason
- top-level
mnemon import --dry-runvalidates draft structure without writing to the database, andmnemon import --no-diffinserts all draft insights without duplicate/conflict detection.- Import documentation with the full schema reference,
category and importance guidance, edge-type guidance, examples, operational
notes, and a copy-paste LLM prompt for turning chat exports into
memory_draft.json.
- Historical imports no longer create incorrect temporal backbone edges when
created_atis older than existing store contents. The import path disables real-time temporal edge generation, then repairs affected source timelines after all backdated insights are written so imported memories are inserted into the global chronological chain. - Explicit draft edges now participate in effective-importance calculation
before
AutoPruneruns. Import finalization inserts explicit edges, repairs temporal edges, refreshes touched insight scores, and only then applies pruning.
- The graph engine now supports internal
EngineOptionswithTemporalMode, allowing import to skip real-time temporal generation without changing the behavior ofmnemon remember. - Store internals gained helpers for source-ordered active insight scans and typed single-edge deletion, used by temporal repair during imports.
- Added validation coverage for the import draft schema, including required content, category and importance constraints, RFC 3339 timestamps, edge index bounds, and source fallback behavior.
- Added command integration coverage for backdated import temporal repair and effective-importance refresh after explicit draft edges.
0.1.9 - 2026-05-26
- BREAKING:
recallnow emits a compact, LLM-friendly JSON shape by default. The default result entries keepid,content,category,importance,intent,matched_via,confidence, and roundedscore, while omitting verbose debug fields such assignals, timestamps,access_count, tags, entities, source, and traversal metadata. (#3) - The previous full
recallpayload remains available with--verbosefor scripts, debugging, and callers that still needmeta,signals, or the full embedded insight object.
recall --verboseflag to restore the previous full recall response.
0.1.8 - 2026-05-24
--embed-modelglobal flag exposes the existingMNEMON_EMBED_MODELenv var on the CLI, applied consistently acrossembed,recall, andremember. Useful for switching to multilingual models such asnomic-embed-text-v2-moe:lateston code-switched corpora without exporting the env var. Note: switching to a model with a different output dimension silently invalidates existing embeddings — backfill after changing.
0.1.7 - 2026-05-23
- Privacy-safe memory receipts via
mnemon receipt, allowing users to show memory activity with identifiers, timestamps, summaries, and relation metadata without exposing stored memory content.
- Read-only store operations now skip access-count and oplog writes, preventing recall/search/status-style paths from attempting mutations when the store is opened in read-only mode.
- Project licensing switched to Apache-2.0.
0.1.6 - 2026-05-18
- Codex integration:
mnemon setup --target codexdeploys the mnemon skill, prompt files, and Codex lifecycle hooks (SessionStart,UserPromptSubmit,Stop) into.codex/or~/.codex/.mnemon setup --eject --target codexremoves the installed Codex surface while preserving unrelated hooks. - Nanobot integration:
mnemon setup --target nanobotdeploys a skill file to.nanobot/skills/mnemon/SKILL.md(local) or~/.nanobot/workspace/skills/mnemon/SKILL.md(global, recommended).mnemon setup --ejectremoves it. Detection is automatic when thenanobotbinary or~/.nanobot/workspace/directory is present.
- Harness modules remain experimental and are not part of the v0.1.6 public
stability guarantee. Release-path integrations are implemented under
cmd/andinternal/.
0.1.5 - 2026-05-17
Diffnow sorts matches bySimilaritydescending before selecting the overall suggestion. Previously,KeywordSearchordered candidates by token overlap score, so a high-keyword-score candidate classified as ADD could mask a lower-keyword-score candidate with higher Jaccard similarity that should have been UPDATE or DUPLICATE.- Deduplication false positives on scientific and domain-specific text:
- Removed bare
"not"from negation words — it appears in virtually all scientific prose and caused unrelated records to be classified as CONFLICT. - Gated negation-word check behind similarity ≥ 0.7 — at borderline similarity, shared domain vocabulary is not a reliable conflict signal.
- Raised cosine dedup threshold from 0.70 to 0.85 — same-domain different-fact pairs (e.g. survey records at different locations) produce cosine ~0.75 with nomic-embed-text and were incorrectly triggering UPDATE.
- Switched token dedup from bidirectional-max (
ContentSimilarity) to Jaccard (|A∩B|/|A∪B|) — penalises texts that share vocabulary but differ in most tokens, preventing formulaic records from scoring as UPDATE.
- Removed bare
0.1.4 - 2026-05-16
remember --entity-modeto choosemerge,provided, orautoentity handling.
- Store name validation for resolved store paths.
- Query limit validation for recall and related command paths.
- Sidecar migration error reporting.
- Setup integration cleanup reliability.
- Harness modules, harness documentation, and harness evaluation assets remain experimental and are not part of the v0.1.4 public stability guarantee.
0.1.3 - 2026-05-03
MNEMON_EMBED_DIMENSIONSenv var for Matryoshka dimension truncation (e.g., 256-dim instead of 768)
0.1.1 - 2026-02-22
- OpenClaw full integration: internal hook (
agent:bootstrap) + plugin (before_prompt_build) mnemon setup --target openclawnow auto-deploys skill, hook, plugin, and config- Optional hook selection for OpenClaw (remind, nudge, compact) matching Claude Code parity
- Plugin version patching from binary ldflags
- LLM-supervised tagline in README
- README restructured: technical differentiator (comparison table) moved above value proposition
- OpenClaw setup no longer requires manual plugin configuration
0.1.0 - 2026-02-21
Initial public release.
- Core CRUD:
remember,recall,forget,search,status,log - Four-graph architecture: temporal, entity, causal, semantic edges
- Intent-aware smart recall with beam search graph traversal
- Built-in deduplication and conflict resolution
- Retention lifecycle: importance decay, access-count boosting, garbage collection
- Named memory stores for data isolation (
mnemon store list|create|set|remove) MNEMON_STOREenvironment variable and--storeCLI flag for store selection- Automatic migration of legacy
~/.mnemon/mnemon.dbto~/.mnemon/data/default/ - Optional embedding support via Ollama (
nomic-embed-text) - Knowledge graph visualization (
mnemon viz) - Claude Code integration via hooks (prime, remind, nudge, compact)
- OpenClaw integration via skill deployment
mnemon setupinteractive installer with--ejectsupport- Release pipeline: GoReleaser, GitHub Actions, Homebrew tap
- Comprehensive documentation with Chinese translations