v0.2.25
macro-inc/macrov0.2.25Oct 1, 2026by het0814
Upgrading?
AI Summary
This release introduces significant new integrations with Google ADK and Eve, alongside performance improvements to the Web UI and extensive bug fixes for the TypeScript SDK and memory conflict reporting.
Key Highlights
- New Google ADK integration (`memanto-google-adk`) for Python memory services.
- Enhanced Eve integration in the TypeScript SDK providing tools and memory providers.
- Major performance improvements to the Web UI, including faster loading and caching.
- History and Analytics views now display all stored memories instead of just recent ones.
- Fix for TypeScript SDK inability to create/activate agents on remote servers.
New Features
- Google ADK integration (`memanto-google-adk`).
- Eve integration in TypeScript SDK.
- Faster Web UI with `include_counts` parameter.
- MCP Registry listing support.
- TypeScript SDK recall tag filter.
Full Release Notes
# Release Notes for v0.2.25
This release adds two integrations. **Google ADK** is a new Python package, `memanto-google-adk`, and **Eve** support in the TypeScript SDK adds both tools and a memory provider. The Web UI loads much faster, and its History, Analytics and connection views now show every memory instead of the recall limit.
## New Features
- **Google ADK integration** (`integrations/google-adk/`)
- New `memanto-google-adk` package. `MemantoMemoryService` is a drop-in ADK memory service, so ADK's built-in `preload_memory` and `load_memory` tools recall from Memanto.
- Saving a session (`add_session_to_memory`, `add_events_to_memory`) turns the conversation into typed memories using Memanto's extraction. Only events added since the last save are extracted, even across processes, so saving every turn or retrying a save stores nothing twice.
- Long sessions are split into chunks that fit the extractor's message and character limits, instead of failing.
- There is one Memanto agent per ADK app (`adk-<app_name>`), or you can pass `agent_id=` to share one. Each ADK user's memories are tagged `user-<sha256 of user_id>`. Recall filters on that tag and checks every result against it again, so users never see each other's memories.
- Optional `remember_tool` (`memanto_remember`) lets the agent save a fact as soon as it hears it.
- `add_memory` stores `MemoryEntry` items as they are, without extraction.
- `adk web`, `adk run` and `adk api_server` can use it through a `memanto://` service URI registered in `services.py`.
- `recall_limit` and `extract_max_memories` are checked against server limits. Requires `google-adk>=2.0,<3` and `memanto>=0.2.21`.
- **Eve integration in the TypeScript SDK** (`sdks/typescript/src/integrations/eve.ts`)
- New `@moorcheh-ai/memanto/eve` entry point. `eve` is an optional peer dependency (`>=0.60.0`).
- `createMemantoEveTools()` exposes `recallMemory`, `rememberMemory` and `answerMemory` as Eve tools, the same way as the Vercel AI SDK, Mastra and OpenAI integrations. `include` picks a subset of tools, and `defaultLimit` sets the result limit used when the model doesn't give one.
- Tool calls show short activity labels (for example "Answered from 3 memories"). The model gets compact output instead of raw JSON.
- `memantoMemory()` is an Eve memory provider. Before each turn, it adds the memories that best match the user's message to the context, and it gives the model `remember` and `recall` tools.
- One Memanto agent (default `eve`) serves every Eve scope. Each scope is kept separate by a tag that is the hex hash of the scope key. Eve's raw scope keys can contain `-`, which Moorcheh's tag filter doesn't match, so filtering on them would return memories from every scope.
- `recallLimit` (1–50, default 5). `capture: true` also extracts and saves memories from every completed turn; this is off by default.
## Improvements
- **Faster Web UI** (`memanto/app/ui/static/index.html`, `memanto/app/routes/sessions.py`)
- `GET /api/v2/agents` and `GET /api/v2/agents/{agent_id}` take a new `include_counts` query parameter (default `true`). The UI passes `include_counts=false` for the dashboard and sidebar, so it no longer waits for a live memory count from Moorcheh.
- Memory counts per namespace are cached for 5 minutes. If a refresh fails, the server keeps the last counts and waits 60 seconds before trying again, instead of returning nothing. Single-agent lookups now fetch only that agent's namespace instead of listing all of them.
- The UI caches the agent list, History data (5 minutes) and conflict reports (per agent and date). The data for the conflict badge is fetched in parallel.
- **History, Analytics and connection views show every memory** (`memanto/app/routes/memory.py`)
- New `POST /api/v2/agents/{agent_id}/recall/all` returns all stored memories, newest first, with the same filters as `/recall/recent`. It returns up to 5,000 unless you set `limit`. Previously these views used `/recall/recent`, which is capped by the recall limit.
- `/recall/recent` and `/recall/all` responses now include `total_available`.
- **TypeScript SDK recall tag filter** (`sdks/typescript/src/index.ts`)
- `RecallInput` has a new `tags` option that only returns memories carrying all of the given tags.
- **MCP Registry listing** (`integrations/mcp/server.json`, `integrations/mcp/README.md`)
- `memanto-mcp` 0.1.3 adds the `io.github.moorcheh-ai/memanto` registry name and a `server.json` for publishing to the official MCP Registry. A `glama.json` adds the Glama directory listing.
## Bug Fixes
- **TypeScript SDK couldn't create or activate agents on remote servers** (`sdks/typescript/src/index.ts`)
- A Memanto server listening beyond localhost only allows creating and activating agents with its management credential. The SDK never sent `apiKey`, so these calls were rejected on remote servers. `apiKey` is now sent as `X-Api-Key` on every request.
- **Installing the TypeScript SDK alongside `ai@7` failed** (`sdks/typescript/package.json`)
- `@voltagent/core` was declared as an optional peer dependency, and its version range conflicted with `ai@7`. The peer declaration is removed.
- **Hermes plugin wouldn't load from the Hermes catalog** (`integrations/hermes-agents/`)
- The plugin imported itself by its absolute package name, which fails when the Hermes catalog installs it under a different path. It now uses a relative import. `plugin.yaml` also declares `kind: exclusive` and the `on_memory_write` hook. `hermes-memanto` is bumped to 0.1.1.
- **Conflict report missed some conflicts and showed duplicated headers** (`memanto/app/services/daily_analysis_service.py`)
- Findings classified as `conflict` or `update` were dropped unless they also carried an explicit `conflict: true` flag; now they are included. A `[...]` header line at the start of the old and new memory text is removed, so it no longer appears twice in the UI.
## Tests
- `integrations/google-adk/tests/test_google_adk.py`: covers user isolation, incremental and retried saves, chunking of long sessions, recall mapping, URI registration and the remember tool.
- `sdks/typescript/test/integrations/eve.test.ts`, `eve-memory.test.ts`: cover the Eve tools (subset selection, `defaultLimit`, activity labels, model output) and the memory provider (scope isolation, recall into context, capture).
- `sdks/typescript/test/memanto.test.ts`: covers the `X-Api-Key` header on remote requests and the recall `tags` filter.
- `tests/test_api.py`: resets the namespace-count cache between tests.
## Full Changelog
Full Changelog: https://github.com/moorcheh-ai/memanto/compare/v0.2.24...v0.2.25Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one