<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>