v0.2.25
altic-dev/FluidVoicev0.2.25Oct 1, 2026by het0814
Upgrading?
AI Summary
Adds Google ADK and Eve integrations while significantly improving Web UI performance and fixing SDK bugs.
Key Highlights
- Google ADK integration (`memanto-google-adk`)
- Eve integration in the TypeScript SDK
- Faster Web UI with improved caching
- History and Analytics views show all memories
- TypeScript SDK recall tag filter
New Features
- Google ADK integration
- Eve integration
- Web UI performance improvements
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
apple/container★ 50,827
A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.
supertone-oss-archive/supertonic★ 13,765
Lightning-Fast, On-Device, Multilingual TTS — running natively via ONNX.
NodePassProject/Anywhere★ 2,443
The best native proxy client for iOS, iPadOS, macOS, and tvOS.
achtungsoftware/alarik★ 569
High performance distributed S3 compatible object storage focused on speed and designed to be an open alternative to MinIO and RustFS.
imbhargav5/open-recorder★ 90
73 MB open source ScreenStudio alternative. Tiny, powerful with incredible performance. Native Swift app.