<div dir="ltr"><div>The 5.8 release is focused on long overdue memory and disk usage
reductions across the board. With some minor issues fixed in the
guidance engine this release targets stability and benefits on the
infrastructure side. Notable additional changes and features are listed
below.<br><br>You can grab the source release here:<br><a href="https://github.com/Project-OSRM/osrm-backend/releases/tag/v5.8.0">https://github.com/Project-OSRM/osrm-backend/releases/tag/v5.8.0</a><br><br></div>Or use the pre-built and packaged Node.js bindings via `npm install osrm`:<br><a href="https://www.npmjs.com/package/osrm">https://www.npmjs.com/package/osrm</a><br><br><div>The full changelog is here:<br><a href="https://github.com/Project-OSRM/osrm-backend/blob/5.8/CHANGELOG.md#580">https://github.com/Project-OSRM/osrm-backend/blob/5.8/CHANGELOG.md#580</a><br><h4>Infrastructure</h4>
<ul><li><a href="https://github.com/Project-OSRM/osrm-backend/pull/4096" class="gmail-issue-link gmail-js-issue-link">#4096</a> - Command-line tools (<code>osrm-extract</code>, <code>osrm-contract</code>, <code>osrm-routed</code>,
and others) now return error codes and legible error messages for
common problem scenarios. You can find the list of error codes <a href="https://github.com/Project-OSRM/osrm-backend/blob/5.8/include/osrm/error_codes.hpp#L18-L26">here</a>.</li><li><a href="https://github.com/Project-OSRM/osrm-backend/pull/4036" class="gmail-issue-link gmail-js-issue-link" title="Refactor nodes file">#4036</a> - <code>.osrm.nodes</code> file was renamed to <code>.nbg_nodes</code> and <code>.ebg_nodes</code> was added.</li></ul>
<h4>Conditional Turn Restrictions</h4>
<ul><li><a href="https://github.com/Project-OSRM/osrm-backend/pull/3841" class="gmail-issue-link gmail-js-issue-link">#3841</a> - Added conditional restriction support with <code>parse-conditional-restrictions=true|false</code> to <code>osrm-extract</code>. This option saves conditional turn restrictions to the <code>.restrictions</code> file for parsing later. Added <code>parse-conditionals-from-now=utc time stamp</code> and <code>--time-zone-file=/path/to/file</code> to <code>osrm-contract</code>.</li></ul>
<h4>Profiles</h4>
<ul><li><a href="https://github.com/Project-OSRM/osrm-backend/pull/4147" class="gmail-issue-link gmail-js-issue-link">#4147</a>
- Speed up pre-processing by only running the Lua node function for
nodes that have tags (by default, can be changed). Cuts OSM file parsing
time in half.</li></ul>
<h4>API</h4>
<ul><li><a href="https://github.com/Project-OSRM/osrm-backend/pull/4039" class="gmail-issue-link gmail-js-issue-link">#4039</a> - Adds an <code>approaches</code>
parameter to the API. The use-case is to approach a waypoint on the
side of the road that deposits or picks up your passenger without
needing to cross the road and then continue routing you without issuing a
u-turn. Read about it <a href="https://www.openstreetmap.org/user/Jean-Maxime%20FILLAU/diary/41741">here</a>.</li><li><a href="https://github.com/Project-OSRM/osrm-backend/pull/4134" class="gmail-issue-link gmail-js-issue-link">#4134</a> - Adds a <code>polyline6</code> option to the HTTP API for sending coordinates in the request polyline encoded with a precision of 6.</li></ul></div></div>