Skip to content

Releases: mem0ai/mem0

Mem0 Python SDK (v2.0.5)

10 Jun 17:03
8399b08

Choose a tag to compare

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)

Vercel AI SDK Provider (v3.0.0)

10 Jun 16:52
8399b08

Choose a tag to compare

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 the filters object 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_id
  • project_id
  • org_name
  • project_name
  • output_format
  • filter_memories
  • async_mode
  • enable_graph
  • version
  • api_version

New Features

V3 Provider Contract

  • specificationVersion: "v3"
  • supportedUrls property
  • V3 content arrays in doGenerate
  • V3 stream lifecycle events in doStream

Mem0 Source in Responses

  • Memories are attached as a source in generateText and streamText responses.

  • Programmatic access is available via:

    • providerMetadata.mem0.memories

Bug Fixes

Async Memory Storage

  • addMemories is 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

  • doGenerate now guards against null content values returned by upstream providers.

Stream Response

  • doStream now returns the complete LanguageModelV3StreamResult object.
  • Preserves all V3 fields.

Response Normalization

  • getMemories and retrieveMemories now support both response formats:

    • [...]
    • { results: [...] }

Mem0 Node SDK (v3.0.7)

10 Jun 17:00
8399b08

Choose a tag to compare

Mem0 Node SDK (v3.0.7)

New Features:

  • Embeddings: Add LMStudioEmbedding provider for local embeddings via the LM Studio server (#5377)
  • Memory: Add opt-in explain: true option to Memory.search(). When enabled, each result includes a scoreBreakdown object with semantic, keyword, entityBoost, and temporalBoost fields 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 both embed() and embedBatch(). Fixes incorrect vector dimensions when using OpenAI-compatible proxies that default to base64 encoding (#5170)

Mem0 Pi Agent Plugin (v0.1.1)

10 Jun 16:01
0ffaffa

Choose a tag to compare

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)

01 Jun 20:11
8e65ce9

Choose a tag to compare

Vercel AI SDK Provider (v2.4.6)

Security:

Mem0 Node SDK (v3.0.6)

01 Jun 20:16
8e65ce9

Choose a tag to compare

Mem0 Node SDK (v3.0.6)

Security:

Mem0 OpenClaw Plugin (v1.0.12)

01 Jun 20:14
8e65ce9

Choose a tag to compare

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)

01 Jun 20:18
8e65ce9

Choose a tag to compare

Mem0 Node CLI (v0.2.8)

Security:

Mem0 OpenCode Plugin (v0.1.2)

01 Jun 10:10
a3154d5

Choose a tag to compare

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)

28 May 15:10
9328c36

Choose a tag to compare

Mem0 OpenCode Plugin (v0.1.1)

Maintenance

  • First release built and published via the new opencode-plugin-cd.yml workflow.

    • Builds with Bun
    • Publishes to npm with provenance via OIDC trusted publishing (#5287)
  • Added an opencode-plugin checks CI workflow:

    • Bun install
    • tsc type-check
    • Build verification
    • dist/index.js verification

    Runs on pushes and PRs touching the plugin. (#5287)