Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

0.21.0 Release Notes

This revision includes the cold-query improvements merged after 0.20.0 and the seeded-procedure correction. Release preparation, published artifacts and production approval remain separate steps; check the repository release status.

Query execution

  • Eligible filtered aggregates reuse exact indexed string values rather than repeatedly reading graph properties. Unsupported shapes retain the ordinary executor, including null, mixed-domain and resource-budget fallbacks.
  • Long ordered-edge traversals can prepare selective residual candidates; short pages continue streaming. Filters, ordering and multiplicity remain part of query semantics, not application-specific rewrites.
  • Parallel workers preserve filtered entry selection, pinned parameters and bounded aggregate covering. Query parallelism remains opt-in.
  • Bounded top-K sorting enforces the retained-row budget, including offset windows, and reports resource exhaustion instead of truncating answers.

Procedure correctness and WASM

Procedure calls after WITH and inside correlated subqueries now retain imported row bindings. Previously the fallback could invoke a procedure with unbound arguments; a real WASM guest reproduced the failure. The fix is generic and preserves database-scoped procedure resolution.

The WASM manual explains bounded application calls, backend authorization before invocation, module registration and trust boundaries. WASM remains subject to its existing experimental-feature requirements.

Qualification and limits — #1261

The preceding frozen cold-query candidate passed twelve verified cold starts with 24 correct answers and a strict six-hour mixed run with 113,327 successful timed HTTP attempts. This was a non-WASM workload, not a six-hour WASM test. Exact artifacts and prior failures are recorded in repository docs/cold-query-qualification-1261.md.

The subsequent procedure-fix candidate passed fresh five-node WASM controls, including learner restart, module replication and a deliberately unavailable module. Only the failing WASM client stopped; ordinary reads continued. A separate thirty-minute mixed run passed all 11,393 timed HTTP attempts, including 360 independently checked WASM page requests. WASM HTTP p90/p99 were 250.5/465.2 ms, including backend and transport, not isolated engine time. See repository docs/wasm-mixed-1261.md for hashes, rates and raw evidence.

Both workloads used one SSD host with three voters, two nonvoting learners, three Rust/neo4rs backends and simulated regional delays. The fixture contains 334,770 tickets, 2,201,041 comments and 5,488,094 edges, not one million tickets. The measurements predate the metadata-only version bump; they are not new measurements of a published release binary.

This does not qualify real WAN deployments, maximum write throughput, batch synchronization, arbitrary hostile guests or every cold query shape. No storage or peer-protocol format changes are introduced by this revision.