<br />

This page is updated with each product release. The changelog lists releases by
date and includes any new features, bug fixes, and significant performance
improvements.
You can also browse and filter all release notes for all products in the
[Google API Console](https://console.cloud.google.com/release-notes).

To subscribe to these release notes, add the [feed URL](https://developers.google.com/static/feeds/route-optimization-release-notes.xml) of this page to your [RSS feed
reader](https://wikipedia.org/wiki/Comparison_of_feed_aggregators).
[![Subscribe](https://developers.google.com/static/maps/documentation/images/rss-icon.svg)](https://developers.google.com/static/feeds/route-optimization-release-notes.xml)

See the [Overview](https://developers.google.com/maps/documentation/route-optimization/release-notes/overview) documentation for information on how to get started
using the Route Optimization API.

## November 02, 2026

Announcement Announcing general availability (GA) for two-wheeler routing (`TravelMode.TWO_WHEELER`) for selected countries in the Route Optimization API.

You can now optimize routes for motorized two-wheeled vehicles, such as motorcycles and scooters, across all Route Optimization API endpoints (`OptimizeTours`, `BatchOptimizeTours`, `OptimizeToursLongRunning`, and `OptimizeToursUri`). To check regional coverage, see [Countries and regions supported for two-wheeled vehicles](https://developers.google.com/maps/documentation/routes/coverage-two-wheeled.md.txt).

For more information on configuring vehicle travel modes, see the [`TravelMode` REST reference](https://developers.google.com/maps/documentation/route-optimization/reference/rest/v1/ShipmentModel.md.txt#TravelMode) and [`Vehicle.TravelMode` RPC reference](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#google.maps.routeoptimization.v1.Vehicle.TravelMode).
Feature Two-wheeler routing (`TravelMode.TWO_WHEELER`) is generally available (GA) for selected countries.

Set `travelMode` to `TWO_WHEELER` on a [`Vehicle`](https://developers.google.com/maps/documentation/route-optimization/reference/rest/v1/ShipmentModel.md.txt#Vehicle) to calculate optimized routes tailored for motorized two-wheeled vehicles, such as motorcycles or scooters, accounting for two-wheeler road access and travel speeds. For supported regions, see [Countries and regions supported for two-wheeled vehicles](https://developers.google.com/maps/documentation/routes/coverage-two-wheeled.md.txt).

`TravelMode.TWO_WHEELER` is accessible through REST, gRPC, and Google Maps Platform client libraries. For more information, see the [`TravelMode` REST reference](https://developers.google.com/maps/documentation/route-optimization/reference/rest/v1/ShipmentModel.md.txt#TravelMode) and [`Vehicle.TravelMode` RPC reference](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#google.maps.routeoptimization.v1.Vehicle.TravelMode).

## September 30, 2026

Announcement Announcing general availability (GA) for the `OptimizeToursLongRunning` and `OptimizeToursUri` endpoints in the Route Optimization API.

These non-blocking endpoints use the standard Long-Running Operation (LRO) pattern to provide higher reliability for long-running optimizations and support for large request and response payloads.

For guidance on choosing between blocking and non-blocking endpoints, see [Choose an endpoint](https://developers.google.com/maps/documentation/route-optimization/endpoints.md.txt).
Feature The `OptimizeToursLongRunning` endpoint is generally available (GA).

`OptimizeToursLongRunning` is a non-blocking endpoint designed for single optimization requests with longer solve times. Instead of maintaining an open connection while routes are being calculated, the endpoint immediately returns a Long-Running Operation (LRO) ID. You can poll this ID using the `GetOperation` method to monitor progress and retrieve the final optimized route (`OptimizeToursResponse`) directly in the operation response.

This endpoint supports medium-sized inline payloads---providing increased payload headroom over blocking `OptimizeTours` requests without connection timeouts---and is accessible through REST, gRPC, and Google Maps Platform client libraries. For more information, see [Choose an endpoint](https://developers.google.com/maps/documentation/route-optimization/endpoints.md.txt#optimizetourslongrunning) and the [`OptimizeToursLongRunning` reference](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#google.maps.routeoptimization.v1.RouteOptimization.OptimizeToursLongRunning).
Feature The `OptimizeToursUri` endpoint is generally available (GA).

`OptimizeToursUri` is a non-blocking endpoint designed for single, large optimization requests and responses with long solve times. Input `OptimizeToursRequest` messages are read directly from Cloud Storage URIs (`gs://...`), and output `OptimizeToursResponse` messages are written directly to a client-specified Cloud Storage destination. The endpoint returns a Long-Running Operation (LRO) ID that you can poll using `GetOperation` to track status and confirm completion before reading the response from your Cloud Storage destination.

This endpoint is accessible through REST, gRPC, and Google Maps Platform client libraries. For more information, see [Choose an endpoint](https://developers.google.com/maps/documentation/route-optimization/endpoints.md.txt#optimizetoursuri) and the [`OptimizeToursUri` reference](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#google.maps.routeoptimization.v1.RouteOptimization.OptimizeToursUri).

## May 13, 2025

Announcement Four new experimental features are now available.

See [U-turn Avoidance](https://developers.google.com/maps/tt/route-optimization/experimental/u-turn-avoidance/make-request.md.txt), [Objectives](https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request.md.txt), [Single Non-Blocking Optimizations](https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request) and [Load Costs](https://developers.google.com/maps/tt/route-optimization/experimental/load-cost/make-request.md.txt).

You can access these features through our REST and gRPC endpoints. Client libraries are not yet available.

## April 01, 2025

Fixed Mitigate an issue where routes occasionally suggest a different arrival and departure location for a visit, even when the user has specified only one location for the visit request. When this issue happens, if the distance between arrival and departure locations is large, it can result in a fragmented route.

This mitigation results in smoother routes and can be visible in the API as reduced gaps in [ShipmentRoute](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#shipmentroute) and [Transition](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#transition) route polylines at [Visit](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visit) locations.

Previously, route polylines could have large gaps at [Visit](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visit) locations even when the [VisitRequest](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visitrequest) arrival and departure locations or waypoints were set to be equal. This would generally happen when the [VisitRequest](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visitrequest) location had multiple nearby roads or entrances as sometimes different navigation points would be chosen for arrival to and departure from the same location. This would result in a gap between the endpoints of incoming and outgoing route polylines for the [Visit](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visit).

Now, suitable navigation points are chosen for [VisitRequest](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visitrequest) locations before generating route polylines so the endpoints of incoming and outgoing route polylines for [Visit](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#visit)s (with equal arrival and departure locations) are likely to be closer together.

## September 23, 2024

Feature You can now generate route tokens using the Route Optimization API. Pass a route token to the Navigation SDK to guide how it routes your vehicle. For details, see [Transition Polylines and Route Tokens](https://developers.google.com/maps/documentation/route-optimization/polylines-and-route-tokens.md.txt).

## July 01, 2024

Fixed Fixed an issue where duplicate [`GcsDestination`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#gcsdestination) `uri`s (which represent output files for the optimization responses) were accepted in [`BatchOptimizeToursRequest`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#batchoptimizetoursrequest) [`AsyncModelConfig`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#asyncmodelconfig)s for the `BatchOptimizeTours` API. Now [`GcsDestination`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#gcsdestination) `uri`s
must be unique across all [`BatchOptimizeToursRequest`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#batchoptimizetoursrequest) [`AsyncModelConfig`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#asyncmodelconfig)s in a single `BatchOptimizeTours` API call. This is desirable behavior to fail the `BatchOptimizeTours` call earlier as the call will not be able to complete successfully if enough output files are not provided.
Fixed Fixed an issue where duplicate [`GcsSource`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#gcssource) `uri`s (which represent input files for the optimization requests) were accepted in [`BatchOptimizeToursRequest`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#batchoptimizetoursrequest) [`AsyncModelConfig`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#asyncmodelconfig)s for the `BatchOptimizeTours` API. Now [`GcsSource`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#gcssource) `uri`s
must be unique across all [`BatchOptimizeToursRequest`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#batchoptimizetoursrequest) [`AsyncModelConfig`](https://developers.google.com/maps/documentation/route-optimization/reference/rpc/google.maps.routeoptimization.v1.md.txt#asyncmodelconfig)s in a single `BatchOptimizeTours` API call. This is desirable behavior to avoid processing the same request twice in case of accidental input duplication.

## May 15, 2024

Announcement Route Optimization API

Announcing the General Availability (GA) release of the Route Optimization API.

The Route Optimization API assigns tasks and routes to a vehicle fleet, optimizing against the objectives and constraints that you supply for your transportation goals.

If you are a new user, see [Set up your Google Cloud project](https://developers.google.com/maps/documentation/route-optimization/cloud-setup.md.txt) to start the development process.