New Features:
- Vector Stores: Add an Oracle AI Vector Search vector store (
oracledb) to the OSS SDK, with pooled connections,HNSW/IVFindexes, an optionalindexAccuracytarget, JSON payload filtering, and six selectable distance metrics (#6690)
Bug Fixes:
- Core: Percent-escape
%,&, and=inuser_id,agent_id, andrun_idwhen building the session scope key for the recent-conversation buffer, so the key stays unambiguous for ids containing those characters. Ordinary ids keep their existing key; an id already containing%,&, or=maps to a new key, so its buffer starts empty once and refills on the nextadd(). Stored memories are unaffected. Reported by @OfficialAbhinavSingh (#6892) - Vector Stores: Close and clear the Oracle pool that Mem0 created when
initialize()fails, and reset the cached init promise so the next call retries instead of replaying the rejection forever. A caller-suppliedclientis left untouched (#6839) - Vector Stores: Validate Oracle
insert()batches before touching the database:idsandpayloadsmust matchvectorsin length, so a short array can no longer write rows withundefinedids or silently drop payloads (#6839)
Improvements:
- Vector Stores: Cut Oracle round trips.
insert()now sends the whole batch through oneexecuteMany()with explicitbindDefsinstead of oneINSERTper vector,list()reads the total from aCOUNT(*) OVER ()window in the same statement instead of issuing a second count query, and an unfilteredsearch()adds theVECTOR_INDEX_TRANSFORMhint so the vector index is used (#6835)
Security:
- Dependencies: Patched 8 high and 18 medium severity dependency vulnerabilities across the pnpm workspace via
pnpm.overrides(undici,brace-expansion,ip-address) (#6847)