Releases: graphhopper/graphhopper
GraphHopper 10.2
Bug fix release: 10.1...10.2
GraphHopper 9.x and 10.0 might throw an error during import when turn restrictions are enabled in combination with recent OSM data. For details see #3086 and #3100
Note: GraphHopper version 10.1 was skipped
GraphHopper 10.0
What's Changed
- Parse maxweightrating by @otbutz in #2991
- use Map instead of List for KVStorage API by @karussell in #2994
- Use 9 bits to store max_weight by @otbutz in #2989
- Use byte-based storage for edges by @karussell in #2993
- Support negative georefs by @karussell in #2998
- instruction bug fix by @karussell in #3000
- Remove georef factor 4 now that there are 5 bytes for georef by @easbar in #2999
- Use geo ref to identify copied edges by @easbar in #2985
- Fix turn restriction handling at virtual via edges by @easbar in #3001
- Replace AtomicReference with a wrapper by @otbutz in #3003
- use 3 bytes for elevation and pillar count by @karussell in #3002
- Minor speed up using MethodHandles in DataAccess by @karussell in #3005
- Fix constant path details like leg_distance for very short routes with duplicate points by @easbar in #3007
- Update snap.closestNode when an edge snap gets converted to a tower snap by @easbar in #3009
- Round elevation and degrees before casting to int, fix barrier edge artifacts by @easbar in #3011
- Increase maximum number of base graph edges for edge-based CH by @easbar in #3010
- Do not store elevation if NaN by @karussell in #3012
- Speed up turn cost calculation at virtual edges by @easbar in #3013
- add CONSTRUCTION to RoadClass enum by @caspg in #3017
- Fix for #2982 by @ratrun in #3018
- fix some links by @christophsturm in #3020
- Fix for #2980, block highway=cycleway with access=no by @ratrun in #2981
- support BlockStatement in custom model by @karussell in #3004
- use curbside_strictness instead force_curbside by @karussell in #3024
- ModeAccessParser improvements by @karussell in #3026
- Fix toll rule for Switzerland by @easbar in #3025
- Remove tertiary highways from preferred and increase speed on footways by @caspg in #3015
- Slightly increase bicycle priority classification on "good" highway=track by @ratrun in #3022
- clean up bike speed parser by @karussell in #3028
- De-prioritize ways tagged with foot=use_sidepath by @ratrun in #3035
- Handle turn restrictions with multiple via ways and overlapping restrictions by @easbar in #3030
- Remove extra lm.disable check by @easbar in #3040
- Assume Toll.HGV for all roads in CH/LI by @otbutz in #3043
- Add
ave
synonym to name similarity filter by @samruston in #3044 - Use surface speed at bridgleways for bicycle profiles by @ratrun in #3046
- consider tracktype speed for ways designated for bikes by @ratrun in #3047
- configure turn cost calculation by @karussell in #2957
- Upgrade to dropwizard 3.0.8 by @karussell in #2920
- Allow decimal speeds to be parsed by @pantsleftinwash in #3059
- fix: Mapbox Arrival and Destinations assumptions by @OlafFlebbeBosch in #3062
- Add support for bike mtb:scale accessibility by @ratrun in #3048
- fix to be able to import and run as server on different machines by @IldarKhayrutdinov in #3071
- Snap preventions default by @karussell in #3075
- Block difficult mtb_rating segments for foot, see discussion in #3050 by @ratrun in #3073
New Contributors
- @caspg made their first contribution in #3017
- @christophsturm made their first contribution in #3020
- @pantsleftinwash made their first contribution in #3059
- @IldarKhayrutdinov made their first contribution in #3071
Full Changelog: 9.1...10.0
GraphHopper 9.1
Bug fix release: 9.0...9.1
See full details compared to previous major version 9.0 here: https://github.com/graphhopper/graphhopper/releases/tag/9.0
GraphHopper 9.0
What's Changed
- move to JDK17 by @karussell in #2827
- Remove hidden evs by @easbar in #2891
- Allow querying for arbitrary geometry in location index by @easbar in #2890
- Fix indentation by @otbutz in #2896
- Unsychronized MMapDataAccess by @karussell in #2889
- Custom max_speed_calculator by @karussell in #2903
- removed wheelchair parsers by @karussell in #2900
- Add encoded value for mountainbike route relation handling by @ratrun in #2904
- Avoid deprecated constructor by @otbutz in #2892
- Calculate min weight only when necessary by @karussell in #2909
- Simplify import hooks by @karussell in #2917
- remove graph sorting by @karussell in #2919
- Ignore via-way restrictions that share the same via-way in the same direction by @easbar in #2921
- No longer allow built-in custom model file names by @easbar in #2922
- accept external EncodedValues in custom model by @karussell in #2923
- upgrade to dropwizard 2.1.11 by @karussell in #2926
- Create leg_time/distance entries for duplicate via-points by @easbar in #2924
- Remove the name property from vehicle parsers by @easbar in #2931
- bus access by @karussell in #2913
- Automatically add encoded values and tag parsers used in custom models by @easbar in #2935
- hov_access by @karussell in #2939
- Make conditional access restrictions configurable by @karussell in #2863
- Better instructions for motorway junctions by @karussell in #2947
- Move vehicle encoded values into custom model by @karussell in #2938
- ignore instructions if directions of a road are switching between explicitly <-> implicitly tagged by @karussell in #2953
- fix Arrival Polyline by @OlafFlebbeBosch in #2958
- polyline multiplier by @karussell in #2951
- Difference between bad highways for foot by @karussell in #2956
- Improve conditional access handling by @karussell in #2965
- Add missing setup call by @otbutz in #2968
- Disable automatic addition of encoded values by @karussell in #2966
- Add support tag combinations cycleway:left and cycleway:right, fixes #2969 by @ratrun in #2970
- Restrict access to "destination" for living streets in Hungary (by law) by @Yogurt4 in #2879
- fix: support Barrier Nodes for NavigateResponse by @OlafFlebbeBosch in #2975
- higher default precision for way geometry by @karussell in #2950
- Use eight bytes for the geo ref by @karussell in #2978
New Contributors
Full Changelog: 8.0...9.0
GraphHopper 8.0
What's Changed
- Add path details for the time, distance and weight of the single legs by @easbar in #2768
- Reuse polygon bbox by @otbutz in #2685
- Make use of node tags like 'highway' or 'crossing' by @easbar in #2705
- New "backward_xy" variable notation in custom models by @karussell in #2760
- New signature for encoded values and tag parsers by @easbar in #2740
- bike profile should allow reverse oneway roads and set walking speed by @karussell in #2774
- Improve bicycle handling: Now prioritise cycleways with SLIGHT_PREFER by @ratrun in #2785
- custom_model_files arrays by @karussell in #2787
- certain conditional tags allow to ignore max_weight by @karussell in #2788
- Check cycleway access tags by @bt90 in #2786
- removed parser options block_private and block_fords by @karussell in #2780
- removed motorcycle vehicle by @karussell in #2781
- Make the MiniGraphUI working again. by @ratrun in #2793
- Prefer bicycle_road/cycleway by @bt90 in #2790
- i18n: update da_DK by @OlafFlebbeBosch in #2794
- Improve surface parser by @otbutz in #2792
- Add timeout_ms parameter for routing requests by @easbar in #2795
- Upgrade to dropwizard 2.1.6 by @karussell in #2653
- bike: differentiate between bad highways by @karussell in #2796
- Update nl and cz translations by @boldtrn in #2799
- cleanup of EnumEncodedValue by @karussell in #2800
- Add editorconfig by @otbutz in #2791
- Prefer bigger roads for racebike by @ratrun in #2802
- B-tree: Make space for values configurable by @karussell in #2814
- clarify foot access parser by @lukasalexanderweber in #2801
- De-prioritise steps for bicycles by @ratrun in #2804
- Set empty custom model in custom profile constructor by @easbar in #2821
- Try latest JDK 20 by @karussell in #2789
- Process callables GHUtility.runConcurrently in batches to save memory by @easbar in #2828
- Overhauled Moving Average Elevation Smoothing by @christophlingg in #2772
- avoid incorrect urban_density classification for the USA by @karussell in #2832
- Country subdivision (state) by @karussell in #2830
- Use ForkJoinPool for concurrent processing by @otbutz in #2833
- Remove BitUtilBig by @easbar in #2811
- default speed limits by @karussell in #2810
- Use junction density to determine road network density by @easbar in #2842
- Make car speed parser bad surfaces consistent with surface encoded value by @easbar in #2843
- Do not ignore maxspeed:forward/backward when they are larger than maxpeed by @easbar in #2844
- Use fallback speed also for ways that are neither highways nor ferries by @easbar in #2845
- Make RoadEnvironment.FERRY overrule RoadEnvironment.FORD also for node tags by @easbar in #2846
- throw error for too small speed values by @karussell in #2847
- Remove headingPenaltyMillis by @easbar in #2563
- ferry_speed encoded value by @karussell in #2849
- Use same definition for ferries for road environment and speed parsers by @easbar in #2853
- move default custom models into jar by @karussell in #2854
- No more loop edges by @easbar in #2862
- Remove Weighting#calcWeightWithAccess by @easbar in #2864
- Remove optimization in CH iterator by @easbar in #2869
- heading penalty ignored for custom weighting by @karussell in #2852
- Github packages cleanup try by @rokcarl in #2871
- Stop using DefaultTurnCostProvider for low-level testing by @easbar in #2870
- Remove edgeHasNoAccess from Weighting interface by @easbar in #2872
- Remove shortest weighting from DefaultWeightingFactory class by @karussell in #2865
- Use a different action by @rokcarl in #2876
- Fix error logging for RouteResource by @karussell in #2837
- Remove fastest weighting from DefaultWeightingFactory class by @karussell in #2866
- Remove max_turn_costs encoder parameter by @easbar in #2880
- include osm data date as road_data_timestamp in response by @karussell in #2877
- Use boolean turn restriction enc instead of decimal turn cost enc by @easbar in #2882
- Separate turn cost and edge EncodedValues by @karussell in #2884
New Contributors
- @bt90 made their first contribution in #2786
- @christophlingg made their first contribution in #2772
Full Changelog: 7.0...8.0
GraphHopper 7.0
What's Changed
- read from GeoJSON export of boundaries.osm by @karussell in #2658
- use same names for the keys in the EdgeKVStorage by @karussell in #2661
- Move curvature EncodedValue out of MotorcycleTagParser by @karussell in #2665
- deprecate graph.flag_encoders and use custom weighting in example config by @karussell in #2667
- Remove VehicleTagParser#applyWayTags by @easbar in #2669
- remove Bike2WeightTagParser by @karussell in #2668
- Provide all intersections with additional information along a route via PathDetails by @boldtrn in #2590
- Remove YAML support for server-side custom models by @karussell in #2672
- Replace old with new maps client by @easbar in #2674
- Print warnings for odd restriction relations, handle no_exit, only_u_turn and multiple from-members by @easbar in #2680
- Upgrade dropwizard to 2.0.34 by @easbar in #2682
- Improve area check precision by @otbutz in #2684
- Treat segments tagged as "lcn=yes" the same way as a bicycle route relation with "network=lcn" by @ratrun in #2693
- Add support for (single) via-way restrictions by @lukasalexanderweber and @easbar in #2689
- Replace com.wdtinc MVT library with no.ecc by @easbar in #2698
- Support ";" access delimiter for bikes by @ratrun in #2676
- Remove LegacyProfileResolver by @karussell in #2679
- Create edges even if flags are empty by @easbar in #2700
- Add OSM way ID encoded value by @easbar in #2701
- Use explicit ignore list for highway values by @easbar in #2702
- Add footway encoded value by @easbar in #2707
- Use GitHub Actions for Maven Central deployment too by @karussell in #2709
- Remove name and turn cost encoded value from vehicle tag parsers by @easbar in #2713
- distance_influence should not get a default value if no value is specified by @karussell in #2716
- make custom areas available in custom models by @karussell in #2725
- improve handling of low speed by @karussell in #2726
- Maxspeed fix by @karussell in #2727
- Test access and speed instead of just flags.isEmpty() for foot and bike parsers by @easbar in #2728
- contributing no_NO and updating pl_PL while at it by @OlafFlebbeBosch in #2730
- Moving Bokmål locale to the correct nb_NO by @OlafFlebbeBosch in #2731
- Split vehicle tag parsers into access, speed and priority by @easbar in #2738
- Use multi-threading for subnetwork preparation by @easbar in #2737
- Remove block area by @easbar in #2741
- Make sure waypoints are not removed during path simplification by @easbar in #2742
- use FeatureCollection instead of String,Feature Map by @karussell in #2734
- minor bike improvement by @karussell in #2736
- i18n: updated sv_SE by @OlafFlebbeBosch in #2748
- handle 'permit' like 'private' by @karussell in #2749
- i18n: updated tr and fix typo in nb_NO by @OlafFlebbeBosch in #2750
- Extend Heading Documentation by @lukasalexanderweber in #2714
- Make sure LM approximation is never worse than beeline by @easbar in #2756
- remove hike vehicle by @karussell in #2759
- Remove block_area (again) by @easbar in #2755
- Fix snap issue by @karussell in #2752
- fix follow up snap issue by @karussell in #2769
- Allow skipping the creation of ReaderNodes/Ways/Relations for pbfs, skip nodes in first pass of OSM import by @easbar in #2770
- Show u-turn instruction for plain u-turns by @easbar in #2767
Full Changelog: 6.0...7.0
GraphHopper 6.2
Security fix release
Download graphhopper-web-6.2.jar from maven central.
See main release for more information.
Full Changelog: 6.0...6.2
GraphHopper 6.0
What's Changed
- Replace GraphHopperStorage by BaseGraph where it is not needed by @easbar in #2540
- Replace EncodingManager with TagParserManager where it is needed by @easbar in #2541
- Load encoded values from disk by @easbar in #2542
- Remove Weighting#getFlagEncoder by @easbar in #2549
- Avoid Pattern compilation by @otbutz in #2489
- No longer allow changing profiles between imports and loads by @easbar in #2550
- Remove EncodedValueFactory by @easbar in #2551
- use sdkman and switch to most recent JDK by @karussell in #2552
- minor cleanup by @karussell in #2554
- Skip emergency access by @otbutz in #2555
- Remove TagParser#createEncodedValues by @easbar in #2559
- Fix bias in map-matching by @michaz in #2560
- allow skipping the LM constraint check for A* by @karussell in #2544
- Clean up javadoc comments by @karussell in #2569
- Stop removing elements from the priority queue, speeds up flexible algorithms by @easbar in #2571
- Split flag encoders into encoded values and tag parsers by @easbar in #2561
- Log available country rules by @otbutz in #2579
- Use more recent node/npm versions to fix the build by @easbar in #2583
- update deployment guide by @karussell in #2576
- Replace deprecated dropwizard parameter types by @otbutz in #2574
- Consistent edge keys by @easbar in #2567
- Remove 'shared' encoded values with $ sign in name by @karussell in #2585
- Matrix client improvements by @karussell in #2587
- European toll fallback rules by @otbutz in #2450
- use for loop in PathDetailsBuilderFactory by @karussell in #2589
- Make motor vehicle and hgv properties configurable for roads vehicle EVs by @easbar in #2594
- Use separate deleted flag for SPTEntry, prevent exception when calculating routes with non-feasible approximator by @easbar in #2600
- Fix inconsistent took by @boldtrn in #2591
- windows does not need a separate documentation due to WSL by @karussell in #2599
- EdgeKVStorage: store more than Strings by @karussell in #2597
- Fix bug in non-CH AlternativeRoute by @karussell in #2603
- move quickstart info into more prominent installation of README by @karussell in #2605
- Remove GraphHopperStorage by @easbar in #2606
- Find strongly-connected components of station (stop) graph by @michaz in #2608
- Load EncodingManager from properties instead of config by @easbar in #2607
- Increase maximum edge-based CH key for preparation to 2^30 again by @easbar in #2612
- custom_model: introduce value expression by @karussell in #2568
- Update custom model editor: validation + auto-complete for rhs expressions by @easbar in #2615
- Use actual speed maximum rather than flagEncoder#getMaxSpeed() for weighting.getMinWeight() by @easbar in #2614
- Rename getMin/MaxInt -> getMin/MaxStorableInt, getMaxSetValueOrMax -> getMaxOrMaxStorable by @easbar in #2616
- Remove FlagEncoder#getMaxSpeed() by @easbar in #2619
- EdgeKVStorage: store name and ref tags separately by @karussell in #2598
- Remove FlagEncoder by @easbar in #2611
- Valid if PathDetail is null by @rafaelstelles in #2618
- Support for forward & backward key value pairs by @karussell in #2622
- make global time&distance values consistent with path details and instructions by @karussell in #2626
- Include destination in instructions by @karussell in #2624
- Make profile resolving more flexible for web API by @easbar in #2629
- EdgeKVStorage: allow 32 bits by @karussell in #2632
- Add hint to exception error message by @PanCakeConnaisseur in #2638
- new edge smoothing: "ramer" by @karussell in #2634
- New average_slope EV by @karussell in #2645
- removed defaultIsInfinity and fix bug in DecimalEncodedValueImpl by @karussell in #2646
- improvements for bike by @karussell in #2631
- consider multiple from members for no_entry by @karussell in #2648
- Maps: Add slope detail to elevation diagram by @easbar in #2654
- validate that ids are not negative by @lukasalexanderweber in #2652
- replace car4wd with roads and a custom_model by @karussell in #2651
- Add urban density encoded value to identify built-up areas by @easbar in #2637
- Support ";" access delimiter for car access. by @ratrun in #2655
- Map matching no longer depends on GraphHopper class by @easbar in #2657
New Contributors
- @rafaelstelles made their first contribution in #2618
- @PanCakeConnaisseur made their first contribution in #2638
- @lukasalexanderweber made their first contribution in #2652
Full Changelog: 5.3...6.0
GraphHopper 5.3
Identical to 5.1, but because of problems with our automatic build pipeline no Maven artifacts were published for 5.1.
5.2 was just a failed attempt to fix this.
Full Changelog: 5.1...5.3
GraphHopper 5.1
- bug fixes
Full Changelog: 5.0...5.1