Hey,

The 5.6.0 release features some great new features. Most importantly
we now support the infamous issue
[#77](https://github.com/Project-OSRM/osrm-backend/issues/77): Routing
on generic weights, not only the duration. This increased our resource
usage quite a bit, so if you are running global deployments make sure
you have enough headroom before upgrading. 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. 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](https://github.com/Project-OSRM/osrm-backend/issues/3435) and
[#3668](https://github.com/Project-OSRM/osrm-backend/pull/3668).
- Support `destination:street` tag. See
[#3543](https://github.com/Project-OSRM/osrm-backend/pull/3543).
- Support `surface=sett` for the bike profile. See
[#3657](https://github.com/Project-OSRM/osrm-backend/pull/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](https://github.com/Project-OSRM/osrm-backend/pull/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](https://github.com/Project-OSRM/osrm-backend/pull/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](https://github.com/Project-OSRM/osrm-backend/pull/3373).
- Luabind is no longer required. We removed Luabind completely and
vendor sol2 for bindings now. See
[#3382](https://github.com/Project-OSRM/osrm-backend/pull/3382).
- We refactored the
[car](https://github.com/Project-OSRM/osrm-backend/blob/master/profiles/car.lua)
/ 
[bike](https://github.com/Project-OSRM/osrm-backend/blob/master/profiles/bicycle.lua)
and 
[foot](https://github.com/Project-OSRM/osrm-backend/blob/master/profiles/foot.lua)
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](https://github.com/Project-OSRM/osrm-backend/pull/3570).
- There is a new tool `osrm-extract-conditionals` for processing
conditional tags (opening hour grammar). See
[#3414](https://github.com/Project-OSRM/osrm-backend/issues/3414) and
[#3415](https://github.com/Project-OSRM/osrm-backend/pull/3415).

---

[Full 
Changelog](https://github.com/Project-OSRM/osrm-backend/blob/master/CHANGELOG.md#560)

Cheers,
Patrick

_______________________________________________
OSRM-talk mailing list
OSRM-talk@openstreetmap.org
https://lists.openstreetmap.org/listinfo/osrm-talk

Reply via email to