Graphhopper v5.0 Release Notes
Release Date: 2022-03-23 // about 3 years ago-
- ๐ Use routing.instructions to disable instructions on the server side. datareader.instructions is used to disable the name parsing (#2537)
- 0๏ธโฃ no more explicit passByDefaultBarriers in FlagEncoders, blockByDefaultBarriers was renamed to just barriers, no more handling of highway=ford (#2538)
- OSMReader no longer sets the artificial estimated_distance tag, but sets the edge_distance and point_list tags for all edges, the way_distance for selected ways and additionally the duration:seconds and speed_from_duration tags when the duration tag is present (#2528)
- ๐ fixed speed calculation for ferry routes with duration tags (#2528)
- request gzipping for matrix and route clients (#2511)
- ๐ bugfix: client-hc now considers headings and custom models (#2009, #2535)
- the artificial tag duration:seconds is now a long, no longer a string, commit 6d81d8ae8de52987522991edd835e42c8d2046cf
- โ added FlagEncoder#getName (use just like toString() before), commit 86f6a8b5209ad8ef47c24d935f5746e7694eb11c
- faster edge-based CH preparation, especially with large u-turn costs and GermanyCountryRule (many large weight edges due to access=destination on tracks) (#2522)
- consider subnetworks when evaluating curbside constraints (#2502)
- ๐ improved node-based CH performance (faster preparation and less shortcuts(=memory usage)) (#2491)
- ๐ the GraphHopperApplication class was moved from com.graphhopper.http to com.graphhopper.application (#2487)
- it is now possible to add CH preparations to an existing graph folder, CH graphs no longer need to be added before GraphHopperStorage#freeze (#2481)
- 0๏ธโฃ the two EncodedValue implementations accept now negative values too. The default value can now only be 0 or Double.Infinity, but this option will be removed later too, see discussion in #2473
- throw MaximumNodesExceededException instead of a generic IllegalArgumentException (#2464)
- โ removed graphhopper.sh script. Use java command directly instead. (#2431)
- โ removed the ferry argument of TagParser#handleWayTags. ferry ways can be recognized using the reader way (#2467)
- โ removed RoadEnvironment.SHUTTLE_TRAIN. this is covered by
FERRY
(#2466) - create edge flags per edge, not per way. increases custom_area precision. areas are recognized by points along the edges now -> (#2457, #2472)
- ๐ fixed handling of too large mtb:scale tags (#2458)
- โ added Toll.MISSING; custom models must be adapted to check for explicit toll values e.g
toll != NO
->toll == HGV || toll == ALL
(#2164) - ๐ use GraphHopper#setGraphHopperLocation before calling load() instead of GraphHopper#load(graphHopperLocation) (#2437)
- barrier nodes at junctions are now ignored (#2433)
- AbstractFlagEncoder#handleNodeTags was replaced by AbstractFlagEncoder#isBarrier (#2434)
- consider heading when snapping coordinates to the road network, this is especially important for navigation (#2411)
- OSMReader no longer sets the artificial 'estimated_center' tag and processNode also receives EMPTY_NODEs (971d686)
Previous changes from v4.0
-
- faster node-based CH preparation (~20%), (#2390)
- ๐ more flexible ElevationProvider interface, support providing elevation via node tags (#2374, #23281)
- โ added country encoded value for all countries (#2353)
- bike improvements (#2357, #2371, #2389)
- ๐ improved handling of barriers (#2345, #2340, #2406)
- โ removed spatial rules, replaced by country rules and custom areas (#2353)
- โ removed api module and moved it into web-api, no more Jackson MixIns (#2372)
- flag encoders are no longer versioned (#2355)
- JSON route response contains now bbox if start and end are identical
- renamed PriorityCode enums: AVOID_IF_POSSIBLE -> SLIGHT_AVOID, REACH_DEST -> AVOID, AVOID_AT_ALL_COSTS -> AVOID_MORE, WORST -> BAD
- โ added smoothness encoded value, used to determine bike speed (#2303)
- maps: custom_model is now included in URL (#2328)
- maps/isochrone: works for different profiles now (#2332)
- ๐ there is no stable tag anymore, either use master or one of the release branches like 2.x, 3.x, ...
- ๐ moved custom model editor to github.com/graphhopper/custom-model-editor
- PointList#getSize() -> PointList#size()
- โ migrated tests from junit 4 to 5 (#2324)
- ๐ barriers do no longer block by default for car; remove block_barriers config option (see discussion in #2340)