v0.4.0
What's New in v0.4.0
Bug Fixes (8)
- Integer storage widened to 64-bit (#43) — Integer properties were silently truncated to 32-bit, affecting
timestamp(), large IDs, and any value > 2.1 billion. Now usesint64_tthroughout the pipeline. size(labels(n))returns label count (#42) — Was returning the string length of the JSON representation instead of the number of labels.DELETE + RETURN COUNT(n)reports actual count (#39) — Was always returning 0 because the RETURN re-queried the already-empty graph.OPTIONAL MATCHrespects label filters (#34) —OPTIONAL MATCH (a)-->(r:Label)was ignoring the label constraint and returning unrelated nodes.UNWIND $paramaccepts parameters (#37) — Parameter references and map property access (item.id) now work in UNWIND expressions, enabling batch ingestion patterns.startNode(r).nameresolves properties (#41) —startNode()andendNode()now support property access and function composition.- MERGE variables persist through WITH (#36) —
MERGE ... SET ... WITH i MATCH ... MERGE ...now works via a new clause pipeline handler. SET n.prop = function()evaluates correctly (#35, #38) — Function calls and parameterized bulk SET (SET n += $param) now work in SET clauses.
Documentation
- Comprehensive Diátaxis documentation rewrite covering tutorials, how-to guides, reference, and explanation sections.
Testing
- 13 new reproduction tests covering all fixed bugs (Python + functional SQL)
- Rust test parallelism fix across CI and release workflows
Upgrading
This release changes integer storage from 32-bit to 64-bit. Existing databases are unaffected (SQLite INTEGER columns already support 64-bit). New integer values will now be stored at full precision.
Full Changelog: v0.3.10...v0.4.0