Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
450 commits
Select commit Hold shift + click to select a range
263106a
fix: starting at a barrier for navigation converter (#3106)
OlafFlebbeBosch Jan 21, 2025
03f9e4e
Make /nearest return 400 instead of 500 for invalid snaps, fix #3109
easbar Jan 27, 2025
6d2c9c3
avoid 500 error for invalid point
karussell Jan 29, 2025
3ad74bc
Move country handling into toll parser, change default from MISSING t…
easbar Feb 10, 2025
b623c36
bug fix for reading config with do-block
karussell Feb 15, 2025
ac75bb4
Add missing double-quote (#3121)
otbutz Feb 18, 2025
8c21567
Extend truck custom model (#3117)
otbutz Feb 18, 2025
861a6e1
Avoid access destination (#3118)
otbutz Feb 18, 2025
218f4d9
Ignore construction (#3116)
otbutz Feb 18, 2025
3baa438
Avoid frequent IllegalArgumentException (#3123)
otbutz Feb 19, 2025
377c9b4
Lookup state by map (#3124)
otbutz Feb 19, 2025
585e7f8
alternative route algo should consider timeout too
karussell Feb 24, 2025
1544b12
update countries.geojson (#3130)
karussell Feb 26, 2025
8072aee
Merge pull request #3128
james-willis Feb 27, 2025
a2a187b
Fix documented URL for isochrone (#3133)
ratrun Mar 1, 2025
54fd284
Properties segments (#3129)
otbutz Mar 3, 2025
2ca85c1
minor docs fix
karussell Mar 3, 2025
056b5df
gtfs: improve error message
michaz Feb 27, 2025
1527a03
gtfs: rotate thunderforest api token
michaz Feb 27, 2025
e61c3dd
gtfs: fix a bug where we would get an inconsistent realtime graph for…
michaz Mar 8, 2025
18bfcc9
gtfs: make rt performant again
michaz Mar 8, 2025
a0c1d9c
gtfs: move realtime init code to where the rest is
michaz Mar 2, 2025
520941f
gtfs: rt should work with overdetermined trip descriptors
michaz Mar 8, 2025
e428b38
gtfs: update rt specification version
michaz Mar 9, 2025
8d08e93
gtfs: some defense against missing schedule entities
michaz Mar 9, 2025
ae400d9
gtfs: another consistency issue with rt
michaz Mar 10, 2025
e927482
Switch to fast evaluation (#3140)
otbutz Mar 11, 2025
34749f8
Fix rare 'waypoints are not included in points' error occurring for e…
easbar Mar 11, 2025
1951462
Fix distance, time and weight for edge-based CH alternatives, fix #2936
easbar Mar 12, 2025
102a58d
Increaese speed for compacted surface for MTB (#3148)
caspg Mar 20, 2025
4e7b5d4
Improve compressed stream handling (#3142)
otbutz Mar 26, 2025
2ba136e
improved error message if urban density is not enabled when using max…
karussell Mar 27, 2025
a7ab841
introduce POST /navigate that accepts GraphHopper request (#3136)
karussell Apr 1, 2025
1749406
navigate GET: disabling CH only required if more than 2 points
karussell Apr 1, 2025
70fb1ec
navigate GET: PASS_THROUGH should be true
karussell Apr 1, 2025
4706d6b
try JDK 24
karussell Apr 1, 2025
626657f
override
easbar Mar 17, 2025
2008289
Improve error message about incompatible encoding versions
easbar Apr 3, 2025
fde35c2
Remove isShortcut optimization in AbstractBidirCHAlgo
easbar Apr 14, 2025
04e3be9
typofix ton to tonne (metric) (#3158)
IldarKhayrutdinov Apr 16, 2025
d08f9e5
ignore 'internal' when serializing custom_model
karussell Apr 17, 2025
69c97cf
docs: typofix points_encoded_encoded to points_encoded_multiplier (#3…
IldarKhayrutdinov Apr 25, 2025
1afc588
relabel base graph nodes
easbar Apr 28, 2025
d6c2dd8
Bicycle profiles: fix for handling of cycleway:left:oneway and cyclew…
ratrun May 6, 2025
f5e4aef
fix #3087
karussell May 9, 2025
119b093
build: removed jdk 25-ea until issue is fixed https://github.com/acti…
karussell May 9, 2025
0a05b04
Extract method to create subnetwork encoded values
easbar May 14, 2025
61a27b3
Consider opening conditionals for inaccessible ways (#3168)
karussell May 16, 2025
1d5a6aa
minor fix for #3168
karussell May 19, 2025
f2e5ab5
More flexible profile hash
easbar May 20, 2025
9221301
introduce country.isRightHandTraffic()
karussell May 23, 2025
27a4a59
add busway to RoadClass, fixes #3170
karussell Jun 2, 2025
c662960
Suggest that `car4wd` profine obeys turn restrictions (#3171)
zstadler Jun 2, 2025
3b07b34
remove unused set
karussell Jun 7, 2025
13d7a33
clarify GraphHopper Maps, #3064
karussell Jun 12, 2025
c116d54
Update README.md
karussell Jun 16, 2025
e35c4d3
Fix removeConsecutiveDuplicates for empty arrays
easbar Jun 17, 2025
da28d46
Update maps to 87992af
easbar Jun 17, 2025
4710591
road access: prefer less restricting value
karussell Jun 21, 2025
a01ceb5
destination should be allowed too and ignore order if allowed value i…
karussell Jun 21, 2025
5864810
rename to allowedValues
karussell Jun 21, 2025
761468b
Sort graph for better cache locality (#3177)
easbar Jul 7, 2025
5ee636b
update i18n
karussell Jul 14, 2025
f9e06d7
Proper handling of string encoded value for MVT
easbar Jul 14, 2025
9b2c2c9
Update maps to 34acd30e
karussell Jul 14, 2025
2445e81
Improve ferry instructions (#3179)
karussell Jul 14, 2025
c85c55d
mapbox profile specific voice instructions (#3165)
OlafFlebbeBosch Jul 18, 2025
087bacd
Update maps to c688588a
karussell Jul 18, 2025
a148d51
Trip-Based Public Transit Routing (#3184)
michaz Aug 5, 2025
5b1f142
fix: enable last intersection of last step before a via point (#3176)
OlafFlebbeBosch Aug 7, 2025
0fb184c
test fix (#3176)
karussell Aug 7, 2025
1c00fb1
update dropwizard to 3.0.15 and jts to 1.20.0, fixes #3185
karussell Aug 8, 2025
c43535d
added back 25-ea version, fixes #3166
karussell Aug 12, 2025
0bf3b7e
hike profile: allow more sac_scales but include warning in GH Maps ab…
karussell Aug 20, 2025
11c42b3
Upgrade dropwizard to 4.0.15 (#3188)
karussell Aug 25, 2025
1b5360e
fix profile config name
karussell Aug 25, 2025
584dae7
make navigation mode more customizable (#3193)
karussell Aug 26, 2025
0bcabad
Trunk roads are not generally toll roads in Austria (#3191)
tyrasd Aug 27, 2025
6aea942
Update changelog and contributors #3190
easbar Aug 27, 2025
de222a5
Upgrade dropwizard to 4.0.16
karussell Aug 28, 2025
32f6397
allow private for bike & foot and limit bike speed for destination, f…
karussell Sep 11, 2025
f42f901
fix foot.json, #3186
karussell Sep 11, 2025
ca50310
use jdk25 and jdk26-ea for build
karussell Sep 24, 2025
e06d45b
minor improvement of roundabout instruction, related to #3180
karussell Sep 24, 2025
28f11e6
scriptable turn statements (#3174)
karussell Sep 24, 2025
eff38f7
model: avoid DELIVERY too
karussell Sep 24, 2025
b10cee9
higher penalty for destination-only villages like Heitersberg (mentio…
karussell Sep 24, 2025
84fa528
new change_angle path detail
karussell Sep 29, 2025
57ce89d
rename avoid_private_etc.json to more specific
karussell Sep 29, 2025
89cf274
minor fix for bike_tc.json
karussell Sep 29, 2025
d914084
update GH maps to f171bcf
karussell Sep 29, 2025
844e182
minor fix for bike_avoid_private_etc.json
karussell Sep 30, 2025
f2ccc05
NLD: trunk not always hgv toll, similar to #3191
karussell Oct 2, 2025
79804c2
i18n: pt_BR improvements from @PabloaRuiz
karussell Oct 4, 2025
c84fcf5
foot: only soft avoidance for mtb:scale, #3050
karussell Oct 6, 2025
cd716e9
Get storage from CH graph
easbar Oct 8, 2025
b2652a9
car routing possible on pedestrian ways where allowed (#3203)
karussell Oct 8, 2025
57169b1
i18n: update of pt_BR, @PabloaRuiz
karussell Oct 13, 2025
1d2f414
ramer smoothing: use 2D total distance for averageSlope (#3205)
karussell Oct 14, 2025
bbddd8c
fix wrong mode in navigation steps (#3207)
binora Oct 14, 2025
7312590
larger matrix request can take longer
karussell Oct 14, 2025
69e50f6
release 11.0
karussell Oct 14, 2025
f12734e
changed to 12.0-SNAPSHOT
karussell Oct 14, 2025
78e9397
deployment: change to central plugin
karussell Oct 14, 2025
05168e6
2025
karussell Oct 14, 2025
924e954
Log CH sizes
easbar Oct 15, 2025
5626d06
add 'service' to the private handling for way/457306782
karussell Oct 15, 2025
1eaadfa
getLast
easbar Oct 17, 2025
bfa0f3c
Improve bike speed handling (#3214)
karussell Oct 24, 2025
6fd6490
Allow not loading a profile
easbar Oct 27, 2025
be761ae
Don't adjust bicycle speed for highway=service when highway is design…
ratrun Oct 27, 2025
91c4357
racingbike: increase from 20km/h to 24km/h (#3218)
karussell Oct 27, 2025
04da9a2
Mtb route network fix (#3217)
karussell Oct 27, 2025
ff97d18
Log low- and high-weight CH shortcuts
easbar Oct 28, 2025
acccadb
Log minimum and maximum valid shortcut weights.
easbar Oct 28, 2025
d95ce7f
Merge log lines
easbar Oct 29, 2025
6e54846
minor
easbar Oct 30, 2025
8fe2ba0
allow null values for headings; fixes #3192
karussell Nov 4, 2025
93d577d
add custom models to avoid private roads for bike and foot
karussell Nov 4, 2025
0fdc283
bike: minor fix, #3221
karussell Nov 5, 2025
4f49711
Minor improvements in RacingBikeTagParserTest (#3224)
ratrun Nov 5, 2025
2c8f2c8
bike parser clean up
karussell Nov 5, 2025
1c811e5
private avoidance via separate custom model
karussell Nov 6, 2025
446fbc5
Use tiny distances in tests less often
easbar Nov 10, 2025
ce4bcc9
fix class:bicycle handling in parsers (#3225)
karussell Nov 10, 2025
1e612ba
misc
easbar Nov 11, 2025
733db6e
rm CustomWeighting2, clean up some tests a bit
easbar Nov 12, 2025
6168f2c
MultiSourceElevationProvider: better fallback, #3183
ratrun Nov 12, 2025
25903cd
Add support for Sonny's LiDAR 1" elevation provider (#3183)
ratrun Nov 12, 2025
3c9efb0
move bike route handling into custom models (#3226)
karussell Nov 14, 2025
2e03e7d
add time+dist checksums to measurement
easbar Nov 17, 2025
dd9a3d6
more profiles in config-example.yml (#3228)
karussell Nov 25, 2025
b654a5d
Update navigation SDK references in README
karussell Nov 25, 2025
a7657d3
navigate fix: zero legs (#3237)
OlafFlebbeBosch Dec 2, 2025
ea9bd6c
LM: fix problem with turn_penalty, fixes #3236
karussell Dec 2, 2025
75fb59d
Disable elevation sampling for ferries (#3235)
wltrr Dec 2, 2025
e9feea1
gh maps update
karussell Dec 2, 2025
95ab0bb
misc
easbar Dec 2, 2025
69ccaf6
misc - fixed
easbar Dec 2, 2025
c735e90
config-example: enable srtm by default (for foot and bike profile, #3…
karussell Dec 8, 2025
efa7ec5
docs: update link for maximum speeds, fixes #3241
karussell Dec 9, 2025
5111f33
car should avoid 'access=customers' too, fixes #3247
karussell Dec 10, 2025
b9bd23b
Classify Hong Kong/Macao roads correctly (#3246)
Vectorial1024 Dec 10, 2025
b4d5320
avoid ferry in custom model
karussell Nov 10, 2025
6710b63
bike prio parser: removed unused unpavedSurfaceTags
karussell Dec 13, 2025
1151f68
matrix client: fail_fast=false is new default
karussell Dec 15, 2025
09337ba
Limit motor vehicle speeds by country default speed limits (#3249)
Vectorial1024 Dec 16, 2025
cd355e5
fix tests (#3249)
karussell Dec 16, 2025
63cb0e2
remove scenic=yes (#3252)
karussell Dec 17, 2025
8469904
for mtb consider mtb_network too (#3250)
karussell Dec 17, 2025
c9207e5
better bike instructions via including is_sidepath:of:name, fixes #3210
karussell Dec 17, 2025
456f0a4
remove block_fords option as possible via custom model
karussell Dec 19, 2025
a9a2a0b
improve car_avoid* custom models
karussell Dec 19, 2025
0d7e2bc
remove unused method #3111
karussell Dec 19, 2025
62915a4
expand road_access
karussell Dec 19, 2025
ab2a300
Use unsigned short for pillar node count & reduce geometry header siz…
wltrr Jan 5, 2026
6e3d55a
consider bicycle=optional_sidepath (#3254)
karussell Jan 5, 2026
c3179af
move country rules into parser (#3256)
karussell Jan 5, 2026
51dbdd3
gh maps to 0.0.0-93e8c691
karussell Jan 5, 2026
5e430bb
country rules for bike and foot (#3259)
karussell Jan 5, 2026
efa8cd4
rely on motorroad=yes skipping in FootAccessParser and BikeCommonAcce…
karussell Jan 7, 2026
bbec04c
2026
karussell Jan 8, 2026
88335ad
fix curvature with elevation
karussell Jan 11, 2026
48e7826
fix sign extension bug in KVStorage for key indices >= 8192
michaz Jan 18, 2026
7faa26f
JsonFeature.toString: avoid NPE
karussell Jan 19, 2026
3996510
Ferry speed fix (#3266)
karussell Jan 20, 2026
12713aa
make sure that the "segment size" in the config is actually used
michaz Jan 25, 2026
a13dbde
Document allow_turn_penalty_in_request in configuration example (#3274)
Nakaner Jan 26, 2026
ae3bee5
test cleanup
karussell Jan 21, 2026
92799bc
bike route boost too strong, especially local (before #3226 the prio …
karussell Jan 28, 2026
8e56cc7
fix tests
karussell Jan 28, 2026
9c3e511
KVStorage: use 4-byte aligned pointers for 4x address space
michaz Jan 26, 2026
a4c4c47
Add putOrCompute to GHLongLongBTree for single-traversal get+update
michaz Jan 27, 2026
4dd16b5
Split OSMInputFile into separate XML and PBF implementations
michaz Jan 27, 2026
63eb4f4
Refactor PbfReader to pipeline I/O and decoding on separate threads
michaz Jan 27, 2026
aa865af
Simplify PBF reading by having PbfReader implement OSMInput directly
michaz Jan 27, 2026
d5e5255
Simplify PbfReader by queuing decoded blob results as lists
michaz Jan 27, 2026
2b55d7f
Dropwizard 5 (#3275)
otbutz Feb 10, 2026
6b82e87
updated a couple of dependencies
karussell Feb 10, 2026
e2dda48
custom_model: more precise error message
karussell Feb 10, 2026
a1423bb
decouple ferry_speed from xy_average_speed (#3267)
karussell Feb 10, 2026
30b8e24
ferry should support oneway tag (#3282)
karussell Feb 11, 2026
a5b29ec
navigation: fix annotation count (#3278)
karussell Feb 11, 2026
e189ebd
updated osm-legal-default-speeds-jvm, kotlin-stdlib and okhttp; updat…
karussell Feb 11, 2026
8040d65
instruction: minor cleanup regarding ferry case
karussell Feb 11, 2026
5ee0de5
Visualize small BaseGraphs
easbar Feb 13, 2026
8c6bce7
Add new random graphs (and trees)
easbar Feb 13, 2026
eec12db
No longer filter start edges in edge based tarjan scc
easbar Feb 14, 2026
c919c11
Use new random graphs for tarjan tests
easbar Feb 14, 2026
f777df5
Use RandomGraph in CHTurnCostTest, PrepareContractionHierarchiesTest,…
easbar Feb 14, 2026
5dcdc8f
Run strict check only on trees
easbar Feb 14, 2026
4396f28
Use JUnit @TempDir for elevation provider tests
easbar Feb 16, 2026
8fa4384
Fix bugs in HeightTile and HeightTileTest. (#3243)
wltrr Feb 16, 2026
1382984
Deterministic random graphs
easbar Feb 17, 2026
8da7b54
Use exact millimeter arithmetic for edge distance summation (#3286)
easbar Feb 18, 2026
750fabd
Do not use weight to calculate time in SpeedWeighting
easbar Feb 18, 2026
d1806eb
EdgeIteratorState#isVirtual
easbar Feb 18, 2026
03dec35
reduce some test speeds (m/s)
easbar Feb 18, 2026
e33f85c
Add support for lit encoded value (#3285)
ratrun Feb 18, 2026
2c2dac8
Fix eleToUInt returning negative int that corrupts 3-byte pillar elev…
karussell Feb 18, 2026
5306111
OSMReader: more logging for infinite dist error
karussell Feb 18, 2026
8538376
bike: bug fix for ferry
karussell Feb 19, 2026
9a96eac
foot: important ferry bug fix
karussell Feb 19, 2026
c89f822
Fix CGIARProvider.getFileName floating-point rounding at tile boundaries
karussell Feb 19, 2026
1f7be75
elevation: for now log error only
karussell Feb 19, 2026
76536f4
for now disable tests
karussell Feb 19, 2026
340c654
Fix CGIARProvider.down() using (int) cast instead of Math.floor
karussell Feb 20, 2026
579025f
config-example.yml
karussell Feb 21, 2026
c2b1ede
random chains
easbar Feb 23, 2026
64e2b12
Prevent negative distances after adjustDistances for very short virtu…
easbar Feb 23, 2026
cb3a616
Reuse comparePaths in DirectedRoutingTest
easbar Feb 23, 2026
8c65d38
Defer fetching elevation (#3291)
karussell Feb 24, 2026
33aebb9
Move slope and curvature calculation to post-import phase after bridg…
karussell Feb 24, 2026
7dfbe8f
be strict about elevation provider config string
karussell Feb 24, 2026
b2ef101
core uses more dependencies (e.g. for elevation)
karussell Feb 25, 2026
cd76f40
HeightTile: reverted 1f7be75 and 76536f4
karussell Feb 25, 2026
f270e3c
bike: allow higher speed for living_street if explicitly allowed (#3280)
karussell Feb 25, 2026
518a082
deploy.md: We don't recommend using the default G1 GC
easbar Feb 27, 2026
7de2f71
bike_network: reduce boost further (#3295)
karussell Feb 28, 2026
20b2dc9
pmtiles elevation data (#3287)
karussell Feb 28, 2026
ced830d
elevation provider multi source: fix init
karussell Feb 28, 2026
04dc2ed
Do proper linear interpolation for virtual node elevations (#3294)
easbar Mar 2, 2026
33bd872
ensure curvature ignores very short barrier edges
karussell Mar 4, 2026
509746a
Either surface or smoothness (#3302)
karussell Mar 6, 2026
196454d
new cycleway encoded value (#3304)
karussell Mar 9, 2026
7716530
sidewalk encoded value (#3305)
karussell Mar 9, 2026
1f3ffc8
Make DataAccess implementation constructors public
easbar Mar 10, 2026
d73e99a
bike: minor fix
karussell Mar 11, 2026
9b0e4de
bike: fix for service=*, #3221
karussell Mar 11, 2026
b124649
public RAMIntDataAccess
easbar Mar 12, 2026
aec6385
ArrayUtil#reverse for long
easbar Mar 12, 2026
cc180c0
Add trimTo for DataAccess (#3311)
easbar Mar 12, 2026
e406e57
simple heuristic to automatically force curbside (#3269)
karussell Mar 13, 2026
0a0477a
If("prev_street_name.equals(street_name)", ADD, "100")
michaz Feb 11, 2026
8802d5f
map matching u-turns: status quo
michaz Mar 9, 2026
25494d2
map matching: add U-turn edges at candidate nodes and debug visualizer
michaz Mar 9, 2026
a828d58
let's say 2 sigma
michaz Mar 12, 2026
a41a1f5
Move debug visualizer to map-matching/tools with Python CLI
michaz Mar 14, 2026
5697f58
max_slope: set -31/31 to 0 for short segments
karussell Mar 14, 2026
176118d
fix problem with agricultural (#3313)
karussell Mar 16, 2026
3699c28
custom model: minor street_name fixes
karussell Mar 17, 2026
a9e54a8
fix error message (#3292)
baybatu Mar 20, 2026
8c50886
Handle partial downloads (#3317)
otbutz Mar 23, 2026
0d11fac
Scale weights up x10, enforce whole number weights, allow larger CH s…
easbar Mar 24, 2026
8368051
Update maps version
karussell Mar 25, 2026
b6a7b7b
extract Curbside.AUTO resolving method
karussell Mar 25, 2026
871e9c4
test bus=designated
michaz Mar 16, 2026
801d083
test u-turn behavior at virtual nodes on bidirectional edge
michaz Mar 28, 2026
3f41396
fix WeightDetails passing current edge as previous, adding spurious u…
michaz Mar 29, 2026
8534690
add test documenting which weight detail segment includes turn costs
michaz Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,33 @@ name: Build and Test
on: push
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java-version: [ 21, 22-ea ]
java-version: [ 25, 26-ea ]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: temurin
- name: Cache Maven artifacts
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Cache node
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: web-bundle/node
key: ${{ runner.os }}-node-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os}}-node-
- name: Cache node_modules
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: web-bundle/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/pom.xml', '**/package.json') }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/publish-github-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,32 @@ on:
jobs:
publish:
if: github.repository_owner == 'graphhopper'
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
- name: Cache Maven artifacts
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Cache node
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: web-bundle/node
key: ${{ runner.os }}-node-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os}}-node-
- name: Cache node_modules
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: web-bundle/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/pom.xml', '**/package.json') }}
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/publish-maven-central.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ on:
jobs:
maven-central-publish:
if: github.repository_owner == 'graphhopper'
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
Expand All @@ -23,21 +23,21 @@ jobs:
gpg-passphrase: GPG_PASSPHRASE

- name: Cache Maven artifacts
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Cache node
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: web-bundle/node
key: ${{ runner.os }}-node-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os}}-node-
- name: Cache node_modules
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: web-bundle/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/pom.xml', '**/package.json') }}
Expand All @@ -53,6 +53,6 @@ jobs:
mvn -B versions:set -DnewVersion=$GITHUB_REF_NAME -DgenerateBackupPoms=false
mvn deploy -P release -DskipTests=true -Dpgp.secretkey=keyring:id=0E2FBADB -B
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
2 changes: 1 addition & 1 deletion .github/workflows/trigger-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: push
jobs:
trigger_measurement:
if: github.repository_owner == 'graphhopper'
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
environment: benchmarks
steps:
- name: trigger
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,5 @@ local.properties
**/node_modules
.DS_Store
/graph-cache
package-lock.json
package-lock.json
.vscode/
42 changes: 40 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
### 9.0 [not yet released]

### 12.0 [not yet released]

- weightings are now expected to return whole numbers, the built-in weightings (most importantly CustomWeighting) now return x10 their previous value (#3297)
- the default value for `graph.elevation.clear` changed to false as is much better when the cached tiles can be reused
- artificial tag way_distance does no longer include the elevation => renamed to way_distance_2d
- new edge.getDistance_mm/setDistance_mm methods for exact millimeter distances; distance accumulation now uses exact long arithmetic instead of lossy double summation (#3286)
- OSMReader no longer sets the artificial speed_from_duration tag but instead uses duration_in_seconds, when the duration tag is present (#3266)
- country rules were moved into parsers and are now enabled by default
- speeds generated from highway class now respects country-specific default speed limits, but the max_speed encoded value is now required; see #3249

### 11.0 [14 Oct 2025]

- country-dependent toll rules are now always enabled. in the absence of explicit tags or special toll rules we use Toll.NO instead of Toll.MISSING #3111
- max_weight_except: changed NONE to MISSING
- the list of restrictions for BIKE returned from OSMRoadAccessParser.toOSMRestrictions is again `[bicycle, vehicle, access]` and not `[bicycle, access]` like before #2981
- road_access now contains value of highest transportation mode for CAR, i.e. access=private, motorcar=yes will now return YES and not PRIVATE
- car.json by default avoids private roads
- maxspeed<5 is ignored, maxspeed=none is ignored with some exceptions, maxspeed parsing and related constants were renamed #3077
- improved performance by sorting graph during import, #3177
- trunk roads in Austria are no longer considered to be toll roads by default

### 10.0 [5 Nov 2024]

- The config-example.yml uses a non-empty snap_preventions default array: [tunnel, bridge and ferry] for the /route endpoint
- the default u-turn time is now 0, the default u-turn weight is still infinite
- turn restriction support for restrictions with overlapping and/or multiple via-edges/ways, #3030
- constructor of BaseGraph.Builder uses byte instead of integer count.
- KeyValue is now KValue as it holds the value only. Note, the two parameter constructor uses one value for the forward and one for the backward direction (and no longer "key, value")
- sac_scale priority handling for bicycles moved to the bike custom models

### 9.0 [23 Apr 2024]

- max_slope is now a signed decimal, see #2955
- move sac_scale handling out of foot_access parser and made foot safer via lowering to sac_scale<2, same for hike sac_scale<5
- removed shortest+fastest weightings, #2938
- u_turn_costs information is no longer stored in profile. Use the TurnCostsConfig instead
- the custom models do no longer include the speed, access and priority encoded values only implicitly, see docs/migration/config-migration-08-09.md
- conditional access restriction tags are no longer considered from vehicle tag parsers and instead a car_temporal_access encoded value (similarly for bike + foot) can be used in a custom model. This fixes #2477. More details are accessible via path details named according to the OSM tags e.g. for access:conditional it is "access_conditional" (i.e. converted from OSM access:conditional). See #2863 and #2965.
- replaced (Vehicle)EncodedValueFactory and (Vehicle)TagParserFactory with ImportRegistry, #2935
- encoded values used in custom models are added automatically, no need to add them to graph.encoded_values anymore, #2935
- removed the ability to sort the graph (graph.do_sort) due to incomplete support, #2919
- minor changes for import hooks, #2917
- removed wheelchair vehicle and related parsers, with currently no complete replacement as it needs to be redone properly with a custom model
Expand Down
14 changes: 14 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Here is an overview:
* Anvoker, fixes like #1614 and helped with JUnit 5 migration #1632
* b3nn0, Android improvements
* baumboi, path detail and landmark improvements
* baybatu, improved error for EncodingManager
* boldtrn, one of the core developers with motorcycle knowledge :)
* bt90, fixes like #2786
* cgarreau, increase of routing success rate via subnetwork cleanup
Expand All @@ -19,6 +20,7 @@ Here is an overview:
* ChristophKaser, agrees to the project's CLA, improved Android compatibility #1207
* Christoph Lingg, elevation smoothing #2772
* chucre, add special JSON output format, see #41
* ctriley, added busway support
* daisy1754, fixed usage of graphhopper.sh script
* dardin88, instructions improved
* dewos, web API bug fixes
Expand All @@ -40,11 +42,15 @@ Here is an overview:
* highsource, more efficient geometry update, UI fixes
* hoofstephan, bug fix
* IsNull, improvements like #708
* IldarKhayrutdinov, use cache on different machines
* james-willis, improved isochrones triangulation robustness
* Janekdererste, GUI for public transit
* jansoe, many improvements regarding A* algorithm, forcing direction, roundabouts etc
* jansonhanson, general host config
* jessLryan, max elevation can now be negative
* joe-akeem, improvements like #2158
* JohannesPelzer, improved GPX information and various other things
* karololszacki, introduce `navigation_mode` option for Profiles to easily set which Voice Guidance distances to use
* karussell, one of the core developers
* khuebner, initial turn costs support
* kodonnell, adding support for CH and other algorithms (#60) and penalizing inner-link U-turns (#88)
Expand All @@ -58,14 +64,18 @@ Here is an overview:
* michaz, one of the core developers
* mprins, improvements for travis CI and regarding JDK9 #806
* msbarry, fixes like #1733
* nakaner, documentation
* naser13, fixes like #1923
* njanakiev, fixes like #1560
* NopMap, massive improvements regarding OSM, parsing and encoding, route relations
* ocampana, initial implementation for instructions
* oflebbe, work on iOS port and issues like #2060
* OlafFlebbeBosch, improvements like #2730
* osamaalmaani, added missing config option for graph.encoded_values in the config-example.yml file
* oschlueter, fixes like #1185
* otbutz, added multiple EncodedValues
* PabloaRuiz, pt_BR 1i8n improvements
* pantsleftinwash, speed parsing improvements
* PGWelch, shapefile reader #874
* rafaelstelles, fix deserializer web-api
* rajanski, script to do routing via PostGIS
Expand All @@ -83,8 +93,12 @@ Here is an overview:
* Svantulden, improved documentation and nearest API
* taulinger, hopefully more to come
* thehereward, code cleanups like #620
* tyrasd, improved toll road handling in Austria #3190
* Vectorial1024, country-specific speed limit issues like #3244, #3248
* vvikas, ideas for many to many improvements and #616
* zstadler, multiple fixes and car4wd
* binora, fix mode in navigation response converter
* jwltrr, fixed pillar node limits

## Translations

Expand Down
22 changes: 12 additions & 10 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,31 @@

GraphHopper licensed under the Apache license, Version 2.0

Copyright 2012 - 2022 GraphHopper GmbH
Copyright 2012 - 2026 GraphHopper GmbH

The core module includes the following additional software:

* slf4j.org - SLF4J distributed under the MIT license.
* com.carrotsearch:hppc (Apache license)
* SparseArray from the Android project (Apache license)
* Snippets regarding mmap, vint/vlong and compression from Lucene (Apache license)
* XMLGraphics-Commons for CGIAR elevation files (Apache License)
* Apache Commons Lang - we copied the implementation of the Levenshtein Distance (Apache License)
* Apache Commons Collections - we copied parts of the BinaryHeap (Apache License)
* libwebp from Google for PMTiles (BSD-3-Clause license)
* com.github.usefulness:webp-imageio for PMTiles (Apache license)
* Apache Commons Lang - we copied the implementation of the Levenshtein Distance - see com.graphhopper.apache.commons.lang3 (Apache License)
* Apache Commons Collections - we copied parts of the BinaryHeap - see com.graphhopper.apache.commons.collections (Apache License)
* java-string-similarity - we copied the implementation of JaroWinkler (MIT license)
* Jackson (Apache License)
* org.locationtech:jts (EDL), see #1039
* org.locationtech:jts (EDL)
* AngleCalc.atan2 from Jim Shima, 1999 (public domain)
* janino compiler (BSD-3-Clause license)
* protobuf - New BSD license
* OSM-binary - LGPL license
* osm-legal-default-speeds-jvm (BSD-3-Clause license)
* kotlin stdlib (Apache License)
* protobuf from Google - (BSD-3-Clause license)
* OSM-binary - (LGPL license)
* Osmosis - public domain, see their github under package/copying.txt

reader-gtfs:

* some files from com.conveyal:gtfs-lib (BSD 2-clause license)
* com.google.transit:gtfs-realtime-bindings (Apache license)
* com.google.guava:guava (Apache license)
Expand All @@ -43,8 +46,7 @@ web:

* org.eclipse.jetty:jetty-server (Apache License)
* Dropwizard and dependencies (Apache license)
* no.ecc:java-vector-tile (Apache license)
* some images from mapbox https://www.mapbox.com/maki/, BSD License, see core/files
* classes in no.ecc are a copy of no.ecc.vectortile:java-vector-tile, see #2698 (Apache license)

## Data

Expand Down
Loading