Page Summary
-
The Navigation SDK for Android has undergone various updates, focusing on stability, performance, and compatibility.
-
Updates address issues like crashes, ANRs, memory leaks, UI inconsistencies, and Android version compatibility.
-
Major releases introduced or updated features including custom controls, camera bounds, route handling, traffic management, and Android system requirements.
-
Support for older Android versions and certain APIs/methods have been frozen or deprecated in recent releases.
-
Developers should review individual release notes to ensure their apps remain compatible and leverage new features.
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.
To subscribe to these release notes, add the feed URL of this page to your RSS feed
reader.
This page lists release notes for 2025 and 2026. For earlier releases, see the Navigation SDK for Android 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.
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.
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
Deprecated CustomRoutesOptions and the Navigator.setDestinations() methods that take a CustomRoutesOptions parameter. To keep using route tokens, call Navigator.setDestinationsWithToken() instead.
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.
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.
Fixed an issue where extra waypoint markers appeared along the route when the travel mode was set to RoutingOptions.TravelMode.TAXI.
Fixed an issue where GoogleMap.OnMyLocationClickListener wasn't called when users tapped the My Location dot.
October 23, 2026
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.
October 01, 2026
Removed unused internal methods that were unintentionally exposed on the StylingOptions class. No changes are required unless your app directly referenced these internal methods.
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:glideandcom.github.bumptech.glide:okhttp3-integrationorg.jetbrains.kotlin:kotlin-reflect
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..
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.
Added the 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.
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.
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.
Removed the deprecated showTrafficLights and showStopSigns methods from 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.
Deprecated the typeface path and text size methods in StylingOptions. They will be removed in a future release. This includes the following methods and their corresponding getters:
headerInstructionsTypefacePathheaderInstructionsFirstRowTextSizeheaderInstructionsSecondRowTextSizeheaderNextStepTypefacePathheaderNextStepTextSizeheaderDistanceTypefacePathheaderDistanceValueTextSizeheaderDistanceUnitsTextSize
Deprecated ListenableResultFuture along with the Navigator.setDestination and Navigator.setDestinations methods that return ListenableResultFuture<RouteStatus>. Use the callback-based overloads that take RouteDescriptionLoadCallback instead.
Deprecated the GoogleMap.followMyLocation(int, FollowMyLocationOptions) method and the FollowMyLocationOptions class. They will be removed in a future release. The GoogleMap.followMyLocation(int) overload isn't affected.
For Mobility Services customers, deprecated the Waypoint parameter in NavigationTransactionRecorder.pickup(Waypoint, List) and dropoff(Waypoint, List). Use pickup(List) and dropoff(List) instead. These deprecated methods will be removed in version 9.0.0.
Deprecated SupportNavigationFragment in favor of 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.
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.
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) or NavigationView.setTrafficIncidentCardsEnabled(boolean).
Updated 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.
Updated dependencies to the following versions for the 8.0.0 major release:
androidx.annotation:annotation:1.10.0androidx.customview:customview:1.2.0com.google.android.material:material:1.14.0androidx.datastore:datastore-core:1.2.1androidx.datastore:datastore-guava:1.2.1androidx.lifecycle:lifecycle-common-java8:2.10.0androidx.lifecycle:lifecycle-process:2.10.0androidx.mediarouter:mediarouter:1.8.1androidx.recyclerview:recyclerview:1.4.0androidx.tracing:tracing:1.3.0androidx.transition:transition:1.7.0androidx.viewpager2:viewpager2:1.1.0androidx.window:window:1.5.1com.google.android.datatransport:transport-api:4.1.1com.google.android.datatransport:transport-backend-cct:4.1.1com.google.android.datatransport:transport-runtime:4.1.1
Removed the deprecated onGpsAvailabilityUpdate(boolean) method from the experimental RoadSnappedLocationProvider.GpsAvailabilityEnhancedLocationListener interface. Update your listener implementations to use onGpsAvailabilityChange(GpsAvailabilityChangeEvent) instead.
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
Added app check token support. You can now use Firebase 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.
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.
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.
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.
Added a mid-trip voting prompt that asks drivers passing through marked road closures to report whether the road has reopened.
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.
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.
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
The existing integer-based setAudioGuidance(@AudioGuidance int) method and the Navigator.AudioGuidance constants are deprecated in favor of the new setAudioGuidanceSettings(AudioGuidanceSettings) method. The new method uses a builder pattern to consolidate guidance mode, volume level, vibration, and Bluetooth audio settings.
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.
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).
Added configurable voice guidance volume levels (Low, Normal, High) using the new AudioGuidanceSettings API. You can now customize guidance volume independently of other media streams. For more information, see Configure audio guidance.
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
Removed the unused OfflineListener class.
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.
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.
Updated the default typeface for Turn and ETA cards from Roboto to Google Sans to align with Google Maps branding.
The Navigation SDK now uses Jetpack Datastore as on-device storage. Gradle automatically pulls the androidx.datastore.datastore-core and 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.
Added the guava:listenablefuture and androidx:concurrent-futures provided dependencies.
Fixed an issue that caused an ANR during map initialization when fetching map tiles.
Fixed an issue that caused an ANR when the camera perspective changed too rapidly.
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.
Fixed an issue where the chevron would become stuck pointing north during walking navigation.
May 13, 2026
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.
Fixed an issue that under certain circumstances the Map initialization would cause an ANR when fetching map tiles.
Fixed an issue that caused an ANR when the camera perspective changed too rapidly.
April 13, 2026
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.
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.
March 16, 2026
Improved arrival triggering for more accurate detection and a more consistent experience when reaching a destination.
Updated the desugaring configuration to require desugar_jdk_libs_nio.
Reduced the startup latency of the Navigation SDK.
Fixed the issue that could trigger the IllegalArgumentException: Service not registered error under certain conditions.
Fixed a bug where disputed borders were not displaying correctly in certain countries.
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.
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
Added support for providing enhanced location context. When calling the Waypoint API, 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.
Fixed a memory leak in NavigationView caused by an internal listener not being properly unregistered.
Fixed a crash on Android 10-12 devices caused by an incompatible URL encoding method.
Improved voice guidance playback event sequencing to prevent overlapping instructions.
Fixed a memory leak by ensuring background executors are correctly cleaned up.
December 23, 2025
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.
Reduced visual noise during navigation by limiting the display of identical road labels and shields to three per viewport.
setAudioGuidance can now be called at any point before navigation has started, as well as during active navigation.
November 24, 2025
Real-time disruption features are now in general availability (GA) generally available.
3D buildings (polygons with height) now appear during turn-by-turn navigation, where available. You can toggle this feature by using the GoogleMap.setBuildingsEnabled() method, which is set to true by default.
Railroad crossing callouts now appear on navigation routes in the USA and Canada.
In DRIVING mode, narrow roads callouts now appear on navigation routes, where available.
In DRIVING mode, unpaved road callouts now appear on navigation routes in the USA, Canada, and Sweden.
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.
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.
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.
Fixed an issue that could cause the report incident button to not expand when navigation is started.
October 22, 2025
Fixed an ANR caused by a deadlock when triggering camera animations.
Fixed a NoSuchElementException crash that occurred during navigation.
October 16, 2025
The onGpsAvailabilityUpdate callback in the experimental GpsAvailabilityEnhancedLocationListener is now deprecated. Use onGpsAvailabilityChange instead.
Improved terms of service processing to prevent timeouts leading to invalid TERMS_NOT_ACCEPTED errors.
Fixed an issue that resulted in ANR errors.
Added a new callback, onGpsAvailabilityChange, to the experimental GpsAvailabilityEnhancedLocationListener, which provides changes to the internal GPS state. See GpsAvailabilityChangeEvent for more details.
Improved terms of service initialization to prevent ANR errors during NavSDK initialization.
October 14, 2025
Fixed an issue caused by a deadlock when Navigator.stopGuidance() was called that resulted in ANR errors.
Fixed an issue that resulted in ANR errors.
Improve performance around the NavigationApi.areTermsAccepted() API that was leading to ANR's on certain cases.
October 13, 2025
Navigation voice guidance now references stop signs when describing upcoming maneuvers in the US, Japan, and Sweden.
September 24, 2025
Removed the navigator.fetchRouteInfo() and com.google.android.libraries.navigation.RouteInfo APIs, as announced in the v6.0 release.
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.
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.
Updated setDestinations to return a DUPLICATE_WAYPOINTS_ERROR error if consecutive duplicate waypoints are set.
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).
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.
Updated the minimum supported Android API Level from 23 to 24.
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 or the Navigation SDK sample app on GitHub.
In accordance with the 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.
Added road closure callouts to alternate routes, in addition to the callouts on the current route.
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.
Updated the style and positioning of the compass in the navigation map
Removed the count of the number of users who have reported an incident from the incident callout.
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.
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.
Updated road closures to display regardless of whether traffic prompts are enabled.
Fixed an issue with calls to getCurrentRouteSegment() that could cause incorrect waypoint values in the returned RouteSegment destinationWaypoint.
Fix an issue in which the limit reached popup for reported incidents would not display until the next map initialization.
July 28, 2025
Fixed an issue that could cause the app to crash due to a NullPointerException when NavigationView.setTrafficPromptsEnabled is called.
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.
Fixed an issue that resulted in an ANR when starting guidance.
Fixed an issue that could cause the app to crash due to a NullPointerException when NavigationView.setTrafficIncidentCardsEnabled is called.
Fixed an issue that could cause the app to crash due to an uncaught ArithmeticException when the trip progress bar is displayed.
Fixed an issue that could cause the app to crash when the NavigationService is restarted in the background after a previous crash.
Fixed an issue that resulted in an ANR when the navigator is initializing in the main thread.
June 25, 2025
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.
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.
Destination and entrance highlighting.
Added visual highlighting to destination buildings created with a placeID to aid users in distinguishing and navigating to their intended destination. For more information, see Destination highlighting and entrances.
The Navigation SDK no longer intermittently causes application crashes (ANR: Input dispatching timed out) and deadlocks on various Android devices. See the public bug.
Fixed visible incident cards not being dismissed after setTrafficIncidentCardsEnabled is disabled
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.
Fixed visible prompts not being dismissed after setTrafficPromptsEnabled is disabled
Updated the Trip Progress Bar position to better align with other Navigation UI elements.
Updated the Gradle project configuration validation. Starting with this SDK version, Gradle will checks the following project configurations:
Android Gradle Plugin minimum versionDesugar library enablementDesugar 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.
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
June 20, 2025
Fixed an issue that prevented marker info windows from showing up when programmatically requested shortly after marker creation.
Fixed ForegroundServiceDidNotStartInTimeException for Android S+ devices when the Navigation Service couldn't start due to incorrect dependency injection setup.
Fixed a race condition that occurred when polygons were simultaneously updated and added to the map.
Fixed a NullPointerException that could occur due to a race condition when retrieving map styles for route callouts.
Fixed an Application Not Responding (ANR) error caused by a deadlock occurring when navigation was stopped.
May 07, 2025
Fixed an issue that added extra padding to prompt layouts.
April 25, 2025
Moved the Report Incident button 4 dp toward the edge of the map to better match other navigation UI elements.
Updated the size and position of the trip progress bar to provide an optimal experience for a larger range of devices.
Fixed an issue that caused polylines to reappear after destinations had been cleared.
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.
Fixed an issue that caused the Report Incident panel to appear in Android Auto projections.
April 01, 2025
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).
Updated the default turn card header and footer designs 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.
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.
Updated the minimum Kotlin version to 2.1.
For more information, see Kotlin version compatibility and migration.
Fixed a crash that was occurring after capturing a snapshot.
Disabled the Trip progress bar for Android Auto.
Moved the Trip progress bar to the start side (left side in LTR) of the screen.
Fixed a bug in landscape where the camera viewport was incorrectly adjusted while a prompt was being displayed.
Fixed a bug that caused the Trip progress bar to be rendered incorrectly on tablets.
February 11, 2025
Fix an issue that would cause apps that implement the Navigation SDK to crash and throw IncompatibleClassChangeError and ClassCastException errors.
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
Fixed an issue that could result in Java type check errors at runtime.
Navigation voice guidance now references traffic lights when describing upcoming maneuvers in US, CA, FR, NO and JP.
January 21, 2025
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.
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.
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.
Enabled enforcement of the targetSdk increase to API level 34. This breaking change was announced in 6.0.0.
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.
Fixed an issue that resulted in ANR errors while switching from Navigation to Map UI.
Fixed a race condition that was causing native crashes in certain situations for apps that use the Navigation SDK.
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.
Fixed an issue that resulted in an ANR error while inflating the SupportMapFragment.
Improved concurrency management within the SDK to address potential ANR errors caused by accessing artifacts from different threads.
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.