v4.22.0

bespokelabsai/nimblev4.22.0Sep 30, 2026by swilly22

Upgrading?

AI Summary

Feature release introducing advanced path-finding algorithms and a new CCH path index, alongside replication improvements and bug fixes.

Key Highlights

  • Added A* search algorithm with haversine heuristic and Yen's k-shortest paths.
  • Introduced CCH (Contraction Hierarchies) path index for fast repeated queries.
  • Fixed crashes occurring on MERGE clauses and during plan-building errors.
  • Updated RDB encoding version to v20 to support CCH serialization.
  • Improved path-cost and hop-count accounting for optimality.

Breaking Changes

  • RDB encoding version updated from v19 to v20.
  • Replication decoder changes remove full-sync requirement (may affect older 4.x replicas)

New Features

  • A* search algorithm with heuristicScale support.
  • Yen's k-shortest paths algorithm.
  • CCH path index creation and querying.
  • db.idx.cch.query command for bidirectional Dijkstra.

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