- Python
- TypeScript
- CLI
- Plugins
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)
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)
- 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)
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)
v2.0.20
Improvements:
- OSS notices: Notice configuration now comes from a static, cacheable repository file with a bundled disabled fallback and deterministic rollout assignment, instead of calling PostHog’s feature-flag evaluation API. This keeps notices fail-safe when the remote config is unavailable and removes the PostHog feature-flag request from notice evaluation (#7185)
- Vector Stores:
RedisDBConfignow uses Pydantic’s nativeextra="forbid"handling for unknown fields instead of a custom model validator, preserving strict validation while returning standard Pydantic errors (#7089)
v2.0.19
Bug Fixes:
- Embeddings:
HuggingFaceEmbeddingnow falls back to theHUGGINGFACE_API_KEYenv var, then a placeholder key, whenhuggingface_base_urlis set and noapi_keyis configured. The OpenAI-compatible client used to talk to TEI endpoints raises at construction when no key resolves at all, so a TEI deployment that doesn’t require a real key previously failed to initialize (#6947) - Core:
remove_code_blocks()now accepts list-shaped content (a sequence of{"text": ...}blocks, as some agent frameworks pass) by joining each block’s text before stripping code fences, instead of raisingAttributeErrorfrom calling.strip()on a list (#6947) - Core:
create_procedural_memory()(MemoryandAsyncMemory) now raises a clearValueErrorwhen the LLM returns no content for the summary, instead of continuing with empty content that surfaced as a confusing error further down the call (#6947) - Proxy:
mem0.proxyno longer auto-installslitellmvia apip installsubprocess when the import fails; it now raisesImportErrorwith instructions to install it yourself. The auto-install could hang or fail silently in restricted environments and ran an unreviewed install on the caller’s behalf (#6947) - Client:
get_all()(sync and async) now sendspageandpage_sizeas independent query params instead of requiring both to be set before either was sent. Passing onlypage_sizewithoutpagepreviously had it silently dropped, so results came back at the server’s default page size (#6900) - LLMs: Add
provider_overridetoAWSBedrockConfig, an explicit provider name (for example"anthropic") for whenmodelis an application inference profile ARN whose opaque ID has no provider substring forextract_provider()to detect. Without it, those ARNs raisedValueError: Unable to determine provider(#6899) - LLMs:
VllmConfignow falls back to theVLLM_BASE_URLenv var whenvllm_base_urlisn’t passed explicitly. The default was filled in before the env var was ever checked, soVLLM_BASE_URLwas silently ignored (#6897)
v2.0.18
Bug Fixes:
- Core: Percent-escape
%,&, and=inuser_id,agent_id, andrun_idwhen building the session scope key for the recent-conversation buffer, so the key stays unambiguous for ids containing those characters. Ordinary ids keep their existing key; an id already containing%,&, or=maps to a new key, so its buffer starts empty once and refills on the nextadd(). Stored memories are unaffected (#6892) - Vector Stores: Raise
ValueErrorwhen a PGVectorin/ninfilter value is not a list. A string value was previously iterated character by character into the generated= ANY(...)array (so{"user_id": {"in": "alice"}}matcheda,l,i,c,e), and a non-iterable value raised a bareTypeErrorfrom deep inside filter building (#6879) - Vector Stores: Reject
index_accuracy=0in the Oracle AI Vector Search config. The range check sat behind a truthiness test, so0skipped validation entirely and was passed through toWITH TARGET ACCURACY 0instead of raising (#6848) - Vector Stores: Close the Oracle connection or pool that Mem0 opened when initialization fails. A client version check, a database version check, or a
create_col()error previously propagated with the connection still open, leaking it for the life of the process. A caller-suppliedclientis left untouched (#6839)
v2.0.17
New Features:
- Client: Add
agent_custom_instructionstoproject.update()/update_project()(sync and async) and to theProjectUpdateOptionsandAddMemoryOptionstyped models. It sets a second extraction instruction set that applies only to agent-scoped memories: an add passingagent_idwithoutuser_iduses it, one passing both splits by attribution, and while it is unsetcustom_instructionscontinues to apply to every memory (#6809)
v2.0.16
New Features:
- Client: Add
reference_date,latest_only, andkeyword_searchtoSearchMemoryOptions, andlatest_onlytoGetAllMemoryOptions, keeping the Python client’s typed options in sync with the Platform API and the CLIs (#6696)
- Core: Stop
add()metadata from setting a memory’s identity scope._build_filters_and_metadata()now stripsuser_id,agent_id,run_id, andactor_idfrom caller-suppliedmetadatabefore building the creation template, so metadata can no longer place a memory into a scope that was never passed through the entity params (#6656) - Vector Stores: Validate Upstash filter keys and values in
search(),keyword_search(), andlist(). Filter keys must match a safe identifier pattern, values must bestr/int/float/bool, and string values containing a double quote or backslash are now rejected instead of being interpolated unescaped into the generated query string (#5981) - Embeddings:
FastEmbedEmbedding.embed()now converts its result with.tolist()before returning, so callers get a plainList[float]instead of a numpy array (#6770) - Embeddings:
HuggingFaceEmbeddingnow passesapi_keyto the OpenAI-compatible client whenhuggingface_base_urlis set. The configured key was previously dropped, so the client fell back toOPENAI_API_KEYfrom the environment or raisedOpenAIErrorat construction when that was unset (#6770) - Embeddings: Replace Ollama’s interactive
pip installprompt on import with a plainImportError. Importingmem0.embeddings.ollamawithout theollamapackage previously blocked on stdin and then calledsys.exit(1), killing the host process instead of raising (#6770) - Core:
remove_code_blocks()now returns an empty string forNoneinput instead of raisingAttributeError(#6770) - Core:
parse_vision_messages()now chains the original exception (raise ... from e) when an image download fails, so the root cause is preserved in the traceback (#6770) - Core:
process_telemetry_filters(None)now returns([], {}), matching the two-value tuple every caller unpacks, instead of{}(#6770) - Core:
LlmFactory.create()no longer mutates the caller’s config dict in place via.update(kwargs); the merge now builds a new dict (#6770) - Rerankers: The Cohere, HuggingFace, SentenceTransformer, and Zero Entropy rerankers’ failure-fallback path no longer mutates the caller’s document dicts in place when stamping
rerank_score; it now falls back on copies (#6770) - Vector Stores: Remove
logging.basicConfig()calls from the MongoDB and Vertex AI Vector Search providers, so selecting either provider no longer reconfigures the host application’s root logger as a side effect (#6770)
v2.0.15
Bug Fixes:
- Core:
delete_all()now paginates through the vector store in batches of 1000 instead of listing once, so accounts with more memories than a single page (most vector stores default to ~100) had the remainder silently left behind (#6636) - Vector Stores: Cap Supabase
search()/list()top_kat thevecsquery limit of 1000 instead of erroring, and fix acol_info()crash by reading collection attributes directly instead of calling the removeddescribe()method (#6695) - Vector Stores: Set
sizeon Elasticsearch KNN search queries, so results respecttop_kinstead of being capped at Elasticsearch’s default of 10 hits (#5910)
- Rerankers:
LLMReranker’s default model is nowgpt-5-mini(wasgpt-4o-mini) (#6703)
v2.0.14
New Features:
- Vector Stores: Add an Oracle AI Vector Search provider (
oracledb) with connection pooling,HNSW/IVFindexes, JSON metadata filtering, and six selectable distance metrics (#5358)
- Vector Stores: Translate a
"*"filter value in OpenSearch into anexistsquery for every key, not just identity keys. It was previously ignored or matched literally against the string"*", so a wildcard filter returned nothing (#6522) - Vector Stores: Re-raise errors from OpenSearch
search()instead of returning[], so a transport, auth, or index misconfiguration surfaces instead of looking like zero matches.keyword_search()still degrades on failure, since it is a best-effort BM25 signal (#6519) - Vector Stores: Guard the
textfield in Milvusupdate()behind the_has_bm25_schemacheck, matchinginsert(), so updating a memory in a collection without the BM25text/sparseschema no longer fails (#5705)
v2.0.13
Bug Fixes:
- Vector Stores: Fix
reset()silently leaving stale vectors behind on local (on-disk) Qdrant when the old collection directory could not be removed, for example an open file handle on Windows or NFS (#6412) - Core: Stop
update()metadata from overwriting or injectinguser_id,agent_id,run_id, oractor_id. These identity fields are immutable after creation, so passing them inmetadatacan no longer move a memory into a different tenant’s scope (#6278) - Vector Stores: Scope Pinecone
delete_col()/reset()to the configured namespace instead of deleting the whole index, so resetting a namespaced Pinecone store no longer wipes out the other namespaces sharing that index (#6287) - Vector Stores: Convert Baidu Mochow’s raw L2 distance into a similarity score in
search()(1 / (1 + distance)), so closer matches rank higher instead of lower, matching the Milvus provider and the rest of theVectorStoreBasecontract (#6435) - LLMs: Read
OPENAI_BASE_URL(wasOPENAI_API_BASE) inOpenAIStructuredLLM, matching the official OpenAI SDK’s environment variable and the rest of the OpenAI-compatible providers (#6322)
- LLMs: Remove a dead, no-op
api_keyattribute check fromLLMBase.__init__(#6460)
- Client: Remove the
retrieval_criteriaparameter fromMemoryClient.update_project()/AsyncMemoryClient.update_project()andProject.update()/AsyncProject.update(). It was accepted and forwarded but never affected retrieval, so removing it is not a behavior change (#6313)
v2.0.12
New Features:
- Memory (OSS): Accept
textinMemory.update()andAsyncMemory.update().datastill works but is now deprecated, so prefertextin new code (#6044)
- Core: Coerce non-string entity IDs (
user_id,agent_id,run_id) instead of crashing on.strip(), so passing an integer ID no longer raisesAttributeError(#6206) - Core: Stop requiring
langchain-corefor the default async procedural memory path. The optional dependency is now only imported when you pass a custom LangChain LLM, matching the sync behavior (#6209) - Client: Encode dynamic URL path segments so IDs containing special characters no longer produce malformed requests (#5963)
- LLMs: Skip
temperatureandtop_pfor newer Anthropic models that reject sampling parameters. Detection is automatic per model family and version, and the newenable_sampling_parametersconfig flag overrides it (#6211) - Vector Stores: Stop writing internal
OutputDatamodel fields as properties on Weaviateupdate()(#6149) - Vector Stores: Improve wildcard search handling in Milvus (#6187)
- Vector Stores: Keep env-resolved Upstash Vector credentials after config validation. An env-var-only config previously passed validation and then failed to build (#5811)
- Vector Stores: Restore the previous payload when a Neptune Analytics vector upsert fails inside
update(), so a partial write can no longer leave the payload and embedding out of sync (#5824)
- LLMs: The Together default model is now
MiniMaxAI/MiniMax-M3(wasmistralai/Mixtral-8x7B-Instruct-v0.1) (#6049) - LLMs: The xAI default model is now
grok-4.3(wasgrok-2-latest) (#6115) - Embeddings: The Together default embedding model is now
intfloat/multilingual-e5-large-instructat 1024 dimensions (wastogethercomputer/m2-bert-80M-8k-retrievalat 768). If you use the Together embedder without pinningmodel, existing vectors were written at the old dimension: either re-embed them, or pinmodelandembedding_dimsto the old values (#5989) - Rerankers: The Cohere default rerank model is now
rerank-v3.5(wasrerank-english-v3.0) (#6055)
- Vector Stores: Fix SQL and Cypher injection vulnerabilities in the PGVector, Azure MySQL, and Neptune providers (#4878)
- Vector Stores: Validate Elasticsearch filter keys and values to prevent term query injection (#5980)
- Dependencies: Require
transformers>=5.3.0to remediate GHSA-29pf-2h5f-8g72 (CVE-2026-4372) (#6110)
v2.0.11
Bug Fixes:
- Embeddings: Guard against an
embed_batchcount mismatch in the OpenAI and Azure OpenAI embedders (#5966) - Memory: Re-raise LLM extraction failures instead of silently returning
[](#5878) - Vector Stores: Normalize vectors for the cosine distance strategy in FAISS (#5960)
- Vector Stores: Validate OpenSearch filter values to prevent term query injection (#5986)
- Vector Stores: Validate value types and escape quotes in Azure AI Search OData filters (#5983)
- Vector Stores: Validate Databricks catalog/schema/table identifiers to prevent SQL injection (#5988)
- Graph: Escape Neptune filter values in openCypher queries to prevent injection (#5982)
v2.0.10
New Features:
- Client: Expose
expiration_dateonMemoryClient.update()andAsyncMemoryClient.update(): callers can now set or clear a memory’s expiration date;Noneis preserved and forwarded to the API (#5874)
- Memory (OSS): Apply
remove_code_blocks()to the LangChain path in async_create_procedural_memoryso code fences are stripped consistently (#5711) - Rerankers: Score HuggingFace cross-encoder results with per-document sigmoid instead of set-relative min-max, preventing a single low-score document from collapsing all relevance scores to zero (#5715)
- Core: Validate and trim entity IDs (
user_id,agent_id,run_id) indelete_all()for both sync and asyncMemory(#5735) - Vector Stores: Use
.get()forhashandcreated_atin the Redisinsert()andupdate()paths so entity payloads that omit those fields no longer raiseKeyError(#5709) - Memory: Fix scale-threshold notices not firing for Redis and search-engine backends by resolving
col_info()signature differences and addingnum_docsto the count-extraction lookup (#5687) - Vector Stores: Escape special characters in Valkey FT.SEARCH tag filter values to prevent wildcard and operator injection through tenant-isolation filters (#5750)
v2.0.9
Bug Fixes:
- Memory (OSS): Improve entity extraction precision by avoiding sentence-start common noun noise, preserving useful topic phrases, and exact-deduplicating entity links before semantic matching (#5829)
v2.0.8
New Features:
- Embeddings: Add native
embed_batchto five embedders for batched embedding requests: LM Studio, Together, HuggingFace, Vertex AI, and Google GenAI (#5609)
- Core: Guard against malformed
image_urlentries inparse_vision_messagesto prevent crashes (#5631) - Core: Return
attributed_tofromget(),get_all(), andsearch()(#5629) - Core: Fix
reset()only dropping the history table and leaving stale messages behind (#5541) - Core: Guard against an entity
embed_batchcount mismatch in the v3 add pipeline (#5604) - Core: Fix an async
delete_allrace condition that corrupted the entity store’slinked_memory_ids(#5553) - LLMs: Skip the JSON
response_formatfor Groq compound models that reject it (#5513) - LLMs: Preserve reasoning fields during base-to-provider config conversion (#5638)
- LLMs: Pass the configured
anthropic_base_urlto the Anthropic client (#5626) - LLMs: Stop the Azure provider from mutating and corrupting caller messages during content rewrite (#5731)
- LLMs & Embeddings: Repair HTTP proxy support for
httpx>=0.28and preserveproxiesinLlmFactory(#5447) - Embeddings: Forward
embedding_dimsto Titan V2 in the AWS Bedrock embedder (#5671) - Rerankers: Log reranking failures instead of swallowing them silently (#5717)
- Rerankers: Clamp out-of-range LLM scores instead of mis-parsing them (#5635)
- Rerankers: Export all five rerankers from the package root (#5636)
- Vector Stores: Point the FastEmbed-missing warning at
mem0ai[extras](#5622) - Vector Stores: Preserve empty Azure AI Search update values (#5524)
- Vector Stores: Add an
auto_refreshoption for OpenSearch Serverless compatibility (#3893) - Vector Stores: Wrap a scalar
vector_idin a list for Chromadelete()(#5703) - Vector Stores: Wrap Chroma
update()ids, embeddings, and metadatas in lists (#5757) - Vector Stores: Wrap a scalar
vector_idin a list for Milvusdelete()(#5704) - Vector Stores: Map all comparison operators in the Pinecone
_create_filter()(#5707) - Vector Stores: Return
Noneinstead of{}from Chroma_generate_where_clausefor empty filters (#5713) - Vector Stores: Return
[[]]from the OpenSearchlist()error path to honor thelist()contract (#5727) - Vector Stores: Return
[[]]from the Pineconelist()error path instead of a dict (#5706) - Vector Stores: Return
[[]]for an uninitialized FAISS index to honor thelist()contract (#5725) - Vector Stores: Wrap the MongoDB
list()return in an outer list to match the interface contract (#5729) - Vector Stores: Deep-copy Redis
DEFAULT_FIELDSso instances keep distinct dims (#5633) - Vector Stores: Pass the required
vectorsarg in Vertex AIlist()and similarity search (#5627) - Vector Stores: Return
Nonefrom Redisget()for missing IDs (#5625) - Vector Stores: Drop a stray
printin Weaviatelist_cols(#5637) - Graph: Keep distinct entities that share a substring prefix (#5630)
- Client: Check the HTTP status before parsing the ping response in
_validate_api_key(#5639) - Server: Fetch filtered dashboard memories beyond the default page (#5753)
- Server: Return 404/400 instead of 502 for not-found and invalid input (#5634)
- Server: Return 404 instead of 500 for a malformed API key id on revoke (#5640)
- Server: Use
127.0.0.1in the dashboard healthcheck to avoid IPv6 localhost resolution (#5612)
- Vector Stores: Batch BM25 sparse encoding in Qdrant insert (#5592)
v2.0.7
New Features:
- LLMs: Add Gemini via Vertex AI as LLM provider (#4030)
- Embeddings: Add native
embed_batchtoOllamaEmbeddingfor batched embedding requests (#5415)
- Core: Fix
api_error_handlersilently dropping return values from async methods (#5540) - Core: Fix
AsyncMemory.reset()not resetting the entity store (#5535) - Core: Fix
async delete_allaborting on first error, leaving partial deletion (#5529) - Core: Skip messages without a
contentkey in message parsers to preventKeyErrorcrashes (#5575) - Core: Preserve custom metadata fields during memory update (#5480)
- LLMs: Fix Anthropic
tool_choiceformat and tool response parsing (#5537) - LLMs: Fix Ollama
jsonformat mutating the caller’s messages list in-place (#5539) - LLMs: Omit
Noneconfig values from GeminiGenerateContentConfigto prevent validation errors (#5528) - LLMs: Honor reasoning-model params in
AzureOpenAIStructuredLLM(#5548) - LLMs: Honor reasoning-model params in
OpenAIStructuredLLM(#5458) - LLMs: Send
max_completion_tokensfor the GPT-5 family across all providers (#5547) - LLMs: Accept and forward
**kwargsin Together, LangChain, and Sarvam providers (#5556) - LLMs: Fix Bedrock AI21 response parse default using
dictliteral instead ofset(#5527) - LLMs: Fix LiteLLM function-calling check blocking all calls on non-tool models (#5536)
- LLMs: Fix HuggingFace provider using
self.configinstead of rawconfigparameter (#5538) - Embeddings: Honor
aws_session_tokenin AWS Bedrock embeddings (#5566) - Rerankers: Respect
config.top_kin Cohere and ZeroEntropy fallback paths (#5560) - Vector Stores: Fix FAISS filtered search dropping over-fetched candidates before filtering (#5453)
- Vector Stores: Fix Weaviate
reset()crashing with missingvector_sizeargument (#5531) - Vector Stores: Pass embedding dims in Weaviate
reset()to avoid re-init crash (#5570) - Vector Stores: Fix MongoDB
reset()passing wrong argument tocreate_col()(#5532) - Vector Stores: Fix Pinecone hybrid search crashing when
filtersisNone(#5533) - Vector Stores: Fix Redis crashing on empty or
Nonefilters insearch()andlist()(#5446) - Vector Stores: Return
Nonefromget()for missing IDs in Milvus, Weaviate, and Supabase (#5562) - Vector Stores: Return
Nonefrom ChromaDBget()for missing IDs (#5561)
v2.0.6
New Features:
- Memory: Add a contextual OSS-to-Platform notices system that surfaces occasional, situation-aware messages (first run, scale/performance thresholds, slow queries, and when temporal/decay features are relevant) pointing to the corresponding Mem0 Platform capabilities; disable via
MEM0_TELEMETRY=false(#5494)
- Memory: Prevent a crash in
parse_vision_messageswhen vision support is disabled (#5487) - Vector Stores: Expose the
httpsoption on the Qdrant vector store configuration so TLS endpoints can be targeted explicitly (#5380) - Vector Stores: Use valid S3 Vectors entity index names, fixing index operations that failed on invalid names (#5416)
- Vector Stores: Fix
search()crashing with aTypeErrorin the LangChain vector store when a result score isNone(#5072) - Vector Stores: Use
is not Noneinstead of a truthiness check for vector/payload in the PGVectorupdate()path, so valid empty/zero values are no longer skipped (#5488) - Vector Stores: Index the Valkey
memoryfield asTEXTrather thanTAGso full-text search behaves correctly (#5443) - Vector Stores: Implement
$notfilter support in the ChromaDB vector store (#5485)
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_detailsdict withsemantic_score,bm25_score,entity_boost,raw_score,max_possible_score,final_score, andthresholdso callers can understand and tune retrieval ranking (#5102)
- 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)
v2.0.4
New Features:
- Client:
delete()and asyncdelete()acceptdelete_linked(defaultFalse). WhenTrue, deleting a memory also removes the older memories it superseded (the v3linked_memory_idschain), transitively: the delete-side counterpart oflatest_only, so a superseded memory does not resurface after the current one is deleted (#5270)
v2.0.3
Bug Fixes:
- Vector Stores: PGVector adapter now supports rich filter operators (
eq,ne,gt,gte,lt,lte,in,nin,contains,icontains, wildcard*,$or,$not) insearch(),keyword_search(), andlist(). Previously only exact-equality filters worked: operator dicts were silently stringified and returned zero results (#5263) - Server: Fixed
/searchendpoint returning 502 whenuser_id,agent_id, orrun_idare sent as top-level request fields. The server now maps these into thefiltersdict before callingMemory.search(), matching the v3 API contract. Top-level entity ID fields are marked as deprecated in the OpenAPI schema and emit a warning log: clients should migrate tofilters={"user_id": "..."}(#5263)
v2.0.2
Bug Fixes:
- Telemetry: Stitch OSS and platform PostHog identities on
MemoryClientinit so$identifyevents fire and a single user is no longer tracked as two or three disconnected personas (#5040) - Security: Harden against SQL injection and prompt injection (#4997)
- SDK: Expose
decayonproject.update(#5062)
- Plugin: Hand
mem0search decisions to the agent (#4992)
v2.0.1
Bug Fixes:
- Client: Map
user_id,agent_id,run_identity params to filters inGET /memories(#4960) - Memory: Honor
promptparam in vector store extraction pipeline (#4914) - Memory: Add missing
text_lemmatizedfield inAsyncMemory._create_memory(#4886) - Memory: Merge same-key operator dicts in AND metadata filters (#4853)
- LLMs: Narrow
_is_reasoning_modelcheck to not matchgpt-5.xvariants (#4746) - Vector Stores: Add
ca_certsconfig option for Elasticsearch vector store (#3993) - Vector Stores: Add
agent_idandrun_idto Elasticsearch/OpenSearch default mappings (#4906) - Embeddings: Set FastEmbed
embedding_dimsfrom model metadata at init (#4711)
- Bump vulnerable dependencies to patched versions (#4835)
v2.0.0
Major Release: Python SDK with V3 memory pipeline, ADD-only extraction, and cleaned-up API surface.New Features:
- Single-Pass Extraction: Replaced 2-LLM-call pipeline with additive extraction using
ADDITIVE_EXTRACTION_PROMPT. Memories accumulate vialinked_memory_ids: no more UPDATE/DELETE events (#4805) - Hybrid Search: Combined semantic + BM25 keyword matching + entity boost with additive scoring. Native
keyword_search()added to 15 vector store adapters (Qdrant, Elasticsearch, OpenSearch, Azure AI Search, Weaviate, Redis, PGVector, Pinecone, Databricks, MongoDB, Milvus, Baidu, Upstash, Azure MySQL, Vertex AI) (#4805) - Entity Extraction & Linking: spaCy-based entity extraction with second vector collection (
{collection}_entities) for cross-memory relationship retrieval. Optional dependency:pip install mem0ai[nlp](#4805) - Batch Operations: Batch embedding, batch persist, and batch entity linking (8-phase pipeline) for both sync
Memoryand asyncAsyncMemoryat full parity (#4805) - Message Persistence: SQLite-based rolling window (10 messages per session scope) for LLM context (#4805)
- Valkey Cluster Mode: Added
cluster_modeparameter for Valkey Cluster Mode Enabled (CME) deployments (#4759) - V3 API Endpoints:
MemoryClient.add()now posts to/v3/memories/add/;MemoryClient.get_all()posts to/v3/memories/and returns a paginated envelope{"count": int, "next": str | None, "previous": str | None, "results": [...]}(#4856) - Default model:
gpt-5-miniis now the default acrossOpenAILLM,OpenAIStructuredLLM,AzureOpenAILLM,AzureOpenAIStructuredLLM, andLiteLLMfallback (#4829)
add()returns ADD-only events: No more"UPDATE"or"DELETE"events. Memories accumulate; nothing is overwritten (#4805)search()defaultthresholdis now0.1: Passthreshold=0.0for previous behavior (#4805)search()scoreis now a combined multi-signal score: The top-levelscorefuses semantic similarity, BM25 keyword match, entity signals, and temporal boosts into one value. Absolute numbers shift versus the old raw cosine score; retune any hard thresholds against representative queries (#4805, #4836)search()defaultrerankis nowFalse: Passrerank=Truefor previous behavior (#4805)top_kdefault changed 100 → 20 inMemory.get_all()andMemory.search()(sync + async). Passtop_k=100explicitly to restore the old behavior (#4843)- Entity ID validation:
user_id/agent_id/run_idare trimmed; empty-string and whitespace-only values now raiseValueError(#4843) - Search params validation:
thresholdmust be a number in[0, 1];top_kmust be a non-negative integer: invalid inputs raiseValueError(#4843) messagesinMemory.add()rejects invalid types: PassingNoneor non-(str | dict | list)values raisesMem0ValidationError(error_code="VALIDATION_003") (#4843)qdrant-client>=1.12.0required: Upgrade from>=1.9.1(#4805)org_idandproject_idremoved: Removed fromMemoryClientconstructor and all method signatures (#4740)- External Graph Store Removed (OSS):
mem0/memory/graph_memory.py,memgraph_memory.py,kuzu_memory.py,apache_age_memory.py, andmem0/graphs/(Neo4j / Memgraph / Kuzu / Apache AGE / Neptune drivers) deleted, about 4,000 lines. The external graph store integration is no longer part of the OSS SDK; graph drivers (neo4j, memgraph, kuzu, etc.) can be uninstalled. Graph memory now runs natively as built-in entity linking. Removeenable_graphandgraph_storefrom your config (#4805) enable_graphremoved from Client SDK: Graph memory now runs automatically and no longer needs a flag. Removeenable_graphfromMemoryClient.add()/search()/get_all()/update_project()calls (#4776)custom_fact_extraction_promptrenamed tocustom_instructions: Update config and memory module references (#4740)- Typed option classes: Added Pydantic v2 typed classes:
AddMemoryOptions,SearchMemoryOptions,GetAllMemoryOptions,DeleteAllMemoryOptions,UpdateMemoryOptions,ProjectUpdateOptions(#4740)
- FAISS: Prevent arbitrary code execution via pickle deserialization in
FAISSvector store (#4833)
- V3 migration crashes: Fixed crashes in the v3 migration path; entity linking on OSS is now functional across Qdrant and Milvus backends (#4836)
- Qdrant entity store: Entity store now shares the existing Qdrant client when using embedded mode (
path=...), eliminating RocksDB lock contention between the main and entity collections (#4836) - Reranker: Fixed incorrect use of SentenceTransformer for cross-encoder reranker models: switched to CrossEncoder API for proper scoring (#4806)
- S3 Vectors: Handle
vector=Noneinupdate()to prevent boto3 validation error whenevent=NONE(#4594) - LLMs: Made OpenAI
storeparameter opt-in to prevent leaking to non-OpenAI backends like Google Gemini (#4757) - LLMs: Forward
response_formatto Azure OpenAI API to prevent JSON parsing failures (#4689) - Core: Guard
temp_uuid_mappinglookups against LLM-hallucinated IDs with safe.get()and warnings (#4674) - Client: Prevent
MemoryClient.feedback()telemetry TypeError by merging feedback data into single payload (#4795)
- Telemetry: Sample OSS hot-path events at 10% via PostHog
before_sendhook to reduce event volume (#4771)
v1.0.11
New Features & Updates:
- SDK: Added
multilingualparameter to project update (#4314)
- LLMs: Fixed Groq model configuration (#4700)
- Core: Prevented thread and memory leaks from PostHog telemetry (#4535)
- Vector Stores: Used
DatetimeRangefor datetime string values in Qdrant range filters (#4659) - Configs: Added missing
ConfigDictto vector store configs (Elasticsearch, MongoDB, Neptune, OpenSearch, PGVector, Supabase, Valkey) (#4656)
v1.0.10
New Features & Updates:
- LLMs: Added MiniMax provider support for AWS Bedrock (#4609)
- Configs: Migrated CassandraConfig and AzureMySQLConfig to pydantic v2 ConfigDict (#4646)
- LLMs: Forward
response_formatto OpenAI-compatible API for DeepSeek (#4635) - LLMs: Forward
response_formatto OpenAI-compatible API for vLLM (#4608) - Vector Stores: Only list authorized collections when listing MongoDB collections (#3888)
- Core: Reset graph database in
Memory.reset()(#4185) - Core: Make
AsyncMemory.from_configa regular classmethod (#4183)
v1.0.9
New Features & Updates:
- LLMs: Added
reasoning_effortparameter support for reasoning models (#4461)
- Core: Preserved original
actor_idduring memory update (#4570) - Core: Set
updated_aton creation and preserve pre-existingcreated_at(#4499) - Core: Centralized entity cleanup and skip malformed LLM relation dicts (#4515)
- Core: Removed
README.mdfrom wheel shared-data (#4052) - Vector Stores: Handled
vector=Nonein Milvus and Qdrant update methods (#4568) - Vector Stores: Rebuilt FAISS index on vector deletion (#4178)
- Embeddings: Updated default Gemini and Vertex AI embedder model to
gemini-embedding-001(#4571)
v1.0.8
New Features & Updates:
- Vector Stores: Integrated Turbopuffer as a vector database provider (#4428)
- LLMs: Added MiniMax LLM provider (#4431)
- Core: Fixed merging of multiple filter operators for the same key (#4559)
- Core: Prevented in-place mutation of metadata in
_create_memory(#4529) - Core: Preserved custom metadata when updating memory (#4495)
- Core: Handled chatty LLM responses in JSON parsing (#4525)
- Core: Prevented double embedding in
mem0.add(#3996) - Core: Raised
ValueErrorwhen deleting nonexistent memory (#4455) - Core: Cleaned up graph store data on
Memory.delete()(#4505) - Vector Stores: Prevented SQL injection in Databricks vector store (#4558)
- Vector Stores: Upgraded MongoDB vector store from deprecated
knnVectorto GAvectorSearch(#3995) - Vector Stores: Prevented embedding corruption in Valkey and Redis when vector is
None(#4362) - Vector Stores: Accepted default
/tmp/chromapath inChromaDbConfigvalidator (#4179) - Vector Stores: Wrapped vector and payload in lists for
Langchain.update(#4446) - Graph: Soft-delete graph relationships instead of hard
DELETE(#4188) - Graph: Sanitized hyphens in Neo4j Cypher relationship names (#4154)
- Graph: Used root LLM config as fallback for graph store instead of hardcoded OpenAI default (#4466)
- Qdrant: Fixed
do not remove local path on init(#4475) - Qdrant: Implemented enhanced metadata filtering operators (#4127)
- Embeddings: Fixed OpenAI embedding dimensions (#4481)
- LLMs: Omitted
topPfor Anthropic Converse in Bedrock; usedAWSBedrockConfiginLlmFactory(#4469) - LLMs: Avoided sending both
temperatureandtop_pto Anthropic API (#4471) - LLMs: Handled
Nonecontent and empty candidates inGeminiLLMparsing (#4462) - LLMs: Added missing
_parse_responsetoAzureOpenAIStructuredLLM(#4434) - History: Added timestamps for
DELETEoperations in history (#4492)
- Vector Stores: Added vector validation to OpenSearchDB to ensure non-null, non-empty, and correct-dimension vectors (#4472)
v1.0.7
Bug Fixes:
- Core: Fixed control characters in LLM JSON responses causing parse failures (#4420)
- Core: Replaced hardcoded US/Pacific timezone references with
timezone.utc(#4404) - Core: Preserved
http_authin_safe_deepcopy_configfor OpenSearch (#4418) - Core: Normalized malformed LLM fact output before embedding (#4224)
- Embeddings: Pass
encoding_format='float'in OpenAI embeddings for proxy compatibility (#4058) - LLMs: Fixed Ollama to pass tools to
client.chatand parsetool_callsfrom response (#4176) - Reranker: Support nested LLM config in
LLMRerankerfor non-OpenAI providers (#4405) - Vector Stores: Cast
vector_distanceto float in Redis search (#4377)
- Embeddings: Improved Ollama embedder with model name normalization and error handling (#4403)
v1.0.6
Bug Fixes:
- Telemetry: Fixed telemetry vector store initialization still running when
MEM0_TELEMETRYis disabled (#4351) - Core: Removed destructive
vector_store.reset()call fromdelete_all()that was wiping the entire vector store instead of deleting only the target memories (#4349) - OSS:
OllamaLLMnow respects the configured URL instead of always falling back to localhost (#4320) - Core: Fixed
KeyErrorwhen LLM omits theentitieskey in tool call response (#4313) - Prompts: Ensured JSON instruction is included in prompts when using
json_objectresponse format (#4271) - Core: Fixed incorrect database parameter handling (#3913)
- Updated LangChain dependencies to v1.0.0 (#4353)
- Bumped protobuf dependency to 5.29.6 and extended upper bound to
<7.0.0(#4326)
v1.0.5
- Telemetry Fix
- Fixed an issue where the PostHog client was initialized even after telemetry was disabled. Although events were not captured, the client was unnecessarily initialized.
v1.0.4
New Features & Updates:
- Memory Update:
- Added
timestampparameter toupdate(): accepts Unix epoch (int/float) or ISO 8601 string
- Added
v1.0.3
New Features & Updates:
- Project Settings:
- Added inclusion prompt, exclusion prompt, memory depth, and usecase setting
v1.0.2
New Features & Updates:
- Vector Stores:
- Added DriverInfo metadata to MongoDB vector store
v1.0.1
New Features & Updates:
- Vector Stores:
- Added Apache Cassandra vector store support
- Embeddings:
- Added FastEmbed embedding support for local embeddings
- Graph Store:
- Added configurable embedding similarity threshold for graph store node matching
- Core:
- Fixed condition check for memories_result type in Memory class
- Fixed list_memories endpoint Pydantic validation error
- Fixed memory deletion not removing from vector store
v1.0.0
New Features & Updates:
- Vector Stores:
- Added Azure MySQL support
- Added Azure AI Search Vector Store support
- LLMs:
- Added Tool Call support for LangchainLLM
- Enabled custom model and parameters for Hugging Face with huggingface_base_url
- Updated default LLM configuration
- Rerankers:
- Added reranker support: Cohere, ZeroEntropy, Hugging Face, Sentence Transformers, and LLMs
- Core:
- Added metadata filtering for OSS
- Added Assistant memory retrieval
- Enabled async mode as default
- Prompts:
- Improved prompt for better memory retrieval
- Dependencies:
- Updated dependency compatibility with OpenAI 2.x
- Validation:
- Validated embedding_dims for Kuzu integration
- Vector Stores:
- Fixed Databricks Vector Store integration
- Fixed Milvus DB bug and added test coverage
- Fixed Weaviate search method
- LLMs:
- Fixed bug with thinking LLM in vLLM
v0.1.118
New Features & Updates:
- Vector Stores:
- Added Valkey vector store support
- Added support for ChromaDB Cloud
- Added Mem0 vector store backend integration for Neptune Analytics
- Graph Store:
- Added Neptune-DB graph store with vector store
- Core:
- Implemented structured exception classes with error codes and suggested actions
- Dependencies:
- Updated OpenAI dependency and improved Ollama compatibility
- Testing:
- Added Weaviate DB test
- Added comprehensive test suite for SQLiteManager
- Documentation:
- Updated category docs
- Updated Search V2 / Get All V2 filters documentation
- Refactored AWS example title
- Fixed Quickstart cURL example
- Vector Stores:
- Databricks bug fixes
- Fixed S3 Vectors memory initialization issue from configuration
- Core:
- Fixed JSON parsing with new memories
- Replaced hardcoded LLM provider with provider from configuration
- LLMs:
- Fixed Bedrock Anthropic models to use system field
v0.1.117
New Features & Updates:
- OpenMemory:
- Added memory export / import feature
- Added vector store integrations: Weaviate, FAISS, PGVector, Chroma, Redis, Elasticsearch, Milvus
- Added
export_openmemory.shmigration script
- Vector Stores:
- Added Amazon S3 Vectors support
- Added Databricks Mosaic AI vector store support
- Added support for OpenAI Store
- Graph Memory: Added support for graph memory using Kuzu
- Azure: Added Azure Identity for Azure OpenAI and Azure AI Search authentication
- Elasticsearch: Added headers configuration support
- Added custom connection client to enable connecting to local containers for Weaviate
- Updated configuration AWS Bedrock
- Fixed dependency issues and tests; updated docstrings
- Documentation:
- Fixed Graph Docs page missing in sidebar
- Updated integration documentation
- Added version param in Search V2 API documentation
- Updated Databricks documentation and refactored docs
- Updated favicon logo
- Fixed typos and Typescript docs
- Baidu: Added missing provider for Baidu vector DB
- MongoDB: Replaced
query_vectorargs in search method - Fixed new memory mistaken for current
- AsyncMemory._add_to_vector_store: handled edge case when no facts found
- Fixed missing commas in Kuzu graph INSERT queries
- Fixed inconsistent created and updated properties for Graph
- Fixed missing
app_idon client for Neptune Analytics - Correctly pick AWS region from environment variable
- Fixed Ollama model existence check
- PGVector: Use internal connection pools and context managers
v0.1.116
New Features & Updates:
- Pinecone: Added namespace support and improved type safety
- Milvus: Added db_name field to MilvusDBConfig
- Vector Stores: Added multi-id filters support
- Vercel AI SDK: Migration to AI SDK V5.0
- Python Support: Added Python 3.12 support
- Graph Memory: Added sanitizer methods for nodes and relationships
- LLM Monitoring: Added monitoring callback support
- Performance:
- Improved async handling in AsyncMemory class
- Documentation:
- Added async add announcement
- Added personalized search docs
- Added Neptune examples
- Added V5 migration docs
- Configuration:
- Refactored base class config for LLMs
- Added sslmode for pgvector
- Dependencies:
- Updated psycopg to version 3
- Updated Docker compose
- Tests:
- Fixed failing tests
- Restricted package versions
- Memgraph:
- Fixed async attribute errors
- Fixed n_embeddings usage
- Fixed indexing issues
- Vector Stores:
- Fixed Qdrant cloud indexing
- Fixed Neo4j Cypher syntax
- Fixed LLM parameters
- Graph Store:
- Fixed LM config prioritization
- Dependencies:
- Fixed JSON import for psycopg
- Google AI: Refactored from Gemini to Google AI
- Base Classes: Refactored LLM base class configuration
v0.1.115
New Features & Updates:
- Enhanced project management via
client.projectandAsyncMemoryClient.projectinterfaces - Full support for project CRUD operations (create, read, update, delete)
- Project member management: add, update, remove, and list members
- Manage project settings including custom instructions, categories, retrieval criteria, and graph enablement
- Both sync and async support for all project management operations
-
Documentation:
- Added detailed API reference and usage examples for new project management methods.
- Updated all docs to use
client.project.get()andclient.project.update()instead of deprecated methods.
-
Deprecation:
- Marked
get_project()andupdate_project()as deprecated (these methods were already present); added warnings to guide users to the new API.
- Marked
- Tests:
- Fixed Gemini embedder and LLM test mocks for correct error handling and argument structure.
- vLLM:
- Fixed duplicate import in vLLM module.
v0.1.114
New Features:
- OpenAI Agents: Added OpenAI agents SDK support
- Amazon Neptune: Added Amazon Neptune Analytics graph_store configuration and integration
- vLLM: Added vLLM support
- Documentation:
- Added SOC2 and HIPAA compliance documentation
- Enhanced group chat feature documentation for platform
- Added Google AI ADK Integration documentation
- Fixed documentation images and links
- Setup: Fixed Mem0 setup, logging, and documentation issues
- MongoDB: Fixed MongoDB Vector Store misaligned strings and classes
- vLLM: Fixed missing OpenAI import in vLLM module and call errors
- Dependencies: Fixed CI issues related to missing dependencies
- Installation: Reverted pip install changes
v0.1.113
Bug Fixes:
- Gemini: Fixed Gemini embedder configuration
v0.1.112
New Features:
- Memory: Added immutable parameter to add method
- OpenMemory: Added async_mode parameter support
- Documentation:
- Enhanced platform feature documentation
- Fixed documentation links
- Added async_mode documentation
- MongoDB: Fixed MongoDB configuration name
- Bedrock: Fixed Bedrock LLM, embeddings, tools, and temporary credentials
- Memory: Fixed memory categorization by updating dependencies and correcting API usage
- Gemini: Fixed Gemini Embeddings and LLM issues
v0.1.111
New Features:
- OpenMemory:
- Added OpenMemory augment support
- Added OpenMemory Local Support using new library
- vLLM: Added vLLM support integration
- Documentation:
- Added MCP Client Integration Guide and updated installation commands
- Improved Agent Id documentation for Mem0 OSS Graph Memory
- Core: Added JSON parsing to solve hallucination errors
- Gemini: Fixed Gemini Embeddings migration
v0.1.110
New Features:
- Baidu: Added Baidu vector database integration
- Documentation:
- Updated changelog
- Fixed example in quickstart page
- Updated client.update() method documentation in OpenAPI specification
- OpenSearch: Updated logger warning
- CI: Fixed failing CI pipeline
v0.1.109
New Features:
- AgentOps: Added AgentOps integration
- LM Studio: Added response_format parameter for LM Studio configuration
- Examples: Added Memory agent powered by voice (Cartesia + Agno)
- AI SDK: Added output_format parameter
- Client: Enhanced update method to support metadata
- Google: Added Google Genai library support
- Build: Fixed Build CI failure
- Pinecone: Fixed pinecone for async memory
v0.1.108
New Features:
- MongoDB: Added MongoDB Vector Store support
- Client: Added client support for summary functionality
- Pinecone: Fixed pinecone version issues
- OpenSearch: Added logger support
- Testing: Added python version test environments
v0.1.107
Improvements:
- Documentation:
- Updated Livekit documentation migration
- Updated OpenMemory hosted version documentation
- Core: Updated categorization flow
- Storage: Fixed migration issues
v0.1.106
New Features:
- Cloudflare: Added Cloudflare vector store support
- Search: Added threshold parameter to search functionality
- API: Added wildcard character support for v2 Memory APIs
- Documentation: Updated README docs for OpenMemory environment setup
- Core: Added support for unique user IDs
- Core: Fixed error handling exceptions
v0.1.104
Bug Fixes:
- Vector Stores: Fixed GET_ALL functionality for FAISS and OpenSearch
v0.1.103
New Features:
- LLM: Added support for OpenAI compatible LLM providers with baseUrl configuration
- Documentation:
- Fixed broken links
- Improved Graph Memory features documentation clarity
- Updated enable_graph documentation
- TypeScript SDK: Updated Google SDK peer dependency version
- Client: Added async mode parameter
v0.1.102
New Features:
- Examples: Added Neo4j example
- AI SDK: Added Google provider support
- OpenMemory: Added LLM and Embedding Providers support
- Documentation:
- Updated memory export documentation
- Enhanced role-based memory attribution rules documentation
- Updated API reference and messages documentation
- Added Mastra and Raycast documentation
- Added NOT filter documentation for Search and GetAll V2
- Announced Claude 4 support
- Core:
- Removed support for passing string as input in client.add()
- Added support for sarvam-m model
- TypeScript SDK: Fixed types from message interface
- Memory: Prevented saving prompt artifacts as memory when no new facts are present
- OpenMemory: Fixed typos in MCP tool description
v0.1.101
New Features:
- Neo4j: Added base label configuration support
- Documentation:
- Updated Healthcare example index
- Enhanced collaborative task agent documentation clarity
- Added criteria-based filtering documentation
- OpenMemory: Added cURL command for easy installation
- Build: Migrated to Hatch build system
v0.1.100
New Features:
- Memory: Added Group Chat Memory Feature support
- Examples: Added Healthcare assistant using Mem0 and Google ADK
- SSE: Fixed SSE connection issues
- MCP: Fixed memories not appearing in MCP clients added from Dashboard
v0.1.99
New Features:
- OpenMemory: Added OpenMemory support
- Neo4j: Added weights to Neo4j model
- AWS: Added support for OpenSearch Serverless
- Examples: Added ElizaOS Example
- Documentation: Updated Azure AI documentation
- AI SDK: Added missing parameters and updated demo application
- OSS: Fixed AOSS and AWS BedRock LLM
v0.1.98
New Features:
- Neo4j: Added support for Neo4j database
- AWS: Added support for AWS Bedrock Embeddings
- Client: Updated delete_users() to use V2 API endpoints
- Documentation: Updated timestamp and dual-identity memory management docs
- Neo4j: Improved Neo4j queries and removed warnings
- AI SDK: Added support for graceful failure when services are down
- Fixed AI SDK filters
- Fixed new memories wrong type
- Fixed duplicated metadata issue while adding/updating memories
v0.1.97
New Features:
- HuggingFace: Added support for HF Inference
- Fixed proxy for Mem0
v0.1.96
New Features:
- Vercel AI SDK: Added Graph Memory support
- Documentation: Fixed timestamp and README links
- Client: Updated TS client to use proper types for deleteUsers
- Dependencies: Removed unnecessary dependencies from base package
v0.1.95
Improvements:
- Client: Fixed Ping Method for using default org_id and project_id
- Documentation: Updated documentation
- Fixed mem0-migrations issue
v0.1.94
New Features:
- Integrations: Added Memgraph integration
- Memory: Added timestamp support
- Vector Stores: Added reset function for VectorDBs
- Documentation:
- Updated timestamp and expiration_date documentation
- Fixed v2 search documentation
- Added “memory” in EC “Custom config” section
- Fixed typos in the json config sample
v0.1.93
Improvements:
- Vector Stores: Initialized embedding_model_dims in all vectordbs
- Documentation: Fixed agno link
v0.1.92
New Features:
- Memory: Added Memory Reset functionality
- Client: Added support for Custom Instructions
- Examples: Added Fitness Checker powered by memory
- Core: Updated capture_event
- Documentation: Fixed curl for v2 get_all
- Vector Store: Fixed user_id functionality
- Client: Various client improvements
v0.1.91
New Features:
- LLM Integrations: Added Azure OpenAI Embedding Model
- Examples:
- Added movie recommendation using grok3
- Added Voice Assistant using Elevenlabs
- Documentation:
- Added keywords AI
- Reformatted navbar page URLs
- Updated changelog
- Updated openai.mdx
- FAISS: Silenced FAISS info logs
v0.1.90
New Features:
- LLM Integrations: Added Mistral AI as LLM provider
- Documentation:
- Updated changelog
- Fixed memory exclusion example
- Updated xAI documentation
- Updated YouTube Chrome extension example documentation
- Core: Fixed EmbedderFactory.create() in GraphMemory
- Azure OpenAI: Added patch to fix Azure OpenAI
- Telemetry: Fixed telemetry issue
v0.1.89
New Features:
- Langchain Integration: Added support for Langchain VectorStores
- Examples:
- Added personal assistant example
- Added personal study buddy example
- Added YouTube assistant Chrome extension example
- Added agno example
- Updated OpenAI Responses API examples
- Vector Store: Added capability to store user_id in vector database
- Async Memory: Added async support for OSS
- Documentation: Updated formatting and examples
v0.1.87
New Features:
- Upstash Vector: Added support for Upstash Vector store
- Code Quality: Removed redundant code lines
- Build: Updated MAKEFILE
- Documentation: Updated memory export documentation
v0.1.86
Improvements:
- FAISS: Added embedding_dims parameter to FAISS vector store
v0.1.84
New Features:
- Langchain Embedder: Added Langchain embedder integration
- Langchain LLM: Updated Langchain LLM integration to directly pass the Langchain object LLM
v0.1.83
Bug Fixes:
- Langchain LLM: Fixed issues with Langchain LLM integration
v0.1.82
New Features:
- LLM Integrations: Added support for Langchain LLMs, Google as new LLM and embedder
- Development: Added development docker compose
- Output Format: Set output_format=‘v1.1’ and updated documentation
- Integrations: Added LMStudio and Together.ai documentation
- API Reference: Updated output_format documentation
- Integrations: Added PipeCat integration documentation
- Integrations: Added Flowise integration documentation for Mem0 memory setup
- Tests: Fixed failing unit tests
v0.1.79
New Features:
- FAISS Support: Added FAISS vector store support
v0.1.78
New Features:
- Livekit Integration: Added Mem0 livekit example
- Evaluation: Added evaluation framework and tools
- Multimodal: Updated multimodal documentation
- Examples: Added examples for email processing
- API Reference: Updated API reference section
- Elevenlabs: Added Elevenlabs integration example
- OpenAI Environment Variables: Fixed issues with OpenAI environment variables
- Deployment Errors: Added
package.jsonfile to fix deployment errors - Tools: Fixed tools issues and improved formatting
- Docs: Updated API reference section for
expiration date
v0.1.77
Bug Fixes:
- OpenAI Environment Variables: Fixed issues with OpenAI environment variables
- Deployment Errors: Added
package.jsonfile to fix deployment errors - Tools: Fixed tools issues and improved formatting
- Docs: Updated API reference section for
expiration date
v0.1.76
New Features:
- Supabase Vector Store: Added support for Supabase Vector Store
- Supabase History DB: Added Supabase History DB to run Mem0 OSS on Serverless
- Feedback Method: Added feedback method to client
- Azure OpenAI: Fixed issues with Azure OpenAI
- Azure AI Search: Fixed test cases for Azure AI Search