Skip to content

Releases: Nabzx/mnemosyne

v0.0.8

Choose a tag to compare

@Nabzx Nabzx released this 21 Sep 10:05
fd1a47d

Prebuilt mnem binaries, export/import (CLI and SDK), and a round of
pre-launch polish across CI, docs, and package metadata.

Added

  • Python SDK: store.export() / mnem.Store.import_(path, data) - the
    same whole-store JSON backup/restore mnem export/import gave the
    CLI in #174, now callable without shelling out to the binary.
  • mnem add --content-json <JSON>: stage a number, bool, object, array, or
    null inline, without writing it to a temp file first (--content-file
    was the only prior way to store non-string content from the CLI).
  • CI: a windows-python job builds the mnem-py extension and runs the SDK
    and adapter tests (packages/mnem-mcp, packages/mnem-langgraph) on
    Windows. #184's Windows job only ever covered the plain Rust build; a real
    Windows wheel has shipped to PyPI on every release since #165 without
    anything testing it first.
  • ADR-0019 (prebuilt mnem binaries): cargo-dist builds mnem for linux
    (x86_64, aarch64), macOS (x86_64, aarch64) and Windows (x86_64), plus a
    shell and a PowerShell installer, and attaches them to the GitHub
    Release. Triggered by hand (workflow_dispatch), same as the PyPI
    workflow; assumes the release already exists as a draft and undrafts it
    once the binaries are attached. No Homebrew tap yet.
  • mnem export / mnem import: the whole store (every object ever
    written, every ref, HEAD) as one portable JSON file, and the reverse.
    Object ids render as hex, so the file reads cleanly with jq or by
    hand. A hand-edited or corrupted export is a clean error on import,
    not a silent misread: every object's claimed id is re-hashed and
    checked. Does not touch format_version; it is a view for backup and
    portability, not a new on-disk format.
  • CI: .github/workflows/release-pypi.yml (named release.yml until #173
    gave the Rust binaries their own workflow of that name). A published
    GitHub Release now builds
    mnem-agents wheels for linux (x86_64, aarch64), macOS (universal2) and
    Windows (x64), plus the sdist and the two adapter wheels, and publishes
    all of it to PyPI via trusted publishing. workflow_dispatch reruns it
    for an existing tag, to backfill a release that shipped without this
    (v0.0.7 currently has only a macOS wheel).
  • CI: a windows-latest job runs cargo test and cargo build --release
    on every push and pull request. The core and the CLI are now actually
    tested on Windows, not just assumed to work there.
  • mnem completions <shell>: prints a shell completion script (bash, zsh,
    fish, powershell, elvish) via a new clap_complete dependency.
  • deny.toml: a [licenses] policy, allow-listing every permissive licence
    actually in the dependency tree. The deny CI job now runs cargo deny check (bans, licences, advisories, sources), not just check bans.
  • README: a "Coming from Git" command cheat-sheet, and an FAQ answering the
    usual "how is this different from a vector store / mem0 / Zep / a
    checkpointer / a JSONL log" questions up front.
  • packages/mnem-mcp/README.md: a Claude Desktop claude_desktop_config.json
    snippet, linked from the main README.
  • CITATION.cff.
  • homepage on the published crate metadata (mnem-store, mnem-git);
    crates.io showed "Not provided" despite a real docs site existing.
  • deny.toml: explicit [advisories] and [sources] tables, written down
    rather than left to cargo-deny's implicit defaults.

