Skip to content

OSRM v5.6.0

Compare
Choose a tag to compare
@daniel-j-h daniel-j-h released this 23 Feb 13:08
· 2110 commits to master since this release

The 5.6 release includes some great new features:

Most importantly we now support the infamous issue #77: Routing on generic weights, not only the duration. The car profile makes use of this new feature by penalizing turns onto restricted streets (HOV-only, access=destination) heavily. This makes sure we don't route through them but still support starting/stopping from them. This increased our resource usage quite a bit, so if you are running global deployments make sure you have enough headroom before upgrading.

We also dropped our dependency on Luabind and replaced it with the awesome sol2 that we can bundle as header-only library.

The trip plugin also saw some improvements with regard to allowing you to do non-roundtrips and explicitly selecting the first / last node as start and end-points.


Tags

  • Never route over highway=steps in the car profile even if access tags allow it. This is a case of Wiki vs real-data where we pick the sensible solution for users. See #3435 and #3668.
  • Support destination:street tag. See #3543.
  • Support surface=sett for the bike profile. See #3657.
  • We now respect access=destination and only route there when the start/destination is on that road.
  • We now route over hov-only roads, when the start point is already on one.

API

  • Added an option generate_hints (true by default) which allows to prevent the engine to generate hints. If there is no need for hints use this to make the response considerably smaller. See #3456.
  • annotations now also supports a list of specific values like distances,nodes,speeds to only include data selectively.
  • The trip plugin supports two new parameters round_trip={true,false} and source={first,any} and destination={first,any}.

Infrastructure

  • We disabled Link-Time Optimization by default when building from source as it lead to complications with old compilers and binutils. If your system is recent enough and you know what you are doing pass -DENABLE_LTO=ON to CMake. See #3524.
  • Updated to the latest libosmium version which allows us to skip PBF metadata improving parsing speed up by 10-20%. If you need metadata on OSM Objects (think: a way object's version) use osrm-extract --with-osm-metadata. See #3373.
  • Luabind is no longer required. We removed Luabind completely and vendor sol2 for bindings now. See #3382.
  • We refactored the car / bike and foot profile. They should be more readable and easier to get into now. Thanks Emil Tin for your efforts here.

Tools

  • We re-wrote the osrm-components tool: it generates a GeoJSON small components layer now. See #3570.
  • There is a new tool osrm-extract-conditionals for processing conditional tags (opening hour grammar). See #3414 and #3415.

Full Changelog