All Versions
Latest Version
Avg Release Cycle
46 days
Latest Release
320 days ago

Changelog History
Page 1

  • v5.0 Changes

    March 23, 2022
    • ๐Ÿ‘‰ 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 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)
  • v4.0 Changes

    September 29, 2021
    • 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
    • โž• 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
    • 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)
  • v3.0 Changes

    May 17, 2021
    • โœ‚ removed the stable tag (was pointing to commit dd2c20c763e4c19b701e92386432b37713cd8dc5)
    • ๐Ÿ›  fix location lookup with point hints for curved roads, #2319
    • custom_model_file only accepts file names without path. Use custom_model_folder instead.
    • ๐Ÿšš the load method in GraphHopperWeb (client-hc) was removed
    • ๐Ÿ‘ and routing.lm.disabling_allowed configuration options are no longer supported
    • ๐Ÿšš moved the graphhopper-reader-osm module into core, use the graphhopper-core module directly instead. GraphHopperOSM is deprecated, use GraphHopper instead.
    • subnetwork removal has changed and for every LocationIndex lookup one needs to explicitly include the new 'subnetwork' EncodedValue, see #2290
    • 0๏ธโƒฃ DefaultEdgeFilter was renamed to AccessFilter. Use DefaultSnapFilter for the location lookup to make sure the query points do not snap to subnetworks. Previously subnetwork edges' access was set to zero, but this is no longer the case. Now subnetworks need to be identified by the subnetwork encoded value.
    • ๐Ÿšš moved the graphhopper-isochrone module into graphhopper-core
    • โœ‚ removed setEncodingManager use setProfiles instead or for more custom requirements use GraphHopper.getEncodingManagerBuilder
    • CustomWeighting language breaks old format but is more powerful and easier to read; it also allows factors >1 for server-side CustomModels
    • ๐Ÿ“‡ renamed GHUtilities.setProperties to setSpeed
    • ๐Ÿ‘€ Helper.createFormatter is using the ENGLISH Locale instead of UK, see #2186
    • the name of an encoded value can only contain lower letters, underscore or numbers. It has to start with a lower letter
    • ๐Ÿ”€ default for GraphHopperMatrixWeb (client for Matrix API) is now the sync POST request without the artificial polling delay in most cases
    • ๐Ÿ”จ refactored TransportationMode to better reflect the usage in source data parsing only
    • customizable routing is included in the endpoint /route (under the "custom_model" entry) and does not need to be enabled
    • ๐Ÿ‘€ the format of customizable routing completely changed but the maps demo includes a simple editor to learn it easily (#2239). See #2209 and #2251. See examples in this blog post:
    • โœ‚ removed Dockerfile
    • the second argument of the VirtualEdgeIteratorState constructor is now an edge key (was an edge id before)
    • โœ‚ removed instruction annotations(cycleway, off_bike, ford, ferry, private, toll)
    • the boundaries file is now expected to provide the countrycodes via the ISO3166-1:alpha3 property
  • v2.3

    November 26, 2020
  • v2.2 Changes

    November 12, 2020

    ๐Ÿ›  GraphHopper 2.0 with some additional bugfixes web service jar

    • turn_costs parameter now works with custom weighting, #2176
    • ๐Ÿ›  fixed error message when points are not found, #2173
    • stricter url encoding for GraphHopperGeocoding
    • ๐Ÿ“š various documentation fixes
  • v2.1

    October 12, 2020
  • v2.0 Changes

    September 29, 2020
    • AbstractFlagEncoder#getMaxSpeed returns now Double#NaN instead of -1 if no maxspeed was found
    • ๐Ÿ“‡ renamed QueryResult -> Snap
    • much faster CH preparation (node- and edge-based), but increased memory usage during preparation, #2132
    • โž• added navigation repo #2071
    • ๐Ÿ‘‰ use Java 8 also for core, client-hc and reader-osm modules. all modules use Java 8 now
    • โœ‚ removed android demo, #1940
    • โž• added edge key path detail, #2073
    • ๐Ÿ›  fixed bug for turn restrictions on bridges/tunnels, #2070
    • ๐Ÿ‘Œ improved resolution of elevation profiles, 3D Ramer-Douglas-Peucker and long edge sampling, #1953
  • v2.0-pre3

    September 23, 2020
  • v2.0-pre2

    September 08, 2020
  • v2.0-pre1

    July 17, 2020