Changed

  • README: the CLI quickstart is now the full arc the demo GIF tells (record a
    fact, misread one an hour later, bisect and blame find it), not just
    init/add/commit/blame.
  • The crate-level doc comments for mnem-store and mnem-git (the public
    docs.rs landing page and the crates.io description) now describe what each
    crate does, rather than the phase history of how it was built.
  • The Development Status classifier on all three PyPI packages
    (mnem-agents, mnem-mcp, mnem-langgraph) moves from 2 - Pre-Alpha to
    3 - Alpha.
  • README: the quickstart now installs the published packages (cargo install mnem-git, pip install mnem-agents) instead of the pre-publish build-from-
    source workaround, and gains a CLI-only walkthrough alongside the Python
    one. The status table catches up through v0.0.7. The badge row adds
    crates.io, PyPI and docs-site badges; the "Prior work" section links
    docs/benchmark.md, the evidence for the claim right above it.
  • README: links to shell completions (mnem completions <shell>, #171) and
    to examples/, neither of which was surfaced there before.
  • CONTRIBUTING.md's Checks section now names all 9 recipes just ci runs,
    not 5.
  • CONTEXT.md and mnem-store's State doc comment no longer claim a
    prolly-tree form "arrives in Phase 2" - Era 1 is fully shipped and it was
    never built; both now point at ADR-0002/0012's deferral instead.

Fixed

  • mnem-langgraph: MnemosyneStore.delete() on a key that was never
    written no longer raises InvalidRefError - BaseStore's delete is
    idempotent by convention, matching a dict's .pop(key, None).
  • Every relative link and image path in a file that ships standalone to a
    registry (the root README.md, published as the mnem-agents PyPI
    description; packages/mnem-mcp/README.md; packages/mnem-langgraph/README.md)
    now points at an absolute github.com/raw.githubusercontent.com URL. The
    relative paths rendered as dead links, and the demo GIF and the agent-loop
    SVG did not render at all, on the PyPI project pages.
  • packages/mnem-mcp/README.md: dropped the stale "not published yet" caveat,
    and corrected "it opens the store fresh each time" to describe what the code
    actually does (one handle opened at startup and reused; redb allows a single
    open handle per file per process).

v0.0.7

Choose a tag to compare

@Nabzx Nabzx released this 09 Sep 20:41
dfd84a6

What's Changed

  • docs: research the v1 benchmark design (#61) by @Nabzx in #155
  • docs(adr): accept ADR-0017, the benchmark and its metrics by @Nabzx in #156
  • feat(bench): the benchmark harness and the baselines by @Nabzx in #157
  • docs: publish the first benchmark run (#65) by @Nabzx in #158
  • docs: a docs site, and the v1 format declared final for Era 1 by @Nabzx in #159
  • feat(core): the Era 2 seam (ADR-0018) by @Nabzx in #160
  • docs(examples): a Claude agent demo, and the README GIF to match by @Nabzx in #161
  • chore: rename crates to the mnemosyne namespace for the first publish by @Nabzx in #162
  • chore: name the packages mnem-store / mnem-git / mnem-agents by @Nabzx in #164
  • chore(release): v0.0.7 by @Nabzx in #163

Full Changelog: v0.0.6...v0.0.7

v0.0.6

v0.0.6 Pre-release
Pre-release

Choose a tag to compare

@Nabzx Nabzx released this 08 Sep 01:23
5aa4dba

What's Changed

  • docs: rebuild the README visual tour by @Nabzx in #143
  • feat(cli): colour the human-facing output by @Nabzx in #144
  • docs: lead the README with a colour demo GIF by @Nabzx in #145
  • docs: trim the README by @Nabzx in #146
  • docs: update the readme by @Nabzx in #147
  • docs: research the MCP tool surface for memory (#55) by @Nabzx in #148
  • docs(adr): accept ADR-0016, the MCP tools and the adapter contract by @Nabzx in #149
  • feat(sdk): the mnem.agents write helpers and to_dict serialisers by @Nabzx in #150
  • feat(mcp): the mnem-mcp server by @Nabzx in #151
  • feat(langgraph): a versioned BaseStore backed by Mnemosyne by @Nabzx in #152
  • docs(examples): three worked examples, one per surface by @Nabzx in #153
  • chore(release): v0.0.6 by @Nabzx in #154

Full Changelog: v0.0.5...v0.0.6

v0.0.5

v0.0.5 Pre-release
Pre-release

Choose a tag to compare

@Nabzx Nabzx released this 07 Sep 02:06
ccb20b6

What's Changed

  • docs: research the provenance index, blame and bisect (#135) by @Nabzx in #136
  • docs(adr): accept ADR-0015, the provenance index, blame and bisect by @Nabzx in #137
  • feat(core): the commit_nodes index by @Nabzx in #138
  • feat(core): blame a memory node to its introducing commit by @Nabzx in #139
  • feat(core): bisect for the first commit where a predicate holds by @Nabzx in #140
  • feat(explain): blame, bisect and show --stat on the CLI and SDK by @Nabzx in #141
  • chore(release): v0.0.5 by @Nabzx in #142

Full Changelog: v0.0.4...v0.0.5

v0.0.4

v0.0.4 Pre-release
Pre-release

Choose a tag to compare

@Nabzx Nabzx released this 07 Sep 01:06
db813ab

What's Changed

  • docs: refresh the demo gif with branching and diff by @Nabzx in #126
  • docs: merge research for Phase 3 (#42) by @Nabzx in #127
  • feat(core): commit-graph ancestry and the merge base (#45) by @Nabzx in #128
  • docs(adr): accept ADR-0013 and ADR-0014, the merge design by @Nabzx in #129
  • feat(core): the structural three-way merge algorithm (#46) by @Nabzx in #130
  • feat(core): the Store::merge flow (#47) by @Nabzx in #131
  • feat(merge): expose merge on the CLI and the Python SDK by @Nabzx in #132
  • test(merge): seeded chaos harness for the merge algebra by @Nabzx in #133
  • chore(release): v0.0.4 by @Nabzx in #134

Full Changelog: v0.0.3...v0.0.4