v2.0.14

mem0ai/mem0v2.0.14Jul 25, 2026by kartik-mem0

AI Summary

This release adds Oracle AI Vector Search provider and fixes various vector store filter and error handling issues.

Key Highlights

  • Add Oracle AI Vector Search provider with connection pooling, HNSW/IVF indexes, and JSON metadata filtering
  • Fix wildcard filter value in OpenSearch by converting to exists query
  • Re-raise errors from OpenSearch search() instead of returning empty array
  • Guard text field in Milvus update() behind _has_bm25_schema check

New Features

  • Oracle AI Vector Search provider (oracledb) with six selectable distance metrics

Full Release Notes

**New Features:**
- **Vector Stores:** Add an Oracle AI Vector Search provider (`oracledb`) with connection pooling, `HNSW`/`IVF` indexes, JSON metadata filtering, and six selectable distance metrics ([#5358](https://github.com/mem0ai/mem0/pull/5358))

**Bug Fixes:**
- **Vector Stores:** Translate a `"*"` filter value in OpenSearch into an `exists` query for every key, not just identity keys. It was previously ignored or matched literally against the string `"*"`, so a wildcard filter returned nothing ([#6522](https://github.com/mem0ai/mem0/pull/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](https://github.com/mem0ai/mem0/pull/6519))
- **Vector Stores:** Guard the `text` field in Milvus `update()` behind the `_has_bm25_schema` check, matching `insert()`, so updating a memory in a collection without the BM25 `text`/`sparse` schema no longer fails ([#5705](https://github.com/mem0ai/mem0/pull/5705))