|
|
|
@@ -7,6 +7,18 @@ mode: "wide"
|
|
|
|
|
<Tabs>
|
|
|
|
|
<Tab title="Python">
|
|
|
|
|
|
|
|
|
|
<Update label="2026-07-25" description="v2.0.14">
|
|
|
|
|
|
|
|
|
|
**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))
|
|
|
|
|
|
|
|
|
|
</Update>
|
|
|
|
|
|
|
|
|
|
<Update label="2026-07-22" description="v2.0.13">
|
|
|
|
|
|
|
|
|
|
**Bug Fixes:**
|
|
|
|
@@ -1145,6 +1157,18 @@ See the [OSS v2 to v3 migration guide](https://docs.mem0.ai/migration/oss-v2-to-
|
|
|
|
|
|
|
|
|
|
<Tab title="TypeScript">
|
|
|
|
|
|
|
|
|
|
<Update label="2026-07-25" description="v3.1.2">
|
|
|
|
|
|
|
|
|
|
**Bug Fixes:**
|
|
|
|
|
- **Vector Stores:** Apply every operator in a Cassandra compound field filter (e.g. `{ age: { gte: 10, lte: 20 } }`) instead of stopping after the first, so the remaining bounds are no longer silently ignored ([#6511](https://github.com/mem0ai/mem0/pull/6511))
|
|
|
|
|
- **Vector Stores:** Stop the Chroma where-clause translator from dropping filter conditions. Same-field ranges (`gte` + `lte`), multi-field conditions inside `$or`, and negated `contains`/`icontains` under `$not` each collapsed to a single clause or vanished, widening the search instead of narrowing it ([#6521](https://github.com/mem0ai/mem0/pull/6521))
|
|
|
|
|
- **Vector Stores:** Skip `"*"` wildcard filter values in Milvus instead of matching them literally, so a filter like `{ user_id: "*" }` no longer returns zero memories ([#6508](https://github.com/mem0ai/mem0/pull/6508))
|
|
|
|
|
- **Vector Stores:** Read `textLemmatized` for BM25 keyword search on Milvus, OpenSearch, and MongoDB, matching the field the memory layer actually writes, so hybrid search on those backends no longer loses the keyword signal ([#6497](https://github.com/mem0ai/mem0/pull/6497))
|
|
|
|
|
- **LLMs:** Forward `responseFormat` to Gemini's `responseMimeType` in `generateResponse()`, so requesting `json_object` returns JSON instead of free-form text ([#6468](https://github.com/mem0ai/mem0/pull/6468))
|
|
|
|
|
- **LLMs:** Find the Anthropic text block by type instead of indexing `content[0]`, so a thinking-enabled model whose `thinking` block comes first no longer throws `Unexpected response type from Anthropic API` ([#6506](https://github.com/mem0ai/mem0/pull/6506))
|
|
|
|
|
|
|
|
|
|
</Update>
|
|
|
|
|
|
|
|
|
|
<Update label="2026-07-22" description="v3.1.1">
|
|
|
|
|
|
|
|
|
|
**New Features:**
|
|
|
|
|