diff --git a/docs/changelog/highlights.mdx b/docs/changelog/highlights.mdx new file mode 100644 index 000000000..d29b32424 --- /dev/null +++ b/docs/changelog/highlights.mdx @@ -0,0 +1,82 @@ +--- +title: "Highlights" +description: "Major product launches, headline features, and milestones for Mem0." +mode: "wide" +--- + + + +**Mem0 Skill Graph — In-Context Documentation for AI Agents** + +AI coding agents in Claude Code, Cursor, and Codex can now access Mem0 knowledge directly in their workflow — no doc searching required. Three interconnected skills launched: + +- **mem0 Core Skill** — Complete Python and TypeScript SDK reference, REST API patterns, and integration guides for LangChain, CrewAI, Autogen, and more +- **mem0-cli Skill** — Terminal command reference, configuration walkthroughs, and CI/CD recipes +- **mem0-vercel-ai-sdk Skill** — Vercel AI SDK provider API, memory-augmented generation patterns, and multi-provider setup + + + + + +**Official Mem0 CLI — Now on PyPI and npm** + +A full-featured command-line interface for Mem0, available in both Python and Node.js: + +- **Install:** `pip install mem0-cli` or `npm install -g @mem0/cli` +- **Full command suite** — `add`, `search`, `list`, `get`, `update`, `delete`, `import`, `config`, `init`, `status`, `entity`, `event` +- **Interactive setup** — `mem0 init` with email verification or direct API key entry +- **Works everywhere** — Platform (Mem0 Cloud) and self-hosted OSS modes +- **Scriptable** — `--json` flag for CI/CD pipelines and automation +- **Dual SDK** — Same commands, same experience across Python and Node.js + + + + + +**OpenClaw Plugin — Production-Ready** + +The OpenClaw Mem0 plugin went from initial release to production-ready in one week (v1.0.0 → v1.0.4): + +- **Skills-based memory architecture** — New extraction pipeline with skill-loader, batched extraction, and domain-aware memory triage +- **Dream gate** — Automatic memory consolidation during idle periods for higher-quality long-term recall +- **Interactive CLI** — `openclaw mem0 init`, `status`, `config`, `import`, and `event` commands +- **Unified tool naming** — `memory_add` and `memory_delete` replace 4 legacy tools, matching the platform API +- **Security hardened** — Path traversal protection, pinned dependencies, 329 tests across 10 files + + + + + +**Mem0 Plugin for Claude Code, Cursor, and Codex** + +Launched a unified Mem0 plugin across three major AI development environments — Claude Code and Cursor first (March 25), then Codex (April 2): + +- **9 MCP memory tools** — add, search, get, update, delete, bulk delete, entity management via `mcp.mem0.ai` +- **Lifecycle hooks** — Automatic memory capture at session start, context compaction, task completion, and session end +- **Cloud MCP server** — Managed endpoint replaces local MCP and Smithery setup +- **Streamable HTTP transport** — New MCP transport protocol for real-time streaming +- **Codex-specific skill** — Dedicated skill in `mem0-plugin/skills/mem0-codex` for Codex workflows + + + + + +**Apache AGE, Turbopuffer, MiniMax, and pgvector for Node.js** + +Major expansion of the provider ecosystem: + +- **Apache AGE** — New graph store support, bringing the total to 4 graph store backends (Neo4j, Memgraph, Kuzu, Apache AGE) +- **Turbopuffer** — New vector database provider for Python SDK +- **MiniMax** — New LLM provider with dedicated AWS Bedrock support +- **pgvector for Node.js** — PostgreSQL vector support added to the TypeScript OSS SDK +- **Reasoning models** — `reasoning_effort` parameter for OpenAI o1/o3-style models + + + + + +**Mem0 Platform Skill on skills.sh** + +First skill launch — a dedicated Mem0 skill providing platform API reference, quickstart patterns, and integration examples directly inside agent sessions. Available on [skills.sh](https://skills.sh) for any compatible AI coding agent. + + \ No newline at end of file diff --git a/docs/changelog/openclaw.mdx b/docs/changelog/openclaw.mdx new file mode 100644 index 000000000..48ffd8e30 --- /dev/null +++ b/docs/changelog/openclaw.mdx @@ -0,0 +1,185 @@ +--- +title: "OpenClaw" +description: "Release notes for the OpenClaw plugin and agent harness." +mode: "wide" +--- + + + +**Bug Fixes:** +- **Init interactive choice bug**: Fixed number selection in `openclaw mem0 init` — entering 1/2/3 now correctly selects the corresponding option (was broken by readline prefill concatenating with user input) +- **OSS pgvector crash** ([#4727](https://github.com/mem0ai/mem0/issues/4727)): Fixed "Client has already been connected" cascade when using pgvector in OSS mode. The warmup call swallowed errors leaving a half-initialized pg client; concurrent recall/capture then all hit `client.connect()` on the same client. Fix: let warmup errors propagate (so `initPromise` resets and retries with a fresh Memory + fresh pg client) and build fresh config objects per attempt instead of mutating shared state. + +**Removed:** +- **`orgId` / `projectId` config parameters**: Removed from config schema, CLI (`config show/get/set`), init display, and providers. The API key is project-scoped, so separate org/project IDs are unnecessary and could cause access errors if mismatched. +- **`enableGraph` config parameter**: Removed from all config surfaces, providers, backend, and tools. Graph memory is being deprecated — removing the flag avoids unnecessary exposure. + + + + + +**New Features:** +- **Interactive init flow**: `openclaw mem0 init` with interactive menu (email verification or direct API key). Non-interactive modes: `--api-key`, `--email`, `--email --code` +- **`memory_add` tool**: Replaces `memory_store` — name now matches `mem0` CLI and platform API +- **`memory_delete` tool**: Unified delete — single ID, search-then-delete, bulk, entity cascade. Replaces `memory_forget` and `memory_delete_all` +- **CLI subcommands**: `openclaw mem0 init`, `openclaw mem0 status`, `openclaw mem0 config show`, `openclaw mem0 config set` +- **`import` CLI command**: Bulk-import memories from a JSON file with `--user-id` and `--agent-id` overrides +- **`event list` / `event status` CLI commands**: Monitor background processing events +- **`fs-safe.ts` module**: Isolated filesystem wrappers in a separate entry point +- **`backend/` module**: `PlatformBackend` with direct HTTP API access for CLI commands +- **Plugin manifest**: Added `contracts.tools`, `configSchema`, and `uiHints` to `openclaw.plugin.json` +- **Test suite**: 329 tests across 10 test files + +**Changes:** +- **Modular architecture**: Extracted tools into `tools/` directory (6 files) and CLI into `cli/commands.ts` +- **Code splitting**: tsup builds with `splitting: true` and two entry points +- **Skills updated**: All SKILL.md files reference new tool names (`memory_add`, `memory_delete`) +- **Auto-recall timeout**: Recall wrapped in 8-second `Promise.race` +- **Auto-capture fire-and-forget**: `provider.add()` runs in background via `.then()/.catch()` +- **Auto-capture minimum content gate**: Skips extraction when total user content is fewer than 50 chars + +**Removed:** +- `memory_store` tool — replaced by `memory_add` +- `memory_forget` tool — replaced by `memory_delete` +- `memory_delete_all` tool — merged into `memory_delete` +- `memory_history` tool and `history` CLI command — deprecated + + + + + +**Bug Fixes:** +- **Security**: Added `safePath()` containment helper to `readSkillFile` and `readDomainOverlay` in `skill-loader.ts` — prevents directory traversal +- **Noise filter**: Reverted incorrect `After-Compaction` regex rename back to `Post-Compaction` + +**Changes:** +- **Supply-chain hardening**: Pinned `mem0ai` dependency to exact `2.3.0` (was `^2.3.0`) + +**Tests:** +- 12 new tests covering `safePath`, `readSkillFile`, `readDomainOverlay`, and `loadSkill` with traversal inputs + + + + + +**Bug Fixes:** +- **Security**: Removed `resolveEnvVars()` and `resolveEnvVarsDeep()` from `config.ts` — plugin-side env resolution was redundant and triggered static analysis warnings ([#4676](https://github.com/mem0ai/mem0/pull/4676)) + + + + + +**New Features:** +- **CD workflow**: Added continuous deployment workflow with OIDC trusted publishing ([#4672](https://github.com/mem0ai/mem0/pull/4672)) +- **Plugin configuration manifest**: Added `compat` and `build` metadata to `package.json` ([#4667](https://github.com/mem0ai/mem0/pull/4667)) +- **LICENSE**: Added Apache-2.0 license file ([#4667](https://github.com/mem0ai/mem0/pull/4667)) + +**Bug Fixes:** +- **Dream gate**: Fixed cheap-first ordering, session isolation, and verified completion ([#4666](https://github.com/mem0ai/mem0/pull/4666)) +- **Graceful startup**: Plugin now starts gracefully when no API key is configured ([#4669](https://github.com/mem0ai/mem0/pull/4669)) + + + + + +**New Features:** +- **Skills-based memory architecture**: New skill-loader and skill-based extraction pipeline with batched extraction ([#4624](https://github.com/mem0ai/mem0/pull/4624)) +- **Dream gate**: Memory consolidation and dream-cycle processing during idle periods +- **Enhanced recall**: New `recall.ts` module with improved recall logic and skill-aware retrieval +- **Memory triage skill**: Domain-aware memory triage with companion domain support and recall protocol +- **Memory dream skill**: Skill for memory consolidation during idle periods +- **Plugin configuration**: Added `openclaw.plugin.json` manifest and `scripts/configure.py` setup helper + +**Changes:** +- Extraction pipeline refactored to use skills-based architecture for more contextual and higher quality memory capture + + + + + +**New Features:** +- **Improved extraction quality**: Enhanced noise filtering, deduplication, and better extraction instructions + +**Bug Fixes:** +- **Credential detection**: Improved detection of credentials, API keys, and secrets in extraction instructions (#4552) +- **Standalone timestamps**: Prevented extraction of standalone timestamps as memories (#4550) + + + + + +**New Features:** +- **Non-interactive trigger filtering**: Skips recall and capture for `cron`, `heartbeat`, `automation`, and `schedule` triggers +- **Subagent hallucination prevention**: Detects ephemeral subagent sessions and routes recall to parent namespace +- **Dynamic recall thresholding**: Memories scoring less than 50% of top result are dropped +- **SQLite resilience**: Init error recovery with automatic retry for OSS mode +- **`disableHistory` config option**: New `oss.disableHistory` flag +- 78 unit tests covering filtering, isolation, trigger filtering, subagent detection, and SQLite resilience + +**Changes:** +- Auto-recall threshold raised from 0.5 to 0.6 for stricter precision +- Recall candidate pool increased to `topK * 2` for better filtering headroom +- Relaxed extraction instructions: related facts kept together to preserve context + +**Bug Fixes:** +- **Concurrent session race condition**: Lifecycle hooks now use `ctx.sessionKey` directly instead of a shared mutable variable + + + + + +**New Features:** +- **Message filtering pipeline**: Multi-stage noise removal before extraction +- **Broad recall for new sessions**: Short or new-session prompts trigger secondary broad search +- **Client-side threshold filtering**: Safety net that drops low-relevance results +- **Temporal anchoring**: Extraction instructions now include current date +- 55 unit tests covering filtering and isolation helpers + +**Changes:** +- Extraction window expanded from last 10 to last 20 messages +- Rewritten custom extraction instructions for conciseness and deduplication +- Refactored monolithic `index.ts` (1772 lines) into 6 focused modules + + + + + +**Bug Fixes:** +- Updated `mem0ai` dependency with sqlite3 to better-sqlite3 migration (#4270) + + + + + +**New Features:** +- Per-agent memory isolation for multi-agent setups via `agentId` +- "Understanding userId" section in docs + +**Changes:** +- Updated config examples to use concrete `userId` values instead of placeholders + +**Bug Fixes:** +- Migrated platform search to Mem0 v2 API + + + + + +**New Features:** +- Source field for openclaw memory entries + +**Bug Fixes:** +- Auto-recall injection and auto-capture message drop + + + + + +**New Features:** +- Initial release of the OpenClaw Mem0 plugin +- Platform mode (Mem0 Cloud) and open-source mode support +- Auto-recall: inject relevant memories before each turn +- Auto-capture: store facts after each turn +- Configurable `topK`, `threshold`, and `apiVersion` options + + diff --git a/docs/changelog/platform.mdx b/docs/changelog/platform.mdx new file mode 100644 index 000000000..70e8839d1 --- /dev/null +++ b/docs/changelog/platform.mdx @@ -0,0 +1,290 @@ +--- +title: "Platform" +description: "Release notes for the Mem0 hosted platform — backend, dashboard, billing, and infrastructure changes." +mode: "wide" +--- + + + +**Bug Fixes:** +- **Memory:** Fixed ADD functionality + + + + + +**New Features:** +- **UI:** Added Settings UI and latency display +- **Performance:** Neo4j query optimization + +**Bug Fixes:** +- **OpenMemory:** Fixed OMM raising unnecessary exceptions + + + + + +**Improvements:** +- **UI:** Updated Event UI +- **Performance:** Fixed N+1 query issue in semantic_search_v2 by optimizing MemorySerializer field selection + +**Bug Fixes:** +- **Memory:** Fixed duplicate memory index sentry error + + + + + +**New Features:** +- **UI:** New Settings Page +- **Memory:** Duplicate memories entities support + +**Improvements:** +- **Performance:** Optimized semantic search and get_all APIs by eliminating N+1 queries + + + + + +**New Features:** +- **Database:** Implemented read replica routing with enhanced logging and app-specific DB routing + +**Improvements:** +- **Performance:** Improved query performance in search v2 and get all v2 endpoints + +**Bug Fixes:** +- **API:** Fixed pagination for get all API + + + + + +**Bug Fixes:** +- **Graph:** Fixed social graph bugs and connection issues + + + + + +**Improvements:** +- **Rate Limiting:** New rate limit for V2 Search + +**Bug Fixes:** +- **Slack:** Fixed Slack rate limit error with backend improvements + + + + + +**Improvements:** +- **Performance:** + - Changed connection pooling time to 5 minutes + - Separated graph lambdas for better performance + + + + + +**Improvements:** +- **Graph:** Graph Optimizations V2 and memory improvements + + + + + +**New Features:** +- **Database:** Added read replica support for improved database performance +- **UI:** Implemented UI changes for Users Page +- **Feedback:** Enabled feedback functionality + +**Bug Fixes:** +- **Serializer:** Fixed GET ALL Serializer + + + + + +**New Features:** +- **UI:** User Page Revamp and New Users Page + + + + + +**New Features:** +- **Users:** New Users Page implementation +- **Tools:** Added script to backfill memory categories + +**Bug Fixes:** +- **Filters:** Fixed Filters Get All functionality + + + + + +**Improvements:** +- **Graph:** Graph Memory optimization +- **Memory:** Fixed exact memories and semantically similar memories retrieval + + + + + +**Improvements:** +- **Categorization:** Refactored categorization logic to utilize Gemini 2.5 Flash and improve message handling + + + + + +**Bug Fixes:** +- **Memory:** Fixed old_memory issue in Async memory addition lambda +- **Events:** Fixed missing events + + + + + +**Improvements:** +- **Graph:** Improvements to graph memory and added user to LTM-STM + + + + + +**New Features:** +- **Graph:** Added support for SQS in graph memory addition +- **Testing:** Added Locust load testing script and Grafana Dashboard + + + + + +**Improvements:** +- **Rate Limiting:** Updated rate limiting for ADD API to 1000/min +- **Performance:** Improved Neo4j performance + + + + + +**New Features:** +- **Memory:** Edit Memory From Drawer functionality +- **API:** Added Topic Suggestions API Endpoint + + + + + +**New Features:** +- **Group Chat:** Group-Chat v2 with Actor-Aware Memories +- **Memory:** Editable Metadata in Memories +- **UI:** Memory Actions Badges + + + + + +**New Features:** +- **Rate Limiting:** Implemented comprehensive rate limiting system + +**Improvements:** +- **Performance:** Added performance indexes for memory stats query + +**Bug Fixes:** +- **Search:** Fixed search events not respecting top-k parameter + + + + + +**New Features:** +- **Memory Management:** Implemented OpenAI Batch API for Memory Cleaning with fallback +- **Playground:** Added Claude 4 support on Playground + +**Improvements:** +- **Memory:** Added ability to update memory metadata + + + + + +**New Features:** +- **UI:** New Memories Page UI design + + + + + +**Improvements:** +- **Infrastructure:** Migrated to Application Load Balancer (ALB) + + + + + +**Improvements:** +- **Memory Management:** Enhanced Memory Management with Cosine Similarity Fallback + + + + + +**New Features:** +- **OMM:** Added OMM Script and UI functionality + +**Improvements:** +- **API:** Added filters validation to semantic_search_v2 endpoint + + + + + +**New Features:** +- **Intercom:** Set Intercom events for ADD and SEARCH operations +- **OpenMemory:** Added Posthog integration and feedback functionality +- **MCP:** New JavaScript MCP Server with feedback support + +**Improvements:** +- **Structured Data:** Enhanced structured data handling in memory management + + + + + +**New Features:** +- **OAuth:** Added Mem0 OAuth integration +- **OMM:** Added OMM-Mem0 sync for deleted memories + + + + + +**New Features:** +- **Filters:** Implemented Wildcard Filters and refactored filter logic in V2 Views + + + + + +**New Features:** +- **OpenMemory Cloud:** Added OpenMemory Cloud support +- **Structured Data:** Added 'structured_attributes' field to Memory model + + + + + +**New Features:** +- **Projects:** Added version and enable_graph to project views +- **OpenMemory:** Added Postgres support for OpenMemory + + + + + +**Bug Fixes:** +- **Core:** Fixed unicode error in user_id, agent_id, run_id and app_id + + + diff --git a/docs/changelog.mdx b/docs/changelog/sdk.mdx similarity index 84% rename from docs/changelog.mdx rename to docs/changelog/sdk.mdx index 6384a79c8..81b38b2b5 100644 --- a/docs/changelog.mdx +++ b/docs/changelog/sdk.mdx @@ -1,10 +1,9 @@ --- -title: "Product Updates" -description: "Latest releases, bug fixes, and improvements for the Mem0 Python and TypeScript SDKs." +title: "SDK & Tools" +description: "Release notes for the Mem0 Python SDK, TypeScript SDK, Vercel AI SDK, CLI, and editor plugins." mode: "wide" --- - @@ -844,7 +843,6 @@ mode: "wide" - **New Features & Updates:** @@ -1160,352 +1158,141 @@ mode: "wide" - + - + + +**New Features:** +- **Telemetry:** Added PostHog telemetry and source tracking to both Python and Node CLIs ([#4699](https://github.com/mem0ai/mem0/pull/4699)) +- **Validation:** API key validated upfront via `/v1/ping/` on startup — fail-fast with a helpful error instead of cryptic 401s ([#4701](https://github.com/mem0ai/mem0/pull/4701)) **Bug Fixes:** -- **Memory:** Fixed ADD functionality +- **CD:** Fixed OIDC trusted publishing with `npx npm@latest` ([#4724](https://github.com/mem0ai/mem0/pull/4724)) +- **CD:** Removed npm self-upgrade from CD workflows ([#4723](https://github.com/mem0ai/mem0/pull/4723)) - + **New Features:** -- **UI:** Added Settings UI and latency display -- **Performance:** Neo4j query optimization +- **Docs:** Comprehensive README with installation, usage examples, and purple branding ([#4680](https://github.com/mem0ai/mem0/pull/4680)) **Bug Fixes:** -- **OpenMemory:** Fixed OMM raising unnecessary exceptions +- **npm:** Added `repository` field to Node packages for npm provenance ([#4671](https://github.com/mem0ai/mem0/pull/4671)) +- **CD:** Added CD workflows for Node SDK packages with OIDC trusted publishing ([#4670](https://github.com/mem0ai/mem0/pull/4670)) - + -**Improvements:** -- **UI:** Updated Event UI -- **Performance:** Fixed N+1 query issue in semantic_search_v2 by optimizing MemorySerializer field selection +**New Features:** +- **`event` commands:** `mem0 event list` shows recent background processing events in a table; `mem0 event status ` shows full detail including nested memory results ([#4649](https://github.com/mem0ai/mem0/pull/4649)) +- **`--json` / `--agent` flag:** Root-level flag switches all command output to a structured JSON envelope for programmatic/agent consumption. Envelope format: `{"status", "command", "duration_ms", "scope", "count", "data"}` ([#4649](https://github.com/mem0ai/mem0/pull/4649)) +- **Agent output sanitization:** Raw API responses projected to only relevant fields per command (e.g., `add` → `{id, memory, event}`, `search` → `{id, memory, score, created_at, categories}`) ([#4649](https://github.com/mem0ai/mem0/pull/4649)) +- **Email login:** Added email verification code login to `mem0 init` ([#4623](https://github.com/mem0ai/mem0/pull/4623)) +- **Brand update:** Updated color palette from purple to golden ([#4664](https://github.com/mem0ai/mem0/pull/4664)) +- **CI/CD:** Added CI pipelines and CD workflows for both CLIs ([#4640](https://github.com/mem0ai/mem0/pull/4640), [#4653](https://github.com/mem0ai/mem0/pull/4653)) **Bug Fixes:** -- **Memory:** Fixed duplicate memory index sentry error - - - - - -**New Features:** -- **UI:** New Settings Page -- **Memory:** Duplicate memories entities support +- **Node:** Fixed critical `MODULE_NOT_FOUND` crash on `status`, `import`, and all commands when installed globally — replaced runtime `createRequire` with build-time version injection ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- **Node:** API errors now show full response detail instead of bare "Bad Request" ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- **Python:** Fixed double error printing on all commands ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- **`status` command:** Replaced heavyweight `/v1/entities/` check with dedicated `GET /v1/ping/` endpoint ([#4649](https://github.com/mem0ai/mem0/pull/4649)) +- **`add` command:** Deduplicated PENDING results from API; changed misleading count message ([#4649](https://github.com/mem0ai/mem0/pull/4649)) +- **`init` command:** Partial flags now work in non-TTY; warns before overwriting existing config; added `--force` flag ([#4649](https://github.com/mem0ai/mem0/pull/4649)) +- **`delete` command:** Fixed entity delete via v2 API for all entity types ([#4649](https://github.com/mem0ai/mem0/pull/4649)) **Improvements:** -- **Performance:** Optimized semantic search and get_all APIs by eliminating N+1 queries +- Tables now show full UUIDs (was truncated to 8 chars, making `mem0 get ` fail) ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- Search table includes Score column ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- `config get api_key` short-form aliases added ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- Client-side validation for `--expires`, `--page-size`, `--page`, `--top-k`, `--threshold`, and empty content ([#4636](https://github.com/mem0ai/mem0/pull/4636)) +- `printInfo` / `printScope` moved to stderr to avoid contaminating JSON piping ([#4636](https://github.com/mem0ai/mem0/pull/4636)) - + -**New Features:** -- **Database:** Implemented read replica routing with enhanced logging and app-specific DB routing +**Initial Release — Official Mem0 CLI** -**Improvements:** -- **Performance:** Improved query performance in search v2 and get all v2 endpoints +A full-featured command-line interface for Mem0, available in both Python and Node.js: -**Bug Fixes:** -- **API:** Fixed pagination for get all API - - - - - -**Bug Fixes:** -- **Graph:** Fixed social graph bugs and connection issues - - - - - -**Improvements:** -- **Rate Limiting:** New rate limit for V2 Search - -**Bug Fixes:** -- **Slack:** Fixed Slack rate limit error with backend improvements - - - - - -**Improvements:** -- **Performance:** - - Changed connection pooling time to 5 minutes - - Separated graph lambdas for better performance - - - - - -**Improvements:** -- **Graph:** Graph Optimizations V2 and memory improvements - - - - - -**New Features:** -- **Database:** Added read replica support for improved database performance -- **UI:** Implemented UI changes for Users Page -- **Feedback:** Enabled feedback functionality - -**Bug Fixes:** -- **Serializer:** Fixed GET ALL Serializer - - - - - -**New Features:** -- **UI:** User Page Revamp and New Users Page - - - - - -**New Features:** -- **Users:** New Users Page implementation -- **Tools:** Added script to backfill memory categories - -**Bug Fixes:** -- **Filters:** Fixed Filters Get All functionality - - - - - -**Improvements:** -- **Graph:** Graph Memory optimization -- **Memory:** Fixed exact memories and semantically similar memories retrieval - - - - - -**Improvements:** -- **Categorization:** Refactored categorization logic to utilize Gemini 2.5 Flash and improve message handling - - - - - -**Bug Fixes:** -- **Memory:** Fixed old_memory issue in Async memory addition lambda -- **Events:** Fixed missing events - - - - - -**Improvements:** -- **Graph:** Improvements to graph memory and added user to LTM-STM - - - - - -**New Features:** -- **Graph:** Added support for SQS in graph memory addition -- **Testing:** Added Locust load testing script and Grafana Dashboard - - - - - -**Improvements:** -- **Rate Limiting:** Updated rate limiting for ADD API to 1000/min -- **Performance:** Improved Neo4j performance - - - - - -**New Features:** -- **Memory:** Edit Memory From Drawer functionality -- **API:** Added Topic Suggestions API Endpoint - - - - - -**New Features:** -- **Group Chat:** Group-Chat v2 with Actor-Aware Memories -- **Memory:** Editable Metadata in Memories -- **UI:** Memory Actions Badges - - - - - -**New Features:** -- **Rate Limiting:** Implemented comprehensive rate limiting system - -**Improvements:** -- **Performance:** Added performance indexes for memory stats query - -**Bug Fixes:** -- **Search:** Fixed search events not respecting top-k parameter - - - - - -**New Features:** -- **Memory Management:** Implemented OpenAI Batch API for Memory Cleaning with fallback -- **Playground:** Added Claude 4 support on Playground - -**Improvements:** -- **Memory:** Added ability to update memory metadata - - - - - -**New Features:** -- **UI:** New Memories Page UI design - - - - - -**Improvements:** -- **Infrastructure:** Migrated to Application Load Balancer (ALB) - - - - - -**Improvements:** -- **Memory Management:** Enhanced Memory Management with Cosine Similarity Fallback - - - - - -**New Features:** -- **OMM:** Added OMM Script and UI functionality - -**Improvements:** -- **API:** Added filters validation to semantic_search_v2 endpoint - - - - - -**New Features:** -- **Intercom:** Set Intercom events for ADD and SEARCH operations -- **OpenMemory:** Added Posthog integration and feedback functionality -- **MCP:** New JavaScript MCP Server with feedback support - -**Improvements:** -- **Structured Data:** Enhanced structured data handling in memory management - - - - - -**New Features:** -- **OAuth:** Added Mem0 OAuth integration -- **OMM:** Added OMM-Mem0 sync for deleted memories - - - - - -**New Features:** -- **Filters:** Implemented Wildcard Filters and refactored filter logic in V2 Views - - - - - -**New Features:** -- **OpenMemory Cloud:** Added OpenMemory Cloud support -- **Structured Data:** Added 'structured_attributes' field to Memory model - - - - - -**New Features:** -- **Projects:** Added version and enable_graph to project views -- **OpenMemory:** Added Postgres support for OpenMemory - - - - - -**Bug Fixes:** -- **Core:** Fixed unicode error in user_id, agent_id, run_id and app_id +- **Install:** `pip install mem0-cli` (Python) or `npm install -g @mem0/cli` (Node.js) +- **Full command suite:** `add`, `search`, `list`, `get`, `update`, `delete`, `import`, `config`, `init`, `status`, `entity` +- **Interactive setup:** `mem0 init` with API key entry and user ID configuration +- **Works everywhere:** Platform (Mem0 Cloud) and self-hosted OSS modes +- **Scriptable:** `-o json` flag for CI/CD pipelines and automation +- **Dual SDK:** Same commands, same experience across Python and Node.js +- **Shared spec:** Both implementations driven by a single `cli-spec.json` ensuring identical behavior ([#4575](https://github.com/mem0ai/mem0/pull/4575)) - + - + + +**Mem0 Plugin for Claude Code, Cursor, and Codex** + +The unified Mem0 plugin for AI development environments: + +- **9 MCP memory tools:** `add_memory`, `search_memories`, `get_memories`, `get_memory`, `update_memory`, `delete_memory`, `delete_all_memories`, `delete_entities`, `list_entities` — all via `mcp.mem0.ai` +- **Lifecycle hooks:** Automatic memory capture at session start, context compaction, task completion, and session end +- **Cloud MCP server:** Managed endpoint replaces local MCP and Smithery setup +- **Streamable HTTP transport:** New MCP transport protocol for real-time streaming +- **Codex-specific skill:** Dedicated skill in `mem0-plugin/skills/mem0-codex` for Codex workflows +- **Supported editors:** Claude Code, Claude Cowork, Cursor, Codex + + + + **Bug Fix:** -- **Vercel AI SDK:** Removed unnecessary dependencies to make the package lighter. +- Removed unnecessary dependencies to make the package lighter. - + +**New Features:** +- Added file support for multimodal capabilities with memory context (v2.0.3) + **Bug Fix:** -- **Vercel AI SDK:** Fixed version parameter in the AI SDK to use V2 for addition. +- Fixed version parameter to use V2 for addition (v2.0.4) - -**New Features:** -- **Vercel AI SDK:** Added file support for multimodal capabilities with memory context - - - + **Bug Fix:** -- **Vercel AI SDK:** Fixed streaming response in the AI SDK. +- Fixed streaming response in the AI SDK. - + **New Features:** -- **Vercel AI SDK:** Added a new param `host` to the config. +- Migration to AI SDK V5 (v2.0.0) +- Added `host` param to the config (v2.0.1) - + **New Features:** -- **Vercel AI SDK:** Migration to AI SDK V5. +- Added `filter_memories` param. - + **New Features:** -- **Vercel AI SDK:** Added param `filter_memories`. +- Added support for Google provider. - + **New Features:** -- **Vercel AI SDK:** Added support for Google provider. - +- Added support for `output_format` param (v1.0.4) - -**New Features:** -- **Vercel AI SDK:** Added support for new param `output_format`. - - - **Improvements:** -- **Vercel AI SDK:** Added support for graceful failure in cases services are down. +- Added graceful failure handling when services are down (v1.0.3) - + **New Features:** -- **Vercel AI SDK:** Added support for graph memories +- Added support for graph memories. - diff --git a/docs/docs.json b/docs/docs.json index d8729fb8c..c06d8a2be 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -138,7 +138,10 @@ "group": "Release Notes", "icon": "rocket", "pages": [ - "changelog" + "changelog/highlights", + "changelog/sdk", + "changelog/platform", + "changelog/openclaw" ] } ] @@ -609,6 +612,10 @@ ] }, "redirects": [ + { + "source": "/changelog", + "destination": "/changelog/highlights" + }, { "source": "/api-reference/memory/v2-search-memories", "destination": "/api-reference/memory/search-memories" diff --git a/openclaw/CHANGELOG.md b/openclaw/CHANGELOG.md deleted file mode 100644 index f020c5555..000000000 --- a/openclaw/CHANGELOG.md +++ /dev/null @@ -1,178 +0,0 @@ -# Changelog - -All notable changes to the `@mem0/openclaw-mem0` plugin will be documented in this file. - -## [1.0.5] - 2026-04-07 - -### Fixed -- **Init interactive choice bug**: Fixed number selection in `openclaw mem0 init` — entering 1/2/3 now correctly selects the corresponding option (was broken by readline prefill concatenating with user input) -- **OSS pgvector crash** ([#4727]): Fixed "Client has already been connected" cascade when using pgvector in OSS mode. The warmup call swallowed errors leaving a half-initialized pg client; concurrent recall/capture then all hit `client.connect()` on the same client. Fix: let warmup errors propagate (so `initPromise` resets and retries with a fresh Memory + fresh pg client) and build fresh config objects per attempt instead of mutating shared state. - -### Removed -- **`orgId` / `projectId` config parameters**: Removed from config schema, CLI (`config show/get/set`), init display, and providers. The API key is project-scoped, so separate org/project IDs are unnecessary and could cause access errors if mismatched. -- **`enableGraph` config parameter**: Removed from all config surfaces, providers, backend, and tools. Graph memory is being deprecated — removing the flag avoids unnecessary exposure. - -## [1.0.4] - 2026-04-04 - -### Added -- **Interactive init flow**: `openclaw mem0 init` with interactive menu (email verification or direct API key). Non-interactive modes: `--api-key`, `--email`, `--email --code` -- **`memory_add` tool**: Replaces `memory_store` — name now matches `mem0` CLI and platform API -- **`memory_delete` tool**: Unified delete — single ID, search-then-delete, bulk, entity cascade. Replaces `memory_forget` and `memory_delete_all` -- **CLI subcommands**: `openclaw mem0 init`, `openclaw mem0 status` (renamed from `stats`), `openclaw mem0 config show`, `openclaw mem0 config set` -- **`import` CLI command**: Bulk-import memories from a JSON file with `--user-id` and `--agent-id` overrides -- **`event list` / `event status` CLI commands**: Monitor background processing events -- **`fs-safe.ts` module**: Isolated filesystem wrappers (sync read/write/exists/mkdir/unlink) in a separate entry point — keeps file I/O out of the main bundle -- **`backend/` module**: `PlatformBackend` with direct HTTP API access for CLI commands -- **`cli/config-file.ts`**: Persistent plugin auth storage in `~/.openclaw/openclaw.json` -- **Plugin manifest**: Added `contracts.tools`, `configSchema`, and `uiHints` to `openclaw.plugin.json` -- **Test suite**: 329 tests across 10 test files covering tools, CLI, config, dream gate, providers, and skill-loader - -### Changed -- **Modular architecture**: Extracted tools into `tools/` directory (6 files) and CLI into `cli/commands.ts` — `index.ts` down from ~1700 to ~890 lines -- **Code splitting**: tsup builds with `splitting: true` and two entry points (`index.ts`, `fs-safe.ts`), separating filesystem I/O from the main bundle -- **Skills updated**: All SKILL.md files reference new tool names (`memory_add`, `memory_delete`) matching the plugin manifest -- **WRITE_TOOLS updated**: Dream gate tracks `memory_delete` and `memory_add` instead of `memory_forget` and `memory_store` -- **`mem0ai` dependency**: Updated from `2.3.0` to `2.4.5` -- **Auto-recall timeout**: Recall wrapped in 8-second `Promise.race` — if the LLM takes too long, recall is skipped instead of stalling the gateway -- **Auto-capture fire-and-forget**: `provider.add()` now runs in the background via `.then()/.catch()` — the `agent_end` hook returns immediately, zero event loop blocking -- **Auto-capture minimum content gate**: Skips extraction when total user content is <50 chars after filtering — trivial conversations ("ok", "thanks") no longer trigger LLM calls -- **CLI search**: Lowered threshold to 0.3 so explicit searches are more permissive than auto-recall -- **Init defaults**: Choice defaults to `1` (email login) on Enter, User ID defaults to OS username — no more empty values -- **Init no longer stores `baseUrl`**: Uses `https://api.mem0.ai` directly instead of persisting it to config -- **Help output reordered**: `openclaw mem0 help` now shows high-value commands first (search, add) instead of alphabetical - -### Removed -- `memory_store` tool — replaced by `memory_add` -- `memory_forget` tool — replaced by `memory_delete` -- `memory_delete_all` tool — merged into `memory_delete` -- `memory_history` tool and `history` CLI command — deprecated -- **`custom_instructions` / `custom_categories` in `buildAddOptions`**: No longer injected into every auto-capture API call. Config fields (`customInstructions`, `customCategories`) remain as user-configurable options. - -## [1.0.3] - 2026-04-03 - -### Fixed -- **Path traversal vulnerability**: Added `safePath()` containment helper to `readSkillFile` and `readDomainOverlay` in `skill-loader.ts` — prevents directory traversal via `config.domain` or the exported `loadSkill` API -- **Noise filter regression**: Reverted incorrect `After-Compaction` regex rename back to `Post-Compaction` so the filter correctly matches real upstream compaction audit messages -- **Cosmetic revert**: Restored `// Over-fetch for ranking` comment in `recall.ts` (was changed to work around a false-positive scanner match on the substring `fetch`) - -### Changed -- **Supply-chain hardening**: Pinned `mem0ai` dependency to exact `2.3.0` (was `^2.3.0`) - -### Added -- **Path traversal tests**: 12 new tests covering `safePath`, `readSkillFile`, `readDomainOverlay`, and `loadSkill` with traversal inputs - -## [1.0.2] - 2026-04-02 - -### Fixed -- **Security scanner warning**: Removed `resolveEnvVars()` and `resolveEnvVarsDeep()` from `config.ts` — OpenClaw already resolves `${VAR}` in `openclaw.json` before passing config to the plugin, so plugin-side env resolution was redundant and triggered the "credential harvesting" static analysis warning ([#4676](https://github.com/mem0ai/mem0/pull/4676)) - -## [1.0.1] - 2026-04-02 - -### Added -- **CD workflow**: Added continuous deployment workflow for `@mem0/openclaw-mem0` with OIDC trusted publishing ([#4672](https://github.com/mem0ai/mem0/pull/4672)) -- **Plugin configuration manifest**: Added `compat` and `build` metadata to `package.json` specifying minimum gateway version and OpenClaw SDK compatibility (`>=2026.3.24-beta.2`) ([#4667](https://github.com/mem0ai/mem0/pull/4667)) -- **LICENSE**: Added Apache-2.0 license file to the package ([#4667](https://github.com/mem0ai/mem0/pull/4667)) - -### Fixed -- **Dream gate correctness**: Fixed cheap-first ordering, session isolation, and verified completion in the dream gate memory consolidation pipeline ([#4666](https://github.com/mem0ai/mem0/pull/4666)) -- **Graceful startup without API key**: Plugin now starts gracefully when no API key is configured instead of crashing on init ([#4669](https://github.com/mem0ai/mem0/pull/4669)) - -## [1.0.0] - 2026-04-01 - -### Added -- **Skills-based memory architecture**: New skill-loader and skill-based extraction pipeline with batched extraction for higher quality memory capture ([#4624](https://github.com/mem0ai/mem0/pull/4624)) -- **Dream gate**: Added `dream-gate.ts` for memory consolidation and dream-cycle processing -- **Enhanced recall**: New `recall.ts` module with improved recall logic and skill-aware retrieval -- **Memory triage skill**: Domain-aware memory triage with companion domain support and recall protocol -- **Memory dream skill**: Skill for memory consolidation during idle periods -- **Plugin configuration**: Added `openclaw.plugin.json` manifest and `scripts/configure.py` setup helper - -### Changed -- Extraction pipeline refactored to use skills-based architecture for more contextual and higher quality memory capture - -## [0.4.1] - 2026-03-26 - -### Added -- **Improved extraction quality**: Enhanced noise filtering, deduplication, and better extraction instructions for higher-quality memory capture (#4302) - -### Fixed -- **Credential detection in extraction**: Improved detection of credentials, API keys, and secrets in extraction instructions to prevent them from being stored as memories (#4552) -- **Standalone timestamp extraction**: Prevented extraction of standalone timestamps as memories when no meaningful content accompanies them (#4550) - -## [0.4.0] - 2026-03-16 - -### Added -- **Non-interactive trigger filtering**: Skips recall and capture for `cron`, `heartbeat`, `automation`, and `schedule` triggers — prevents system-generated noise from polluting memory -- **Subagent hallucination prevention**: `isSubagentSession()` detects ephemeral subagent sessions and routes recall to the parent (main user) namespace instead of empty ephemeral namespaces; skips capture to prevent orphaned memories -- **Subagent-specific preamble**: Subagents receive "You are a subagent — use these memories for context but do not assume you are this user" to prevent identity assumption -- **User identity in recall preamble**: Recalled memories now include `userId` attribution for better context -- **User identity in extraction preamble**: Extraction context includes user identity and current date for accurate attribution and temporal anchoring -- **User-content guard**: Skips extraction when no meaningful user messages remain after filtering -- **Dynamic recall thresholding**: Memories scoring less than 50% of the top result are dropped to filter out the long tail of weak matches -- **SQLite resilience for OSS mode**: Init error recovery with automatic retry (history disabled) when native SQLite bindings fail under jiti -- **`disableHistory` config option**: New `oss.disableHistory` flag to explicitly skip history DB initialization -- **Updated minimum package version of mem0ai package**: Updated minimum package version of mem0ai package to ^2.3.0 to force old users to migrate to better-sqlite3 -- 78 unit tests covering filtering, isolation, trigger filtering, subagent detection, and SQLite resilience - -### Changed -- Auto-recall threshold raised from 0.5 to 0.6 for stricter precision during automatic injection (explicit tool searches remain at 0.5) -- Recall candidate pool increased to `topK * 2` for better filtering headroom -- Provider init promises now reset on failure, allowing retry on subsequent calls -- Relaxed extraction instructions: related facts are kept together to preserve context (removed atomic memory requirement) - -### Fixed -- **Concurrent session race condition**: Lifecycle hooks (`before_agent_start`, `agent_end`) now use `ctx.sessionKey` directly from the event context instead of a shared mutable `currentSessionId` variable, preventing cross-session data leaks when multiple sessions run simultaneously - -## [0.3.1] - 2026-03-12 - -### Added -- **Message filtering pipeline**: Multi-stage noise removal before extraction — drops heartbeats, timestamps, single-word acks, system routing metadata, compaction audit logs, and generic assistant acknowledgments -- **Broad recall for new sessions**: Short or new-session prompts trigger a secondary broad search to avoid cold-start blindness -- **Client-side threshold filtering**: Safety net that drops low-relevance results even if the API doesn't honor the threshold parameter -- **Temporal anchoring**: Extraction instructions now include current date so memories are prefixed with "As of YYYY-MM-DD, ..." -- **Summary message inclusion**: Earlier assistant messages containing work summaries are included in extraction context even if outside the recent-message window -- 55 unit tests covering filtering and isolation helpers - -### Changed -- Default `searchThreshold` remains at 0.5, with client-side filtering as a safety net -- Extraction window expanded from last 10 → last 20 messages for richer context -- Rewritten custom extraction instructions: conciseness, outcome-over-intent, deduplication guidance, language preservation -- **Refactored** monolithic `index.ts` (1772 lines) into 6 focused modules: `types.ts`, `providers.ts`, `config.ts`, `filtering.ts`, `isolation.ts`, `index.ts` - -### Fixed -- **README image on npmjs.com**: Changed architecture diagram from relative path to absolute GitHub URL so it renders correctly on the npm registry - -## [0.3.0] - 2026-03-10 - -### Fixed -- Updated `mem0ai` dependency which includes the sqlite3 to better-sqlite3 migration for native binding resolution (#4270) - -## [0.2.0] - 2026-03-09 - -### Added -- "Understanding userId" section in docs clarifying that `userId` is user-defined -- Per-agent memory isolation for multi-agent setups via `agentId` -- Regression tests for per-agent isolation helpers - -### Changed -- Updated config examples to use concrete `userId` values instead of placeholders - -### Fixed -- Migrated platform search to Mem0 v2 API - -## [0.1.2] - 2026-02-19 - -### Added -- Source field for openclaw memory entries - -### Fixed -- Auto-recall injection and auto-capture message drop - -## [0.1.0] - 2026-02-02 - -### Added -- Initial release of the OpenClaw Mem0 plugin -- Platform mode (Mem0 Cloud) and open-source mode support -- Auto-recall: inject relevant memories before each turn -- Auto-capture: store facts after each turn -- Configurable `topK`, `threshold`, and `apiVersion` options