v4.20.7
Osmantic/ODSv4.20.7Sep 24, 2026by swilly22
Upgrading?
AI Summary
A security and stability patch release for the C engine addressing Redis vulnerabilities and fixing concurrency issues with constraint creation.
Key Highlights
- Bumped Redis to version 8.10.2 to address CVE-2026-85091.
- Fixed a crash caused by concurrent `GRAPH.CONSTRAINT` creation operations.
- Optimized `seek-by-id` operations to handle compound expressions more efficiently.
New Features
- Seek-by-id optimization for compound expressions such as `ID(n) = x + 1`.
Full Release Notes
Patch release on top of v4.20.6. Contains a security update, two bug fixes, and a CI change. Full changelog: v4.20.6...v4.20.7 π Security - Bump Redis to 8.10.2 for CVE-2026-85091. Updates the pinned Redis version across all Docker images (build + server) and the sanitizer/test paths. (#2850, fixes #2849) π Bug Fixes - Prevent crash from concurrent GRAPH.CONSTRAINT creation. A write query reserves node IDs under the read lock, then releases it to commit under the write lock; in that gap a failing async GRAPH.CONSTRAINT could roll back and zero the graph-global reserved_node_count, driving it negative on the write query's commit β an assert in debug and datablock corruption (later crash) in release. A read-locked pre-check now rejects the common benign failures (constraint already exists, missing supporting index, duplicate properties) without taking the write lock or rolling back. (#2875, fixes #2880; partially mitigates the underflow crash tracked in #238 β a TOCTOU residual remains) - Seek-by-id now optimizes compound expressions opposite ID(n). Filters like ID(a) = x + 1, ID(b) = ID(a) + 1, reversed operands, inequalities, and multi-bound ranges now reduce a scan+filter to a NodeByIdSeek (previously only bare operands qualified). Also fixes a correctness bug where a per-record bound resolving to an empty range (non-integer / out-of-range value) dropped all remaining records instead of skipping just that one β e.g. UNWIND [1.1, 2, 3.5, 4] AS x MATCH (n) WHERE ID(n) = x now returns nodes 2 andΒ 4. (#2870, fixes #2871)
Related Repositories
public-apis/public-apisβ
491,139
A collective list of free APIs
NousResearch/hermes-agentβ
255,979
The agent that grows with you
yt-dlp/yt-dlpβ
200,072
A feature-rich command-line audio/video downloader
microsoft/markitdownβ
191,496
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPTβ
187,704
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.