v2.0.14

semaphoreui/semaphorev2.0.14Jul 25, 2026by kartik-mem0

AI Summary

The Python SDK gains support for Oracle AI Vector Search and fixes bugs related to OpenSearch wildcard filtering and Milvus schema requirements.

Key Highlights

  • Added Oracle AI Vector Search provider (`oracledb`) with connection pooling and multiple distance metrics
  • Fixed OpenSearch wildcard filter to correctly translate `*` into existence queries
  • Fixed OpenSearch error handling to surface configuration issues instead of returning empty results
  • Fixed Milvus update operations to respect BM25 schema checks

New Features

  • Oracle AI Vector Search provider

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))