v4.22.0

vectorize-io/hindsightv4.22.0Sep 30, 2026by swilly22

Upgrading?

AI Summary

This release introduces advanced path-finding algorithms and a new Customizable Contraction Hierarchies (CCH) path index, alongside several bug fixes and replication improvements.

Key Highlights

  • Added A* search with admissible heuristics and Yen's k-shortest paths
  • Introduced CCH path index with DDL, query, and maintenance features
  • Fixed crash on MERGE preceded by an erroring clause
  • RDB encoding upgraded to version v20

New Features

  • Advanced path-finding algorithms (A*, Yen's, All-shortest-paths)
  • CCH path index support (CREATE/DROP CCH INDEX)

Full Release Notes

✨ New features

Advanced path-finding algorithms (#2630, #2720, #2656, #2732)
- A* search with an admissible haversine heuristic + optional heuristicScale so it stays optimal for non-distance weights like travel time (heuristicScale = 1/max_speed; 0 = Dijkstra). Fixes ~1.6× suboptimal routes on time-weighted road networks.
- Yen's k-shortest paths with goal-directed spur search.
- All-shortest-paths and k-shortest-paths procedures.
- Optimality/cost-model fixes: correct pathCost/hop-count accounting, cost-aware k-shortest selection, redundant destination-lookup skip in landmark mode.

CCH path index (#2680, #2721, #2865)
- DDL: CREATE CCH INDEX FOR ()-[e:A|B]->() ON (e.w) / DROP CCH INDEX …. Multi-reltype supported; hierarchy stays internal (no shortcut edges / rank props in your graph).
- Query: db.idx.cch.query — rank-pruned bidirectional Dijkstra.
- Incremental maintenance: commit-coalesced dirty tracking (CLEAN < RECUSTOMIZE < REBUILD); weight/edge changes recustomize scoped, topology changes rebuild.
- Persistence: full RDB serialization, restored on load.

🐛 Bug fixes

- Crash on MERGE preceded by an erroring clause (#3116).
- Crash when a clause errors mid plan-build (#3139).
- Replica SIGSEGV applying an UPDATE_EDGE/UPDATE_NODE effect naming a freed id (id divergence) (#2581).

🔄 Replication & persistence

- Remove full-sync requirement from the decoder; maintain transpose in Delta_set (#2584).
- Export Graph_EncodingVersion / Graph_GetDecoder (#2552).
- RDB encoding v19 → v20 (adds CCH serialization).

Related Repositories