Releases: Project-OSRM/osrm-backend
Releases · Project-OSRM/osrm-backend
v6.0.0
🚀 OSRM V6.0.0 is here! This major release introduces exciting new features and improvements:
- Obstacle Support: Generic support for obstacles enhances routing flexibility.
- Pedestrian Routing: Routes now include highways marked as platforms.
- Performance Boosts: Micro-optimizations improve API performance across Route, Table, Trip, and Match.
- Modernized Build System: Upgraded to Clang 15, Conan 2.x, and Debian Bookworm for better compatibility.
- NodeJS Updates: Transitioned to Node-API, dropping support for older Node versions.
- Enhanced Testing: Comprehensive CI updates and new unit tests ensure reliability.
- Optimized Codebase: Reduced dependencies and improved memory efficiency.
What's Changed
- Fix bindings compilation on latest Node by @SiarheiFedartsou in #6416
- Fix annotations=true handling in NodeJS bindings & libosrm by @SiarheiFedartsou in #6415
- Handle snapping parameter for all plugins in NodeJs bindings, but not for Route only by @SiarheiFedartsou in #6417
- Fix adding traffic signal penalties during compression by @mjjbell in #6419
- Update actions/cache to v3 by @SiarheiFedartsou in #6420
- Add link to Discord server by @SiarheiFedartsou in #6422
- Make edge metrics strongly typed by @mjjbell in #6421
- Fix typo historgram -> histogram by @DennisOSRM in #6427
- Replace boost::unordered_{map/set} with std, also remove code duplication by @DennisOSRM in #6429
- Delete CloudFormation templates by @SiarheiFedartsou in #6435
- Drop support of Node 12 & 14 by @SiarheiFedartsou in #6431
- Fix
npm audit
warnings in NPM package by @SiarheiFedartsou in #6437 - Apply workaround for Conan installation issue on CI by @SiarheiFedartsou in #6442
- Upgrade check_taginfo.py to Python3 by @DennisOSRM in #6441
- Drop GCC7 support by @DennisOSRM in #6445
- Remove C++14 references from README and package.json by @SiarheiFedartsou in #6438
- Replace boost::string_ref with std::string_view by @DennisOSRM in #6433
- Get rid of unused functions in util/json_util.hpp by @SiarheiFedartsou in #6446
- Car profile, add new specific country speed limit by @frodrigo in #6443
- Upgrade to clang-tidy 15 by @SiarheiFedartsou in #6439
- Remove at:urban maxspeed, partial revert by @frodrigo in #6450
- Use node-api instead of NAN by @SiarheiFedartsou in #6452
- Use <boost/iterator/function_output_iterator.hpp> instead of deprecated <boost/function_output_iterator.hpp> by @SiarheiFedartsou in #6458
- Add CI job which builds OSRM with gcc 12 by @SiarheiFedartsou in #6455
- Move vector in CSVFilesParser instead copying it by @SiarheiFedartsou in #6470
- [CPP17] Modernize: Replace typedef with using statements by @DennisOSRM in #6444
- Less dependencies by inner sourcing cheap-ruler by @DennisOSRM in #6478
- Fix CMake warning by @DennisOSRM in #6479
- Update CMakeLists by @DennisOSRM in #6477
- Nested namespace by @DennisOSRM in #6480
- fix typo by @SamuelBrucksch in #6491
- Fix boost header deprecation warning by @jeremiahpslewis in #6515
- Fixed typo and grammatical mistakes in developing.md by @prrajput1199 in #6520
- Update Docker commands in README to also output error in case of failure by @SiarheiFedartsou in #6529
- fix(json_render): json_render is not accurate enough for extremely sm… by @Rejudge-F in #6531
- Fixed typo in profiles.md by @prrajput1199 in #6538
- Fixing discord link by @patrick-fitzgerald in #6536
- Fix typo in api.md by @prrajput1199 in #6567
- Move TarjanSCC from extractor to util by @97littleleaf11 in #6562
- fix oneway handling in get_forward_backward_by_key by @SamuelBrucksch in #6569
- Addressing grammatical nits and fixing typo in testing.md by @prrajput1199 in #6550
- print tracebacks and line numbers for Lua runtime errors by @mattwigway in #6564
- Add support for a default_radius flag by @whytro in #6575
- keep libosrm* by @nilsnolde in #6602
- Added block_counter variable to a preprocessor check, minor bug. by @AlTimofeyev in #6596
- Allow -1.0 as unlimited for default_radius value by @whytro in #6599
- Fix build with GCC 13 by @lliehu in #6632
- Fix building on OpenBSD by @brad0 in #6637
- Corrected README with 'echo' command by @debarshikundu in #6638
- Minor fixes by @mjjbell in #6655
- Add 'load directly' mode to default Cucumber test suite by @mjjbell in #6664
- Add support for disabling feature datasets by @mjjbell in #6666
- Fix operator overload on RouteParameters by @whytro in #6646
- Don't route on proposed ways by @lliehu in #6615
- add keepalive_timeout flag by @fenwuyaoji in #6674
- Install data directory (geojson files) like the profiles directory by @frodrigo in #6699
- Added motorway speed limits for Bulgaria (original fix by pl71) by @frodrigo in #6698
- Fix commands in README to properly use echo when needed by @SiarheiFedartsou in #6547
- Switch to api.openstreetmap.org API host by @danieldegroot2 in #6713
- Fix some compilation issues on modern macOS systems by @danpat in #6709
- Pin Conan revisions correctly by @mjjbell in #6828
- Update osrm-backend-docker link to point to github hosted repo by @dspasojevic in #6831
- Delete .github/ISSUE_TEMPLATE/question.md by @mjjbell in #6827
- Set Maxspeed for Philippines by @frodrigo in #6776
- Fix a bug caused by support OSM traffic signal directions by @GitBenjamin in #6724
- Remove unused AWS SDK for JavaScript v2 by @trivikr in #6730
- Replace deprecated std::is_pod by @nyllet in #6717
- Extract prerelease/build information from package semver by @mjjbell in #6839
- Increment feature id in tile speed layer by @datwelk in #6726
- Fix manuever overrides finding bug by @rezashokry in #6739
- Add support for opposite approach request parameter by @mjjbell in #6842
- pass flags into process_segment by @mattwigway in #6658
- Drop support for NodeJS <= v16 by @DennisOSRM in #6857
- Remove outdated/deprecated CMake policy by @DennisOSRM in #6854
- Remove force-loop checks for routes with u-turns by @mjjbell in #6858
- Upgrade clang-format to version 15 by @DennisOSRM in #6859
- Remove stale AppVeyor files by @DennisOSRM in #6860
- Set Windows build to quiet by @DennisOSRM in https://github.com/Project-OSR...
v6.0.0-RC.2
What's Changed
- Fix Docker build by @DennisOSRM in #7134
- Fix compiltion on arm64/Linux docker build by @DennisOSRM in #7136
- Bring back to installing header files and lib by @jcoupey in #7140
- osrm-extract: change recommended pipeline info text by @arnesetzer in #7035
- Shepherd PR #6677 by @DennisOSRM in #7141
- bug-fix: invalid contract node by @fenwuyaoji in #7066
- Remove deprecated settings and bump Conan by @DennisOSRM in #7149
- Update Conan to v2.15.1 by @DennisOSRM in #7151
- Bump version to v6.0-RC2 by @DennisOSRM in #7148
New Contributors
- @jcoupey made their first contribution in #7140
- @arnesetzer made their first contribution in #7035
Full Changelog: v6.0.0-rc.1...v6.0.0-rc.2
v6.0.0-RC.1
What's Changed
- Process maxspeed tag before surface, smoothness, and tracktype tags by @flother in #6002
- Add support for lua5.4 in FindLua.cmake by @ijleesw in #5981
- Fix the URL parser for special chars in profile by @TheMarex in #6090
- fix link in the changelog by @matkoniecz in #6064
- Replace Travis with Github Actions for CI builds by @mjjbell in #6071
- Fix generation of inefficient MLD partitions by @mjjbell in #6085
- Fix Boost link flags in pkg-config file. by @mjjbell in #6083
- Immediately close bad connections to prevent file exhaustion by @mjjbell in #6112
- Update api.md by @omerXfaruq in #6054
- Fix MLD level mask generation to support 64-bit masks. by @mjjbell in #6123
- Fix metric offset overflow for large MLD partitions by @mjjbell in #6124
- Fix test cache to consider MLD executable changes by @mjjbell in #6129
- Revert "Executables use hyphens" by @mjjbell in #6131
- Use github actions badge in README.md by @hoerup in #6136
- Add GH actions script for docker image - take 2 by @hoerup in #6138
- Upgrade Boost to 1.70, fix inefficient connection handling by @mjjbell in #6113
- Make osrm-routed optional by @hoerup in #6144
- Enable all unit tests by @danpat in #5248
- Fix MSVC 19.28+ issue with ByEdgeOrByMeterValue::by_edge and ByEdgeOrByMeterValue::by_meter definitions by @mloskot in #6156
- Fix 32 bit CI builds by @mjjbell in #6170
- Fix for_each_indexed util function by @mjjbell in #6151
- Fix generation of NodeJS API documentation by @mjjbell in #6058
- Remove
set(CMAKE_OSX_ARCHITECTURES "x86_64")
on MacOS by @nikmikov in #6162 - Do not depend on ADL by @georgthegreat in #6186
- Split build command into two layers by @nurikk in #6175
- Enable arm docker build by @nurikk in #6172
- Configure clang-tidy job on CI by @SiarheiFedartsou in #6261
- Enable more clang-tidy checks. by @SiarheiFedartsou in #6270
- Configure CMake to not build flatbuffers tests and samples by @SiarheiFedartsou in #6274
- Enable even more clang-tidy checks by @SiarheiFedartsou in #6273
- Update macOS CI image to macos-11 by @SiarheiFedartsou in #6286
- Fix bug with reading Set values from Lua scripts. by @SiarheiFedartsou in #6285
- Migrate to C++17. Update sol2 to 3.3.0. Fix bug with reading Set values from Lua scripts. by @SiarheiFedartsou in #6279
- Use Conan instead of Mason to install code dependencies by @SiarheiFedartsou in #6284
- Configure Undefined Behaviour Sanitizer by @SiarheiFedartsou in #6290
- Use Boost.Beast to parse HTTP request by @SiarheiFedartsou in #6294
- Pass osm_node_ids by reference in osrm::updater::Updater class by @SiarheiFedartsou in #6298
- Remove highway=bicycle safety bonys by @TheMarex in #6296
- Remove EXACT from find_package if using Conan by @SiarheiFedartsou in #6299
- Fix performance issues after migration to sol2 3.3.0 by @SiarheiFedartsou in #6304
- Update libosmium to 2.18.0. Fix problem with Docker image build. by @SiarheiFedartsou in #6303
- Add smoke test for Docker image by @SiarheiFedartsou in #6313
- Migrate Windows CI to GitHub Actions. by @SiarheiFedartsou in #6312
- Fix distance calculation consistency. by @SiarheiFedartsou in #6315
- Remove references to project-osrm.wolt.com by @jpaalasm in #6314
- Use the latest node on CI by @SiarheiFedartsou in #6317
- Do not use deprecated Callback::Call overload in Node bindings by @SiarheiFedartsou in #6318
- Clarify identifier types used in data facade by @mjjbell in #6044
- Add missing files in exception message by @rgugliel in #5360
- Add support for non-round-trips with a single fixed endpoint by @mjjbell in #6050
- Complete support for no_entry and no_exit turn restrictions by @mjjbell in #5988
- Lazily generate optional route path data by @mjjbell in #6045
- Add
data_version
field to responses of all plugins. by @gardster in #5387 - Add node_osrm support for skip_waypoints parameter by @maciejb in #6060
- Bump CI complete meta job to ubuntu-20.04 by @mjjbell in #6323
- Enable performance-move-const-arg clang-tidy check by @SiarheiFedartsou in #6319
- Improvements to maneuver override processing by @mjjbell in #6215
- Migrate to modern TBB version by @SiarheiFedartsou in #6300
- Remove redundant nullptr check. by @SiarheiFedartsou in #6326
- Fix TBB in case of Conan + NodeJS build by @SiarheiFedartsou in #6324
- Fix HTTP compression precedence by @mjjbell in #6331
- Fix TBB in case of Conan + NodeJS build by @SiarheiFedartsou in #6333
- Support snapping to multiple ways at an input location by @mjjbell in #5953
- Update http.md by @ismlkrkmz in #6150
- Fix snapping target locations to ways used in turn restrictions by @mjjbell in #6339
- Add Node docs for exclude and skip_waypoints options by @SiarheiFedartsou in #6342
- Remove Appveyor status from README.md by @SiarheiFedartsou in #6347
- Use Lua 5.4 in Docker image by @SiarheiFedartsou in #6346
- Add Flatbuffers support to NodeJS bindings by @SiarheiFedartsou in #6338
- Use apt-get to install Clang on CI by @SiarheiFedartsou in #6345
- Support OSM traffic signal directions by @mjjbell in #6153
- Support floats for speed value in traffic updates CSV by @SiarheiFedartsou in #6327
- Optimize RestrictionParser performance by @SiarheiFedartsou in #6344
- Pin revisions of Conan dependencies by @SiarheiFedartsou in #6351
- Upgrade to clang-tidy 14 by @SiarheiFedartsou in #6353
- Configure cross-compilation for Apple Silicon by @SiarheiFedartsou in #6360
- Build Node bindings on Windows by @SiarheiFedartsou in #6334
- Fix a couple of warnings found by PVS Studio by @SiarheiFedartsou in #6372
- Bicycle surface speeds by @MeijiRestored in #6212
- Ensure u-turn exists in intersection view by @mjjbell in #6376
- Improve performance of map matching via getPathDistance optimization by @SiarheiFedartsou in #6378
- Refactor CMake code related to compiler warnings, enable some additional warnings by @SiarheiFedartsou in #6355
- Add timestamps for lo...
v5.27.1
v5.27.0
- Changes from 5.26.0
- API:
- NodeJS:
- FIXED: Support
skip_waypoints
in Node bindings #6060
- FIXED: Support
- Misc:
- ADDED: conanbuildinfo.json for easy reading of dependencies #6388
- CHANGED: Improve performance of JSON rendering. Fix undefined behaviour in JSON numbers formatting. #6380
- ADDED: Add timestamps for logs. #6375
- CHANGED: Improve performance of map matching via getPathDistance optimization. #6378
- CHANGED: Optimize RestrictionParser performance. #6344
- ADDED: Support floats for speed value in traffic updates CSV. #6327
- CHANGED: Use Lua 5.4 in Docker image. #6346
- CHANGED: Remove redundant nullptr check. #6326
- CHANGED: missing files list is included in exception message. #5360
- CHANGED: Do not use deprecated Callback::Call overload in Node bindings. #6318
- FIXED: Fix distance calculation consistency. #6315
- FIXED: Fix performance issue after migration to sol2 3.3.0. #6304
- CHANGED: Pass osm_node_ids by reference in osrm::updater::Updater class. #6298
- FIXED: Fix bug with reading Set values from Lua scripts. #6285
- FIXED: Bug in bicycle profile that caused exceptions if there is a highway=bicycle in the data. #6296
- FIXED: Internal refactoring of identifier types used in data facade #6044
- CHANGED: Update docs to reflect recent build and dependency changes #6383
- Build:
- REMOVED: Get rid of Mason. #6387
- CHANGED: Use clang-format from CI base image. #6391
- ADDED: Build Node bindings on Windows. #6334
- ADDED: Configure cross-compilation for Apple Silicon. #6360
- CHANGED: Use apt-get to install Clang on CI. #6345
- CHANGED: Fix TBB in case of Conan + NodeJS build. #6333
- CHANGED: Migrate to modern TBB version. #6300
- CHANGED: Enable performance-move-const-arg clang-tidy check. #6319
- CHANGED: Use the latest node on CI. #6317
- CHANGED: Migrate Windows CI to GitHub Actions. #6312
- ADDED: Add smoke test for Docker image. #6313
- CHANGED: Update libosmium to version 2.18.0. #6303
- CHANGED: Remove EXACT from find_package if using Conan. #6299
- CHANGED: Configure Undefined Behaviour Sanitizer. #6290
- CHANGED: Use Conan instead of Mason to install code dependencies. #6284
- CHANGED: Migrate to C++17. Update sol2 to 3.3.0. #6279
- CHANGED: Update macOS CI image to macos-11. #6286
- CHANGED: Enable even more clang-tidy checks. #6273
- CHANGED: Configure CMake to not build flatbuffers tests and samples. #6274
- CHANGED: Enable more clang-tidy checks. #6270
- CHANGED: Configure clang-tidy job on CI. #6261
- CHANGED: Use Github Actions for building container images #6138
- CHANGED: Upgrade Boost dependency to 1.70 #6113
- CHANGED: Upgrade Ubuntu CI builds to 20.04 #6119
- CHANGED: Make building osrm-routed optional #6144
- FIXED: Run all unit tests in CI #5248
- FIXED: Fix installation of Mason CMake and 32 bit CI build #6170
- FIXED: Fixed Node docs generation check in CI. #6058
- CHANGED: Docker build, enabled arm64 build layer #6172
- CHANGED: Docker build, enabled apt-get update/install caching in separate layer for build phase #6175
- FIXED: Bump CI complete meta job to ubuntu-20.04 #6323
- CHANGED: Node packages are now scoped by @Project-OSRM #6386
- Routing:
- CHANGED: Lazily generate optional route path data #6045
- FIXED: Completed support for no_entry and no_exit turn restrictions. #5988
- ADDED: Add support for non-round-trips with a single fixed endpoint. #6050
- FIXED: Improvements to maneuver override processing #6125
- ADDED: Support snapping to multiple ways at an input location. #5953
- FIXED: Fix snapping target locations to ways used in turn restrictions. #6339
- ADDED: Support OSM traffic signal directions. #6153
- FIXED: Ensure u-turn exists in intersection view. #6376
- FIXED: Gracefully handle no-turn intersections in guidance processing. #6382
- Profile:
- CHANGED: Bicycle surface speeds #6212
- Tools:
- CHANGED: Do not generate intermediate .osrm file in osrm-extract. #6354
5.26.0
- Changes from 5.25.0
- API:
- Build:
- Routing:
v5.25.0
v5.25.0-rc.2
Try pushing tag again.
v5.24.0
- Changes from 5.23.0
- Features
- Routing:
- Misc:
- CHANGED: Cleanup NodeJS dependencies #5945
- CHANGED: Unify
.osrm.turn_penalites_index
dump processing same with.osrm.turn_weight_penalties
and.osrm.turn_duration_penalties
#5868 - FIXED: Properly validate source/destination validation in NodeJS table service #5595
- FIXED: turn.roads_on_the_left not containing incoming roads and turn.roads_on_the_right not containing outgoing roads on two-way roads #5128
- Profile:
- ADDED: Profile debug script which fetches a way from OSM then outputs the result of the profile. #5908
- Infrastructure
- CHANGED: Bundled protozero updated to v1.7.0. #5858
- Windows:
- API:
v5.23.0
- Changes from 5.22.0
- Build:
- FIXED: pessimistic calls to std::move #5560
- Features:
- ADDED: new API parameter -
snapping=any|default
to allow snapping to previously unsnappable edges #5361 - ADDED: keepalive support to the osrm-routed HTTP server #5518
- ADDED: flatbuffers output format support #5513
- ADDED: Global 'skip_waypoints' option #5556
- FIXED: Install the libosrm_guidance library correctly #5604
- FIXED: Http Handler can now deal witch optional whitespace between header-key and -value #5606
- ADDED: new API parameter -
- Routing:
- CHANGED: allow routing past
barrier=arch
#5352 - CHANGED: default car weight was reduced to 2000 kg. #5371
- CHANGED: default car height was reduced to 2 meters. #5389
- FIXED: treat
bicycle=use_sidepath
as no access on the tagged way. #5622 - FIXED: fix table result when source and destination on same one-way segment. #5828
- FIXED: fix occasional segfault when swapping data with osrm-datastore and using
exclude=
#5844 - FIXED: fix crash in MLD alternative search if source or target are invalid #5851
- CHANGED: allow routing past
- Misc:
- CHANGED: Reduce memory usage for raster source handling. #5572
- CHANGED: Add cmake option
ENABLE_DEBUG_LOGGING
to control whether output debug logging. #3427 - CHANGED: updated extent of Hong Kong as left hand drive country. #5535
- FIXED: corrected error message when failing to snap input coordinates #5846
- Infrastructure
- REMOVED: STXXL support removed as STXXL became abandonware. #5760
- Build: