Skip to content

Releases: MacPaw/portable-memory

0.3.0

Choose a tag to compare

@Krivoblotsky Krivoblotsky released this 14 Sep 08:34
98cddac

Format 1.1.0: the manifest now says what the archive covers, in which scopes, and carries a single archive digest — and mem inspect shows it. Every 1.0 bundle remains valid.

Added

  • Format 1.1.0 — four optional manifest fields (spec §3.1): specURL, coverage ({from, to} — earliest/latest episode eventTime), scopes (sorted context ids the records reference) and bundleDigest (sha256 of the exact CHECKSUMS bytes — one hash for the whole archive; the validator recomputes it when present). MemCoverage is exported.
  • mem inspect prints spec URL, coverage, scopes and archive digest.
  • Conformance/fixtures/sample-1.1.mem — a format-1.1 cross-SDK fixture; both SDKs validate it, recompute its digest, import it, and re-export byte-identical streams. Tests: evidence-pack digest, incremental scopes, forward compatibility with unknown manifest keys, seeded coverage/scopes property tests.

Specification

  • Spec v1.1 (§3.1 format-1.1 additions, §9 format history; §2/§10 state which layers are not yet normative).
  • RFC-0001 Scopes & visibility (#11), RFC-0002 ext for all kinds (#13), RFC-0003 Provenance typing (#14) — open for comment in Spec/rfcs/ until 2026-10-05, target format 1.2.

pip install portable-memory==0.3.0 · byte-interoperable with the Swift SDK 0.3.0 · full changelog: https://github.com/MacPaw/portable-memory/blob/main/CHANGELOG.md

0.2.0

Choose a tag to compare

@Krivoblotsky Krivoblotsky released this 13 Sep 21:15
cd53e38

pip install portable-memory now installs the mem command line — paste an assistant's memory export, get a verifiable .mem bundle, render it back for import anywhere. (0.1.2 shipped the SDK only.)

Added

  • README "Try it in 60 seconds" with a demo GIF of the paste → validate → render flow.
  • TransferTextAdapter — parses the pasted memory-transfer text ChatGPT, Claude and Gemini exchange today (the standard export prompt's [date saved, if available] - memory content code block; tolerant of -/–/—/: separators, bullets, numbering, section headers, ISO and month-name dates, continuation lines, prose summaries) into deterministic, deduplicated episodes, and renders any episodes back to paste-ready text. Shared fixture Conformance/fixtures/transfer/ pins byte-identical output with the Swift SDK.
  • mem command line: mem paste export.txt --out my.mem, mem ingest --from openai|claude|mem0|transfer, mem render my.mem [--fence] [--group], mem validate, mem inspect. Standard library only.
  • InMemoryStore — a minimal public store for prototyping and the CLI.

Fixed

  • portable_memory.__version__ (the 0.1.2 wheel reports 0.1.0) now tracks pyproject.toml; test-enforced.

Byte-interoperable with the Swift reference SDK 0.2.0. Full changelog: https://github.com/MacPaw/portable-memory/blob/main/CHANGELOG.md

0.1.2

Choose a tag to compare

@Krivoblotsky Krivoblotsky released this 13 Sep 21:03
e07d19d

First release published to PyPI: pip install portable-memory.

Added

  • Paper citation — README callout and Citation section (BibTeX), CITATION.cff, and a paper link in the spec header. Paper: https://research.macpaw.com/publications/portable-memory
  • PyPI packaging — project URLs, keywords/classifiers, and a Trusted-Publishing release workflow (publishes on GitHub release, no API token).

Fixed

  • Package version alignment — pyproject.toml declared 0.1.0 while the repo was tagged 0.1.1; the package version now tracks the git tag and the workflow refuses to publish on mismatch.

Byte-interoperable with the Swift reference SDK 0.1.2.
Full changelog: https://github.com/MacPaw/portable-memory/blob/main/CHANGELOG.md

Release 0.1.1

Choose a tag to compare

@Krivoblotsky Krivoblotsky released this 03 Jul 10:52
8524253

What's Changed

  • Python reference SDK — byte-interoperable with the Swift SDK by @Krivoblotsky in #1
  • fix(codec): canonical number/UTC/strict-decode parity + conformance golden vectors by @Krivoblotsky in #2
  • feat(adapters): OpenAI (ChatGPT export) + Claude (memory files) ingest adapters by @Krivoblotsky in #3
  • test: coverage expansion — all-kinds round-trip, schema net, incremental, evidence pack, redact by @Krivoblotsky in #4

New Contributors

Full Changelog: https://github.com/MacPaw/portable-memory/commits/0.1.1