This section contains release notes for the Driver SDK for Android.

> [!NOTE]
> **See Also:**   
>
> - [The Navigation SDK v1 release notes](https://developers.google.com/maps/documentation/navigation/android-sdk/v1/releases)
> - [The Navigation SDK v2 and later release notes](https://developers.google.com/maps/documentation/navigation/android-sdk/v2/releases)

## v7.1.0 (May 14, 2026)

### Dependency and configuration changes

- Added Jetpack DataStore dependencies: `androidx.datastore:datastore-core`
  version 1.1.7 and `androidx.datastore:datastore-guava` version 1.2.0.

- Upgraded Kotlin dependency version to v2.3.0.

- Upgraded Android Gradle Plugin version to 8.13.2.

- Upgraded Gradle version to 8.13.

- Upgraded Desugar library version to 2.1.5.

- Expanded the supported Navigation SDK version range from \[7.0, 7.3)
  to \[7.0, 8.0).

## v7.0.0 (December 5, 2025)

### Dependency and configuration changes

- Upgraded `minSdkVersion` to API 26.

- Upgraded `targetSdkVersion` to API 36.

- Updated Navigation SDK supported ranged versions including and
  starting from v7.0.0.

## v6.99.0 (December 5, 2025)

- Internal improvements

## Announcement: Freezing support for API level 23, 24, and 25

In accordance with the [Mobile OS version support
policy](https://developers.google.com/maps/software-support#mobile-os-version-support-policy), we are
freezing support for Android 6 and 7 (API Level 23, 24, and 25) in upcoming
major versions of Driver SDK for Android.

Starting with v7.0.0, Driver SDK for Android will support a minimum of Android 8 (API Level 26). Earlier SDK versions will
continue supporting Android 6 and 7.

If your dependencies don't specify a version number, your IDE will load the
newest SDK version and new builds of your app won't support Android 6 and 7.

Specify a version of the Driver SDK for Android in your application's build
dependencies in order to control when you raise the minimum supported OS for new
versions of your app.

## v6.2.0 (June 18, 2025)

### Bug fixes

- Fixed `NullPointerException` crash while calling `DriverApi.createInstance()` when a `DriverStatusListener` is not supplied.

### Dependency and configuration changes

- Starting with version 6.2.0 of the Driver SDK for Android, apps must upgrade
  to Kotlin 2.1.

- Updated Navigation SDK supported ranged versions including and
  starting from v6.1.0.

## v6.1.0 (March 10, 2025)

### Bug fixes

- Internal logging improvements.

## v5.99.1 (January 10, 2025)

### Bug fixes

- Fixed issue where drivers were receiving gRPC errors with code "INTERNAL" and a "Panic! This is a bug!" description on application first launch after install.

## v6.0.0 (November 25, 2024)

### Bug fixes

- Fixed issue where drivers where receiving gRPC errors with code "INTERNAL" and a "Panic! This is a bug!" description.
- Internal improvement to reduce location update connection errors especially when the device switches networks. This will be rolled out progressively (starting from 0%) once the release has been integrated.\`

### API updates

- Removed deprecated interface `StatusListener`.

### Dependency and configuration changes

- Remove dependency to `glide:cronet-integration` in the POM.xml
- Updated Navigation SDK supported ranged versions to v5.x.
- Starting with version 6.0.0 of the Driver SDK for Android, apps must upgrade to Kotlin 2.0.
- The targetSdk is now API level 34. This is a requirement for all apps that deploy to Google Play Store as of August 2024. See [Meet Google Play's
  target API level
  requirement](https://developer.android.com/google/play/requirements/target-sdk).

## v5.99.0 (September 20, 2024)

### Bug fixes

- Fixed issue where drivers where receiving gRPC errors with code "INTERNAL" and a "Panic! This is a bug!" description. This will be rolled out progressively (starting from 0%) once the release has been integrated.
- Internal improvement to reduce location update connection errors especially when the device switches networks. This will be rolled out progressively (starting from 0%) once the release has been integrated.\`

### Dependency and configuration changes

- Remove dependency to `glide:cronet-integration` in the POM.xml

## v5.0.0 (September 12, 2023)

### Dependency and configuration changes

- Updated Navigation SDK to v5.x.
- Upgraded `minSdkVersion` to API 23.
- Upgraded Kotlin version to 1.9.0.
- Added dependency on [Room](https://developer.android.com/reference/androidx/room/package-summary.html). \* Apps that use Driver SDK must now have `targetSdkVersion` of API 31 or greater.
- Apps that use Driver SDK must now enable Java 8 library support. See https://developer.android.com/studio/write/java8-support for instructions to update.
- Apps that use Proguard or Dexguard must migrate to R8. See https://developer.android.com/build/shrink-code for more information.
- Apps that use Driver SDK must enable desugaring. See https://developer.android.com/studio/write/java8-support#library-desugaring for instructions.

### Bug fixes

- Fixed issue with disableLocationTracking synchronization.
- Introduced new DriverStatusListener interface that reports a cause in exception status updates.
- Fixed issue for drivers remaining stationary (available starting from v4.99.0).

## v4.99.0 (August 9, 2023)

- Support a range of versions for NavSDK dependency. \*\* Supports v4.5.0 up to (but not including) v5.0.0.
- Prevent ETA from decreasing by itself when the vehicle is stationary. This change rolls out gradually as an experiment, so not all applications will see this change simultaneously.

## v4.5.0 (May 12, 2023)

- Update Navigation SDK dependency to v4.5. Note that the group and artifact IDs for Navigation SDK have changed.

## v4.4.3 (March 20, 2023)

### Dependency change

- Upgrade Navigation SDK dependency to v4.4.1.

## v4.4.2 (February 15, 2023)

### Bug fixes

- Improve network recovery time when the SDK encounters a temporary connection
  issue. This is an experimental fix.

- Discard `UpdateVehicle` requests that only contain a "Raw" location.

- Fix race condition in the "Route Overview" ALPHA API.

## v4.4.1 (November 18, 2022)

### Bug fixes

- Fixed a bug in traffic upload logic.

### Additional changes

- Internal improvements in request headers and status code reporting.

## v4.4.0 (September 21, 2022)

### Bug fixes

- Fixed a bug that prevented the "Driving with Google Maps" notification from being removed if the API instance was not cleared.

### Dependency change

- Upgrade Navigation SDK dependency to v4.2.2.

## v4.3.0 (August 24, 2022)

Internal improvements.

## Announcement: Freezing support for Android 5 (July 21, 2022)

For our latest SDK version (v4.2.0), we are providing an additional year of
support for apps running on Android 5, for both API levels 21 and 22.

What this means:

- Navigation SDK and Driver SDK running on your Android apps will support a minimum Android 5 (API level 21) until June 30, 2023.
- After June 30, 2023, we will support only Android API levels 23 and above. In other words, we will stop supporting Android API levels 21 and 22 across all SDK versions after that date. This means that bugs related to Android 21 or 22 in any SDK version (including 4.x) won't be fixed, and we don't guarantee that the SDKs will behave correctly.

This notice overrides the Android 21 and 22 support freezing notice from June
21, 2021, and the Android 23, 24, and 25 support freezing from October 18, 2021.

## v4.2.0 (June 8, 2022)

### Dependency change

- Upgrade Nav SDK dependency to v4.1.3.
- Downgrades the minimum supported Android API level to 21.

## v4.1.0 (April 28, 2022)

### API updates

- Renamed the `Task` object''s `parentId` property to `trackingId`. The old
  property still exists for now but is deprecated.

## v4.0.0 (November 29, 2021)

The minimum supported Android API Level for this release is 23.

### API updates

For this release, the Driver SDK for Android has been updated with the following
changes.

#### VehicleStops API change

`VehicleStop` objects now reference a List of
[`TaskInfo`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/TaskInfo)
objects instead of a List of
[`Task`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/Task)
objects. If you need Task state, then you are encouraged to track it in your
application code.

- Added a new class: [`TaskInfo`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/TaskInfo)

- Replaced `VehicleStop`'s `getTasks` function with the [`getTaskInfoList`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/VehicleStop#public-abstract-immutablelisttaskinfo-gettaskinfolist)
  function.

- Replaced `VehicleStop.Builder`'s `setTasks` function with the
  [`setTaskInfoList`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/VehicleStop.Builder#public-abstract-vehiclestop.builder-settaskinfolist-listtaskinfo-taskinfolist)
  function.

#### Crash monitoring

Crash monitoring and reporting has been added to help improve SDK stability.
This feature is enabled by default, but you can disable it if you call
`setAbnormalTerminationReportingEnabled()` and pass it a value of `false` before
you initialize the SDK.

- Added the [`setAbnormalTerminationReportingEnabled`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/DriverApi#public-static-void-setabnormalterminationreportingenabled-boolean-enabled) function to `DriverApi`.

#### Async getRemainingVehicleStops

- Changed [`DeliveryVehicleReporter`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/delivery/vehiclereporter/DeliveryVehicleReporter)'s [`getRemainingVehicleStops`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/delivery/vehiclereporter/DeliveryVehicleReporter#public-futurelistvehiclestop-getremainingvehiclestops) function to return a Future\<List\<VehicleStop\>\> instead of a List\<VehicleStop\>.

#### Authentication

Removed unnecessary properties from the `AuthTokenContext` interface.
`ServiceType` has been deprecated. You now only need to get claims for the
included vehicle ID and task ID, rather than relying on `ServiceType`.

- Removed `ServiceType` from
  [`AuthTokenContext`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/AuthTokenContext).

- Removed `getServiceType()` from
  [`AuthTokenContext`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/AuthTokenContext).

- Removed `setServiceType` from
  [`AuthTokenContext.Builder`](https://developers.google.com/maps/documentation/transportation-logistics/last-mile-fleet-solution/reference/driver_4/android/reference/com/google/android/libraries/mapsplatform/transportation/driver/api/base/data/AuthTokenContext.Builder).

## October 18, 2021 - Freezing support for API Level 23, 24 and 25

> [!CAUTION]
> **Caution:** This announcement has been revoked. Please see an updated announcement on [July 21, 2022](https://developers.google.com/maps/documentation/mobility/services/resources/relnotes_driver_sdk_android.md.txt#announcement_july_21_2022).

#### Read October 18 announcement

In response to changes in our internal dependencies, Android API Level 23,
24, and 25 (Android 6, 7.0 and 7.1) won't be supported in new versions of
the Navigation and Driver SDKs for Android, beginning in the third quarter of
2022.

Navigation and Driver SDKs for Android versions released beginning in the third
quarter of 2022 will only support devices running a minimum of Android API
Level 26.

App versions built with v4.x or lower of the Navigation and Driver SDKs for
Android will continue to work on devices running Android API Level 25 and
below.

## v3.0.4 (July 28, 2021)

### Features

With this release, the Driver SDK is officially
separated from the Navigation SDK. See the
[migration guide](https://developers.google.com/maps/documentation/transportation-logistics/on-demand-rides-deliveries-solution/driver-sdk-android/driver_sdk_v3_migration_guide)
for details.

### API updates

Added the following methods:
\`RidesharingDriverApi.getDriverSdkVersion()\`

### Stability and bug fixes

Report `PERMISSION_DENIED` errors instead of classifying them as connection
errors.

## Deprecation announcement (June 21, 2021)

This announcement describes deprecations to the Driver SDK for Android
and Navigation SDK for Android as of the date listed above. This announcement
was also sent out as a Mandatory Service Announcement (MSA) to affected
customers.

### Nav/Driver SDK for Android will become Navigation SDK for Android v3.x and Driver SDK for Android v3.x for Android (split binaries)

To simplify customer integration and accelerate our ability to deliver useful
features, we're splitting Navigation SDK for Android and
Driver SDK for Android into two different binaries:

- Navigation SDK for Android, which will provide navigation/routing functionality for your drivers.
- Driver SDK for Android, which will allow you to leverage Fleet Engine stateful web services for trip or task progress and allocation.

Please note that Driver SDK for Android has a required dependency on
Navigation SDK for Android for core routing functions.

#### What are the changes?

The major changes in v3 are:

- Two binaries rather than one.
- Clearer package definitions for Driver SDK for Android classes.
- Navigation SDK for Android includes the Maps SDK for Android as part of the packaging (as of Navigation SDK for Android v2).
  - This enables maps and nav features to co-exist on the same map (such as drawing polylines on a NavigationView) and reduces memory usage since a single map is used instead of two.
  - Navigation SDK for Android 3.0 lacks full feature parity with the Navigation SDK for Android, but v3.2 will resolve most issues here. See [What can I do \& when?](https://developers.google.com/maps/documentation/mobility/services/resources/relnotes_driver_sdk_android.md.txt#whatcanido) for more details.
- Logging that will make it easier for us to debug issues you might encounter.

The following methods have also been removed in v3, having been previously
marked as deprecated and for which an alternative solution already exists:

- The following Nav/Driver SDK methods were deprecated in v1.16, released on Aug 10, 2020, and have been removed in v3.0:
  - `Waypoint#fromLatLng(*)`
  - `Waypoint#fromPlaceId(*)`
  - `Navigator#startGuidance(resumeIntent)`
  - `NavigationApi#initForegroundServiceManager(*)`
- For completeness and clarity, note that a number of methods were removed in the v1 to v2 transition. Most of these were consolidations of duplicate classes between Navigation SDK for Android and the Maps SDK for Android. Please see the [migration
  guide](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration) to better understand these changes.

### Driver SDK for Android and Navigation SDK for Android v1.x deprecation

Nav/Driver SDK v1 was released in 2018, and with our v3 versions soon to be
released, it's time to deprecate v1 to avoid the unsustainability of supporting
many major versions.

The time saved by not having to support this additional version will allow us to
better support the latest major version and build more features that are
important to our customers.

Thus, Nav/Driver SDK v1.x is now deprecated and will no longer be maintained
after June 21, 2022.

Please take a moment to see [how deprecations in SDK versions
work](https://developers.google.com/maps/deprecations#deprecation_in_sdk_versions).

### Navigation and Driver SDK Android 21 and 22 end of support

> [!CAUTION]
> **Caution:** This announcement has been revoked. Please see an updated announcement on [July 21, 2022](https://developers.google.com/maps/documentation/mobility/services/resources/relnotes_driver_sdk_android.md.txt#announcement_july_21_2022).

#### Read revoked announcement

The upcoming v4.0 of Navigation SDK for Android and
Driver SDK for Android will support a minimum \[Android 6.0 (API
level 23)\](https://developer.android.com/studio/releases/platforms#6.0){:
.external}. The current minimum supported version is Android 5.0 (API level
21). We forecast releasing v4.0 in Q4 2021. This means:

- App versions built with versions earlier than v4.x will continue to work on Android 21 and 22 devices. Your driver apps that have integrated our current SDKs will continue to work on devices running Android 21+. This is the same as before.
- App versions built with Driver SDK for Android and Navigation SDK for Android v4.x (targeted for Q4 2021, subject to change) and after won't be able to be installed on devices running Android 21 and 22. v4.x will run on minimum Android 6.0 (API level 23), so versions of your app built with an the forthcoming v4.x can only be received by drivers with devices that have Android 23+. To reiterate, this means that both our SDK-related changes and any app changes you've made won't reach drivers with devices running Android 21 and 22.

The versions of Navigation SDK for Android v3 and
Driver SDK for Android v3 that you will want to upgrade to are
explained in the following table along with when they'll be available.

| Which Driver platform features do you use? | Do you use [these capabilities](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration#important_differences)? | Then the first versions available that you should upgrade to are... | Expected Availability (subject to change) | Migration Links |
|---|---|---|---|---|
| Navigation only (NavSDK methods) | No | NavSDK v3.0.1 | [Now](https://developers.google.com/maps/documentation/navigation-sdk-android/v3) | [Guide](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration) |
| Navigation only (NavSDK methods) | Yes | NavSDK v3.5 (projected) | Sep 2021 | [Guide](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration) |
| Navigation and Fleet Engine Tracking (NavSDK and DriverSDK methods) | No | Nav SDK v3.0 and Driver SDK v3.0 | Sep 2021 | Driver v3.0 migration guide available at release |
| Navigation and Fleet Engine Tracking (NavSDK and DriverSDK methods) | Yes | NavSDK v3.x and DriverSDK v3.0 | Sep 2021 | Driver v3.0 migration guide available at release |

To continue using the removed methods, you may stay on v1.x, but without
expectation of support or maintenance after June 21, 2022 (see next
section).

We recommend you migrate to v3.x. This means:

\* The last release of v1.x will occur on Q4 2021 (and thus v1 is
"feature frozen" from then).

\* This last release can be patched for 6 months thereafter, until June 21, 2022.
After this time, we won't be able to respond to bug or feature requests for
v1.x.

Please take a moment to review the following table and the
\[migration guide\](/maps/documentation/navigation-sdk-android/v2/migration) in
order to help you navigate these changes.

#### What can I do by when?

| If you're currently on... | Do you use [these capabilities](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration#important_differences)? | To upgrade now | To upgrade in Sep 2021 | Migration Links |
|---|---|---|---|---|
| v1.x (**not** using FleetEngine.java / Driver functionality) | No | NavSDK v3.0 || [Guide](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration) |
| v1.x (**not** using FleetEngine.java / Driver functionality) | Yes | No option | NavSDK 3.x | [Guide](https://developers.google.com/maps/documentation/navigation-sdk-android/v2/migration) |
| v1.x (using FleetEngine.java / Driver functionality) | No | No option | NavSDK 3.x + DriverSDK 3.x | The guide above, plus the Driver v3.0 migration guide available at release. |
| v1.x (using FleetEngine.java / Driver functionality) | Yes | No option | NavSDK 3.x + DriverSDK 3.x | The guide above, plus the Driver v3.0 migration guide available at release. |

We'd recommend that you notify your drivers with devices on Android 21 and 22
to upgrade to a newer version of Android (minimum Android 6.0) before you
integrate Driver SDK for Android and
Navigation SDK for Android version v4.x and above into your driver app.

## v1.15.3 (October 9, 2020)

### API updates

- The Driver SDK now subscribes to the Navigation SDK for traffic updates, which are sent to the Fleet Engine API.

### Stability and bug fixes

- Fixed a gRPC runtime crash.

## v1.15.2

### Features

Added the ability to stop persistent notification. If location reporting is
stopped in the Fleet Engine instance, guidance is stopped in `Navigator`, all
navigation listeners are unregistered, and `NavigationFragment` or
`NavigationView` is paused.

### Stability and bug fixes

- Fixed a bug which caused an exception to be thrown if the Fleet Engine instance was cleared.

## v1.15.1 (May 12, 2020)

### Features

Preliminary analysis of 1.15.0 data indicated significant improvements in stable
location reporting (reduction of "stuck" locations). This patch fix allows the
improved location reporting to continue. The ANR issue was unrelated to these
improvements.

### Stability and bug fixes

- Fixed a bug which sometimes would cause a straight line at the beginning of the route to be shown in the consumer app.
- Fixed a bug which could result in an ANR when locations are being reported by the SDK. This resulted from `onArrival()` improvements that were susceptible to lock contention. We were able to reproduce ANRs reliably under some circumstances and were able to verify that the fixes solved the problem. The modified test app for producing the ANRs ran for eight hours without an ANR after the fix.

## v1.15.0 (March 23, 2019)

### Features

- Introduced navigation guidance status on start, off-route, arrival events to improve vehicle location tracking.
- Added the ability to continue getting road-snapped locations independent of the nav state.
- Added additional information about pre-road-snapped locations such as accuracy.

### Stability and Bug fixes

- Increased the minSdkVersion for navsdk to 19.
- Fixed a bug that caused lat/lng Waypoint names to not be honored when server-side reverse geocoding fails.

## v1.14.2 Release (Feb 2, 2019)

### Features

- Prevents the DriverSDK from sending 0,0 locations to Fleet Engine (better journey sharing and allocation location inputs).
- Additional logging for improving stuck location issues and reducing fallbacks for journey sharing.
- Ignore repeated calls to `setLocationReportingInterval()` unless the interval changes.
- Updated javadocs for the `setReportingInterval()` method with the objective of discouraging repeated calling of this method at a high rate relative to the intervals being used.
- Api 29 location reliability improved.

## v1.13.0

## Stability and bug fixes

- Adds a dependency on okhttp that clients will have to add to their gradle builds.

## v1.11.7 (October 18, 2019)

### Stability and bug fixes

- Location updates now continue after `onArrival()` fires for a given destination.
- The default notification (a constant string in Free Nav mode) matches the color scheme set for the navigation notifications. For more information, see [Shared Persistent Notifications](https://developers.google.com/maps/documentation/navigation-sdk-android/shared_notifications).
- Addressed an issue where a delayed location update event could cause a spurious location update, causing artifacts such as a straight line at the beginning of a route.

## v1.11.6 (October 04, 2019)

### API updates

- Introduced a series of changes that ensure that the Driver SDK resumes location updates quickly after a network failure. Once the network connection has been restored, location updates start again on the next scheduled location update.

### Stability and bug fixes

- [`setVehicleState()`](https://developers.google.com/maps/documentation/transportation-logistics/on-demand-rides-deliveries-solution/reference/driver/android/reference/com/google/android/libraries/navigation/FleetEngine#setVehicleState(com.google.android.libraries.navigation.FleetEngine.VehicleState)) now returns immediately. Updating FleetEngine now occurs on a background thread. Addresses an Application Not Responding (ANR) issue.
- Fixed an issue that was causing journey sharing routes to display as a straight line using older versions of the Consumer SDK. Ensures that no one-off waypoints are added to the route by the Driver SDK.