Release history
Open Source Routing Machine (OSRM) releases
High performance routing engine designed to run on OpenStreetMap data and offering an HTTP API, C++ library interface, and Nodejs wrapper.
All releases
8 shown
v26.5.0
Bug fix
Notable features
- Integrated osrm-bindings library (#7485)
- Added winter_road and ice_road to restricted_highway_whitelist for profiles
Full changelog
- 3c32a51bf - ci: use BACKEND_RELEASE_TOKEN for release dispatch
- bab826352 - fix: merge conflict resolved
- 3c5c796a8 - chore: bump version to 26.5.0
- 552c6cfa1 - fix(ci): use right token
- 1544378e4 - ci(release): use token on check out
- 6e361cc7c - fix: support file paths containing spaces in CLI tools (#7511)
- 4d04b385c - feat: integrate https://github.com/nilsnolde/osrm-bindings (#7485)
- d0802a0be - fix: MSVC platform detection in isatty helper (#7521)
- d0c706a0e - don't run workflows on forks (#7522)
- 74d3fb16d - build: replace boost date time with std (#7514)
- 9dc0584fb - build: remove unused boost::heap dependency (#7515)
- 73e4f1ea2 - build: replace Boost.Iterator with C++20 iterators (#7510)
- e0bf43485 - ci: add new pr title check (#7513)
- 0eec0d128 - Remove scripts/tidy.sh (#7512)
- 6cd00af30 - build: replace manual CAS implementation with atomic_ref (#7509)
- 7580da293 - refactor: drop boost dependencies replaceable by C++20 stdlib (#7506)
- e3aeddd7c - build: unvendor vtzero, provide custom vcpkg overlay (#7508)
- e24588146 - fix(ci): silence most lld linker warnings (#7507)
- b63d6b4d1 - build: replace vendored microtar with libarchive from vcpkg (#7495)
- 4603631ca - build: generate flatbuffers headers at build time, remove version pin (#7488)
- 617ddaf01 - chore(deps-dev): bump postcss from 8.5.6 to 8.5.12 (#7505)
- 85fbefad1 - build: migrate from Conan + vendored deps to vcpkg manifest mode (#7487)
- 11cf4e044 - fix: invalid TurnLaneData comparators (#7504)
- 105448a80 - fix(link): permanent discord invite (#7502)
- 31b5238a4 - Change bzip2 and xz-utils to not be shared (#7493)
- c3d1657a7 - chore(deps): bump uuid and @cucumber/cucumber (#7500)
- e90fad378 - chore(deps-dev): bump fast-xml-parser from 5.5.11 to 5.7.0 (#7498)
- b0e827b6e - feat(profiles): add winter_road and ice_road to restricted_highway_whitelist (#7496)
- a27573f34 - ci(docker): fix tagging of artefacts
- e64f23748 - ci(fix): casing of ghcr repo name (#7491)
- 9769b13ad - ci(fix): add PAT to release workflow (#7490)
v26.4.1
Bug fix
Notable features
- Convey tag for escalators and moving walkways
- Add winter_road/ice_road profiles with surface=ice/snow to car.lua
Full changelog
- 8a1258c5b - chore: bump version to 26.4.1
- 4ea14441b - feat: conveying tag for escalators and moving walkways (#7466)
- 43d68f399 - ci: use native ARM machines in docker build (#7481)
- aa65f4699 - fix(profiles): add winter_road/ice_road and surface=ice/snow to car.lua (#7465)
- b3b0f38db - ci: switch format-taginfo-docs job runner from ubuntu-24.04 to ubuntu-slim (#7483)
- 7f88b3f4b - ci: upgrade macOS versions in CI workflow to 26 (#7486)
- 9e1c57db1 - ci: propagate docker/metadata-action labels to published images (#7484)
- fca5473af - ci: fix semver pattern in Docker workflow
- a264ce0a7 - fix(docs): make docs deployable to subdir (#7479)
- 913dfe3ca - ci: build on arm64 (#7482)
- aa6f3ace8 - ci: fix propagation of tags in docker build (#7480)
- 8f87a542e - Bump follow-redirects from 1.15.11 to 1.16.0 (#7478)
- 20144e465 - ci: build docker image with specified revision
- b78217f09 - ci: provide ability to specify tag for which to build docker image
- 79fe90918 - fix(mem usage): XORFastHash lost lines (#7456)
- b066f6a9a - fix: make docker build triggerable (#7477)
- 160e5009d - Update release-monthly.yml
v26.4.0
Breaking risk
Security fixes
- CVE-2026-23745
Full changelog
- d3e0a3543 - fix: restore NPM_TOKEN auth and add --access public for scoped package publish (#7475)
- 1da889d02 - fix: use npm install --ignore-scripts to avoid native build in release (#7474)
- 4abcdb03e - fix: add npm install step before npm publish in release workflow (#7473)
- ce30324cc - fix: improve release workflow timeout and changelog generation (#7472)
- 63fba02a9 - fix: configure git identity in release action before tagging (#7471)
- 82b833553 - ci: enable npm trusted publishing (#7470)
- eec4d768e - feat: enforce Conventional Commits for PR titles and retire CHANGELOG.md (#7469)
- 89ae0bd9c - feat: implement automated monthly releases with YY-MM-patchlevel versioning (#7468)
- 7a6cc9eb8 - Fix microtar tar header size field on MinGW Windows (#7467)
- e028bbb0f - chore: upgrade vite to 6.4.2 via overrides for vitepress (#7463)
- f2adcec6c - Improve utility scripts with modern dependencies and enhanced features (#7461)
- 24d53243d - Replace d3-queue with native async/await across test infrastructure (#7458)
- 738d41270 - Move shared memory lock files out of /tmp to prevent cleanup (#7443)
- c927bb2ad - Upgrade GitHub CI actions to latest versions (#7457)
- 678c58bde - Revert "Change Windows Node.js version from 24 to 20 (#7452)" (#7455)
- 567980e77 - Replace node-cmake w/ CMake.js. Fix Windows Node.js build failure for Node.js v22+ (dropped x86 support) (#7451)
- b28899e29 - Bump lodash from 4.17.23 to 4.18.1 (#7450)
- 3c88da821 - Change Windows Node.js version from 24 to 20 (#7452)
- 25386254b - Upgrade CI Node.js to supported 22/24/25 set (#7449)
- a72e46326 - Migrate all parsers from Boost.Spirit Qi to X3 (#7432)
- 27a4419f4 - Replace XORFastHash by ANDHash (#7400)
- 1b27ef8b5 - Fix windows build issue (#7437)
- ed0e74729 - fix: sol2 header to allow for empty lua macro definitions (#7441)
- 9000f51d1 - fix: make osrm
FetchContentcompatible (#7440) - f9b562b9e - bicycle: respect cycleway:*=separate tags (#7431)
- b94847b88 - Bring back library example (#7430)
- 7134fbe44 - Allow returning geometry by leg (#7256)
- 8b211b995 - Bump picomatch from 2.3.1 to 2.3.2 (#7429)
- d7a5e551d - foot: respect foot=use_sidepath and sidewalk:*=separate tags (#7426)
- c3dc1486c - fix: Nearest API returning node ID 0 at start of one-way road (#7427)
- 4c97bacff - Exclude highway=road from foot and bicycle profiles (#7424)
- 5086fb38b - Rename NameTable→StringTable and name_id→string_view_id (#7406)
- 08ad0309e - Fix compilation error in raster_source (#7423)
- 828973b82 - Fix Lua error with decimal lane values in osrm-extract (#7420)
- 89ab60dd6 - docs(readme): add support section with contribution and funding paths (#7421)
- 1c6943e21 - Update funding sources in FUNDING.yml
- c4675c0be - Fix negative route durations from negative turn duration penalties (#5967) (#7416)
- 844dc290d - fix: don't prune real highways that also carry a proposed=* tag (#7415)
- b23304444 - fix: [Bug Report] osrm-routed segfaults/asserts (#7412)
- b5b6803e0 - Es6 nodejs tests (#7401)
- 6d41fcd49 - chore: bump flatted in lockfile (#7414)
- 5b026dc74 - Fix bicycle profile: cap speed at 21 km/h and add test coverage for high maxspeed values (#7402)
- 9c0583e77 - fix: upgrade tar to >=7.5.11 (GHSA-9ppj-qmqm-q256) (#7410)
- 508dcd1a3 - Add configurable lane_markings=no penalty to car profile (#7409)
- 314c566cd - Add Lua 5.5 compatibility stopgap patch (#7404)
- 5d9617fe3 - fix: upgrade tar to >=7.5.10 (GHSA-qffp-2rhf-9h96) (#7403)
- ff327c465 - Enable
bugprone-empty-catchand eliminate empty catch handlers in core code (#7396) - 75cca4956 - Bump minimatch from 10.2.2 to 10.2.4 (#7399)
- 1657f2e0d - Bump rollup from 4.57.1 to 4.59.0 (#7398)
- e3ff5404d - Add Latvia
living_streetdefault speed mapping (LV:living_street→ 20 km/h) for car profile and taginfo (#7386) - 758197d9e - Remove superfluous boost includes (#7384)
- a74567bcd - Add vehicle-specific maximum speed profiles with configurable upper bounds (#7383)
- 6c7d4ac5e - Reenable temporarily disabled CI jobs (#7357)
- ba2f4ec59 - Fix clang-tidy-21 warnings (#7381)
- 0b87dc71f - Fix hashFiles timeout in GitHub Actions workflow on macOS runners (#7382)
- 362b388d7 - Replace boost::format with libfmt (#7363)
- 657c3dc1a - Fix npm dependency issues: pin esbuild, resolve deprecations and vulnerabilities (#7374)
- 8a7f6cfda - Add regression tests for zero-speed segment updates (#7341)
- 80564bb6b - Upgrade tar to 7.5.9 to fix CVE (#7364)
- 8a125eb65 - Upgrade FlatBuffers from 24.3.25 to 25.9.23 (#7360)
- 67619e588 - add argentine speed exceptions (#7286)
- 5c6e615c6 - Upgrade clang-format from version 15 to 18 (#7359)
- fff162da2 - Add support for maxweightrating tag in car profile (#7352)
- 0b41f90dc - Add --output option to osrm-extract for custom output base path (#7349)
- 2ca7911b0 - Add --list-inputs option to all OSRM tools for deployment scripts (#7350)
- cb4d49f42 - Upgrade libosmium from 2.20.0 to 2.23.0 (#7356)
- dbca3c384 - Migrate API docs generation to vitepress (#7355)
- 809615f2c - Add osrm_ prefix to custom targets and ALIAS targets for FetchContent compatibility (#7329)
- df3f5740d - Emit warning when osrm-extract encounters ways referencing missing nodes (#7351)
- d8ff021d2 - Fix documentation build ESM/CommonJS conflict (#7348)
- 86c6e4f14 - Add policy for AI contributions (#7345)
- 81e15d010 - Add AGENT.md to enforce coding guidelines (#7346)
- f9e90b8f8 - Apply configurable penalty to gates in car profile (#7334)
- a5a3ba6b9 - Add configurable max_collapse_distance property to Lua profiles for p… (#7344)
- e248005d8 - Make maximum header size configurable (#7336)
- 9d837fa31 - Set hwloc:shared=True in Conan config as required by onetbb (#7343)
- fc5dfe2be - Fix crash when route starts/ends at manoeuvre relation via node (#7339)
- 0a2edf87f - Use weak_ptr and wait for shutdown (#7337)
- 010119855 - Fix (another) tar vulnerbility (#7338)
- 41a5ee52f - Add the PSV vehicle subtypes to the access_tag_blacklist of the car profile (taxi, share_taxi, minibus, and bus) #7295 (#7295)
- f5d5790f8 - Port osrm-routed to use boost::beast (#7328)
- 6e35535ee - Update node-tar for CVE-2026-23745 (#7335)
- b8a94c7c3 - Parallel cucumbers (#7309)
- c98537b18 - Upgrade npm dependencies to latest versions (#7333)
- 936fcfeec - Add audible fence exception for barrier routing (#7331)
- 1e1d5fad9 - Fix macOS and Windows shared mem wait for detach (#7321)
- 8f7b36f23 - Fixed speed limits in Czech Republic (#7279)
- 655ceb870 - Add sidepath name fallback using is_sidepath:of:name and street:name tags (#7288)
- 4c9ffaa1c - Fix compilation in relase with LTO with gcc >=14 (#7327)
- cf4cdb307 - Fix uncaught exceptions (#7324)
- ee00b9eea - fix an assertion that would fire erroneously fire due to int overflow (#7257)
- a1f0cc26b - Fix std::is_trivial deprecation and clang-tidy warnings (#7291)
- 877ea005d - Don’t route on motorroads by foot or bicycle (#6697) (#7316)
- 58bf4c174 - Update README.md
- 64726e77b - Fix clang-21 warnings (#7303)
- 29bbad5f9 - Limit max exclude classes to 7 (#7322)
- b69d940be - Fix issue 7296 (#7300)
- e28e439cb -
cyclewayvalue should fall back tocycleway:bothif available (#7314) - 00565a7fe - Remove separate osrm_guidance library, fixes #6954 (#7315)
- 9dbb8a14e - Disable array bounds warning until GCC is fixed (#7317)
- 8dfc6bfa2 - [lua] Added to_number_uint. (#7289)
- 200fd587c - Disable debug builds for now (#7318)
- b9e5c820d - Fix documentation build by replacing removed --polyglot flag (#7292)
- 4ec3fcfd1 - Initial commit (#7304)
- 2d6e5651e - Add SHM_LOCK_DIR environment variable for containerized deployments (memory leak fix) (#7312)
- 27b3ea1a2 - Fix Node.js binding path to match node-pre-gyp versioning (#7277)
- e6d8fbdc4 - Fix JSON rendering of large OSM IDs and handle NaN/Infinity gracefully (#7311)
- 01605f758 - Compilation fixes (#7263)
- 145f6de6d - Add std::format compatibility layer and fix node_osrm C++17/C++20 ABI mismatch (#7261)
- 51f5bdcd4 - Reduce the number of MSVC warnings in CI workflow builds on Windows (#7254)
- 1ba78bfc1 - Upgrade fmt from 10.2.1 to 11.2.0 (#7243)
- e83f36186 - Upgrade protozero from 1.7.1 to 1.8.1 (#7244)
- 0ae940c31 - Replace std::is_trivial (#7248)
- 8fb25ea8f - Add libcap-setcap to alpine dockerfile (#7242)
- e9a97def9 - Improve lint rules, update npm packages, add pre-commit hook (#7234)
- bec494709 - Convert remaining scripts from CommonJS to ESM format and use flatbuffers npm package (#7233)
- d81012111 - Convert scripts from CommonJS to modern ESM format (#7230)
- a2e159d0d - Fix build with Boost 1.89.0 (#7220)
- 14e1713b4 - #7180: Upgrade Cucumber-js to v12 (#7221)
- 7d46e4100 - Fix build on FreeBSD. (#7206)
- c467cdf80 - Improve spelling and wording in source code, comments and documentation (#7215)
- 560ed5c0e - Update eslint, and consistently format all JS code (#7170)
- a49d64f8f - Update first batch of npm dependencies (#7169)
- f5e924189 - Update changelog for v6.0.0 (#7154)