Mem0 ts-v3.1.6

ts-v3.1.6

Mem0 Node SDK (v3.1.6)

Added 1
  • Add an Oracle AI Vector Search vector store (oracledb) to the OSS SDK with pooled connections, HNSW/IVF indexes, optional indexAccuracy target, JSON payload filtering, and six selectable distance metrics
Changed 3
  • Cut Oracle round trips by sending the whole batch through one executeMany() with explicit bindDefs instead of one INSERT per vector
  • Optimize list() to read the total from a COUNT(*) OVER () window in the same statement instead of issuing a second count query
  • Add VECTOR_INDEX_TRANSFORM hint to unfiltered search() so the vector index is used
Fixed 3
  • Percent-escape %, &, and = in user_id, agent_id, and run_id when building the session scope key for the recent-conversation buffer to keep the key unambiguous for ids containing those characters
  • 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
  • Validate Oracle insert() batches before touching the database: ids and payloads must match vectors in length to prevent short arrays from writing rows with undefined ids or silently dropping payloads
Security 1
  • Patch 8 high and 18 medium severity dependency vulnerabilities across the pnpm workspace via pnpm.overrides (undici, brace-expansion, ip-address)

New Features:

  • Vector Stores: Add an Oracle AI Vector Search vector store (oracledb) to the OSS SDK, with pooled connections, HNSW/IVF indexes, an optional indexAccuracy target, JSON payload filtering, and six selectable distance metrics (#6690)

Bug Fixes:

  • Core: Percent-escape %, &, and = in user_id, agent_id, and run_id when 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 next add(). 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-supplied client is left untouched (#6839)
  • Vector Stores: Validate Oracle insert() batches before touching the database: ids and payloads must match vectors in length, so a short array can no longer write rows with undefined ids or silently drop payloads (#6839)

Improvements:

  • Vector Stores: Cut Oracle round trips. insert() now sends the whole batch through one executeMany() with explicit bindDefs instead of one INSERT per vector, list() reads the total from a COUNT(*) OVER () window in the same statement instead of issuing a second count query, and an unfiltered search() adds the VECTOR_INDEX_TRANSFORM hint 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)
View original

Upgraded? How did it go?

Discussion