Skip to content

v0.4.0

Choose a tag to compare

@a-poor a-poor released this 17 Oct 04:07
· 3 commits to main since this release

Highlights

  • Recover missing expression operands with empty-span ExprKind::Error nodes while retaining operators, precedence, aliases, and valid siblings.
  • Preserve UNION branches, operator spans, and ALL/DISTINCT quantifiers around malformed regions.
  • Avoid redundant strict parsing of malformed UNION chains. The documented 128-prefix workload remains around 2.35 ms locally, compared with 1.16 seconds before the optimization.

Migration

Consumers of parse_recovering must inspect expression errors as well as clause and statement errors, including all UNION branches. Repairs are insertion-only and bounded by the shared retry budget. Strict syntax acceptance and the 32-diagnostic cap are unchanged.

See the 0.4 migration notes for AST examples and recovery boundaries, and benchmark notes for measurement limitations.

All 13 release-commit CI checks passed, including packaging, coverage, cross-platform/MSRV tests, fuzz smoke, and all 4,882 TCK syntax-projection occurrences.

Crate: https://crates.io/crates/open-cypher/0.4.0

Full changelog: v0.3.0...v0.4.0