<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/nav-sdk-android-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/nav-sdk-android-release-notes.xml)

This page lists release notes for 2025 and 2026. For earlier releases, see the
[Navigation SDK for Android release notes
archive](https://developers.google.com/maps/documentation/navigation/android-sdk/release-notes-archive).

## Release versions

For **major releases** (for example, 6.0.0), expect a major feature or features,
additional smaller features and bug fixes, backwards incompatibility with the
previous version, and dependency upgrade requirements.

For **minor releases** (for example, 6.2.0), expect minor features and bug
fixes, backwards compatibility with the previous version, and minor version
upgrades of a dependency.

For **patch releases** (for example, 6.2.1), expect bug fixes, backwards
compatibility with the previous version, and patch upgrades of a dependency.

[Kotlin version compatibility and migration information are available here](https://developers.google.com/maps/documentation/navigation/android-sdk/kotlin-compatibility-migration).

To upgrade from version 7.x to 8.0.0 with an AI coding agent, use the [`migrating-navsdk-7x-to-8x-android` agent skill](https://github.com/googlemaps/agent-skills/tree/main/skills/google-maps-platform-utils/migrating-navsdk-7x-to-8x-android).

## Known issues

This section describes known issues in the Navigation SDK for Android. The
purpose of this section is to help you understand issues you may encounter, as
well as which versions are affected by particular issues.

| ID | Description | Impacted SDK versions | Workaround | Fixed SDK version |
|---|---|---|---|---|
| 493322202 | Crashes occur in the Android Runtime's low-level components on Android 12 and 12L (API levels 31 and 32). | 7.0.0 - 7.6.0 | None | 7.6.1 and later |
| 431225641 | Camera moves downwards on click events. | 6.1.0, 6.2.2 - 6.3.0 | None | 6.1.1, 6.3.1 and later |

## November 04, 2026

8.1.0 Deprecated Deprecated `CustomRoutesOptions` and the `Navigator.setDestinations()` methods that take a `CustomRoutesOptions` parameter. To keep using route tokens, call `Navigator.setDestinationsWithToken()` instead.
8.1.0 Feature Added automatic prefetching of map data along the route during active navigation. If the device loses its connection, the Navigation SDK can still reroute and display the map along the route. No code changes are required.
8.1.0 Feature Added `Navigator.setDestinationsWithToken()`, which lets apps that plan routes with the Routes API set destinations with only the route token. You no longer need to pass waypoints and a travel mode that match the token, so they can't get out of sync with your planned route. To confirm that the Navigation SDK used your planned route, call `RouteDescription.getRouteTokenExecutionDetails()` after the route loads. It reports whether the token was applied and which routing options took effect, such as the travel mode and toll avoidance. For more information, see [Plan a route](https://developers.google.com/maps/documentation/navigation/android-sdk/customize-route).
8.1.0 Fixed Fixed an issue where extra waypoint markers appeared along the route when the travel mode was set to `RoutingOptions.TravelMode.TAXI`.
8.1.0 Fixed Fixed an issue where [`GoogleMap.OnMyLocationClickListener`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationClickListener) wasn't called when users tapped the My Location dot.

## October 23, 2026

All versions Change When you use a route token, the Navigation SDK for Android now prioritizes the planned route at the start of a trip and during mid-trip reroutes. Routing options in the route token, such as travel mode and toll preferences, now take precedence over client-side settings. This change applies to all versions of the Navigation SDK for Android, so you don't need to update the SDK. For more information, see [How route tokens work](https://developers.google.com/maps/documentation/navigation/android-sdk/customize-route#how_route_tokens_work).

## October 01, 2026

8.0.0 Breaking Removed unused internal methods that were unintentionally exposed on the [`StylingOptions`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/StylingOptions) class. No changes are required unless your app directly referenced these internal methods.
8.0.0 Breaking Removed unused transitive dependencies from the Navigation SDK for Android to reduce app binary size by up to 4.8 MB. If your app directly relies on any of the following libraries without declaring them, add them to your `build.gradle` dependencies:

- `com.github.bumptech.glide:glide` and `com.github.bumptech.glide:okhttp3-integration`
- `org.jetbrains.kotlin:kotlin-reflect`
8.0.0 Breaking Because version 8.0.0 updates `targetSdk` to API level 37 (Android 17), Google Play enforces the Location Purpose Declaration requirement. When submitting apps that use the Navigation SDK for Android to Google Play, you must complete the Location Purpose Declaration in Google Play Console to prevent app disruptions:

Select **Navigation** to justify using persistent precise location (`ACCESS_FINE_LOCATION`) during turn-by-turn guidance.
If your app also uses precise location for non-navigation purposes, declare those additional use cases as well.
For step-by-step instructions and the full list of declaration use cases, see the [Google Play Console Location Declaration Guide](https://support.google.com/googleplay/android-developer/answer/17033915#play_console_declaration)..
8.0.0 Breaking Updated the minimum required Android Gradle plugin (AGP) version to 9.0.1 and Gradle version to 9.1.0. You must upgrade your project's AGP and Gradle versions to build with version 8.0.0. For more information, see the [Android Gradle plugin 9.0.0 release notes](https://developer.android.com/build/releases/agp-9-0-0-release-notes).
8.0.0 Breaking Added the [`Navigator.RouteStatus.ROUTING_TIMEOUT`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator.RouteStatus#ROUTING_TIMEOUT) route status error, which indicates that a route calculation request timed out on the routing backend. If your app handles all `Navigator.RouteStatus` values, update your error handling to include `ROUTING_TIMEOUT`.
8.0.0 Breaking Removed support for the terrain map type (`GoogleMap.MAP_TYPE_TERRAIN`) during navigation. If terrain mode is selected before starting navigation, the map defaults to normal mode (`GoogleMap.MAP_TYPE_NORMAL`) until navigation ends.
8.0.0 Breaking Removed bundled ProGuard keep rules for androidx.car.app. If you're using the experimental Android Auto projected mode feature, update androidx.car.app:app and androidx.car.app:app-projected to version 1.3.0 or higher so their consumer ProGuard rules are applied automatically during R8/ProGuard shrinking.
8.0.0 Breaking Removed the deprecated `showTrafficLights` and `showStopSigns` methods from [`DisplayOptions`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/DisplayOptions). Remove any calls to these methods to compile against version 8.0.0; traffic lights and stop signs are now permanently enabled during navigation.
8.0.0 Deprecated Deprecated the typeface path and text size methods in [`StylingOptions`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/StylingOptions). They will be removed in a future release. This includes the following methods and their corresponding getters:

- `headerInstructionsTypefacePath`
- `headerInstructionsFirstRowTextSize`
- `headerInstructionsSecondRowTextSize`
- `headerNextStepTypefacePath`
- `headerNextStepTextSize`
- `headerDistanceTypefacePath`
- `headerDistanceValueTextSize`
- `headerDistanceUnitsTextSize`
8.0.0 Deprecated Deprecated [`ListenableResultFuture`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/ListenableResultFuture) along with the [`Navigator.setDestination`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#setDestination(com.google.android.libraries.navigation.Waypoint,%20com.google.android.libraries.navigation.Navigator.RouteDescriptionLoadCallback)) and [`Navigator.setDestinations`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#setDestinations(java.util.List,%20com.google.android.libraries.navigation.Navigator.RouteDescriptionLoadCallback)) methods that return `ListenableResultFuture<RouteStatus>`. Use the callback-based overloads that take [`RouteDescriptionLoadCallback`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator.RouteDescriptionLoadCallback) instead.
8.0.0 Deprecated Deprecated the [`GoogleMap.followMyLocation(int, FollowMyLocationOptions)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMap#public-void-followmylocation-int-perspective,-followmylocationoptions-options) method and the [`FollowMyLocationOptions`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/model/FollowMyLocationOptions) class. They will be removed in a future release. The [`GoogleMap.followMyLocation(int)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMap#public-void-followmylocation-int-perspective) overload isn't affected.
8.0.0 Deprecated For Mobility Services customers, deprecated the `Waypoint` parameter in [`NavigationTransactionRecorder.pickup(Waypoint, List)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#pickup(com.google.android.libraries.navigation.Waypoint,%20java.util.List)) and [`dropoff(Waypoint, List)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#dropoff(com.google.android.libraries.navigation.Waypoint,%20java.util.List)). Use [`pickup(List)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#pickup(java.util.List)) and [`dropoff(List)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#dropoff(java.util.List)) instead. These deprecated methods will be removed in version 9.0.0.
8.0.0 Deprecated Deprecated [`SupportNavigationFragment`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/SupportNavigationFragment) in favor of [`NavigationFragment`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationFragment). `NavigationFragment` maintains full API parity and identical method signatures. To update your app, replace `SupportNavigationFragment` with `NavigationFragment` in your layout XML files and application code. For step-by-step instructions, see [Update to NavigationFragment](https://developers.google.com/maps/documentation/navigation/android-sdk/nav-map-interactions-best-practices#update-to-navigation-fragment).
8.0.0 Announcement Updated the SDK's `targetSdk` to API level 37 (Android 17) to ensure compatibility with Android 17 behavior changes. See [Meet Google Play's target API level requirement](https://developer.android.com/google/play/requirements/target-sdk).
8.0.0 Feature Added support for interactive off-route traffic incidents. When the traffic layer is enabled, users can tap off-route incidents on the map to view incident cards (enabled by default). You can enable or disable these cards using [`NavigationFragment.setTrafficIncidentCardsEnabled(boolean)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationFragment#setTrafficIncidentCardsEnabled(boolean)) or [`NavigationView.setTrafficIncidentCardsEnabled(boolean)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationView#setTrafficIncidentCardsEnabled(boolean)).
8.0.0 Change Updated [`NavigationApi.ErrorCode.NETWORK_ERROR`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationApi.ErrorCode#NETWORK_ERROR) to report transient network or timeout failures encountered during navigator access checks. Applications encountering this error can verify network connectivity and retry initialization. Additionally, optimized Terms of Service verification to avoid unnecessary network requests during SDK initialization.
8.0.0 Change Updated dependencies to the following versions for the 8.0.0 major release:

- `androidx.annotation:annotation:1.10.0`
- `androidx.customview:customview:1.2.0`
- `com.google.android.material:material:1.14.0`
- `androidx.datastore:datastore-core:1.2.1`
- `androidx.datastore:datastore-guava:1.2.1`
- `androidx.lifecycle:lifecycle-common-java8:2.10.0`
- `androidx.lifecycle:lifecycle-process:2.10.0`
- `androidx.mediarouter:mediarouter:1.8.1`
- `androidx.recyclerview:recyclerview:1.4.0`
- `androidx.tracing:tracing:1.3.0`
- `androidx.transition:transition:1.7.0`
- `androidx.viewpager2:viewpager2:1.1.0`
- `androidx.window:window:1.5.1`
- `com.google.android.datatransport:transport-api:4.1.1`
- `com.google.android.datatransport:transport-backend-cct:4.1.1`
- `com.google.android.datatransport:transport-runtime:4.1.1`
8.0.0 Change Removed the deprecated `onGpsAvailabilityUpdate(boolean)` method from the experimental [`RoadSnappedLocationProvider.GpsAvailabilityEnhancedLocationListener`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/RoadSnappedLocationProvider.GpsAvailabilityEnhancedLocationListener) interface. Update your listener implementations to use [`onGpsAvailabilityChange(GpsAvailabilityChangeEvent)`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/RoadSnappedLocationProvider.GpsAvailabilityEnhancedLocationListener#onGpsAvailabilityChange(com.google.android.libraries.navigation.GpsAvailabilityChangeEvent)) instead.
8.0.0 Change Reduced the SDK binary footprint and dependency overhead by removing unused internal media assets from the bundled `.aar`, saving \~40 KB of binary payload.

## August 17, 2026

7.9.0 Feature Added app check token support. You can now use [Firebase App Check](https://firebase.google.com/docs/app-check) to protect against malicious requests and enable enhanced real-time point disruptions capabilities. For more information, see [Use App Check to secure the Navigation SDK for Android](https://developers.google.com/maps/documentation/navigation/android-sdk/app-check).
7.9.0 Feature Added real-time road closure reporting during active navigation, with automated reroute updates that avoid blocked road segments. For more information, see [Disruption reporting during active navigation](https://developers.google.com/maps/documentation/navigation/android-sdk/real-time-disruptions#reporting-button).
7.9.0 Feature Automatic adoption of slower alternative routes. Updated guidance behavior to automatically adopt any known alternate route that the driver moves onto, regardless of the ETA difference. This resolves issues with unnecessary "Rerouting..." spinners and U-turn instructions when a driver intentionally selects a displayed slower alternate route. No code changes are required.
7.9.0 Feature Added the experimental Layout Customization API, which lets you customize
the navigation UI by supplying a `LayoutDelegate`.
For more information, see [Customize the navigation layout](https://developers.google.com/maps/documentation/navigation/android-sdk/customize-layout).
7.9.0 Feature Added a mid-trip voting prompt that asks drivers passing through marked road closures to report whether the road has reopened.
7.9.0 Feature Improved camera capabilities. Enhanced dynamic tilt and zoom across highways, urban areas, and varying road densities. The camera now anticipates upcoming turns and maneuvers using route data to deliver a seamless, fluid viewing experience.
7.9.0 Fixed Fixed an issue where the compass icon appeared misaligned and unresponsive on Android Auto when enabled after map initialization. The compass is now strictly disabled in Android Auto, as intended. For more information, see [`NavigationViewForAuto`](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationViewForAuto#public-navigationviewforauto-context-context,-attributeset-attrs,-int-defstyleattr,-googlemapoptions-googlemapoptions).
7.9.0 Fixed Fixed an issue where building with Android Gradle Plugin (AGP) 9.0.0 or higher failed due to a Cronet library namespace collision. Upgraded the Cronet fallback dependency to version 143.7445.0.

## July 16, 2026

7.8.0 Deprecated The existing integer-based [setAudioGuidance(@AudioGuidance int)](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#setAudioGuidance(int)) method and the [Navigator.AudioGuidance](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator.AudioGuidance) constants are deprecated in favor of the new [setAudioGuidanceSettings(AudioGuidanceSettings)](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#setAudioGuidanceSettings(com.google.android.libraries.navigation.AudioGuidanceSettings)) method. The new method uses a builder pattern to consolidate guidance mode, volume level, vibration, and Bluetooth audio settings.
7.8.0 Feature Added automatic frame rate adjustment during active navigation to improve performance and reduce battery consumption, particularly when the device enters power saving mode. For more information, see [Automatic frame rate adjustment](https://developers.google.com/maps/documentation/navigation/android-sdk/optimize-power#auto-fps).
7.8.0 Feature Updated core Navigation SDK for Android UI elements to ensure visual parity with the Google Maps mobile app. Updated elements include basemap day/night colors, turn card background, chevron color, and polylines (for both main and alternate routes).
7.8.0 Feature Added configurable voice guidance volume levels (Low, Normal, High) using the new [AudioGuidanceSettings](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/AudioGuidanceSettings) API. You can now customize guidance volume independently of other media streams. For more information, see [Configure audio guidance](https://developers.google.com/maps/documentation/navigation/android-sdk/route#configure_audio_guidance).
7.8.0 Fixed Fixed an issue that caused a crash during map initialization on the first launch after an app update that switched from the Maps SDK for Android to the Navigation SDK for Android.

## June 18, 2026

7.7.0 Deprecated Removed the unused `OfflineListener` class.
7.7.0 Change Optimized the underlying map styling data to improve load latency and reduce initial data payload. This optimization ensures a more efficient startup experience for apps.
7.7.0 Change Updated the minimum Kotlin version to 2.3.0. Our recommended Android Gradle Plugin (AGP) is now 8.13.2 and Gradle is now 8.13. The recommended version for `com.android.tools:desugar_jdk_libs_nio` is now 2.1.5.
For more information, see [Kotlin version compatibility and migration](https://developers.google.com/maps/documentation/navigation/android-sdk/kotlin-compatibility-migration).
7.7.0 Change Updated the default typeface for Turn and ETA cards from Roboto to Google Sans to align with Google Maps branding.
7.7.0 Change The Navigation SDK now uses Jetpack Datastore as on-device storage. Gradle automatically pulls the [androidx.datastore.datastore-core](https://mvnrepository.com/artifact/androidx.datastore) and [androidx.datastore.datastore-guava](https://mvnrepository.com/artifact/androidx.datastore/datastore-guava) dependencies from the POM file. If you use a different system to build your app, you must add these dependencies manually.
7.7.0 Change Added the `guava:listenablefuture` and `androidx:concurrent-futures` provided dependencies.
7.7.0 Fixed Fixed an issue that caused an ANR during map initialization when fetching map tiles.
7.7.0 Fixed Fixed an issue that caused an ANR when the camera perspective changed too rapidly.
7.7.0 Fixed Fixed an issue that caused system-level crashes on some Android 12 device models by removing the `it.unimi.dsi:fastutil` build dependency and bundling it within the AAR file.
7.7.0 Fixed Fixed an issue where the chevron would become stuck pointing north during walking navigation.

## May 13, 2026

7.6.1 Fixed Removed the build dependency on it.unimi.dsi:fastutil and bundled it with the AAR file instead. This addresses a system-level crash that occurred on some Android 12 device models due to a call to a fastutil method.
7.6.1 Fixed Fixed an issue that under certain circumstances the Map initialization would cause an ANR when fetching map tiles.
7.6.1 Fixed Fixed an issue that caused an ANR when the camera perspective changed too rapidly.

## April 13, 2026

7.6.0 Feature Reduced consumer APK sizes by updating R8 keep rules to remove broad exclusions of the internal Navigation SDK surface. This change enables more effective code shrinking and obfuscation.
7.6.0 Feature Added the `NavigationApi.setApiKey()` method to enable dynamic API key configuration at runtime. This method provides a programmatic alternative to specifying the API key in the AndroidManifest.xml file. Call this method before initializing the Navigation SDK. For more information, see [Add the API key to your app](https://developers.google.com/maps/documentation/navigation/android-sdk/android-studio-setup#add_the_api_key_to_your_app).

## March 16, 2026

7.5.0 Feature Improved arrival triggering for more accurate detection and a more consistent experience when reaching a destination.
7.5.0 Change Updated the desugaring configuration to require `desugar_jdk_libs_nio`.
7.5.0 Change Reduced the startup latency of the Navigation SDK.
7.5.0 Fixed Fixed the issue that could trigger the `IllegalArgumentException: Service not registered` error under certain conditions.
7.5.0 Fixed Fixed a bug where disputed borders were not displaying correctly in certain countries.
7.5.0 Fixed Fixed a bug where a traffic incident card changed the position of other UI elements instead of being displayed on top of them as a modal UI element.
7.5.0 Fixed Fixed a bug where the recenter button isn't dismissed and the camera doesn't zoom in to the current location after arrival.

## February 13, 2026

7.4.0 Feature Added support for providing enhanced location context. When calling the [Waypoint API](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Waypoint), provide enhanced location context by specifying both a Place ID and latitude/longitude coordinates, or by using the `navigationPointToken` field. This context improves routing accuracy and the arrival experience, especially for large locations with multiple entrances or specific navigation points.
7.4.0 Fixed Fixed a memory leak in NavigationView caused by an internal listener not being properly unregistered.
7.4.0 Fixed Fixed a crash on Android 10-12 devices caused by an incompatible URL encoding method.
7.4.0 Fixed Improved voice guidance playback event sequencing to prevent overlapping instructions.
7.4.0 Fixed Fixed a memory leak by ensuring background executors are correctly cleaned up.

## December 23, 2025

7.3.0 Change Updated the minimum Kotlin version to 2.2.10. Our recommended Android Gradle Plugin (AGP) is now 8.10.0 and Gradle is now 8.11.1.

For more information, see [Kotlin version compatibility and migration](https://developers.google.com/maps/documentation/navigation/android-sdk/kotlin-compatibility-migration).
7.3.0 Change Reduced visual noise during navigation by limiting the display of identical road labels and shields to three per viewport.
7.3.0 Fixed [setAudioGuidance](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator.AudioGuidance) can now be called at any point before navigation has started, as well as during active navigation.

## November 24, 2025

7.2.0 Announcement [Real-time disruption](https://developers.google.com/maps/documentation/navigation/android-sdk/real-time-disruptions) features are now in general availability (GA)
[generally available](https://developers.google.com/maps/launch-stages#ga).
7.2.0 Feature 3D buildings (polygons with height) now appear during turn-by-turn navigation, where available. You can toggle this feature by using the [GoogleMap.setBuildingsEnabled()](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMap#public-void-setbuildingsenabled-boolean-enabled) method, which is set to true by default.
7.2.0 Feature Railroad crossing callouts now appear on navigation routes in the USA and Canada.
7.2.0 Feature In `DRIVING` mode, narrow roads callouts now appear on navigation routes, where available.
7.2.0 Feature In `DRIVING` mode, unpaved road callouts now appear on navigation routes in the USA, Canada, and Sweden.
7.2.0 Feature Road labeling during turn-by-turn navigation now uses the current route as context to declutter the map by automatically removing road labels for low-priority roads that do not intersect with the route. This feature is on by default.

> [!NOTE]
> **Note:** This feature is only available when no Map ID is used for styling.

7.2.0 Change Added a new dependency on Jetpack Datastore. This change is handled by the Navigation SDK and doesn't require any action by developers or changes to apps that use the SDK, except in cases where an app is already using a non-compatible version of the library.
7.2.0 Change The height of the Trip Progress Bar now adjusts dynamically to prevent overlap with other elements on the screen.The element disappears when its height falls below a minimum threshold and doesn't expand beyond a maximum threshold.
7.2.0 Fixed Fixed an issue that could cause the report incident button to not expand when navigation is started.

## October 22, 2025

6.3.3 Fixed Fixed an ANR caused by a deadlock when triggering camera animations.
6.3.3 Fixed Fixed a NoSuchElementException crash that occurred during navigation.

## October 16, 2025

6.3.2 Deprecated The onGpsAvailabilityUpdate callback in the experimental GpsAvailabilityEnhancedLocationListener is now deprecated. Use onGpsAvailabilityChange instead.
6.3.2 Fixed Improved terms of service processing to prevent timeouts leading to invalid TERMS_NOT_ACCEPTED errors.
6.3.2 Fixed Fixed an issue that resulted in ANR errors.
6.3.2 Fixed Added a new callback, onGpsAvailabilityChange, to the experimental GpsAvailabilityEnhancedLocationListener, which provides changes to the internal GPS state. See [GpsAvailabilityChangeEvent](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/GpsAvailabilityChangeEvent) for more details.
6.3.2 Fixed Improved terms of service initialization to prevent ANR errors during NavSDK initialization.

## October 14, 2025

7.1.0 Fixed Fixed an issue caused by a deadlock when `Navigator.stopGuidance()` was called that resulted in ANR errors.
7.1.0 Fixed Fixed an issue that resulted in ANR errors.
7.1.0 Fixed Improve performance around the `NavigationApi.areTermsAccepted()` API that was leading to ANR's on certain cases.

## October 13, 2025

Feature Navigation voice guidance now references stop signs when describing upcoming
maneuvers in the US, Japan, and Sweden.

## September 24, 2025

7.0.0 Breaking Removed the `navigator.fetchRouteInfo()` and com.google.android.libraries.navigation.RouteInfo APIs, as announced in the v6.0 release.
7.0.0 Breaking Added `javax.annotation.Nullable` and androidx.annotation.Nullable annotations, which provide instructions for properly handling null pointers to avoid exceptions. For Java, these annotations are suggestions and do not require code changes if already handling potential null values. For Kotlin, you must properly use nullable types.
7.0.0 Breaking NavSDK API calls now throw specific NavSDK exceptions when invalid calls are made, replacing the previous general Maps API exceptions. This change can cause compilation errors if your app directly references Maps API exceptions. The new NavSDK exceptions still inherit from their corresponding Java Runtime exceptions.
7.0.0 Breaking Updated setDestinations to return a DUPLICATE_WAYPOINTS_ERROR error if consecutive duplicate waypoints are set.
7.0.0 Deprecated The DisplayOptions showTrafficLights and showStopSigns APIs are now deprecated and now default to true. These APis will be removed in the next major SDK release (8.0).
7.0.0 Announcement The targetSdk is now API level 36. This will be a requirement for all apps that deploy to Google Play Store as of August 2025. See [Meet Google Play's target API level requirement](https://developer.android.com/google/play/requirements/target-sdk).
7.0.0 Announcement Updated the minimum supported Android API Level from 23 to 24.
7.0.0 Announcement Removed library desugaring from Navigation SDK. You must update your app to use `com.android.tools:desugar_jdk_libs_nio:2.0.3` for desugaring. We also recommend that you upgrade to Gradle 8.11.1 and the Android Gradle plugin version 8.10.0. For more information, see [Set up your Android Studio project](https://developers.google.com/maps/documentation/navigation/android-sdk/android-studio-setup#update_the_gradle_build_script) or the [Navigation SDK sample app](https://github.com/googlemaps-samples/android-navigation-samples/blob/main/navigation-sample/app/build.gradle) on GitHub.
7.0.0 Announcement 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 7.0 and 7.1 (API level 24 and 25) in upcoming major versions of Navigation SDK for Android.
7.0.0 Feature Added road closure callouts to alternate routes, in addition to the callouts on the current route.
7.0.0 Feature You can now use Cloud-based maps styling to style both the navigation map and the road map by creating reusable styles associated with Map IDs.
7.0.0 Change Updated the style and positioning of the compass in the navigation map
7.0.0 Change Removed the count of the number of users who have reported an incident from the incident callout.
7.0.0 Change Added a new dependency on the fastutil library. This change is handled by the Navigation SDK and doesn't require any action by developers or changes to apps that use the SDK, except in cases where an app is already using a non-compatible version of the library.
7.0.0 Change Added a proximity check for user-initiated voting during active navigation. To enhance map data quality, the Navigation SDK now checks whether a user-initiated vote on a real-time disruption was initiated near the incident.
7.0.0 Change Updated road closures to display regardless of whether traffic prompts are enabled.
7.0.0 Fixed Fixed an issue with calls to getCurrentRouteSegment() that could cause incorrect waypoint values in the returned RouteSegment destinationWaypoint.
7.0.0 Fixed Fix an issue in which the limit reached popup for reported incidents would not display until the next map initialization.

## July 28, 2025

6.3.1 Fixed Fixed an issue that could cause the app to crash due to a NullPointerException when NavigationView.setTrafficPromptsEnabled is called.
6.3.1 Fixed Fixed an issue that caused the camera to jump down when a user tapped or held on the screen while the camera was following the chevron. The camera now pauses and continues following the chevron when the user lifts their finger. If the user taps and drags, the camera will stop following the chevron.
6.3.1 Fixed Fixed an issue that resulted in an ANR when starting guidance.
6.3.1 Fixed Fixed an issue that could cause the app to crash due to a NullPointerException when NavigationView.setTrafficIncidentCardsEnabled is called.
6.3.1 Fixed Fixed an issue that could cause the app to crash due to an uncaught ArithmeticException when the trip progress bar is displayed.
6.3.1 Fixed Fixed an issue that could cause the app to crash when the NavigationService is restarted in the background after a previous crash.
6.3.1 Fixed Fixed an issue that resulted in an ANR when the navigator is initializing in the main thread.

## June 25, 2025

6.3.0 Feature Added route-relevant orientation landmark POIs. Landmark POIs, featuring visibly prominent chains, are now displayed by default along routes and near key intersections where maneuvers are required. These pins appear in both the route overview and during active navigation. This feature is on by default.
6.3.0 Feature Added the `isIncidentReportingAvailable` and `showReportIncidentsPanel` APIs to `NavigationView` and `SupportNavigationFragment`. These methods allow you to:
Check if incident reporting is available for the current navigation context.
Display the incident reporting panel programmatically, enabling you to implement custom incident reporting buttons.

For more information, see [Add a custom reporting button](https://developers.google.com/maps/documentation/navigation/android-sdk/real-time-disruptions#custom-reporting-button).
6.3.0 Feature Destination and entrance highlighting.

Added visual highlighting to destination buildings created with a [placeID](https://developers.google.com/maps/documentation/places/android-sdk/place-id) to aid users in distinguishing and navigating to their intended destination. For more information, see [Destination highlighting and entrances](https://developers.google.com/maps/documentation/navigation/android-sdk/controls#destination_highlighting_and_entrances).
6.3.0 Fixed The Navigation SDK no longer intermittently causes application crashes (ANR: Input dispatching timed out) and deadlocks on various Android devices. [See the public bug](https://issuetracker.google.com/issues/411471665).
6.3.0 Fixed Fixed visible incident cards not being dismissed after setTrafficIncidentCardsEnabled is disabled
6.3.0 Fixed Fixed an issue in landscape where turn card width was determined based on device screen size rather than the actual size of the map container, which caused problems in landscape mode in certain cases where the map container was not full width.
6.3.0 Fixed Fixed visible prompts not being dismissed after setTrafficPromptsEnabled is disabled
6.3.0 Fixed Updated the Trip Progress Bar position to better align with other Navigation UI elements.
6.3.0 Change Updated the Gradle project configuration validation. Starting with this SDK version, Gradle will checks the following project configurations:

- `Android Gradle Plugin minimum version`

- `Desugar library enablement`

- `Desugar library minimum version`

If your implementation does not meet the minimum requirements, Gradle will return a compiler error starting with " An issue was found when checking AAR metadata: ...". Any future changes to the requirements for these configurations will be included in the Navigation SDK release notes.
6.3.0 Change Added the ability to control the visibility of real-time disruption callouts using the setTrafficPromptsEnabled API. For more information, see [Interactive disruption callouts along routes](https://developers.google.com/maps/documentation/navigation/android-sdk/real-time-disruptions#disruption-callouts)

## June 20, 2025

6.2.3 Fixed Fixed an issue that prevented marker info windows from showing up when programmatically requested shortly after marker creation.
6.2.3 Fixed Fixed ForegroundServiceDidNotStartInTimeException for Android S+ devices when the Navigation Service couldn't start due to incorrect dependency injection setup.
6.2.3 Fixed Fixed a race condition that occurred when polygons were simultaneously updated and added to the map.
6.2.3 Fixed Fixed a NullPointerException that could occur due to a race condition when retrieving map styles for route callouts.
6.2.3 Fixed Fixed an Application Not Responding (ANR) error caused by a deadlock occurring when navigation was stopped.

## May 07, 2025

6.2.2 Fixed Fixed an issue that added extra padding to prompt layouts.

## April 25, 2025

6.2.1 Change Moved the Report Incident button 4 dp toward the edge of the map to better match other navigation UI elements.
6.2.1 Change Updated the size and position of the trip progress bar to provide an optimal experience for a larger range of devices.
6.2.1 Fixed Fixed an issue that caused polylines to reappear after destinations had been cleared.
6.2.1 Fixed Updated traffic prompts to no longer incorporate map padding.To prevent collisions with prompts and UI elements outside of Nav SDK, adjust affected elements using a PromptVisibilityListener.
6.2.1 Fixed Fixed an issue that caused the Report Incident panel to appear in Android Auto projections.

## April 01, 2025

6.2.0 Feature Added the Prompt Visibility API, helps you avoid conflicts between UI elements generated by the Navigation SDK and your own custom UI elements.

For more information see [Prompt Visibility API (Experimental)](https://developers.google.com/maps/documentation/navigation/android-sdk/real-time-disruptions#prompt-visibility-api).
6.2.0 Feature Updated the default [turn card header and footer designs](https://developers.google.com/maps/documentation/navigation/android-sdk/controls#modify_the_navigation_header) to match the turn cards in the Google Maps app. Turn card height now adjusts dynamically to adapt to the text displayed in the card. You may want to update any existing custom headers to better match the new turn card style.
6.2.0 Feature Added configurable real-time disruptions features, which alert users about disruptions along their route and allow users to report and verify disruptions that they encounter.

For more information, see [Configure real-time-disruptions](https://developers.google.com/maps/documentation/navigation/android-sdk/real-time-disruptions).
6.2.0 Change Updated the minimum Kotlin version to 2.1.

For more information, see [Kotlin version compatibility and migration](https://developers.google.com/maps/documentation/navigation/android-sdk/kotlin-compatibility-migration).
6.2.0 Fixed Fixed a crash that was occurring after capturing a snapshot.
6.2.0 Change Disabled the [Trip progress bar](https://developers.google.com/maps/documentation/navigation/android-sdk/controls#trip-progress-bar) for Android Auto.
6.2.0 Change Moved the [Trip progress bar](https://developers.google.com/maps/documentation/navigation/android-sdk/controls#trip-progress-bar) to the start side (left side in LTR) of the screen.
6.2.0 Fixed Fixed a bug in landscape where the camera viewport was incorrectly adjusted while a prompt was being displayed.
6.2.0 Fixed Fixed a bug that caused the Trip progress bar to be rendered incorrectly on tablets.

## February 11, 2025

6.1.0 Fixed Fix an issue that would cause apps that implement the Navigation SDK to crash and throw IncompatibleClassChangeError and ClassCastException errors.
6.1.0 Feature Updated the map to include Road Level Details in select metropolitan areas worldwide. New details include crosswalks, sidewalks, and road lane markings. The areas where these elements are visible may vary over time.

## February 04, 2025

6.0.2 Fixed Fixed an issue that could result in Java type check errors at runtime.
All versions Feature Navigation voice guidance now references traffic lights when describing upcoming maneuvers in US, CA, FR, NO and JP.

## January 21, 2025

6.0.1 Breaking The SDK now throws a ForegroundExpectedException from ForegroundServiceManager.startForeground(), instead of a RuntimeException, when the service can't be started in Foreground. This ForegroundExpectedException can be caught by apps that implement the SDK when ForegroundServiceManager.startForeground() is used.
6.0.1 Feature Updated the setCustomControl method to add support for a footer position. This fixes the issue of positioning custom control in relation to the ETA card.

For more information, see [CustomControlPosition.FOOTER](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/CustomControlPosition.html#enum-values).
6.0.1 Fixed Fixed an issue that would cause apps that implement the Navigation SDK to crash and throw a java.lang.IllegalStateException on the MediaPlayer.getDuration() method.
6.0.1 Change Enabled enforcement of the targetSdk increase to API level 34. This breaking change was announced in 6.0.0.
6.0.1 Fixed Updated the position of the compass in landscape mode. The compass now aligns with the top of the map, instead of the bottom of the header, in order to better accommodate the half-width header.
6.0.1 Fixed Fixed an issue that resulted in ANR errors while switching from Navigation to Map UI.
6.0.1 Fixed Fixed a race condition that was causing native crashes in certain situations for apps that use the Navigation SDK.
6.0.1 Fixed Updated the default camera bounds in landscape mode. Camera bounds are now centered in the end half (right half in left-to-right layouts) of the screen to provide more space around the chevron.
6.0.1 Fixed Fixed an issue that resulted in an ANR error while inflating the SupportMapFragment.
6.0.1 Fixed Improved concurrency management within the SDK to address potential ANR errors caused by accessing artifacts from different threads.
6.0.1 Fixed Re-enabled default jetification so that it no longer needs to be manually enabled in your project-level gradle.properties file.

This fixes an issue that would cause apps that implement the Navigation SDK to crash and throw a `NoClassDefFound` error.

For release notes from 2024 and earlier, see the
[Navigation SDK for Android release notes
archive](https://developers.google.com/maps/documentation/navigation/android-sdk/release-notes-archive).