POST /route with steps: true now reads every road at each junction, so the steps say what a driver sees: forks, the end of a road, numbered motorway exits, mini-roundabouts and named roundabouts.
Breaking: three maneuver types changed. Update any client that switches on maneuver.type.
ramp is gone. Leaving a motorway or trunk road onto a slip road is off_ramp (with exits, the exit number, when the junction has one). Entering a slip road from any other road is on_ramp.
- Going straight on onto a road with a different name is
new_name. continue now only means carrying on along the same street.
- A roundabout with a named ring is a
rotary, with the name in rotary_name, and leaving it with roundabout_exits is exit_rotary. Unnamed rings are still roundabout.
New maneuvers: fork, end_of_road and roundabout_turn. Banners show the exit sign ("Exit 12A") as exit and exit-number components.
Each step now has driving_side, speed_limit_sign (mutcd or vienna) and speed_limit_unit, and the route lists its countries in admins. Intersections gain admin_index, is_urban, toll_collection for toll booths and gantries, and rest_stop for exits into rest and service areas.
With annotations: true, legs carry freeflow_speed_kmh, and with depart_at also current_speed_kmh, congestion_numeric and congestion from the time-of-day traffic profiles. These are modelled speeds, not live traffic.
approaches: ["curb", ...] (REST) and approaches: "curb;" (PlazaQL) keep a stop on the driving side of the road, as preferred_sides: same does.