The latest release of the GraphHopper routing engine is a special one. The routing engine is no longer specific to road routing only and supports public transit routing which makes the routing heavily time dependent and much more complex. The development and integration effort was huge, nearly 9 months ago we started with this, and this work is still ongoing and especially performance improvements are on the agenda for the next release and we plan improvements regarding time dependent routing in general.

Due to our increased manpower we were also able to push many bigger features at the same time. E.g. in the below screenshot you see our new enhance Android demo which runs maps and routing completely offline, thanks to Emux. The maps can now rotate and zoom, and everything is faster.

Here is an excerpt of over 55 fixed issues and over 85 merged pull requests:

Support for public transit, #1018. Import GTFS files, considers earliest arrival, transfers, routing combined with OSM and much more

A new “hybrid mode” which offers very fast routing queries with nearly the same flexibility of the flexible mode including support for turn costs/restrictions, #780. A car profile is now finally on osm.org

A new graph change API to change road speed and access properties, #845. Can be applied before preprocessing or per-request.

With an alternative shape file importer, which you can use to built your own custom, proprietary data format import methods without an external tool chain, #874.

Block area per request, #890

Improved instructions, #1031

The DataFlagEncoder supports considering vehicle height, width and weight, #936

New point hint feature improves ‘snapping’ of geocoding, #893

Replace the json.org dependency, which had an unclear ‘public domain’ license, with jackson, #1052

Max point distance limits, #872

SpatialRules make it possible to implement country specific road properties, #926

The Android demo now comes with the ‘resurrected’ VTM offline vector maps library, which does not only look impressive but also has faster rendering, #850

Removed support for war deployment as it was already half broken, #297

Runs now on JDK9 too, #806

Comes with a dockerfile, #849

… and many more bug fixes

Happy routing!