v0.2.8
mayswind/ezbookkeepingv0.2.8Jul 17, 2026by het0814
AI Summary
This release adds OKF (Open Knowledge Format) export and sync capabilities, integrates a VoltAgent TypeScript SDK, introduces new benchmark suites for performance comparison, and fixes a large batch of temporal recall correctness issues.
Key Highlights
- OKF export/migrate/sync support for portable memory bundles
- VoltAgent TypeScript SDK integration
- New benchmark suites (Memanto vs Mem0, adversarial resilience, temporal memory)
- Temporal recall correctness fixes covering TTL, timezone, tags, and limits
New Features
- OKF export/migrate/sync with `--okf` flag
- VoltAgent TypeScript SDK integration
- New benchmark examples including Memanto vs Mem0 and temporal memory showdown
Full Release Notes
# Release Notes for v0.2.8
This release adds **OKF (Open Knowledge Format)** export/migrate/sync support for portable, human-readable memory bundles, a **VoltAgent** TypeScript SDK integration, several new **benchmark suites** (Memanto vs. Mem0, adversarial resilience, multi-adapter retrieval), and a large batch of **temporal recall correctness fixes** covering TTL expiry, timezone-aware timestamps, tag filters, and limit validation.
## New Features
- **OKF export / migrate / sync** (`memanto/app/services/okf_export_service.py`,
`memanto/cli/migrate/okf_loader.py`, `memanto/cli/commands/{memory_mgmt,migrate}.py`)
- New `--okf` flag on `memanto memory export` / `memanto memory sync` writes
an [Open Knowledge Format](https://docs.memanto.ai/integrations/okf) v0.1
bundle: one markdown file per memory (or a stacked file per type once a
type exceeds a size threshold), YAML frontmatter, grouped by memory type.
- Memanto-only fields (id, confidence, provenance, source, status) are
preserved under a namespaced `x_memanto` frontmatter block so
Memanto → OKF → Memanto round-trips are lossless; other OKF consumers
ignore the unknown keys.
- `memanto migrate` gains an OKF source: `memanto migrate <agent> --okf <path>`
imports an OKF bundle back into an agent, alongside the existing
Mem0/Letta/Supermemory sources.
- **VoltAgent TypeScript SDK integration** (`sdks/typescript/src/integrations/voltagent.ts`)
- New `@voltagent/core` integration mirroring the existing AI SDK / Mastra /
OpenAI integrations, with its own test suite and dependency wiring.
- **New benchmark examples** (`examples/benchmarks/`)
- `memanto-vs-mem0`: live head-to-head harness with pluggable adapters,
an evaluator, dashboard, and reporter.
- `memanto-vs-mem0-persona`: shifting-persona/temporal-preference retention
benchmark (5 sessions, 22 turns, 7 contradictions).
- `temporal-memory-showdown`: dedicated timeline/temporal-amnesia benchmark
with its own metrics and dataset.
- `submission_freq1062`: multi-adapter raw-retrieval benchmark (Mem0, Letta,
Supermemory, Cognee, Zep/Graphiti, vector baseline) against LoCoMo and
MemoryAgentBench datasets.
- Adversarial memory resilience benchmark.
## Improvements
- **Temporal recall correctness** (`memanto/app/services/memory_read_service.py`,
`memanto/app/utils/temporal_helpers.py`, `memanto/app/routes/memory.py`)
- Large batch of fixes to the recall/`as-of`/`changed-since` temporal paths:
- Tag filters are now actually applied on temporal recall (`tags` was
accepted but silently dropped).
- Date-only `as-of` queries (e.g. `2026-06-01`) now include the full day
instead of being treated as midnight.
- Malformed/unparseable timestamps are now skipped instead of raising
during temporal filtering.
- `changed-since` sorting no longer breaks on memories with a null
`updated_at`.
- Delete-and-recreate updates that briefly expose both the old and new
document with the same id now resolve to the newest version by
timestamp (previously could return the stale duplicate).
- The candidate pool fetched from Moorcheh is now widened when
post-retrieval filters (tags, type, temporal bounds) are active, so
filtering no longer starves the result set below the requested limit.
- Temporal recall limits are now validated before hitting the backend and
capped to sane defaults; boolean and non-positive limits are rejected;
duplicate recall-limit validation logic was consolidated into one shared
helper.
- **Session expiry**: session info now handles timezone-aware expiry
timestamps consistently, fixing spurious "session expired" states.
- **LangGraph integration** (`integrations/langgraph/langgraph_memanto/{nodes,tools}.py`)
- Refined recall/remember node behavior; expanded test coverage
(`tests/test_nodes.py`).
## Tests
- New `tests/test_okf.py`, `tests/test_memory_read_as_of.py`,
`tests/test_memory_read_temporal_recall.py`, and substantial expansion of
`tests/test_temporal_helpers.py`, `tests/test_api.py`, `tests/test_cli.py`,
and `tests/test_unit.py` covering every temporal-recall fix above plus OKF
round-tripping.
## Full Changelog
Full Changelog: https://github.com/moorcheh-ai/memanto/compare/v0.2.7...v0.2.8