← Back to home
Comparison · DevOps

GraphHopper vs Dapr

A side-by-side editorial comparison of GraphHopper and Dapr — release velocity, themes, recent moves, and the top alternatives to consider.

GraphHopper vs Dapr: at a glance

FeatureGraphHopperDapr
SectorDevOpsDevOps
Velocity score0.05.0
Sparks · 30d00
Top themesrouting, openstreetmap, custom-models, navigationdistributed-runtime, actors, workflows, backport-discipline
Last editorial update2h ago1h ago
WebsiteVisit →Visit →

What is GraphHopper?

GraphHopper finished moving vehicle profiles into custom models, then went back to OSM tags.

GraphHopper ships a major roughly every six months, with 11.0 in October 2025 the most recent. The architectural work happened in 9.0, which moved vehicle encoded values into the custom model, removed the built-in vehicle parsers' name property and the wheelchair parsers, allowed external encoded values in custom models, and blocked built-in custom model filenames. 10.0 then spent itself on storage layout — byte-based edge storage, a Map-based KVStorage API, wider georef fields — and 11.0 is almost entirely OSM tag interpretation: maxspeed=none handling, separate foot and bike road access, cycleway oneway combinations, toll parsing moved into a country-aware parser.

Read the full GraphHopper trajectory →

What is Dapr?

Dapr patches three release lines at once and writes root-cause notes for each fix.

Dapr maintains 1.16, 1.17 and 1.18 concurrently, cutting patches on all three within days of each other and running a numbered release-candidate sequence on the active line. The release notes are unusually rigorous — each fix gets problem, impact, root cause and solution sections. The most recent round fixed input bindings that never activated when an application was slow to answer the subscription discovery probe, which previously had a hardcoded three-second budget, and moved builds to Go 1.26.5 for standard library vulnerabilities.

Read the full Dapr trajectory →

GraphHopper vs Dapr: editorial side-by-side

G0.0

GraphHopper finished moving vehicle profiles into custom models, then went back to OSM tags.

◆ Current state

GraphHopper ships a major roughly every six months, with 11.0 in October 2025 the most recent. The architectural work happened in 9.0, which moved vehicle encoded values into the custom model, removed the built-in vehicle parsers' name property and the wheelchair parsers, allowed external encoded values in custom models, and blocked built-in custom model filenames. 10.0 then spent itself on storage layout — byte-based edge storage, a Map-based KVStorage API, wider georef fields — and 11.0 is almost entirely OSM tag interpretation: maxspeed=none handling, separate foot and bike road access, cycleway oneway combinations, toll parsing moved into a country-aware parser.

◆ Where it's heading

The configuration model is settled and the effort has moved to routing quality. Nearly every change in 11.0 is about reading OSM tags more faithfully for a specific mode — bicycle handling on living streets, foot instructions at junctions, MTB speeds on compacted surfaces, HGV tolls by country — which is the long tail of work that separates a routing engine that runs from one people trust. Turn restrictions are the recurring source of real bugs, appearing across 9.0, 10.0, 10.1 and 11.0 with via-way handling repeatedly needing correction. The new POST /navigate endpoint accepting a GraphHopper request is the one API-surface addition in this window.

◆ Prediction

Expect continued profile-level tuning driven by OSM tagging edge cases rather than architectural change, since three consecutive majors have narrowed in that direction. Turn restriction handling with multiple or overlapping via-ways is the most likely source of the next bugfix release, given its record across every version here.

D
Dapr
DEVOPS
5.0

Dapr patches three release lines at once and writes root-cause notes for each fix.

◆ Current state

Dapr maintains 1.16, 1.17 and 1.18 concurrently, cutting patches on all three within days of each other and running a numbered release-candidate sequence on the active line. The release notes are unusually rigorous — each fix gets problem, impact, root cause and solution sections. The most recent round fixed input bindings that never activated when an application was slow to answer the subscription discovery probe, which previously had a hardcoded three-second budget, and moved builds to Go 1.26.5 for standard library vulnerabilities.

◆ Where it's heading

The current fix pattern points at applications and clusters under stress: probe timeouts too tight for JVM warmup, actor timer callbacks blocking other actors, sidecars restarting on unrelated configuration changes, workflow instance ID reuse while child workflows are still running. This is the work of a runtime being pushed by production deployments rather than one adding surface. The 1.18 line has also picked up MCP server support, visible only through registration retry and credential reload fixes.

◆ Prediction

Given the rc sequence in flight, a 1.18.3 release is imminent; the MCP server path is the newest component and the most likely source of the next round of fixes.

Alternatives to GraphHopper and Dapr

Other DevOps products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either GraphHopper or Dapr.

See all GraphHopper alternatives → · See all Dapr alternatives →

Recent activity from GraphHopper and Dapr

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 2d agoDaprGo 1.26.5 rebuild and input binding probe timeout fix
  2. 2d agoDaprBinding probe fix backported to the 1.16 line
  3. 5d agoDapr1.18.3 first release candidate
  4. 18d agoDaprActor, workflow and component reload fixes across the 1.18 line
  5. 22d agoDaprFourth 1.18.2 candidate: workflow metrics and reminder recovery
  6. 22d agoDaprThird 1.18.2 candidate: actor timers and dependency bumps
  7. 9mo agoGraphHopper11.0 refines mode-specific OSM tag handling and adds POST /navigate
  8. 1y agoGraphHopper10.2 fixes an import failure on recent OSM turn restriction data
  9. 1y agoGraphHopper10.1 cherry-picks a via-way turn restriction fix
  10. 1y agoGraphHopper10.0 reworks edge storage layout and turn cost computation
  11. 2y agoGraphHopper9.1 is a bugfix release with no documented changes
  12. 2y agoGraphHopperVehicle profiles collapse into custom models in GraphHopper 9

Frequently asked questions

What is the difference between GraphHopper and Dapr?

They serve adjacent needs but don't currently overlap on shipped themes. Dapr is currently shipping more aggressively (velocity 5.0 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is GraphHopper better than Dapr?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. Dapr is currently shipping more aggressively (velocity 5.0 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other DevOps products to evaluate alongside.

What are the best alternatives to GraphHopper?

Top GraphHopper alternatives in DevOps are ranked by recent ship velocity. Browse the "GraphHopper alternatives" section above for the current picks, or visit /alternatives/graphhopper for the full list with editorial commentary on each.

What are the best alternatives to Dapr?

Top Dapr alternatives in DevOps are ranked by recent ship velocity. Browse the "Dapr alternatives" section above for the current picks, or visit /alternatives/dapr for the full list with editorial commentary on each.