This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+7 more
Summary
AI summaryMemory 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
| Type | Severity | Summary | CVE |
|---|---|---|---|
| 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=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)
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
Related context
Related tools
Beta — feedback welcome: [email protected]