Releases: mem0ai/mem0
Mem0 Python SDK (v2.0.5)
Mem0 Python SDK (v2.0.5)
New Features:
- Memory: Warn at init time when hybrid/BM25 search silently degrades to semantic-only because the configured vector store does not implement
keyword_search. Affected stores: Chroma, FAISS, Cassandra, LangChain, Neptune Analytics, S3 Vectors, Supabase, TurboPuffer, Valkey (#5444) - Memory: Add opt-in
explain=Trueparameter toMemory.search()andAsyncMemory.search(). When enabled, each result includes ascore_breakdowndict withsemantic,keyword(normalized BM25),entity_boost, andtemporal_boostsignals so callers can understand and tune retrieval ranking (#5102)
Bug Fixes:
- Vector Stores: Normalize similarity scores to
[0, 1](higher = better) consistently across all backends. 11 adapters previously returned raw distance metrics (lower = better) — FAISS, Chroma, Milvus, Redis, Cassandra, PGVector, S3 Vectors, Supabase, Valkey, Azure MySQL, and Vertex AI Vector Search — causing incorrect ranking in multi-store setups (#5391) - Memory: Parallelize entity boost searches in
Memory.search()andAsyncMemory.search(). Previously up to 8 entities were embedded and queried sequentially (16 serial round-trips with remote embedders); all entity lookups now run concurrently, eliminating multi-second latency on entity-rich queries (#5377) - Memory: Reject empty or whitespace-only queries in
Memory.search(),AsyncMemory.search(),MemoryClient.search(), andAsyncMemoryClient.search()before any embedding or API call is made. Also strips leading/trailing whitespace from valid queries (#5258) - LLMs: Add
is_reasoning_model: Optional[bool]override toBaseLlmConfig(surfaced onOpenAILlmConfigandAzureOpenAILlmConfig). Fixes silent zero-extraction when using Azure deployments with versionedgpt-5.xnames that the automatic name-based heuristic cannot recognize (#5327) - LLMs: Fix xAI LLM provider: add
XAIConfigwithxai_base_url, forwardtools/tool_choiceingenerate_response(), and parsetool_callsin the response. Previously the provider raisedAttributeErrorat init and silently dropped tool results (#5190) - Vector Stores: Fix PGVector
ConnectionPoolhang in Docker Compose environments where the app container starts before Postgres is DNS-resolvable — switched toopen=Falseto avoid blocking constructor or silent zombie pool (#5155) - Vector Stores: Fix PGVector
sslmodehandling for PostgreSQL URIs — thesslmodequery parameter is now correctly extracted and forwarded when building the async connection pool (#5308) - Vector Stores: Fix S3 Vectors
list()not applying metadata filters — filtering is now done client-side after fetching, with pagination preserved andtop_kapplied after filtering to prevent pre-truncation of matching rows (#5018) - Vector Stores: Fix Upstash Vector
search()routing all queries to the default namespace —namespaceis now passed as a top-level keyword argument toquery_many()instead of inside the per-query dict where it was silently ignored (#5202) - Core: Replace mutable default arguments with
Nonesentinels in embedder configs and the proxy module, preventing cross-request state contamination (#5302)
Vercel AI SDK Provider (v3.0.0)
Vercel AI SDK Provider (v3.0.0)
Major Release
Migrated to Vercel AI SDK v6 (LanguageModelV3 / ProviderV3) and the Mem0 v3 API.
Breaking Changes
AI SDK v6
-
Upgraded from AI SDK v5 (LanguageModelV2) to AI SDK v6 (LanguageModelV3).
-
Users must upgrade:
ai→^6.0.199- All
@ai-sdk/*provider packages →^3.x
Mem0 v3 API
-
Memory endpoints migrated:
/v1/memories/→/v3/memories/add//v2/memories/search→/v3/memories/search/
-
Entity IDs (
user_id,agent_id,run_id) must now be provided inside thefiltersobject for search requests.
Graph Memory Removed
-
Removed:
enable_graph- Graph prompts
- Relation extraction code
-
Graph memory is now configured as a project-level setting in the Platform.
Deprecated Parameters Removed
The following fields have been removed from Mem0ConfigSettings:
org_idproject_idorg_nameproject_nameoutput_formatfilter_memoriesasync_modeenable_graphversionapi_version
New Features
V3 Provider Contract
specificationVersion: "v3"supportedUrlsproperty- V3 content arrays in
doGenerate - V3 stream lifecycle events in
doStream
Mem0 Source in Responses
-
Memories are attached as a
sourceingenerateTextandstreamTextresponses. -
Programmatic access is available via:
providerMetadata.mem0.memories
Bug Fixes
Async Memory Storage
addMemoriesis now properly awaited.- Memories no longer silently fail to store.
Prompt Mutation
- Prompt arrays are now cloned before memory context injection.
- Prevents side effects on the caller's array.
Null Guard on Content
doGeneratenow guards againstnullcontentvalues returned by upstream providers.
Stream Response
doStreamnow returns the completeLanguageModelV3StreamResultobject.- Preserves all V3 fields.
Response Normalization
-
getMemoriesandretrieveMemoriesnow support both response formats:[...]{ results: [...] }
Mem0 Node SDK (v3.0.7)
Mem0 Node SDK (v3.0.7)
New Features:
- Embeddings: Add
LMStudioEmbeddingprovider for local embeddings via the LM Studio server (#5377) - Memory: Add opt-in
explain: trueoption toMemory.search(). When enabled, each result includes ascoreBreakdownobject withsemantic,keyword,entityBoost, andtemporalBoostfields so callers can inspect and tune retrieval ranking (#5102)
Bug Fixes:
- Memory: Parallelize entity boost searches in
Memory.search(). All entity embed + store lookups now run concurrently instead of sequentially, eliminating multi-second latency on entity-rich queries with remote embedding providers (#5377) - Vector Stores: Normalize similarity scores to
[0, 1](higher = better) — fixed score inversion in the Redis vector store adapter (#5391) - Embeddings: Request
encoding_format: "float"from the OpenAI embedder in bothembed()andembedBatch(). Fixes incorrect vector dimensions when using OpenAI-compatible proxies that default to base64 encoding (#5170)
Mem0 Pi Agent Plugin (v0.1.1)
Mem0 Pi Agent Plugin (v0.1.1)
Changes
- chore: version bump to validate the new CI/CD workflows (#5469, #5471)
- fix: correct repository.url for npm provenance validation (#5473)
Full changelog: pi-agent-plugin
Vercel AI SDK Provider (v2.4.6)
Vercel AI SDK Provider (v2.4.6)
Security:
- Dependencies: Pinned transitive dependencies via pnpm overrides to remediate high-severity CVEs:
glob→ ^10.5.0 (CVE-2025-64756),minimatch→ ^3.1.3 / ^5.1.8 / ^9.0.7 (CVE-2026-27903, CVE-2026-27904, CVE-2026-26996),picomatch→ ^2.3.2 (CVE-2026-33671),rollup→ ^4.59.0 (CVE-2026-27606)
Mem0 Node SDK (v3.0.6)
Mem0 Node SDK (v3.0.6)
Security:
- Dependencies: Bumped
axiosto^1.16.0to remediate high-severity prototype-pollution CVEs (credential theft, MITM, DoS). Pinned transitive dependencies via pnpm overrides:jws→ 4.0.1 (CVE-2025-65945),langsmith→ ^0.6.0 (CVE-2026-45134),tar-fs→ ^2.1.4 (CVE-2025-48387, CVE-2025-59343),picomatch→ ^2.3.2 (CVE-2026-33671),minimatch→ ^3.1.3 / ^5.1.8 / ^9.0.7 (CVE-2026-27903, CVE-2026-27904, CVE-2026-26996),path-to-regexp→ ^8.4.0 (CVE-2026-4926),rollup→ ^4.59.0 (CVE-2026-27606),glob→ ^10.5.0 (CVE-2025-64756),@modelcontextprotocol/sdk→ ^1.25.4 (CVE-2025-66414, CVE-2026-0621)
Mem0 OpenClaw Plugin (v1.0.12)
Mem0 OpenClaw Plugin (v1.0.12)
Security:
- Dependencies: Pinned transitive dependencies via pnpm overrides to remediate high-severity CVEs:
protobufjs→ ^7.5.5,vite→ ^8.0.5,langsmith→ ^0.6.0 (CVE-2026-45134),picomatch→ ^2.3.2 (CVE-2026-33671),@qdrant/js-client-rest→ ^1.18.0
Mem0 Node CLI (v0.2.8)
Mem0 Node CLI (v0.2.8)
Security:
- Dependencies: Pinned transitive dependencies via pnpm overrides to remediate high-severity CVEs:
jws→ 4.0.1 (CVE-2025-65945),langsmith→ ^0.6.0 (CVE-2026-45134),tar-fs→ ^2.1.4 (CVE-2025-48387, CVE-2025-59343),picomatch→ ^2.3.2 (CVE-2026-33671),minimatch→ ^3.1.3 / ^5.1.8 / ^9.0.7 (CVE-2026-27903, CVE-2026-27904, CVE-2026-26996),path-to-regexp→ ^8.4.0 (CVE-2026-4926),rollup→ ^4.59.0 (CVE-2026-27606),glob→ ^10.5.0 (CVE-2025-64756),@modelcontextprotocol/sdk→ ^1.25.4 (CVE-2025-66414, CVE-2026-0621)
Mem0 OpenCode Plugin (v0.1.2)
Mem0 OpenCode Plugin (v0.1.2)
Automatic Coding Categories
Categories are now configured automatically in the background when the plugin starts — no manual setup needed.
- 17 development-focused categories installed on the Mem0 project at startup (architecture_decisions, api_design, security, debugging_notes, etc.)
- Fully idempotent: SHA-256 fingerprints of the category list and API key gate re-application (~/.mem0/categories_setup.json)
- Never blocks session initialization — runs as a background promise
- /mem0:onboard Step 5 now verifies categories exist rather than prompting the user to install them (#5300)
Global Search Mode
New global_search toggle for cross-user, cross-project memory access.
- Set global_search: true in ~/.mem0/settings.json to search all memories across all users and projects
- Searches use {"OR": [{"user_id": "*"}]} filters; writes still scope to the current user_id and app_id
- Applies to all plugin search paths: initial load, per-message recall, resume detection, error-pattern lookup, and compaction context
- MEM0_GLOBAL_SEARCH env var exported to child shells via the shell.env hook (#5300)
/mem0:switch-project Expanded
- Added --global flag to enable global search (/mem0:switch-project --global)
- Added --no-global flag to disable it and return to per-project scoping
- Persists to ~/.mem0/settings.json — no manual config editing needed (#5300)
Search Filter Changes
- All search paths now dynamically construct filters based on the global_search setting
- Resume and error-pattern searches no longer include metadata.type sub-filters (session_state, decision, anti_pattern, bug_fix), broadening recall
- System context message updated to inform the model when global search is active (#5300)
Mem0 OpenCode Plugin (v0.1.1)
Mem0 OpenCode Plugin (v0.1.1)
Maintenance
-
First release built and published via the new
opencode-plugin-cd.ymlworkflow.- Builds with Bun
- Publishes to npm with provenance via OIDC trusted publishing (#5287)
-
Added an
opencode-pluginchecks CI workflow:- Bun install
tsctype-check- Build verification
dist/index.jsverification
Runs on pushes and PRs touching the plugin. (#5287)