Skip to content

mem0

v2.0.5 Feature

This release adds 2 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agents ai ai-agents application chatbots chatgpt
+7 more
genai llm long-term-memory memory memory-management python state-management

Summary

AI summary

Memory initialization now warns when hybrid/BM25 search degrades to semantic-only, and adds an opt‑in score breakdown for detailed retrieval ranking.

Changes in this release

Feature Medium

Adds opt‑in `explain=True` to `Memory.search()` and `AsyncMemory.search()` for score breakdowns.

Adds opt‑in `explain=True` to `Memory.search()` and `AsyncMemory.search()` for score breakdowns.

Source: llm_adapter@2026-06-10

Confidence: high

Feature Low

Warns at init if hybrid/BM25 degrades to semantic-only due to unsupported vector store.

Warns at init if hybrid/BM25 degrades to semantic-only due to unsupported vector store.

Source: granite4.1:30b@2026-06-10-audit

Confidence: low

Performance Medium

Parallelizes entity boost searches in `Memory.search()` and `AsyncMemory.search()`, eliminating multi‑second latency.

Parallelizes entity boost searches in `Memory.search()` and `AsyncMemory.search()`, eliminating multi‑second latency.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Adds `is_reasoning_model` override to `BaseLlmConfig`, fixing silent zero‑extraction for Azure GPT‑5.x deployments.

Adds `is_reasoning_model` override to `BaseLlmConfig`, fixing silent zero‑extraction for Azure GPT‑5.x deployments.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Fixes xAI LLM provider: adds `XAIConfig`, forwards tools, and parses tool calls.

Fixes xAI LLM provider: adds `XAIConfig`, forwards tools, and parses tool calls.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Prevents PGVector `ConnectionPool` hang in Docker Compose by using `open=False`.

Prevents PGVector `ConnectionPool` hang in Docker Compose by using `open=False`.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Correctly extracts and forwards `sslmode` from PostgreSQL URIs in PGVector.

Correctly extracts and forwards `sslmode` from PostgreSQL URIs in PGVector.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Applies metadata filters client‑side for S3 Vectors `list()`, preserving pagination and applying `top_k` after filtering.

Applies metadata filters client‑side for S3 Vectors `list()`, preserving pagination and applying `top_k` after filtering.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Passes namespace as a top‑level argument to Upstash Vector `query_many()`, fixing routing to the default namespace.

Passes namespace as a top‑level argument to Upstash Vector `query_many()`, fixing routing to the default namespace.

Source: llm_adapter@2026-06-10

Confidence: high

Bugfix Medium

Rejects empty or whitespace‑only queries in `Memory.search()`, `AsyncMemory.search()`, `MemoryClient.search()`, and `AsyncMemoryClient.search()`.

Rejects empty or whitespace‑only queries in `Memory.search()`, `AsyncMemory.search()`, `MemoryClient.search()`, and `AsyncMemoryClient.search()`.

Source: llm_adapter@2026-06-10

Confidence: low

Bugfix Medium

Normalizes similarity scores to [0, 1] across all vector store backends.

Normalizes similarity scores to [0, 1] across all vector store backends.

Source: llm_adapter@2026-06-10

Confidence: low

Bugfix Low

Rejects empty or whitespace‑only queries in search APIs before any processing.

Rejects empty or whitespace‑only queries in search APIs before any processing.

Source: granite4.1:30b@2026-06-10-audit

Confidence: low

Refactor Low

Replaces mutable default arguments with `None` sentinels in embedder configs and proxy module.

Replaces mutable default arguments with `None` sentinels in embedder configs and proxy module.

Source: granite4.1:30b@2026-06-10-audit

Confidence: low

Full changelog

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=True parameter to Memory.search() and AsyncMemory.search(). When enabled, each result includes a score_breakdown dict with semantic, keyword (normalized BM25), entity_boost, and temporal_boost signals 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() and AsyncMemory.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(), and AsyncMemoryClient.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 to BaseLlmConfig (surfaced on OpenAILlmConfig and AzureOpenAILlmConfig). Fixes silent zero-extraction when using Azure deployments with versioned gpt-5.x names that the automatic name-based heuristic cannot recognize (#5327)
  • LLMs: Fix xAI LLM provider: add XAIConfig with xai_base_url, forward tools/tool_choice in generate_response(), and parse tool_calls in the response. Previously the provider raised AttributeError at init and silently dropped tool results (#5190)
  • Vector Stores: Fix PGVector ConnectionPool hang in Docker Compose environments where the app container starts before Postgres is DNS-resolvable — switched to open=False to avoid blocking constructor or silent zombie pool (#5155)
  • Vector Stores: Fix PGVector sslmode handling for PostgreSQL URIs — the sslmode query 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 and top_k applied after filtering to prevent pre-truncation of matching rows (#5018)
  • Vector Stores: Fix Upstash Vector search() routing all queries to the default namespace — namespace is now passed as a top-level keyword argument to query_many() instead of inside the per-query dict where it was silently ignored (#5202)
  • Core: Replace mutable default arguments with None sentinels in embedder configs and the proxy module, preventing cross-request state contamination (#5302)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track mem0

Get notified when new releases ship.

Sign up free

About mem0

Universal memory layer for AI Agents

All releases →

Related context

Beta — feedback welcome: [email protected]