v0.2.8

ScrapeGraphAI/Scrapegraph-aiv0.2.8Jul 17, 2026by het0814

AI Summary

Introduces OKF export/migrate/sync support, a VoltAgent TypeScript SDK integration, and new benchmark suites, alongside fixes for temporal recall correctness.

Key Highlights

  • Introduces OKF export, migrate, and sync support
  • Adds VoltAgent TypeScript SDK integration
  • Adds new benchmark suites for Memanto vs Mem0
  • Fixes temporal recall bugs including tag filters and timezone handling

New Features

  • OKF export/migrate/sync support
  • VoltAgent TypeScript SDK integration
  • New benchmark examples (Memanto vs Mem0, temporal-memory-showdown, etc.)

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