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.20.0 Release Notes

This revision consolidates the changes since 0.17.0. There are no implied 0.18.0 or 0.19.0 releases. Release preparation, tagged artifacts and production qualification are separate steps; consult the repository release/tag status before deploying an artifact described by this manual.

Ordered graph pages

Edge-sorted indexes now support eligible multi-key pages, necessary primary cursor bounds, deterministic residual filters and ordinary additional graph hops. The executor orders complete primary-value families before selecting secondary keys. It preserves matching-row multiplicity and checks filters before counting page rows. Existing index definitions and persisted entries are reused; this feature does not require rebuilding them.

Planner and executor controls cover the unchanged backend-shaped query, identity projections, snapshots, ties, cursor boundaries, errors and cancellation. Unproved query shapes and primary-value domains retain the general executor. Selective filters, large equality groups and offset pagination may still require substantial work. Use keyset pagination where appropriate; no fixed candidate count or universal latency guarantee is implied.

Other changes since 0.17.0

  • Maintenance jobs: asynchronous tag and backup work, observable node-local execution and history maintenance operations.
  • Backup and recovery: retained snapshot-body ownership, streaming/portable restore and offline administrative recovery controls.
  • Property-aware result-cache dependencies, snapshot-safe adjacency reuse and L4 cache visibility in the admin dashboard.
  • Diagnostic tracing for logical query, search and snapshot phases, plus regional workload, causal-read and recovery qualification tooling.
  • Recovery, latest-onboarding I/O and routing hardening. These changes do not remove the documented application retry, licensing or experimental-feature requirements.

Measured qualification and limits — #1261

The frozen pagination candidate before the metadata-only version bump completed a strict 10,800-second mixed workload on 2026-09-21. It used one SSD host, three voters, two nonvoting learners, three Rust/neo4rs backends and simulated 20/40 ms one-way learner delays. The dataset contained 334,770 tickets, 2,201,041 comments and 5,488,094 source edges. It was not a 1M-ticket test.

All 56,620 timed HTTP attempts succeeded and the independent result/order, cursor, ACL, causal-read and search checks passed. The final run retained host caches and included concurrent mutations and analytics; it did not inject faults.

Timed HTTP operationSamplesp90p99Maximum
Follow-up cursor pages4,605246.3 ms252.8 ms407.2 ms
Ticket comments4,757247.0 ms253.9 ms403.8 ms
Author comments5,8491,719.8 ms3,895.7 ms7,664.2 ms
Author aggregation3603,073.0 ms4,522.4 ms5,013.0 ms

These are nearest-lower sample quantiles, including regional delay; preflight and cleanup are excluded. The earlier initial smoke failed on first-touch author aggregation at the eight-second request budget. A subsequent green mixed run does not fix or waive that cold-path failure. Author-page tails also remain a performance follow-up. The isolated improved cursor case is not representative of every author page.

Reproducible evidence, exact binary hashes and failed attempts are recorded in repository docs/ordered-edge-pagination-1261.md and issue #1261. No real-WAN, cold-start, memory-limited or universal production approval follows from this version number or the three-hour result.

Upgrade boundary

All workspace crates inherit version 0.20.0. The ordered-edge feature introduces no new persistent index format. Intermediate changes since 0.17.0 include disposable cache-format changes; cached results are not authoritative database contents. Follow the first-customer checklist, preserve a verified recoverable backup and validate your own queries and driver behavior before rollout. Do not assume arbitrary mixed-version or downgrade safety from the unchanged edge-index format alone.