Repository navigation
Releases: mem0ai/mem0
Releases · mem0ai/mem0
Release list
Mem0 Python SDK (v2.2.1)
Bug Fixes:
- Core:
add()(MemoryandAsyncMemory) no longer reports records the vector store rejected as successfulADDevents. Only records that were actually inserted are written to history, entity-linked, and returned. If none of the extracted memories could be inserted,add()now raisesVectorStoreErrorinstead of returning memories that were never stored (#7066) - Core: Restore the context-manager protocol on
Memory(with Memory() as m:) andAsyncMemory(async with AsyncMemory() as m:), which closes the instance on exit (#7354) - LLMs: The AWS Bedrock Anthropic path now returns the first Converse content block that carries text instead of always reading
content[0]. Claude reasoning models can emit areasoningContentblock before the text block, which previously made the call fail with aKeyError(#6369) - Vector Stores: Turbopuffer filters now apply every operator (
eq,ne,gt,gte,lt,lte,in,nin). Onlygteandltewere read before, so any other operator was silently dropped and the query returned unfiltered results. An unsupported operator now raisesValueError(#6564) - Vector Stores: Turbopuffer
search()scores now respectdistance_metric. Witheuclidean_squared, the unbounded squared distance maps to1 / (1 + distance)instead of1 - distance, which went negative and inverted ranking for any distance above 1 (#6559) - Vector Stores: S3 Vectors
search()scores are now metric-aware. Witheuclidean, the distance maps to1 / (1 + distance)instead ofmax(0, 1 - distance), which collapsed most scores to 0 (#6547)
Mem0 Node SDK (v3.3.1)
Bug Fixes:
- Config (OSS):
ConfigManagerno longer injects OpenAI's defaultbaseURLandmodelinto non-OpenAI LLM providers. The defaults now apply only toopenaiandopenai_structured, so a DeepSeek, xAI, or other provider config without an explicitbaseURLormodelfalls back to that provider's own defaults and env vars (DEEPSEEK_API_BASE,XAI_API_BASE, ...) instead of pointing at OpenAI with an OpenAI model name (#7350) - Vector Stores: Turbopuffer filters now apply every operator (
eq,ne,gt,gte,lt,lte,in,nin). Only the range operators were read before, soeq,ne,in, andninwere silently dropped. A"*"value now matches anything instead of nothing, an array value is treated asin, and an unsupported operator throws (#6578) - Vector Stores: Turbopuffer
search()witheuclidean_squarednow maps the unbounded squared distance to1 / (1 + distance)instead of1 - distance, which went negative and inverted ranking for any distance above 1 (#6580) - Packaging:
pg,@types/pg, andnaturalare now optional peer dependencies, andpg/@types/pgaccept caret ranges instead of the exact8.11.3/8.11.0pins, so installingmem0aino longer pulls inpgor conflicts with an app's ownpgversion. The PGVector store now importspgonly when it is used, so install it alongsidemem0ai(npm install pg) if you use that store.@types/jestmoved from peer dependencies to dev dependencies (#7450)
Mem0 Python SDK (v2.2.0)
New Features:
- Client: Add User Profiles to
MemoryClientandAsyncMemoryClient:get_profile(),generate_profile(),get_profile_settings(),update_profile_settings(),sample_profiles(), andget_profile_job(). A profile is a structured, always-current JSON summary of one user, shaped by a JSON Schema you configure per project and filled by an LLM from that user's memories. Generation is asynchronous. Every job POST carries anIdempotency-Key; to retry a lost request without starting a second job, pass the sameidempotency_keyon each attempt (#7340)
Bug Fixes:
- Vector Stores: Guard against
Nonetimestamps in the Valkey vector store'sinsert()andupdate()paths.created_atandupdated_atfields that were present in the payload but set toNonepreviously passed the"created_at" not in payload/"updated_at" in payloadchecks and raisedTypeErrorwhendatetime.fromisoformat()receivedNone. Both paths now use.get()with a truthiness check soNonevalues fall through to the default, matching the Redis provider's behavior (#6993)
Mem0 Node SDK (v3.3.0)
New Features:
- Client: Add User Profiles to
MemoryClient:getProfile(),generateProfile(),getProfileSettings(),updateProfileSettings(),sampleProfiles(), andgetProfileJob(). A profile is a structured, always-current JSON summary of one user, shaped by a JSON Schema you configure per project and filled by an LLM from that user's memories. Generation is asynchronous. Every job POST carries anIdempotency-Key; to retry a lost request without starting a second job, pass the sameidempotencyKeyon each attempt (#7340)
Mem0 Pi Agent Plugin (v0.3.2)
Improvements:
- Search: The memory policy,
mem0_memorytool description, and prompt guidelines no longer ask the agent to search before answering anything that may depend on earlier context or to run several searches per question. They now ask for a search before repeating investigation or when earlier decisions, fixes, commands, or results may help (#7420) - Skills:
context-loadermakes one search instead of 2-4 parallel searches, and uses the search skill description from the other coding-agent plugins (#7420) - Automatic recall: Injected memories are introduced as "Mem0 found these relevant memories from earlier work in this repository:", the same heading as the Python plugins. The old heading called them a shallow first pass and told the agent to search again (#7420)
Mem0 OpenCode Plugin (v0.4.1)
Improvements:
- Search: The
search_memoriestool description no longer asks the agent to search proactively or to run several searches for multi-part questions. It now asks for a search before repeating investigation or when earlier decisions, fixes, commands, or results may help, the same wording as the other coding-agent plugins (#7420) - Session context: Removed two system-context lines that told the agent to run 2 parallel searches before responding and 2-4 parallel searches for non-trivial tasks (#7420)
- Skills:
/mem0-searchand/mem0-context-loadermake onesearch_memoriescall instead of 2 and 2-4 parallel calls./mem0-context-loadernow uses the search skill description from the other coding-agent plugins instead of asking to load at every new task or context switch (#7420)
Mem0 OpenClaw Plugin (v1.2.1)
Improvements:
- Search: The
memory_searchtool description no longer asks the agent to search proactively or to run several searches for multi-part questions. It now asks for a search before repeating investigation or when earlier decisions, fixes, commands, or results may help. Recall strategies (smart,always,manual) are unchanged (#7420)
Mem0 DeepSeek Plugin (v0.3.2)
Improvements:
- Search: The
search_memorytool description no longer asks the agent to search proactively before answering anything that may depend on earlier context. It now asks for a search before repeating investigation or when earlier decisions, fixes, commands, or results may help (#7420) - Automatic recall: Injected memories are introduced as "Mem0 found these relevant memories from earlier work:". The old heading called them a shallow first pass and told the agent to search again with
mem0_memory, a tool DeepSeek does not have (#7420)
Mem0 Python SDK (v2.1.0)
Improvements:
- Client: Requests now carry three surface-identity headers so the platform can tell which product made a call.
X-Mem0-Sourcenames the surface andX-Applicationthe host app it runs inside, both set-once so a wrapper that already declared its identity keeps it.X-Mem0-Clientis append-only and carriesname/versionper layer, outermost first, so a plugin calling this SDK reports the whole chain rather than only the last speaker.MEM0_SOURCE,MEM0_APPLICATIONandMEM0_CLIENT_STACKset them from the environment for wrappers that cannot pass options (#7326) - Client: The client stack is bounded by dropping whole entries rather than slicing characters, and this SDK's own entry is the reserved one. Truncating the joined string could sever an identifier mid-name and the platform parsed the fragment as a real client (#7326)
Vercel AI SDK Provider (v3.0.3)
Improvements:
- Client: Inherits the three surface-identity headers (
X-Mem0-Source,X-Application,X-Mem0-Client) from the TypeScript SDK bump, so platform calls made through the Vercel AI SDK provider are now correctly attributed (#7326)