> For the complete documentation index, see [llms.txt](https://docs.mapbox.com/android/ja/navigation/llms.txt)

# Releases

#### v3.29.0-rc.1 latest - 10 August, 2026

**Features:**

-   Extended PredictiveCacheMapsOptions with an optional tilesets property.
-   Added PredictiveCacheController.createTilesetsMapController for tilesets based predictive cache configuration.
-   Added `NavigationOptions#timeFormatter` parameter that allows to inject custom `TimeFormatter` implementation.
-   Deprecated `NavigationOptions#timeFormatType`. Default `TimeFormater` implementation should be used instead:
-   Before:

-   NavigationOptions.Builder(context)
-   ...
-   .timeFormatType(type)

-   After:

-   NavigationOptions.Builder(context)
-   ...
-   .timeFormatter(MapboxTimeFormatter(context, type))

-   Added `NavigationOptions#distanceFormatter` parameter that allows to inject custom `DistanceFormatter` implementation.
-   Added support for configuring the route line's cap, join, and dash pattern (e.g. rendering a dotted route line) via `MapboxRouteLineViewOptions#lineLayersConfigs`
-   Added `MapboxRouteLineView#hideCasing`/`showCasing` to control the visibility of the route line casing layer.
-   Added `EvBetterRouteNotification#unnecessaryChargingStationIds` that reports the charging stations the primary route no longer needs to visit, so that a driver's decision to keep those stops can be passed to the navigator.

**Bug fixes and improvements:**

-   Fixed an issue where planned route refresh would not resume after `requestImmediateRouteRefresh` was cancelled by a route change. The `ImmediateRouteRefreshCallback` now also receives a `Cancelled` result in this case.
-   Better EV route notifications now detect when a planned charging stop becomes unnecessary after a route refresh and propose an alternative that drops the obsolete stop.
-   Fixed co-located EV charging stations being hidden at high zoom levels. Both stations are now visible at zoom ≥ 17, with the higher-power charger rendered on top.
-   Better EV route notifications now resolve a charging-station shortfall on the active route consistently whether it surfaces on a route refresh or when a new alternative arrives, and no longer suggest an alternative that has its own charging shortfall.
-   Changed `equals` and `hashCode` of native route objects (routes and their nested models) to compare by content, fixing the previous implementation which had undefined and unstable behavior. Comparing a native route object with a plain Java route object of the same type now throws `IllegalArgumentException`, while comparing with `null` or an unrelated type returns `false`.
-   Made `MapboxManeuverApi` class thread-safe.
-   Fixed a small memory leak when `MapboxNavigationViewportDataSource::evaluate` was repeatedly called on a map with an unknown size.
-   Fixed `MapboxRouteLineView` resetting the visibility of route line layers (e.g. traffic) on the next route redraw.
-   Example:

-   routeLineView.hideTraffic(style) // makes traffic hidden
-   // on the next route draw, traffic visibility would be reset and incorrectly became visible
-   routeLineApi.getRouteDrawData { routeLineView.renderRouteDrawData(style, it) }

-   Now in order to show traffic, an explicit call is required (`routeLineView.showTraffic(style)`)
-   Started re-using last raw location update in case of online-offline switch in case no new raw locations are present.
-   Requesting transition to following/overview in NavigationCamera before current transition finished, now will restart the transition with the new parameters
-   Fixed an issue where route callouts could stay invisible until the map was moved if they were attached before the route line was rendered. For callouts rendered via `MapboxRouteLineView`, use the new `setCalloutAdapter(MapboxMap, ViewAnnotationManager, MapboxRouteCalloutAdapter)` overload to enable this fix; the overload without MapboxMap is now deprecated.
-   Fixed an issue inside `NavigationScaleGestureHandler` where an inactive handler could still leave detectors stuck on FOLLOWING threshold, now they are being reset to the non-following baseline again.
-   Fixed `RouteOverviewViewportDataSource` redundantly re-decoding all route step geometries every time the camera switches to route overview mode. Previously, switching to overview on a long route could cause a GC pause of several hundred milliseconds due to excessive object allocation.
-   Fixed the issue that caused banner instructions to be provided in the language of the previous route, if the new one has the same geometry.
-   Fixed a better EV route not being offered when the alternative resolved a critical charge alert but arrived at a newly added charging stop slightly below the requested minimum. Alternatives are now compared by how much of the primary's charge shortfall they remove, instead of being rejected for carrying any charge violation at all.
-   Better EV route decisions now mirror the route planner's own cost model: charge shortfalls the planner accepted on purpose are treated as clean, and an alternative that noticeably cuts the shortfall's time penalty is offered even when both routes are flagged.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.29.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.29.0-rc.1))
-   Mapbox Navigation Native `v324.29.0-rc.1`
-   Mapbox Core Common `v24.29.0-rc.1`
-   Mapbox Java `v7.10.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.29.0-rc.1)

Previous versions

#### v3.29.0-alpha.3

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.29.0-alpha.3)

#### v3.29.0-alpha.2

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.29.0-alpha.2)

#### v3.29.0-alpha.1

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.29.0-alpha.1)

#### v3.28.2 - 14 August, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.28.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.28.2))
-   Mapbox Navigation Native `v324.28.2`
-   Mapbox Core Common `v24.28.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.2)

#### v3.28.1 - 13 August, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed an issue where `RoadShieldContentManagerImpl` could crash if the coroutine was canceled while waiting for the road shields to return.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.28.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.28.1))
-   Mapbox Navigation Native `v324.28.1`
-   Mapbox Core Common `v24.28.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.1)

#### v3.28.0 - 07 August, 2026

Changelog

**Features:**

-   Extended PredictiveCacheMapsOptions with an optional tilesets property.
-   Added PredictiveCacheController.createTilesetsMapController for tilesets based predictive cache configuration.
-   Added `NavigationOptions#timeFormatter` parameter that allows to inject custom `TimeFormatter` implementation.
-   Deprecated `NavigationOptions#timeFormatType`. Default `TimeFormater` implementation should be used instead:
-   Before:

-   NavigationOptions.Builder(context)
-   ...
-   .timeFormatType(type)

-   After:

-   NavigationOptions.Builder(context)
-   ...
-   .timeFormatter(MapboxTimeFormatter(context, type))

-   Added `NavigationOptions#distanceFormatter` parameter that allows to inject custom `DistanceFormatter` implementation.
-   Added support for configuring the route line's cap, join, and dash pattern (e.g. rendering a dotted route line) via `MapboxRouteLineViewOptions#lineLayersConfigs`
-   Added `MapboxRouteLineView#hideCasing`/`showCasing` to control the visibility of the route line casing layer.

**Bug fixes and improvements:**

-   Fixed an issue where planned route refresh would not resume after `requestImmediateRouteRefresh` was cancelled by a route change. The `ImmediateRouteRefreshCallback` now also receives a `Cancelled` result in this case.
-   Better EV route notifications now detect when a planned charging stop becomes unnecessary after a route refresh and propose an alternative that drops the obsolete stop.
-   Fixed co-located EV charging stations being hidden at high zoom levels. Both stations are now visible at zoom ≥ 17, with the higher-power charger rendered on top.
-   Better EV route notifications now resolve a charging-station shortfall on the active route consistently whether it surfaces on a route refresh or when a new alternative arrives, and no longer suggest an alternative that has its own charging shortfall.
-   Changed `equals` and `hashCode` of native route objects (routes and their nested models) to compare by content, fixing the previous implementation which had undefined and unstable behavior. Comparing a native route object with a plain Java route object of the same type now throws `IllegalArgumentException`, while comparing with `null` or an unrelated type returns `false`.
-   Made `MapboxManeuverApi` class thread-safe.
-   Fixed a small memory leak when `MapboxNavigationViewportDataSource::evaluate` was repeatedly called on a map with an unknown size.
-   Fixed `MapboxRouteLineView` resetting the visibility of route line layers (e.g. traffic) on the next route redraw.
-   Example:

-   routeLineView.hideTraffic(style) // makes traffic hidden
-   // on the next route draw, traffic visibility would be reset and incorrectly became visible
-   routeLineApi.getRouteDrawData { routeLineView.renderRouteDrawData(style, it) }

-   Now in order to show traffic, an explicit call is required (`routeLineView.showTraffic(style)`)
-   Started re-using last raw location update in case of online-offline switch in case no new raw locations are present.
-   Requesting transition to following/overview in NavigationCamera before current transition finished, now will restart the transition with the new parameters
-   Fixed an issue where route callouts could stay invisible until the map was moved if they were attached before the route line was rendered. For callouts rendered via `MapboxRouteLineView`, use the new `setCalloutAdapter(MapboxMap, ViewAnnotationManager, MapboxRouteCalloutAdapter)` overload to enable this fix; the overload without MapboxMap is now deprecated.
-   Fixed an issue inside `NavigationScaleGestureHandler` where an inactive handler could still leave detectors stuck on FOLLOWING threshold, now they are being reset to the non-following baseline again.
-   Fixed `RouteOverviewViewportDataSource` redundantly re-decoding all route step geometries every time the camera switches to route overview mode. Previously, switching to overview on a long route could cause a GC pause of several hundred milliseconds due to excessive object allocation.
-   Fixed the issue that caused banner instructions to be provided in the language of the previous route, if the new one has the same geometry.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.28.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.28.0))
-   Mapbox Navigation Native `v324.28.0`
-   Mapbox Core Common `v24.28.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.0)

#### v3.28.0-rc.1 - 27 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.28.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.28.0-rc.1))
-   Mapbox Navigation Native `v324.28.0-rc.1`
-   Mapbox Core Common `v24.28.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.0-rc.1)

#### v3.28.0-alpha.3

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.0-alpha.3)

#### v3.28.0-alpha.2

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.0-alpha.2)

#### v3.28.0-alpha.1 - 15 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.28.0-alpha.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.28.0-alpha.1))
-   Mapbox Navigation Native `v324.28.0-alpha.1`
-   Mapbox Core Common `v24.28.0-alpha.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.28.0-alpha.1)

#### v3.27.2 - 13 August, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.27.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.27.2))
-   Mapbox Navigation Native `v324.27.2`
-   Mapbox Core Common `v24.27.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.27.2)

#### v3.27.1 - 04 August, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed Virtual Memory Area (VMA) exhaustion in offline search with zstd-compressed tile stores (Android). Resolved an issue where sub-optimal memory page operations caused VMA fragmentation. Because the kernel could not merge adjacent areas, VMAs accumulated over long sessions until exhausting Android's process limit (/proc/sys/vm/max_map_count), leading to crashes or allocation failures. Affected customers using offline search with zstd-compressed tiles are strongly recommended to upgrade.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.27.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.27.1))
-   Mapbox Navigation Native `v324.27.1`
-   Mapbox Core Common `v24.27.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.27.1)

#### v3.27.0 - 24 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.27.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.27.0))
-   Mapbox Navigation Native `v324.27.0`
-   Mapbox Core Common `v24.27.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.27.0)

#### v3.27.0-rc.1 - 13 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.27.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.27.0-rc.1))
-   Mapbox Navigation Native `v324.27.0-rc.1`
-   Mapbox Core Common `v24.27.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.27.0-rc.1)

#### v3.26.0 - 09 July, 2026

Changelog

**Features:**

-   Added `RouteClosureNotificationProvider` that detects road closures on the active route and emits notifications via DriverNotificationManager.
-   Android Auto: added `CarSearchMode` to enable switching between the legacy SBS/Geocoding V5 backend and the recommended Search Box backend. Opt in via `MapboxCarContext.customize { searchMode = CarSearchMode.SearchBox }`.

**Bug fixes and improvements:**

-   Fix when ASZ message replaced with regular speed camera message after adding waypoint inside ASZ
-   Fixed file I/O on main thread when playing voice instructions via `VoiceInstructionsFilePlayer`.
-   Adding additional bearing value guard inside `NavigationLocationProvider` to prevent passing NaN values.
-   Fixed an issue where ampersands (`&`) in spoken text or SSML caused malformed voice synthesis requests to the `voice/v1/speak` API.
-   Fixed `NavigationCamera` continuing to operate on an invalidated `MapboxMap` after its `MapView` (or surface) is destroyed.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.26.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.26.0))
-   Mapbox Navigation Native `v324.26.0`
-   Mapbox Core Common `v24.26.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.26.0)

#### v3.26.0-rc.1 - 30 June, 2026

Changelog

**Features:**

-   Added `RouteClosureNotificationProvider` that detects road closures on the active route and emits notifications via DriverNotificationManager.
-   Android Auto: added `CarSearchMode` to enable switching between the legacy SBS/Geocoding V5 backend and the recommended Search Box backend. Opt in via `MapboxCarContext.customize { searchMode = CarSearchMode.SearchBox }`.

**Bug fixes and improvements:**

-   Fix when ASZ message replaced with regular speed camera message after adding waypoint inside ASZ
-   Fixed file I/O on main thread when playing voice instructions via `VoiceInstructionsFilePlayer`.
-   Adding additional bearing value guard inside `NavigationLocationProvider` to prevent passing NaN values.
-   Fixed an issue where ampersands (`&`) in spoken text or SSML caused malformed voice synthesis requests to the `voice/v1/speak` API.
-   Fixed `NavigationCamera` continuing to operate on an invalidated `MapboxMap` after its `MapView` (or surface) is destroyed.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.26.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.26.0-rc.1))
-   Mapbox Navigation Native `v324.26.0-rc.1`
-   Mapbox Core Common `v24.26.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.26.0-rc.1)

#### v3.26.0-alpha.2

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.26.0-alpha.2)

#### v3.26.0-alpha.1

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.26.0-alpha.1)

#### v3.25.3 - 14 August, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.3))
-   Mapbox Navigation Native `v324.25.3`
-   Mapbox Core Common `v24.25.3`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.3)

#### v3.25.2 - 13 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.2))
-   Mapbox Navigation Native `v324.25.2`
-   Mapbox Core Common `v24.25.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.2)

#### v3.25.1 - 03 July, 2026

Changelog

**Features:**

-   Added `RouteClosureNotificationProvider` that detects road closures on the active route and emits notifications via DriverNotificationManager.

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.1))
-   Mapbox Navigation Native `v324.25.1`
-   Mapbox Core Common `v24.25.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.1)

#### v3.25.0 - 11 June, 2026

Changelog

**Features:**

-   Update `MapboxRouteCalloutsApi` to include an extra guard condition to prevent creating `Callouts` if no **Alternative metadata** are sent for alternative routes provided.
-   Improve view port calculation for a very small route.

**Bug fixes and improvements:**

-   Fixed race condition that caused an inconsistency between the tracked active primary route and the actual primary route. This is done by ensuring that the `RouteRefresh` operation taking place, is still relevant and not stale with an old `PrimaryRouteId`.
-   Fixed unbounded memory growth in route geometry cache for long routes.
-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0))
-   Mapbox Navigation Native `v324.25.0`
-   Mapbox Core Common `v24.25.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0)

#### v3.25.0-rc.2 - 04 June, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-rc.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-rc.2))
-   Mapbox Navigation Native `v324.25.0-rc.2`
-   Mapbox Core Common `v24.25.0-rc.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-rc.2)

#### v3.25.0-rc.1 - 02 June, 2026

Changelog

**Features:**

-   Update `MapboxRouteCalloutsApi` to include an extra guard condition to prevent creating `Callouts` if no **Alternative metadata** are sent for alternative routes provided.
-   Improve view port calculation for a very small route.

**Bug fixes and improvements:**

-   Fixed race condition that caused an inconsistency between the tracked active primary route and the actual primary route. This is done by ensuring that the `RouteRefresh` operation taking place, is still relevant and not stale with an old `PrimaryRouteId`.
-   Fixed unbounded memory growth in route geometry cache for long routes.
-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-rc.1))
-   Mapbox Navigation Native `v324.25.0-rc.1`
-   Mapbox Core Common `v24.25.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-rc.1)

#### v3.25.0-alpha.7 - 13 May, 2026

Changelog

**Features:**

-   Update `MapboxRouteCalloutsApi` to include an extra guard condition to prevent creating `Callouts` if no **Alternative metadata** are sent for alternative routes provided.

**Bug fixes and improvements:**

-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-alpha.7` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-alpha.7))
-   Mapbox Navigation Native `v324.25.0-alpha.7`
-   Mapbox Core Common `v24.25.0-alpha.7`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-alpha.7)

#### v3.25.0-alpha.6 - 13 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-alpha.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-alpha.6))
-   Mapbox Navigation Native `v324.25.0-alpha.6`
-   Mapbox Core Common `v24.25.0-alpha.6`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-alpha.6)

#### v3.25.0-alpha.5 - 07 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-alpha.5` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-alpha.5))
-   Mapbox Navigation Native `v324.25.0-alpha.5`
-   Mapbox Core Common `v24.25.0-alpha.5`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-alpha.5)

#### v3.25.0-alpha.3 - 07 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-alpha.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-alpha.3))
-   Mapbox Navigation Native `v324.25.0-alpha.3`
-   Mapbox Core Common `v24.25.0-alpha.3`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-alpha.3)

#### v3.25.0-alpha.2 - 06 May, 2026

Changelog

**Features:**

-   Update `MapboxRouteCalloutsApi` to include an extra guard condition to prevent creating `Callouts` if no **Alternative metadata** are sent for alternative routes provided.

**Bug fixes and improvements:**

-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-alpha.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-alpha.2))
-   Mapbox Navigation Native `v324.25.0-alpha.2`
-   Mapbox Core Common `v24.25.0-alpha.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-alpha.2)

#### v3.25.0-alpha.1 - 05 May, 2026

Changelog

**Features:**

-   Update `MapboxRouteCalloutsApi` to include an extra guard condition to prevent creating `Callouts` if no **Alternative metadata** are sent for alternative routes provided.

**Bug fixes and improvements:**

-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.25.0-alpha.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.25.0-alpha.1))
-   Mapbox Navigation Native `v324.25.0-alpha.1`
-   Mapbox Core Common `v24.25.0-alpha.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.25.0-alpha.1)

#### v3.24.3 - 28 May, 2026

Changelog

**Features:**

-   Update `MapboxRouteCalloutsApi` to include an extra guard condition to prevent creating `Callouts` if no **Alternative metadata** are sent for alternative routes provided.
-   Improve view port calculation for a very small route.

**Bug fixes and improvements:**

-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.3))
-   Mapbox Navigation Native `v324.24.3`
-   Mapbox Core Common `v24.24.3`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.3)

#### v3.24.2 - 20 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.2))
-   Mapbox Navigation Native `v324.24.2`
-   Mapbox Core Common `v24.24.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.2)

#### v3.24.1 - 19 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.1))
-   Mapbox Navigation Native `v324.24.1`
-   Mapbox Core Common `v24.24.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.1)

#### v3.24.0-rc.1 - 05 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.0-rc.1))
-   Mapbox Navigation Native `v324.24.0-rc.1`
-   Mapbox Core Common `v24.24.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.0-rc.1)

#### v3.24.0-alpha.8 - 05 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.0-alpha.8` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.0-alpha.8))
-   Mapbox Navigation Native `v324.24.0-alpha.8`
-   Mapbox Core Common `v24.24.0-alpha.8`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.0-alpha.8)

#### v3.24.0-alpha.7 - 05 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.0-alpha.7` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.0-alpha.7))
-   Mapbox Navigation Native `v324.24.0-alpha.7`
-   Mapbox Core Common `v24.24.0-alpha.7`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.0-alpha.7)

#### v3.24.0-alpha.6 - 04 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.24.0-alpha.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.24.0-alpha.6))
-   Mapbox Navigation Native `v324.24.0-alpha.6`
-   Mapbox Core Common `v24.24.0-alpha.6`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.0-alpha.6)

#### v3.24.0-alpha.3

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.0-alpha.3)

#### v3.24.0-alpha.2

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.24.0-alpha.2)

#### v3.23.1 - 12 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.23.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.23.1))
-   Mapbox Navigation Native `v324.23.1`
-   Mapbox Core Common `v24.23.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.23.1)

#### v3.23.0 - 30 April, 2026

Changelog

**Features:**

-   Add `maxVoltage` to `EvseGroup.Connector`
-   Allow passing `ttsEngineParams` at TTS `PlayerOptions`
-   Insufficient charge detection can now check all remaining route legs via `EvBetterRouteNotificationOptions.checkInsufficientChargeOnRemainingLegs`
-   Log request URL in online EV calls

**Bug fixes and improvements:**

-   Fixed a bug that caused lost zone progress when switching to an alternative during driving in a speed zone.
-   Fixed a crash that could occur when accessing navigation components after MapboxNavigation has been destroyed.
-   Fix 2-finger pan gestures to respect gestureThresholds.
-   Fix location updates burst blocking main thread
-   Added support for exclude=tunnel in onboard router.
-   Fix positioning issues after navigator recreation triggered by downloading an offline pack.
-   Bugfix for the speed zone not being handled properly when the AG has started within the zone.
-   Add support for routes that go through the same speed zone multiple times.
-   Fix ASZ reported as passed when there are multiple alternatives with the same camera
-   fix issue where user input state unexpectedly changes to `Idle` after transcript is finalized
-   Fix for `multiFingerMoveThreshold` messes up `singleFingerMoveThreshold`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.23.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.23.0))
-   Mapbox Navigation Native `v324.23.0`
-   Mapbox Core Common `v24.23.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.23.0)

#### v3.23.0-rc.1 - 21 April, 2026

Changelog

**Features:**

-   Add `maxVoltage` to `EvseGroup.Connector`
-   Allow passing `ttsEngineParams` at TTS `PlayerOptions`
-   Insufficient charge detection can now check all remaining route legs via `EvBetterRouteNotificationOptions.checkInsufficientChargeOnRemainingLegs`
-   Log request URL in online EV calls

**Bug fixes and improvements:**

-   Fixed a crash that could occur when accessing navigation components after MapboxNavigation has been destroyed.
-   Fix 2-finger pan gestures to respect gestureThresholds.
-   Fix location updates burst blocking main thread
-   Added support for exclude=tunnel in onboard router.
-   Fix positioning issues after navigator recreation triggered by downloading an offline pack.
-   Bugfix for the speed zone not being handled properly when the AG has started within the zone.
-   Add support for routes that go through the same speed zone multiple times.
-   Fix ASZ reported as passed when there are multiple alternatives with the same camera
-   fix issue where user input state unexpectedly changes to `Idle` after transcript is finalized
-   Fix for `multiFingerMoveThreshold` messes up `singleFingerMoveThreshold`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.23.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.23.0-rc.1))
-   Mapbox Navigation Native `v324.23.0-rc.1`
-   Mapbox Core Common `v24.23.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.23.0-rc.1)

#### v3.22.3 - 07 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.22.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.22.3))
-   Mapbox Navigation Native `v324.22.3`
-   Mapbox Core Common `v24.22.3`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.22.3)

#### v3.22.1 - 27 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.22.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.22.0))
-   Mapbox Navigation Native `v324.22.0`
-   Mapbox Core Common `v24.22.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.22.1)

#### v3.22.0 - 17 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed an issue where predictive cache controller was not created for the current style in case `createStyleMapControllers` was invoked after the style had already been loaded.
-   Fixed an issue where alternative routes stopped being updated after a navigator version switch.
-   Fixed an issue where the map matcher incorrectly snapped to a tunnel after exiting a parking garage.
-   Fixed an issue where speed estimation was inaccurate after a long device sleep when input locations lacked speed information.
-   Fixed an issue where charging time was calculated incorrectly for alternative routes when the current route index was passed.
-   Fixed an issue where route stickiness was applied to roads outside of the current route leg.
-   Fixed an issue where alternative route fork point detection was inaccurate by introducing a geometry-based detection algorithm.
-   Added a minimum speed threshold for applying avoid-maneuver-radius for continuou alternative route, so that Nav SDK can suggest alternatives with maneuver being close in case of low speed.
-   Improved off-road mode detection in parking aisles that are marked as tunnels.
-   Improved ADAS cache performance.
-   Fixed a crash that could occur after navigation shutdown.
-   Improved performance on routes with a large number of road alerts.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.22.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.22.0))
-   Mapbox Navigation Native `v324.22.0`
-   Mapbox Core Common `v24.22.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.22.0)

#### v3.22.0-rc.1 - 13 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed an issue where predictive cache controller was not created for the current style in case `createStyleMapControllers` was invoked after the style had already been loaded.
-   Fixed an issue where alternative routes stopped being updated after a navigator version switch.
-   Fixed an issue where the map matcher incorrectly snapped to a tunnel after exiting a parking garage.
-   Fixed an issue where speed estimation was inaccurate after a long device sleep when input locations lacked speed information.
-   Fixed an issue where charging time was calculated incorrectly for alternative routes when the current route index was passed.
-   Fixed an issue where route stickiness was applied to roads outside of the current route leg.
-   Fixed an issue where alternative route fork point detection was inaccurate by introducing a geometry-based detection algorithm.
-   Added a minimum speed threshold for applying avoid-maneuver-radius for continuou alternative route, so that Nav SDK can suggest alternatives with maneuver being close in case of low speed.
-   Improved off-road mode detection in parking aisles that are marked as tunnels.
-   Improved ADAS cache performance.
-   Fixed a crash that could occur after navigation shutdown.
-   Improved performance on routes with a large number of road alerts.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.22.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.22.0-rc.1))
-   Mapbox Navigation Native `v324.22.0-rc.1`
-   Mapbox Core Common `v24.22.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.22.0-rc.1)

#### v3.21.12 - 10 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.10` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.10))
-   Mapbox Navigation Native `v324.21.10`
-   Mapbox Core Common `v24.21.10`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.12)

#### v3.21.11 - 02 July, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed race condition where an in-flight route refresh could overwrite a reroute result when both completed at the same time.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.9` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.9))
-   Mapbox Navigation Native `v324.21.9`
-   Mapbox Core Common `v24.21.9`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.11)

#### v3.21.10 - 29 June, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.9` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.9))
-   Mapbox Navigation Native `v324.21.9`
-   Mapbox Core Common `v24.21.9`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.10)

#### v3.21.9 - 26 June, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.8` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.8))
-   Mapbox Navigation Native `v324.21.8`
-   Mapbox Core Common `v24.21.8`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.9)

#### v3.21.8 - 26 June, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.7-SNAPSHOT-06-05--09-32.git-7b2eba2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.7-SNAPSHOT-06-05--09-32.git-7b2eba2))
-   Mapbox Navigation Native `v324.21.7-SNAPSHOT-06-05--09-32.git-7b2eba2`
-   Mapbox Core Common `v24.21.7-SNAPSHOT-06-05--09-32.git-7b2eba2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.8)

#### v3.21.7 - 02 June, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.7` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.7))
-   Mapbox Navigation Native `v324.21.7`
-   Mapbox Core Common `v24.21.7`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.7)

#### v3.21.6 - 29 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.6))
-   Mapbox Navigation Native `v324.21.6`
-   Mapbox Core Common `v24.21.6`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.6)

#### v3.21.5 - 18 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.5` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.5))
-   Mapbox Navigation Native `v324.21.5`
-   Mapbox Core Common `v24.21.5`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.5)

#### v3.21.4 - 06 May, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.4))
-   Mapbox Navigation Native `v324.21.4`
-   Mapbox Core Common `v24.21.4`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.4)

#### v3.21.3 - 24 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed a bug that caused lost zone progress when switching to an alternative during driving in a speed zone.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.3))
-   Mapbox Navigation Native `v324.21.3`
-   Mapbox Core Common `v24.21.3`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.3)

#### v3.21.2 - 17 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fix 2-finger pan gestures to respect gestureThresholds.
-   Fix ASZ reported as passed when there are multiple alternatives with the same camera
-   Add support for routes that go through the same speed zone multiple times.
-   Fix for `multiFingerMoveThreshold` messes up `singleFingerMoveThreshold`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.2))
-   Mapbox Navigation Native `v324.21.2`
-   Mapbox Core Common `v24.21.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.2)

#### v3.21.1 - 13 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Bugfix for the speed zone not being handled properly when the AG has started within the zone.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.1))
-   Mapbox Navigation Native `v324.21.1`
-   Mapbox Core Common `v24.21.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.1)

#### v3.21.0 - 02 April, 2026

Changelog

**Features:**

-   `GeoUtils`: added `getWayId` overloads to retrieve OSM way id(s) by directed edge id or polyline span

**Bug fixes and improvements:**

-   Fixed an issue where the navigator would cycle between alternative routes after missing a turn at a waypoint, when the current position was already on the second leg of both the primary and alternative routes.
-   Fixed an issue in `PredictiveCacheController` that caused excessive resource consumption when the same map styles were requested for download multiple times.
-   Added `geometryPointAt(index, precision)` extension on `RouteLeg` that decodes leg geometry one step at a time and stops at the target index, avoiding allocation of all subsequent points.
-   Fixed an issue where requesting road cameras using `RoadCamerasProvider` could potential stall the main thread.
-   Fix redundant leg geometry decoding in `SlowTrafficSegmentsFinder` by caching decoded points per route instance, and eliminate iterator allocations in congestion range lookup.
-   Added a minimum speed threshold for applying avoid-maneuver-radius for continuou alternative route, so that Nav SDK can suggest alternatives with maneuver being close in case of low speed.
-   Improved off-road mode detection in parking aisles that are marked as tunnels.
-   Improved ADAS cache performance.
-   Fixed a crash that could occur after navigation shutdown.
-   Improved performance on routes with a large number of road alerts.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.0))
-   Mapbox Navigation Native `v324.21.0`
-   Mapbox Core Common `v24.21.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.0)

#### v3.21.0-rc.1 - 25 March, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Added `geometryPointAt(index, precision)` extension on `RouteLeg` that decodes leg geometry one step at a time and stops at the target index, avoiding allocation of all subsequent points.
-   Fixed an issue where requesting road cameras using `RoadCamerasProvider` could potential stall the main thread.
-   Fix redundant leg geometry decoding in `SlowTrafficSegmentsFinder` by caching decoded points per route instance, and eliminate iterator allocations in congestion range lookup.
-   Added a minimum speed threshold for applying avoid-maneuver-radius for continuou alternative route, so that Nav SDK can suggest alternatives with maneuver being close in case of low speed.
-   Improved off-road mode detection in parking aisles that are marked as tunnels.
-   Improved ADAS cache performance.
-   Fixed a crash that could occur after navigation shutdown.
-   Improved performance on routes with a large number of road alerts.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.21.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.21.0-rc.1))
-   Mapbox Navigation Native `v324.21.0-rc.1`
-   Mapbox Core Common `v24.21.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.21.0-rc.1)

#### v3.20.1 - 27 March, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.20.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.20.2))
-   Mapbox Navigation Native `v324.20.2`
-   Mapbox Core Common `v24.20.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.20.1)

#### v3.20.0 - 17 March, 2026

Changelog

**Features:**

-   Introduced unknown status charger counts in EvStationMarker and EvseGroup models.
-   Added metadata passthrough support for route refresh to enable app-side correlation
-   Default navigation arrow width set to match the route line width.
-   Made the navigation arrowhead shape more pointed.
-   Changed the navigation arrow casing (border) color.
-   The `EvseGroup` model is extended with `powerType` property indicating electrical power configuration.
-   The `EvStationMarker` model is extended with a `chargersGroups` property, which is a list of all charging groups at the station.

**Bug fixes and improvements:**

-   Fixed the case when ASZ notification for speed zones missed when route is built inside a speed zone.
-   Reduced main thread CPU usage in `MapboxTripSession` by dispatching route progress observer notifications asynchronously and moving the foreground notification update to an IO thread.
-   Fixed a bug that caused the average speed zone to not update properly when a reroute occurred inside an active zone.
-   Fixed a bug where, at the beginning of active guidance, users received a notification about a speed camera from the end of the route.
-   SDK now supports dynamic access token update for voice guidance and map gpt
-   Fix route arrow scale when pixelRatio doesn't match density
-   Ignore query param at geo deeplink parsing
-   Introducing a new `RouterFailureType.ROUTE_EXPIRY_ERROR` router failure type to inform customers when an issue due to route expiry occurs.
-   Improved internal flow of location updates for `LocationProviderSource.GPS`, which fixes delays in case main thread is blocked by the application.
-   Made default rounding increment in `DistanceFormatterOptions` dependent on distance numerical value.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.20.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.20.1))
-   Mapbox Navigation Native `v324.20.1`
-   Mapbox Core Common `v24.20.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.20.0)

#### v3.20.0-rc.1 - 06 March, 2026

Changelog

**Features:**

-   Introduced unknown status charger counts in EvStationMarker and EvseGroup models.
-   Added metadata passthrough support for route refresh to enable app-side correlation
-   Default navigation arrow width set to match the route line width.
-   Made the navigation arrowhead shape more pointed.
-   Changed the navigation arrow casing (border) color.
-   The `EvseGroup` model is extended with `powerType` property indicating electrical power configuration.
-   The `EvStationMarker` model is extended with a `chargersGroups` property, which is a list of all charging groups at the station.

**Bug fixes and improvements:**

-   Reduced main thread CPU usage in `MapboxTripSession` by dispatching route progress observer notifications asynchronously and moving the foreground notification update to an IO thread.
-   Fixed a bug that caused the average speed zone to not update properly when a reroute occurred inside an active zone.
-   Fixed a bug where, at the beginning of active guidance, users received a notification about a speed camera from the end of the route.
-   SDK now supports dynamic access token update for voice guidance and map gpt
-   Fix route arrow scale when pixelRatio doesn't match density
-   Ignore query param at geo deeplink parsing
-   Introducing a new `RouterFailureType.ROUTE_EXPIRY_ERROR` router failure type to inform customers when an issue due to route expiry occurs.
-   Improved internal flow of location updates for `LocationProviderSource.GPS`, which fixes delays in case main thread is blocked by the application.
-   Made default rounding increment in `DistanceFormatterOptions` dependent on distance numerical value.

**Known issues ⚠️:**

-   Alternative Route Gap at Fork Points. The `AlternativeRouteMetadata#forkIntersectionOfAlternativeRoute` property currently references a location slightly downstream (ahead) of the actual logical fork point. As a result, alternative routes may appear to start with a physical gap relative to the primary route at the junction.
    
-   Loss of Original Route After Waypoint. When a user switches from the primary to an alternative route after passing the first waypoint, the original primary route may be discarded by the navigator. This results in the UI displaying only the newly selected route, preventing the user from easily switching back to the previous path.
    
-   Bearing Discrepancy After Map Re-attachment. The location puck's visual bearing may diverge from the bearing reported by the navigator following a map detachment/re-attachment cycle. This synchronization lag occurs when the Nav Coordination MapComponent instance is destroyed and recreated, causing a temporary mismatch between the UI's orientation and the underlying navigation state.
    

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.20.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.20.0-rc.1))
-   Mapbox Navigation Native `v324.20.0-rc.1`
-   Mapbox Core Common `v24.20.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.20.0-rc.1)

#### v3.19.7 - 16 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fix ASZ reported as passed when there are multiple alternatives with the same camera
-   Add support for routes that go through the same speed zone multiple times.
-   Fix for `multiFingerMoveThreshold` messes up `singleFingerMoveThreshold`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.6))
-   Mapbox Navigation Native `v324.19.6`
-   Mapbox Core Common `v24.19.6`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.7)

#### v3.19.6 - 13 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Bugfix for the speed zone not being handled properly when the AG has started within the zone.
-   Fix 2-finger pan gestures to respect gestureThresholds.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.6))
-   Mapbox Navigation Native `v324.19.6`
-   Mapbox Core Common `v24.19.6`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.6)

#### v3.19.5 - 03 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed an issue where the navigator would cycle between alternative routes after missing a turn at a waypoint, when the current position was already on the second leg of both the primary and alternative routes.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.5` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.5))
-   Mapbox Navigation Native `v324.19.5`
-   Mapbox Core Common `v24.19.5`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.5)

#### v3.19.3 - 01 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed an issue where `RouteLineColorResources.routeClosureColor` wasn't being applied to the route correctly when there is a road closure.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.3))
-   Mapbox Navigation Native `v324.19.3`
-   Mapbox Core Common `v24.19.3`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.3)

#### v3.19.2 - 27 March, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.2))
-   Mapbox Navigation Native `v324.19.2`
-   Mapbox Core Common `v24.19.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.2)

#### v3.19.1 - 13 March, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.1))
-   Mapbox Navigation Native `v324.19.1`
-   Mapbox Core Common `v24.19.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.1)

#### v3.19.0 - 27 February, 2026

Changelog

**Features:**

-   Update `LaneIndicator` to include a new attribute `accessDesignated`, which contains a list of the designated supported access types for a lane.
-   Added support of route refresh in case native route object is enabled.
-   Added optional parameter `ImmediateRouteRefreshCallback` to `RouteRefreshController.requestImmediateRouteRefresh()` to receive request result notifications via `ImmediateRouteRefreshResult`.

**Bug fixes and improvements:**

-   Fixed a bug that caused the average speed zone to not update properly when a reroute occurred inside an active zone.
-   Fixed a bug where, at the beginning of active guidance, users received a notification about a speed camera from the end of the route.
-   Introducing a new `RouterFailureType.ROUTE_EXPIRY_ERROR` router failure type to inform customers when an issue due to route expiry occurs.
-   Fix route arrow scale when pixelRatio doesn't match density
-   Improved internal flow of location updates for `LocationProviderSource.GPS`, which fixes delays in case main thread is blocked by the application.
-   Fixed an issue where arrival maneuver arrow used to point in an incorrect direction. Now the arrows for arrival maneuvers are not displayed.
-   Improve `MapboxRouteArrowView` rendering logic to better handle render attempts when the previous attempt fails.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.0))
-   Mapbox Navigation Native `v324.19.0`
-   Mapbox Core Common `v24.19.0`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.0)

#### v3.19.0-rc.1 - 13 February, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Introducing a new `RouterFailureType.ROUTE_EXPIRY_ERROR` router failure type to inform customers when an issue due to route expiry occurs.
-   Fix route arrow scale when pixelRatio doesn't match density
-   Improved internal flow of location updates for `LocationProviderSource.GPS`, which fixes delays in case main thread is blocked by the application.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.0-rc.1))
-   Mapbox Navigation Native `v324.19.0-rc.1`
-   Mapbox Core Common `v24.19.0-rc.1`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.0-rc.1)

#### v3.19.0-beta.1 - 30 January, 2026

Changelog

**Features:**

-   Update `LaneIndicator` to include a new attribute `accessDesignated`, which contains a list of the designated supported access types for a lane.
-   Added support of route refresh in case native route object is enabled.
-   Added optional parameter `ImmediateRouteRefreshCallback` to `RouteRefreshController.requestImmediateRouteRefresh()` to receive request result notifications via `ImmediateRouteRefreshResult`.

**Bug fixes and improvements:**

-   Fixed an issue where arrival maneuver arrow used to point in an incorrect direction. Now the arrows for arrival maneuvers are not displayed.
-   Improve `MapboxRouteArrowView` rendering logic to better handle render attempts when the previous attempt fails.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.19.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.19.0-beta.1))
-   Mapbox Navigation Native `v324.19.0-beta.1`
-   Mapbox Core Common `v24.19.0-beta.1`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.19.0-beta.1)

#### v3.18.3 - 01 April, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.18.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.18.3))
-   Mapbox Navigation Native `v324.18.3`
-   Mapbox Core Common `v24.18.3`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.18.3)

#### v3.18.2 - 12 February, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.18.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.18.2))
-   Mapbox Navigation Native `v324.18.2`
-   Mapbox Core Common `v24.18.2`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.18.2)

#### v3.18.1 - 30 January, 2026

Changelog

**Features:**

-   Added support of route refresh in case native route object is enabled.

**Bug fixes and improvements:**

-   Fixed an issue where arrival maneuver arrow used to point in an incorrect direction. Now the arrows for arrival maneuvers are not displayed.
-   Improve `MapboxRouteArrowView` rendering logic to better handle render attempts when the previous attempt fails.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.18.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.18.1))
-   Mapbox Navigation Native `v324.18.1`
-   Mapbox Core Common `v24.18.1`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.18.1)

#### v3.18.0 - 16 January, 2026

Changelog

**Features:**

-   Added Experimental API:
    -   `MapboxNavigation#registerVoiceInstructionsAvailableObserver` and `MapboxNavigation#unregisterVoiceInstructionsAvailableObserver` to be notified when voice instructions become available or unavailable;
    -   `MapboxNavigation#registerRelevantVoiceInstructionsCallback` to asynchronously fetch the relevant voice instructions. The callback is automatically unregistered after receiving the result, register again for subsequent voice instructions.
-   Adjust `FollowingFrameOptions#maxZoom`: The value is applied directly when the zoom level cannot be calculated precisely, e.g., when there is only one point to frame.
-   Added experimental `NavigationOptions#nativeRouteObject` which replaces `NavigationRoute#directionsRoute` with a thin wrapper that accesses route data stored in native memory instead of the Java heap. This is an early preview feature. When this option is enabled, some functionality is disabled or not fully supported. See `NavigationOptions#nativeRouteObject` for details.
-   Added new class `RerouteStateV2`: it allows you to observe RerouteStates with additional substates which are not present in the original `RerouteState`.  
    Current additional states are: `RerouteStateV2.Deviation.ApplyingRoute` and `RerouteStateV2.Deviation.RouteIgnored`. See the corresponding API reference for details. To observe `RerouteStateV2`, register a new type of observer: `RerouteController#registerRerouteStateV2Observer`.
-   Capabilities list added to Connector object, so it is now compliant with OCPI v2.3.0
-   Added an `isOffline` flag to `EvStationMarker` to identify when charging station data is from an offline source.
-   Added support of connctor types in `MapboxEvViewOptions` to be able to customize the connector types in the EV view.

**Bug fixes and improvements:**

-   Made `RerouteStateV2` a sealed class.
-   Fixed an issue when adding a stop point on top of an already traversed route, which could show a carried-over vanishing portion from the previous route. That is accomplished by ensuring that `MapboxRouteLineApi.getVanishPointOffset()` returns `0.0` in case the point was in the `VanishingPointState.DISABLED` state.
-   Obfuscated access token in `RouteShieldError#url#toString`.
-   Improved EV SAR call to return requested number of charging stations.
-   Fix an issue where transitionEndListener passed to `NavigationCamera#requestNavigationCameraTo...` might not have been invoked.
-   Added RouterFailureType.ROUTER_RECREATION_ERROR when route request failed due to related reason and made this error retriable
-   Improved EV SAR call to evenly distribute returned stations along the route.
-   Fixed the routing tiles endpoint configuration to avoid redundant recreations of Navigator.
-   ⚠️ Breaking change (preview API): removed `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute`. Safe to remove. It's now a default behavior to show road cameras only on the route.
-   Fixed a bug that prevented road cameras from being removed from the map after passing them.
-   Fixed an issue when re-route might take a few minutes, because of missing internal reroute state.
-   Fixed Copilot issues that caused recordings to be lost.
-   Fix ConcurrentModificationException in RoadCamerasByTileProvider
-   Fix the race condition when canceling Active Guidance from a background thread that does not immediately cancel Route Progress updates.
-   Avoid high CPU usage when user location is stationary.
-   Improve DR accuracy after sharp turns.
-   Update interface for retrieving last voice instructions.
-   Incident positions after a mid-leg route refresh now use correct distance calculations.
-   Disallow route refreshes in other than Tracking state.
-   Native Route Object via Flatbuffers.
-   Implement reaction on notification that user-provided-charging-station is not needed.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.18.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.18.0))
-   Mapbox Navigation Native `v324.18.0`
-   Mapbox Core Common `v24.18.0`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.18.0)

#### v3.18.0-beta.1 - 18 December, 2025

Changelog

**Features:**

-   Adjust `FollowingFrameOptions#maxZoom`: The value is applied directly when the zoom level cannot be calculated precisely, e.g., when there is only one point to frame.
-   Added experimental `NavigationOptions#nativeRouteObject` which replaces `NavigationRoute#directionsRoute` with a thin wrapper that accesses route data stored in native memory instead of the Java heap. This is an early preview feature. When this option is enabled, some functionality is disabled or not fully supported. See `NavigationOptions#nativeRouteObject` for details.
-   Added new class `RerouteStateV2`: it allows you to observe RerouteStates with additional substates which are not present in the original `RerouteState`.  
    Current additional states are: `RerouteStateV2.Deviation.ApplyingRoute` and `RerouteStateV2.Deviation.RouteIgnored`. See the corresponding API reference for details. To observe `RerouteStateV2`, register a new type of observer: `RerouteController#registerRerouteStateV2Observer`.
-   Capabilities list added to Connector object, so it is now compliant with OCPI v2.3.0
-   Added an `isOffline` flag to `EvStationMarker` to identify when charging station data is from an offline source.
-   Added support of connctor types in `MapboxEvViewOptions` to be able to customize the connector types in the EV view.

**Bug fixes and improvements:**

-   Fixed an issue when adding a stop point on top of an already traversed route, which could show a carried-over vanishing portion from the previous route. That is accomplished by ensuring that `MapboxRouteLineApi.getVanishPointOffset()` returns `0.0` in case the point was in the `VanishingPointState.DISABLED` state.
-   Obfuscated access token in `RouteShieldError#url#toString`.
-   Improved EV SAR call to return requested number of charging stations.
-   Fix an issue where transitionEndListener passed to `NavigationCamera#requestNavigationCameraTo...` might not have been invoked.
-   Added RouterFailureType.ROUTER_RECREATION_ERROR when route request failed due to related reason and made this error retriable
-   Improved EV SAR call to evenly distribute returned stations along the route.
-   Fixed the routing tiles endpoint configuration to avoid redundant recreations of Navigator.
-   ⚠️ Breaking change (preview API): removed `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute`. Safe to remove. It's now a default behavior to show road cameras only on the route.
-   Fixed a bug that prevented road cameras from being removed from the map after passing them.
-   Fixed an issue when re-route might take a few minutes, because of missing internal reroute state.
-   Fixed Copilot issues that caused recordings to be lost.
-   Fix ConcurrentModificationException in RoadCamerasByTileProvider
-   Fix the race condition when canceling Active Guidance from a background thread that does not immediately cancel Route Progress updates.
-   Avoid high CPU usage when user location is stationary.
-   Improve DR accuracy after sharp turns.
-   Update interface for retrieving last voice instructions.
-   Incident positions after a mid-leg route refresh now use correct distance calculations.
-   Disallow route refreshes in other than Tracking state.
-   Native Route Object via Flatbuffers.
-   Implement reaction on notification that user-provided-charging-station is not needed.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.18.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.18.0-beta.1))
-   Mapbox Navigation Native `v324.18.0-beta.1`
-   Mapbox Core Common `v24.18.0-beta.1`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.18.0-beta.1)

#### v3.17.5 - 06 March, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.2))
-   Mapbox Navigation Native `v324.17.2`
-   Mapbox Core Common `v24.17.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.5)

#### v3.17.4 - 03 March, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.2))
-   Mapbox Navigation Native `v324.17.2`
-   Mapbox Core Common `v24.17.2`
-   Mapbox Java `v7.10.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.10.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.4)

#### v3.17.3 - 25 February, 2026

Changelog

**Features:**

**Bug fixes and improvements:**

-   Improved internal flow of location updates for `LocationProviderSource.GPS`, which fixes delays in case main thread is blocked by the application.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.2))
-   Mapbox Navigation Native `v324.17.2`
-   Mapbox Core Common `v24.17.2`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.3)

#### v3.17.2 - 23 December, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fix the race condition when canceling Active Guidance from a background thread that does not immediately cancel Route Progress updates.
-   Fix ConcurrentModificationException in RoadCamerasByTileProvider

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.1))
-   Mapbox Navigation Native `v324.17.1`
-   Mapbox Core Common `v24.17.1`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.2)

#### v3.17.1 - 12 December, 2025

Changelog

**Features:**

-   Added new class `RerouteStateV2`: it allows you to observe RerouteStates with additional substates which are not present in the original `RerouteState`.  
    Current additional states are: `RerouteStateV2.Deviation.ApplyingRoute` and `RerouteStateV2.Deviation.RouteIgnored`. See the corresponding API reference for details. To observe `RerouteStateV2`, register a new type of observer: `RerouteController#registerRerouteStateV2Observer`.

**Bug fixes and improvements:**

-   Improved EV SAR call to return requested number of charging stations.
-   ⚠️ Breaking change (preview API): removed `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute`. Safe to remove. It's now a default behavior to show road cameras only on the route.
-   Fixed a bug that prevented road cameras from being removed from the map after passing them.
-   Fixed Copilot issues that caused recordings to be lost.
-   Obfuscated access token in `RouteShieldError#url#toString`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.1))
-   Mapbox Navigation Native `v324.17.1`
-   Mapbox Core Common `v24.17.1`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.1)

#### v3.17.0 - 04 December, 2025

Changelog

**Features:**

-   Added support of connctor types in `MapboxEvViewOptions` to be able to customize the connector types in the EV view.
-   Introduce RouterFailureType::MISSING_TILES_ERROR to indicate inability to build a route due to missing routing tiles
-   Added ZStd support.
-   Reduce map-matcher latency in urban areas with lots of small tunnels
-   Add a feature to override location bearing with yaw from orientation data (inactive by default)
-   Improve behavior on elevated highways (new ramp detection algorithm)
-   Improve tunnel mode behavior after tunnel exists
-   Added `freeFlowSpeed` and `constrainedFlowSpeed` properties to `EHorizonEdgeMetadata` to provide free flow and constrained flow speed information for edges
-   Reworked tile-loading delay in the predictive cache: both tile loading and tile calculation are now deferred for improved performance.
-   Improved routing logic to prevent fallback to the onboard router when the online router encounters a `RouteCreationError`.
-   Added `MapMatchingOptions.voiceUnits` which allows applications to specify the unit system used for voice instructions in Map Matching.
-   Improved performance of `MapboxEvViewClient`, its API was slightly changed for this purpose.
-   Renamed `EvStationMarker.maxOutputPower` to `EvStationMarker.maxOutputPowerkW` for clarity.
-   Added new field `EvStationMarker.capabilities` to describe supported charging capabilities.
-   Expose roadEdgeId to LocationMatcherResult
-   Added `styleSlot` parameter to `MapboxEvViewOptions` to give more control over EV layer placement.

**Bug fixes and improvements:**

-   Fix ANR when calling `MapboxVoiceInstructionsPlayer::stop`
    
-   Fixed waypoint handling when multiple matches are returned in `MapMatchingSuccessfulResult.matches`; waypoints are now assigned to the correct match.
    
-   ⚠️ Breaking change (preview API): removed `MapMatchingSuccessfulResult#navigationRoutes`.
    

Why: the `navigationRoutes` property encouraged incorrect usage — calling `mapboxNavigation.setNavigationRoutes(result.navigationRoutes)` treats each match as an alternative route. Matches are results of map-matching and are not true route alternatives; passing them together will make the navigator accept only first route rejecting the others. Migration guide: select navigation route from a single match `mapboxNavigation.setNavigationRoutes(listOf(result.matches.first().navigationRoute))`.

-   Fixed an issue where `FollowingFrameOptions#defaultPitch` updates were not applied in Free Drive.
-   Fix NullPointerException when using `MapboxVoiceInstructionsPlayer`.
-   Fix the bug that causes road cameras on alternative routes to not be removed from the road when its road is not active or passed during active guidance.
-   Optimize the performance of road cameras in Free Drive mode.
-   Add the `RoadCamerasConfig::belowLayerId` option to set the `belowLayerId` of the road camera icons layer. By default, the road camera icons are below the 2D CPP icon.
-   ⚠️ Breaking changes in Experimental API: `RoadCamerasConfig` constructor is now private. Use the `RoadCamerasConfig.Builder` to create an instance of `RoadCamerasConfig`.
-   Fix an issue where transitionEndListener passed to `NavigationCamera#requestNavigationCameraTo...` might not have been invoked.
-   Added RouterFailureType.ROUTER_RECREATION_ERROR when route request failed due to related reason and made this error retriable
-   Fixed an issue when adding a stop point on top of an already traversed route, which could show a carried-over vanishing portion from the previous route. That is accomplished by ensuring that `MapboxRouteLineApi.getVanishPointOffset()` returns `0.0` in case the point was in the `VanishingPointState.DISABLED` state.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.0))
-   Mapbox Navigation Native `v324.17.0`
-   Mapbox Core Common `v24.17.0`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.0)

#### v3.17.0-rc.3 - 01 December, 2025

Changelog

**Features:**

-   Added ZStd support.

**Bug fixes and improvements:**

-   Fixed an issue when adding a stop point on top of an already traversed route, which could show a carried-over vanishing portion from the previous route. That is accomplished by ensuring that `MapboxRouteLineApi.getVanishPointOffset()` returns `0.0` in case the point was in the `VanishingPointState.DISABLED` state.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.0-rc.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.0-rc.3))
-   Mapbox Navigation Native `v324.17.0-rc.3`
-   Mapbox Core Common `v24.17.0-rc.3`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.0-rc.3)

#### v3.17.0-rc.2 - 24 November, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.0-rc.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.0-rc.2))
-   Mapbox Navigation Native `v324.17.0-rc.2`
-   Mapbox Core Common `v24.17.0-rc.2`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.0-rc.2)

#### v3.17.0-rc.1 - 21 November, 2025

Changelog

**Features:**

-   Reduce map-matcher latency in urban areas with lots of small tunnels
-   Add a feature to override location bearing with yaw from orientation data (inactive by default)
-   Improve behavior on elevated highways (new ramp detection algorithm)
-   Improve tunnel mode behavior after tunnel exists
-   Added `freeFlowSpeed` and `constrainedFlowSpeed` properties to `EHorizonEdgeMetadata` to provide free flow and constrained flow speed information for edges

**Bug fixes and improvements:**

-   Fix an issue where transitionEndListener passed to `NavigationCamera#requestNavigationCameraTo...` might not have been invoked.
-   Added RouterFailureType.ROUTER_RECREATION_ERROR when route request failed due to related reason and made this error retriable

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.0-rc.1))
-   Mapbox Navigation Native `v324.17.0-rc.1`
-   Mapbox Core Common `v24.17.0-rc.1`
-   Mapbox Java `v7.9.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.9.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.0-rc.1)

#### v3.17.0-beta.1 - 13 November, 2025

Changelog

**Features:**

-   Reworked tile-loading delay in the predictive cache: both tile loading and tile calculation are now deferred for improved performance.
-   Improved routing logic to prevent fallback to the onboard router when the online router encounters a `RouteCreationError`.
-   Added `MapMatchingOptions.voiceUnits` which allows applications to specify the unit system used for voice instructions in Map Matching.
-   Improved performance of `MapboxEvViewClient`, its API was slightly changed for this purpose.
-   Renamed `EvStationMarker.maxOutputPower` to `EvStationMarker.maxOutputPowerkW` for clarity.
-   Added new field `EvStationMarker.capabilities` to describe supported charging capabilities.
-   Expose roadEdgeId to LocationMatcherResult
-   Added `styleSlot` parameter to `MapboxEvViewOptions` to give more control over EV layer placement.

**Bug fixes and improvements:**

-   Fix ANR when calling `MapboxVoiceInstructionsPlayer::stop`
    
-   Fixed waypoint handling when multiple matches are returned in `MapMatchingSuccessfulResult.matches`; waypoints are now assigned to the correct match.
    
-   ⚠️ Breaking change (preview API): removed `MapMatchingSuccessfulResult#navigationRoutes`.
    

Why: the `navigationRoutes` property encouraged incorrect usage — calling `mapboxNavigation.setNavigationRoutes(result.navigationRoutes)` treats each match as an alternative route. Matches are results of map-matching and are not true route alternatives; passing them together will make the navigator accept only first route rejecting the others. Migration guide: select navigation route from a single match `mapboxNavigation.setNavigationRoutes(listOf(result.matches.first().navigationRoute))`.

-   Fixed an issue where `FollowingFrameOptions#defaultPitch` updates were not applied in Free Drive.
-   Fix NullPointerException when using `MapboxVoiceInstructionsPlayer`.
-   Fix the bug that causes road cameras on alternative routes to not be removed from the road when its road is not active or passed during active guidance.
-   Optimize the performance of road cameras in Free Drive mode.
-   Add the `RoadCamerasConfig::belowLayerId` option to set the `belowLayerId` of the road camera icons layer. By default, the road camera icons are below the 2D CPP icon.
-   ⚠️ Breaking changes in Experimental API: `RoadCamerasConfig` constructor is now private. Use the `RoadCamerasConfig.Builder` to create an instance of `RoadCamerasConfig`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.17.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.17.0-beta.1))
-   Mapbox Navigation Native `v324.17.0-beta.1`
-   Mapbox Core Common `v24.17.0-beta.1`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.17.0-beta.1)

#### v3.16.7 - 11 December, 2025

Changelog

**Features:**

-   Added new class `RerouteStateV2`: it allows you to observe RerouteStates with additional substates which are not present in the original `RerouteState`.  
    Current additional states are: `RerouteStateV2.Deviation.ApplyingRoute` and `RerouteStateV2.Deviation.RouteIgnored`. See the corresponding API reference for details. To observe `RerouteStateV2`, register a new type of observer: `RerouteController#registerRerouteStateV2Observer`.

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.6))
-   Mapbox Navigation Native `v324.16.6`
-   Mapbox Core Common `v24.16.6`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.7)

#### v3.16.6 - 21 November, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.6))
-   Mapbox Navigation Native `v324.16.6`
-   Mapbox Core Common `v24.16.6`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.6)

#### v3.16.5 - 21 November, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

-   Added RouterFailureType.ROUTER_RECREATION_ERROR when route request failed due to related reason and made this error retriable

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.4))
-   Mapbox Navigation Native `v324.16.4`
-   Mapbox Core Common `v24.16.4`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.5)

#### v3.16.4 - 14 November, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.4))
-   Mapbox Navigation Native `v324.16.4`
-   Mapbox Core Common `v24.16.4`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.4)

#### v3.16.3 - 14 November, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fix ANR when calling `MapboxVoiceInstructionsPlayer::stop`
-   Fix NullPointerException when using `MapboxVoiceInstructionsPlayer`.
-   Optimize the performance of road cameras in Free Drive mode.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.3))
-   Mapbox Navigation Native `v324.16.3`
-   Mapbox Core Common `v24.16.3`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.3)

#### v3.16.2 - 04 November, 2025

Changelog

**Features:**

-   Reworked tile-loading delay in the predictive cache: both tile loading and tile calculation are now deferred for improved performance.

**Bug fixes and improvements:**

-   Add the `RoadCamerasConfig::belowLayerId` option to set the `belowLayerId` of the road camera icons layer. By default, the road camera icons are below the 2D CPP icon.
-   ⚠️ Breaking changes in Experimental API: `RoadCamerasConfig` constructor is now private. Use the `RoadCamerasConfig.Builder` to create an instance of `RoadCamerasConfig`.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.2))
-   Mapbox Navigation Native `v324.16.2`
-   Mapbox Core Common `v24.16.2`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.2)

#### v3.16.1 - 29 October, 2025

Changelog

**Features:**

-   Expose roadEdgeId to LocationMatcherResult

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.1))
-   Mapbox Navigation Native `v324.16.1`
-   Mapbox Core Common `v24.16.1`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.1)

#### v3.16.0 - 23 October, 2025

Changelog

**Features:**

-   Added `MapMatchingOptions.voiceUnits` which allows applications to specify the unit system used for voice instructions in Map Matching.
-   Delay the start of the predictive cache when tiles are requested #6684
-   Added `AdasEdgeAttributes#isBuiltUpArea` and `AdasEdgeAttributes#roadItems` properties.
-   Added a new `RoadObjectMatcherOptions` class that configures the road object matching behavior. Available through the `NavigationOptions` class.
-   Added `RouteCalloutUiStateProvider` class that allows to listen to Route Callout UI data. Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in `MapboxRouteLineApiOptions`. However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself. An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for Compose MapboxMap is done via [compose-specific API](https://docs.mapbox.com/android/maps/examples/compose/dynamic-view-annotations/), which is not currently supported by NavSDK. In this case you may listen to `RouteCalloutUiStateData` updates via `RouteCalloutUiStateProvider` and use its information by attach a DVA.
-   Added experimental overloads for `MapboxManeuverApi#getRoadShields` and `MapboxRouteShieldApi#getRouteShields` that accept a `ShieldFontConfig` parameter, enabling custom font selection for route shields.
-   Added experimental `MapboxNavigationSVGExternalFileResolver` that can resolve fonts for SVG rendering from assets or use system fonts.
-   Updated `MapboxNavigation.replanRoute()` to now accept a new optional parameter of type `ReplanRoutesCallback`.
-   Added ability to filter by data source in EV charging station search operations.
-   Added `MapboxSpeedZoneInfo` class to represent speed zone information. Available through `UpcomingCamerasObserver::onSpeedZoneInfo` and `RoadCamerasMapCallback::onSpeedZoneInfo` callbacks.
-   Added experimental support for ADAS tiles in the predictive cache. See `PredictiveCacheNavigationOptions` for more information.
-   Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigationcore:navigation` -> `com.mapbox.navigationcore:navigation-ndk27`.
-   Added method overload `TilesetDescriptorFactory#getLatest(Boolean)` that allows to specify whether to include ADAS tiles.
-   Extracted TTS functionality into a new module `audio`.
-   DR improvements - more robust models for GNSS trust, road calibration, and wheel speed trust;
-   Improve main thread utilization by removing unintended locks (visible on systems with overloaded CPU)
-   Disable the defaults for collection of tunnel/bridge subgraphs in free drive. The clients will need to specify explicitly which objects to collect via AlertServiceOptions in the public SDK interface.
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
-   ⚠️ Breaking changes in Experimental API. `MapboxEvSearchClientFactory.#getInstance()` no longer accepts access token as a parameter. The default `MapboxOptions.accessToken` will be used.
-   `CarPlaceSearchOptions.accessToken` and corresponding builder function has been deprecated because `accessToken` is no longer in use as the search component now uses the default `MapboxOptions.accessToken`.
-   Used legacy/custom date primitives in EV modules to support older Android API levels.
-   Added `DriverNotification`, `DriverNotificationProvider` interfaces with `EvBetterRouteNotificationProvider` and `SlowTrafficNotificationProvider` implementations. Add new `DriverNotificationManager` API to attach or detach providers and `DriverNotificationManager.observeDriverNotification()` to handle the flow of driver notifications.
-   Added default location providers.
-   Added `EvBusyChargingStationNotificationProvider` to notify when the EV is charging station is busy and propose alternative route.
-   Added experimental `NavigationPerformance#performanceTracingEnabled` which enables/disables internal performance trace sections.
-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
-   Expose road type in the `MapboxRoadCamera`
-   Added support for section control speed cameras.
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
-   Added curvatures support on intersections in ADAS tiles
-   Reduced amount of error logs
-   Added periodic logs of Navigator/Cache configs
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
-   Improved off road transitions
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
-   `DataInputsManager` now can be used from any thread.
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
-   Added option to display the route line with a blur effect.
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.

**Bug fixes and improvements:**

-   Fixed Android Auto build for the NDK 27 compatible variant
-   Fix the bug that causes road cameras on alternative routes to not be removed from the road when its road is not active or passed during active guidance.
-   Fix ADAS tiles loading for ambient cache without consumer #7128
-   Improved Visual Turn Experience in Active Guidance and Free-Drive for High-Frequency Input #3863
-   The crash happens on route parsing with the steps=false #6889
-   Support settings for per-level routing tiles compression #6622

**Known issues ⚠️:**

-   Fix the bug that causes road cameras on alternative routes to be marked as passed but not removed from the map.
-   Fixed the incorrect order of callbacks when notifying about road cameras on the route.
-   Optimize the `MapboxRouteArrowView` to skip re-rendering arrows that have not changed.
-   Decrased excessively high GeoJSON buffer size from 128 to 32 to improve the memory footprint.
-   Avoid unnecessary navigation arrow GeoJSON updates
-   Optimized camera animations that involve significant zoom change.
-   Fixed an issue where the closer part of route line might have been overlapped by a farther part in case they covered the same space within a single leg (e. g. U-turns on narrow roads).
-   Don't reset the re-route request when on-route/off-route events are flaky.
-   Use the `enhancedLocation` in the RoadCamerasManager class to get a more accurate current speed for the vehicle.
-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
-   Added `HistoryRecorderOptions#shouldRecordRouteLineEvents` property to enable/disable route line events collection for manual recording (see `CopilotOptions#shouldRecordRouteLineEvents` for the same functionality with Copilot); it is disabled by default.
-   Fixed an issue where the Speed Camera notification would appear prematurely when the car's speed was 0.
-   Fix Route replayer: normalize bearing values to be in the range of [0..360) degrees.
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
-   Fix when already passed part of route appears behind CCP
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
-   Deprecated EstimatedTimeToArrivalFormatter and introduced EstimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
-   Deprecated TripProgressUpdateFormatter.estimatedTimeToArrivalFormatter and introduced TripProgressUpdateFormatter.estimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
-   Fixed `MapboxNavigationSDKInitializerImpl` logic so that `uxfKey` is properly retrieved and sent over.
-   Fixed the condition for verifying the last good signal state in the offroad detection logic
-   Fixed incorrect calculation of a "missing part" of the route causing all lanes to be mark as divergent
-   Fixed EHorizon rural road objects sometimes marked as urban
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.
-   Improved reroute and alternative routes behavior
-   Fixed map matching bug after leaving a tunnel
-   Increased route stickiness in dead reckoning mode
-   Added ability to send raw unfused GNSS location in addition to fused one
-   Improved odometry and road graph fusing in urban canyons
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
-   Now service type is specified explicitly when foreground location service starts.
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Fixed an issue preventing Copilot from correctly recording history events.
-   Improved reroute and alternative routes behavior
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.0))
-   Mapbox Navigation Native `v324.16.0`
-   Mapbox Core Common `v24.16.0`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.0)

#### v3.16.0-rc.2 - 17 October, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fixed Android Auto build for the NDK 27 compatible variant

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.0-rc.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.0-rc.2))
-   Mapbox Navigation Native `v324.16.0-rc.2`
-   Mapbox Core Common `v24.16.0-rc.2`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.0-rc.2)

#### v3.16.0-rc.1 - 10 October, 2025

Changelog

**Features:**

-   Added `MapMatchingOptions.voiceUnits` which allows applications to specify the unit system used for voice instructions in Map Matching.
-   Delay the start of the predictive cache when tiles are requested #6684

**Bug fixes and improvements:**

-   Fix the bug that causes road cameras on alternative routes to not be removed from the road when its road is not active or passed during active guidance.
-   Fix ADAS tiles loading for ambient cache without consumer #7128
-   Improved Visual Turn Experience in Active Guidance and Free-Drive for High-Frequency Input #3863
-   The crash happens on route parsing with the steps=false #6889
-   Support settings for per-level routing tiles compression #6622

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.0-rc.1))
-   Mapbox Navigation Native `v324.16.0-rc.1`
-   Mapbox Core Common `v24.16.0-rc.1`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.0-rc.1)

#### v3.16.0-beta.1 - 26 September, 2025

Changelog

**Notes:**

3.16.x is the next version after 3.12.x. For technical reasons, versions 3.13.x, 3.14.x and 3.15.x are skipped. Starting from 3.16.x, the Nav SDK minor version will be aligned with other Mapbox dependencies.

**Features:**

-   Added `AdasEdgeAttributes#isBuiltUpArea` and `AdasEdgeAttributes#roadItems` properties.
-   Added a new `RoadObjectMatcherOptions` class that configures the road object matching behavior. Available through the `NavigationOptions` class.
-   Added `RouteCalloutUiStateProvider` class that allows to listen to Route Callout UI data. Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in `MapboxRouteLineApiOptions`. However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself. An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for Compose MapboxMap is done via [compose-specific API](https://docs.mapbox.com/android/maps/examples/compose/dynamic-view-annotations/), which is not currently supported by NavSDK. In this case you may listen to `RouteCalloutUiStateData` updates via `RouteCalloutUiStateProvider` and use its information by attach a DVA.
-   Added experimental overloads for `MapboxManeuverApi#getRoadShields` and `MapboxRouteShieldApi#getRouteShields` that accept a `ShieldFontConfig` parameter, enabling custom font selection for route shields.
-   Added experimental `MapboxNavigationSVGExternalFileResolver` that can resolve fonts for SVG rendering from assets or use system fonts.
-   Updated `MapboxNavigation.replanRoute()` to now accept a new optional parameter of type `ReplanRoutesCallback`.

**Bug fixes and improvements:**

-   Fix the bug that causes road cameras on alternative routes to be marked as passed but not removed from the map.
-   Fixed the incorrect order of callbacks when notifying about road cameras on the route.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.16.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.16.0-beta.1))
-   Mapbox Navigation Native `v324.16.0-beta.1`
-   Mapbox Core Common `v24.16.0-beta.1`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.16.0-beta.1)

#### v3.12.3 - 21 October, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.15.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.15.4))
-   Mapbox Navigation Native `v324.15.4`
-   Mapbox Core Common `v24.15.4`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.12.3)

#### v3.12.2 - 03 October, 2025

Changelog

**Features:**

-   Expose roadEdgeId to LocationMatcherResult

**Bug fixes and improvements:**

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.15.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.15.2))
-   Mapbox Navigation Native `v324.15.2`
-   Mapbox Core Common `v24.15.2`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.12.2)

#### v3.12.1 - 29 September, 2025

Changelog

**Features:**

**Bug fixes and improvements:**

-   Fix the bug that causes road cameras on alternative routes to be marked as passed but not removed from the map.
-   Further improve DR stability (better recovery with good GNSS and less wheel speed filtering).
-   Add support of per-level routing tiles compression settings.
-   Address a bug with missing alternatives on multi-leg routes.

**Known issues ⚠️:**

**Other changes:**

**Mapbox dependencies:**

-   Mapbox Maps SDK `v11.15.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.15.1))
-   Mapbox Navigation Native `v324.15.1`
-   Mapbox Core Common `v24.15.1`
-   Mapbox Java `v7.8.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.8.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.12.1)

#### v3.12.0 - 12 September, 2025

Changelog

-   Expose PredictiveCacheLocationOptions.loadPredictiveCacheForAlternativeRoutes property
    
-   Added offline tileset version management with update availability checking, which is available via `MapboxNavigation#tilesetVersionManager`. See `TilesetVersionManager` for more information.
    
-   ⚠️ Behavioural bracking change: updated the default traffic colors on the primary route line (see changes in RouteLayerConstants.kt for details)
    
-   Added experimental overloads for `MapboxManeuverApi#getRoadShields` and `MapboxRouteShieldApi#getRouteShields` that accept a `ShieldFontConfig` parameter, enabling custom font selection for route shields.
    
-   Added experimental `MapboxNavigationSVGExternalFileResolver` that can resolve fonts for SVG rendering from assets or use system fonts.
    
-   Added `RouteCalloutUiStateProvider` class that allows to listen to Route Callout UI data. Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in `MapboxRouteLineApiOptions`. However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself. An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for Compose MapboxMap is done via [compose-specific API](https://docs.mapbox.com/android/maps/examples/compose/dynamic-view-annotations/), which is not currently supported by NavSDK. In this case you may listen to `RouteCalloutUiStateData` updates via `RouteCalloutUiStateProvider` and use its information by attach a DVA.
    
-   Added ability to filter by data source in EV charging station search operations.
    
-   Added `MapboxSpeedZoneInfo` class to represent speed zone information. Available through `UpcomingCamerasObserver::onSpeedZoneInfo` and `RoadCamerasMapCallback::onSpeedZoneInfo` callbacks.
    
-   Added experimental support for ADAS tiles in the predictive cache. See `PredictiveCacheNavigationOptions` for more information.
    
-   Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigationcore:navigation` -> `com.mapbox.navigationcore:navigation-ndk27`.
    
-   Added method overload `TilesetDescriptorFactory#getLatest(Boolean)` that allows to specify whether to include ADAS tiles.
    
-   Extracted TTS functionality into a new module `audio`.
    
-   DR improvements - more robust models for GNSS trust, road calibration, and wheel speed trust;
    
-   Improve main thread utilization by removing unintended locks (visible on systems with overloaded CPU)
    
-   Disable the defaults for collection of tunnel/bridge subgraphs in free drive. The clients will need to specify explicitly which objects to collect via AlertServiceOptions in the public SDK interface.
    
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
    
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
    
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
    
-   ⚠️ Breaking changes in Experimental API. `MapboxEvSearchClientFactory.#getInstance()` no longer accepts access token as a parameter. The default `MapboxOptions.accessToken` will be used.
    
-   `CarPlaceSearchOptions.accessToken` and corresponding builder function has been deprecated because `accessToken` is no longer in use as the search component now uses the default `MapboxOptions.accessToken`.
    
-   Used legacy/custom date primitives in EV modules to support older Android API levels.
    
-   Added `DriverNotification`, `DriverNotificationProvider` interfaces with `EvBetterRouteNotificationProvider` and `SlowTrafficNotificationProvider` implementations. Add new `DriverNotificationManager` API to attach or detach providers and `DriverNotificationManager.observeDriverNotification()` to handle the flow of driver notifications.
    
-   Added default location providers.
    
-   Added `EvBusyChargingStationNotificationProvider` to notify when the EV is charging station is busy and propose alternative route.
    
-   Added experimental `NavigationPerformance#performanceTracingEnabled` which enables/disables internal performance trace sections.
    
-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
    
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
    
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
    
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
    
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
    
-   Expose road type in the `MapboxRoadCamera`
    
-   Added support for section control speed cameras.
    
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
    
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
    
-   Added curvatures support on intersections in ADAS tiles
    
-   Reduced amount of error logs
    
-   Added periodic logs of Navigator/Cache configs
    
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
    
-   Improved off road transitions
    
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
    
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
    
-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
    
-   `DataInputsManager` now can be used from any thread.
    
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
    
-   Added option to display the route line with a blur effect.
    
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
    
-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
    
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
    
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
    
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
    
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
    
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
    
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
    
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
    
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
    
-   Added the ability to filter road names based on the system language
    
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
    
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
    
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
    
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
    
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
    
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
    
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
    
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
    
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
    
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
    
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
    
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
    
-   Fixed the incorrect order of callbacks when notifying about road cameras on the route.
    
-   Optimize the `MapboxRouteArrowView` to skip re-rendering arrows that have not changed.
    
-   Decrased excessively high GeoJSON buffer size from 128 to 32 to improve the memory footprint.
    
-   Avoid unnecessary navigation arrow GeoJSON updates
    
-   Optimized camera animations that involve significant zoom change.
    
-   Fixed an issue where the closer part of route line might have been overlapped by a farther part in case they covered the same space within a single leg (e. g. U-turns on narrow roads).
    
-   Don't reset the re-route request when on-route/off-route events are flaky.
    
-   Use the `enhancedLocation` in the RoadCamerasManager class to get a more accurate current speed for the vehicle.
    
-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
    
-   Added `HistoryRecorderOptions#shouldRecordRouteLineEvents` property to enable/disable route line events collection for manual recording (see `CopilotOptions#shouldRecordRouteLineEvents` for the same functionality with Copilot); it is disabled by default.
    
-   Fixed an issue where the Speed Camera notification would appear prematurely when the car's speed was 0.
    
-   Fix Route replayer: normalize bearing values to be in the range of [0..360) degrees.
    
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
    
-   Fix when already passed part of route appears behind CCP
    
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
    
-   Deprecated EstimatedTimeToArrivalFormatter and introduced EstimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
    
-   Deprecated TripProgressUpdateFormatter.estimatedTimeToArrivalFormatter and introduced TripProgressUpdateFormatter.estimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
    
-   Fixed `MapboxNavigationSDKInitializerImpl` logic so that `uxfKey` is properly retrieved and sent over.
    
-   Fixed the condition for verifying the last good signal state in the offroad detection logic
    
-   Fixed incorrect calculation of a "missing part" of the route causing all lanes to be mark as divergent
    
-   Fixed EHorizon rural road objects sometimes marked as urban
    
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.
    
-   Improved reroute and alternative routes behavior
    
-   Fixed map matching bug after leaving a tunnel
    
-   Increased route stickiness in dead reckoning mode
    
-   Added ability to send raw unfused GNSS location in addition to fused one
    
-   Improved odometry and road graph fusing in urban canyons
    
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
    
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
    
-   Now service type is specified explicitly when foreground location service starts.
    
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
    
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
    
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
    
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
    
-   Fixed an issue preventing Copilot from correctly recording history events.
    
-   Improved reroute and alternative routes behavior
    
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
    
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
    
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
    
-   Fixed a crash caused by an overflow in the JNI global reference table.
    
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
    
-   Addressed several issues that occurred when switching to an alternative route.
    
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
    
-   Fixed UI jank caused by on-device TextToSpeech player.
    
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
    
-   Improve performance when handling large road objects on the eHorizon's MPP.
    
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
    
-   Fixed a crash due to incorrect OpenLR input data
    
-   Fixed a bug with spinning smoothed coordinate
    
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.
    

Mapbox dependencies:

-   Added `RouteCalloutUiStateProvider` class that allows to listen to Route Callout UI data. Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in `MapboxRouteLineApiOptions`. However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself. An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for Compose MapboxMap is done via [compose-specific API](https://docs.mapbox.com/android/maps/examples/compose/dynamic-view-annotations/), which is not currently supported by NavSDK. In this case you may listen to `RouteCalloutUiStateData` updates via `RouteCalloutUiStateProvider` and use its information by attach a DVA.
    
-   Fixed the incorrect order of callbacks when notifying about road cameras on the route.
    

Mapbox dependencies:

-   Added ability to filter by data source in EV charging station search operations.
    
-   Added `MapboxSpeedZoneInfo` class to represent speed zone information. Available through `UpcomingCamerasObserver::onSpeedZoneInfo` and `RoadCamerasMapCallback::onSpeedZoneInfo` callbacks.
    
-   Added experimental support for ADAS tiles in the predictive cache. See `PredictiveCacheNavigationOptions` for more information.
    
-   Optimize the `MapboxRouteArrowView` to skip re-rendering arrows that have not changed.
    
-   Decrased excessively high GeoJSON buffer size from 128 to 32 to improve the memory footprint.
    
-   Avoid unnecessary navigation arrow GeoJSON updates
    
-   Optimized camera animations that involve significant zoom change.
    
-   Fixed an issue where the closer part of route line might have been overlapped by a farther part in case they covered the same space within a single leg (e. g. U-turns on narrow roads).
    
-   Don't reset the re-route request when on-route/off-route events are flaky.
    
-   Use the `enhancedLocation` in the RoadCamerasManager class to get a more accurate current speed for the vehicle.
    

Mapbox dependencies:

-   Navigation-native `324.15.0`
-   Common SDK `24.15.0`
-   Maps SDK `11.15.0`
-   Android Search SDK `2.15.0`

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.12.0)

#### v3.12.0-rc.1 - 28 August, 2025

Changelog

-   Added `RouteCalloutUiStateProvider` class that allows to listen to Route Callout UI data. Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in `MapboxRouteLineApiOptions`. However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself. An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for Compose MapboxMap is done via [compose-specific API](https://docs.mapbox.com/android/maps/examples/compose/dynamic-view-annotations/), which is not currently supported by NavSDK. In this case you may listen to `RouteCalloutUiStateData` updates via `RouteCalloutUiStateProvider` and use its information by attach a DVA.
    
-   Fixed the incorrect order of callbacks when notifying about road cameras on the route.
    

Mapbox dependencies:

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.12.0-rc.1)

#### v3.12.0-beta.1 - 15 August, 2025

Changelog

-   Added ability to filter by data source in EV charging station search operations.
    
-   Added `MapboxSpeedZoneInfo` class to represent speed zone information. Available through `UpcomingCamerasObserver::onSpeedZoneInfo` and `RoadCamerasMapCallback::onSpeedZoneInfo` callbacks.
    
-   Added experimental support for ADAS tiles in the predictive cache. See `PredictiveCacheNavigationOptions` for more information.
    
-   Optimize the `MapboxRouteArrowView` to skip re-rendering arrows that have not changed.
    
-   Decreased excessively high GeoJSON buffer size from 128 to 32 to improve the memory footprint.
    
-   Avoid unnecessary navigation arrow GeoJSON updates
    
-   Optimized camera animations that involve significant zoom change.
    
-   Fixed an issue where the closer part of route line might have been overlapped by a farther part in case they covered the same space within a single leg (e. g. U-turns on narrow roads).
    
-   Don't reset the re-route request when on-route/off-route events are flaky.
    
-   Use the `enhancedLocation` in the RoadCamerasManager class to get a more accurate current speed for the vehicle.
    

Mapbox dependencies:

-   Navigation-native `324.15.0-beta.2`
-   Common SDK `24.15.0-beta.2`
-   Maps SDK `11.15.0-beta.2`
-   Android Search SDK `2.15.0-beta.2`

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.12.0-beta.1)

#### v3.11.9 - 21 October, 2025

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.14.8` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.14.8))
-   Mapbox Navigation Native `v324.14.8`
-   Mapbox Core Common `v24.14.8`
-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.9)

#### v3.11.8 - 19 September, 2025

Changelog

-   Fixed the issue that caused EV routes to not have any initial alternatives.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.14.6` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.14.6))
-   Mapbox Navigation Native `v324.14.6`
-   Mapbox Core Common `v24.14.6`
-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.8)

#### v3.11.7 - 11 September, 2025

Changelog

-   Limit raster image decoding to single worker thread

Mapbox dependencies:

-   Mapbox Java v7.6.0
-   Search SDK 2.14.3
-   Common SDK 24.14.5
-   Maps SDK 11.14.5

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.7)

#### v3.11.6 - 04 September, 2025

Changelog

-   Ignore invalid place types in offline search to prevent broken addresses
-   Avoid copying of ViewAnnotationOptions on every frame
-   Enforce optimization compile flags for the rendering code

Mapbox dependencies:

-   Mapbox Java `v7.6.0`
-   Search SDK 2.14.3
-   Common SDK 24.14.4
-   Maps SDK 11.14.4

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.6)

#### v3.11.5 - 04 September, 2025

Changelog

Mapbox dependencies:

-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))
-   Search SDK 2.14.2
-   Common SDK 24.14.4
-   Maps SDK 11.14.4

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.5)

#### v3.11.4 - 29 August, 2025

Changelog

-   Fixed the incorrect order of callbacks when notifying about road cameras on the route.
-   Clean up CalloutView properly when it's released.

### Mapbox dependencies

-   Mapbox Java v7.6.0
-   Search SDK 2.14.2
-   Common SDK 24.14.3
-   Maps SDK 11.14.3

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.4)

#### v3.11.3 - 18 August, 2025

Changelog

-   Added a new notification alert `OfflineManeuver:NotificationAlert`.

Mapbox dependencies:

-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.3)

#### v3.11.2 - 15 August, 2025

Changelog

-   Decreased excessively high GeoJSON buffer size from 128 to 32 to improve the memory footprint.

Mapbox dependencies:

-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))
-   Search SDK `2.14.2`
-   Common SDK `24.14.2`
-   Maps SDK `11.14.2`

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.2)

#### v3.11.1 - 08 August, 2025

Changelog

-   Avoid unnecessary navigation arrow GeoJSON updates
-   Optimize the `MapboxRouteArrowView` to skip re-rendering arrows that have not changed.
-   Use the `enhancedLocation` in the RoadCamerasManager class to get a more accurate current speed for the vehicle.

Mapbox dependencies:

-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.1)

#### v3.11.0 - 01 August, 2025

Changelog

-   Added `MapboxSpeedZoneInfo` class to represent speed zone information. Available through `UpcomingCamerasObserver::onSpeedZoneProgress` and `RoadCamerasMapCallback::onSpeedZoneProgress` callbacks.
    
-   Added experimental support for ADAS tiles in the predictive cache. See `PredictiveCacheNavigationOptions` for more information.
    
-   Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigationcore:navigation` -> `com.mapbox.navigationcore:navigation-ndk27`.
    
-   Added method overload `TilesetDescriptorFactory#getLatest(Boolean)` that allows to specify whether to include ADAS tiles.
    
-   Extracted TTS functionality into a new module `audio`.
    
-   DR improvements - more robust models for GNSS trust, road calibration, and wheel speed trust;
    
-   Improve main thread utilization by removing unintended locks (visible on systems with overloaded CPU)
    
-   Disable the defaults for collection of tunnel/bridge subgraphs in free drive. The clients will need to specify explicitly which objects to collect via AlertServiceOptions in the public SDK interface.
    
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
    
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
    
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
    
-   ⚠️ Breaking changes in Experimental API. `MapboxEvSearchClientFactory.#getInstance()` no longer accepts access token as a parameter. The default `MapboxOptions.accessToken` will be used.
    
-   `CarPlaceSearchOptions.accessToken` and corresponding builder function has been deprecated because `accessToken` is no longer in use as the search component now uses the default `MapboxOptions.accessToken`.
    
-   Used legacy/custom date primitives in EV modules to support older Android API levels.
    
-   Added `DriverNotification`, `DriverNotificationProvider` interfaces with `EvBetterRouteNotificationProvider` and `SlowTrafficNotificationProvider` implementations. Add new `DriverNotificationManager` API to attach or detach providers and `DriverNotificationManager.observeDriverNotification()` to handle the flow of driver notifications.
    
-   Added default location providers.
    
-   Added `EvBusyChargingStationNotificationProvider` to notify when the EV is charging station is busy and propose alternative route.
    
-   Added experimental `NavigationPerformance#performanceTracingEnabled` which enables/disables internal performance trace sections.
    
-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
    
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
    
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
    
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
    
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
    
-   Expose road type in the `MapboxRoadCamera`
    
-   Added support for section control speed cameras.
    
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
    
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
    
-   Added curvatures support on intersections in ADAS tiles
    
-   Reduced amount of error logs
    
-   Added periodic logs of Navigator/Cache configs
    
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
    
-   Improved off road transitions
    
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
    
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
    
-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
    
-   `DataInputsManager` now can be used from any thread.
    
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
    
-   Added option to display the route line with a blur effect.
    
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
    
-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
    
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
    
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
    
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
    
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
    
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
    
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
    
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
    
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
    
-   Added the ability to filter road names based on the system language
    
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
    
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
    
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
    
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
    
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
    
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
    
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
    
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
    
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
    
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
    
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
    
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
    
-   Optimized camera animations that involve significant zoom change.
    
-   Don't reset the re-route request when on-route/off-route events are flaky.
    
-   Improve visual Turn Experience in Active Guidance for high-frequency input
    
-   Adjust remaining distance on leg completion
    
-   Fixed an issue where the closer part of route line might have been overlapped by a farther part in case they covered the same space within a single leg (e. g. U-turns on narrow roads).
    
-   Obfuscate access_token in the RoadShield logs
    
-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
    
-   Added `HistoryRecorderOptions#shouldRecordRouteLineEvents` property to enable/disable route line events collection for manual recording (see `CopilotOptions#shouldRecordRouteLineEvents` for the same functionality with Copilot); it is disabled by default.
    
-   Fixed an issue where the Speed Camera notification would appear prematurely when the car's speed was 0.
    
-   Fix Route replayer: normalize bearing values to be in the range of [0..360) degrees.
    
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
    
-   Fix when already passed part of route appears behind CCP
    
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
    
-   Deprecated EstimatedTimeToArrivalFormatter and introduced EstimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
    
-   Deprecated TripProgressUpdateFormatter.estimatedTimeToArrivalFormatter and introduced TripProgressUpdateFormatter.estimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
    
-   Fixed `MapboxNavigationSDKInitializerImpl` logic so that `uxfKey` is properly retrieved and sent over.
    
-   Fixed the condition for verifying the last good signal state in the offroad detection logic
    
-   Fixed incorrect calculation of a "missing part" of the route causing all lanes to be mark as divergent
    
-   Fixed EHorizon rural road objects sometimes marked as urban
    
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.
    
-   Improved reroute and alternative routes behavior
    
-   Fixed map matching bug after leaving a tunnel
    
-   Increased route stickiness in dead reckoning mode
    
-   Added ability to send raw unfused GNSS location in addition to fused one
    
-   Improved odometry and road graph fusing in urban canyons
    
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
    
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
    
-   Now service type is specified explicitly when foreground location service starts.
    
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
    
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
    
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
    
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
    
-   Fixed an issue preventing Copilot from correctly recording history events.
    
-   Improved reroute and alternative routes behavior
    
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
    
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
    
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
    
-   Fixed a crash caused by an overflow in the JNI global reference table.
    
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
    
-   Addressed several issues that occurred when switching to an alternative route.
    
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
    
-   Fixed UI jank caused by on-device TextToSpeech player.
    
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
    
-   Improve performance when handling large road objects on the eHorizon's MPP.
    
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
    
-   Fixed a crash due to incorrect OpenLR input data
    
-   Fixed a bug with spinning smoothed coordinate
    
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.
    

Mapbox dependencies:

-   Mapbox Maps SDK `v11.14.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.14.0))
    
-   Mapbox Navigation Native `v324.14.0`
    
-   Mapbox Core Common `v24.14.0`
    
-   Mapbox Java `v7.6.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.6.0))
    
-   Obfuscate access_token in the RoadShield logs
    

Mapbox dependencies:

-   Mapbox Maps SDK `v11.14.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.14.0-rc.1))
    
-   Mapbox Navigation Native `v324.14.0-rc.1`
    
-   Mapbox Core Common `v24.14.0-rc.1`
    
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))
    
-   Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigationcore:navigation` -> `com.mapbox.navigationcore:navigation-ndk27`.
    
-   Added method overload `TilesetDescriptorFactory#getLatest(Boolean)` that allows to specify whether to include ADAS tiles.
    
-   Extracted TTS functionality into a new module `audio`.
    
-   DR improvements - more robust models for GNSS trust, road calibration, and wheel speed trust;
    
-   Improve main thread utilization by removing unintended locks (visible on systems with overloaded CPU)
    
-   Disable the defaults for collection of tunnel/bridge subgraphs in free drive. The clients will need to specify explicitly which objects to collect via AlertServiceOptions in the public SDK interface.
    
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
    
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
    
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
    
-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
    
-   Added `HistoryRecorderOptions#shouldRecordRouteLineEvents` property to enable/disable route line events collection for manual recording (see `CopilotOptions#shouldRecordRouteLineEvents` for the same functionality with Copilot); it is disabled by default.
    
-   Fixed an issue where the Speed Camera notification would appear prematurely when the car's speed was 0.
    
-   Fix Route replayer: normalize bearing values to be in the range of [0..360) degrees.
    
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
    
-   Fix when already passed part of route appears behind CCP
    

Mapbox dependencies:

-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.0)

#### v3.11.0-rc.1 - 21 July, 2025

Changelog

-   Obfuscate access_token in the RoadShield logs

Mapbox dependencies:

-   Mapbox Maps SDK `v11.14.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.14.0-rc.1))
-   Mapbox Navigation Native `v324.14.0-rc.1`
-   Mapbox Core Common `v24.14.0-rc.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.0-rc.1)

#### v3.11.0-beta.1 - 04 July, 2025

Changelog

-   Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigationcore:navigation` -> `com.mapbox.navigationcore:navigation-ndk27`.
    
-   Added method overload `TilesetDescriptorFactory#getLatest(Boolean)` that allows to specify whether to include ADAS tiles.
    
-   Extracted TTS functionality into a new module `audio`.
    
-   DR improvements - more robust models for GNSS trust, road calibration, and wheel speed trust;
    
-   Improve main thread utilization by removing unintended locks (visible on systems with overloaded CPU)
    
-   Disable the defaults for collection of tunnel/bridge subgraphs in free drive. The clients will need to specify explicitly which objects to collect via AlertServiceOptions in the public SDK interface.
    
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
    
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
    
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
    
-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
    
-   Added `HistoryRecorderOptions#shouldRecordRouteLineEvents` property to enable/disable route line events collection for manual recording (see `CopilotOptions#shouldRecordRouteLineEvents` for the same functionality with Copilot); it is disabled by default.
    
-   Fixed an issue where the Speed Camera notification would appear prematurely when the car's speed was 0.
    
-   Fix Route replayer: normalize bearing values to be in the range of [0..360) degrees.
    
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
    
-   Fix when already passed part of route appears behind CCP
    

Mapbox dependencies:

-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.11.0-beta.1)

#### v3.10.2 - 30 July, 2025

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.13.5` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.13.5))
-   Mapbox Navigation Native `v324.13.5`
-   Mapbox Core Common `v24.13.5`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.10.2)

#### v3.10.1 - 23 July, 2025

Changelog

-   Fixed an issue where the Speed Camera notification would appear prematurely when the car's speed was 0.
-   Improve locations simulation during signal outage in tunnels.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.13.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.13.4))
-   Mapbox Navigation Native `v324.13.4`
-   Mapbox Core Common `v24.13.4`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.10.1)

#### v3.10.0 - 19 June, 2025

Changelog

-   Improve road graph calibration in Dead Reckoning for more accurate localization in tunnel and urban canyon.
    
-   Improve wheel speed filtering for a more accurate trajectory in Dead Reckoning.
    
-   Introduced performance trace points for navigation
    
-   Added filtering inaccurate wheel speed for Dead Reckoning to reduce possible location jumps in case of wheel slippage
    
-   Added provide the latest tiles version when tileset descriptors requested with empty version.
    
-   Added support for delta updates for routing and ADAS tiles
    
-   Added reading of life-traffic-service and reporting them to ADASIS traffic events
    
-   Improved heading interpolation
    
-   Now `SensorData.Weather` can be instantiated with a list of `@WeatherCondition.Type` or detailed weather information represented by `@WeatherDetail.Type`.
    
-   ⚠️ Breaking changes in Experimental API. `SensorData.Weather` no longer has public property `conditionType`
    
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
    
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
    
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
    
-   ⚠️ Breaking changes in Experimental API. `MapboxEvSearchClientFactory.#getInstance()` no longer accepts access token as a parameter. The default `MapboxOptions.accessToken` will be used.
    
-   `CarPlaceSearchOptions.accessToken` and corresponding builder function has been deprecated because `accessToken` is no longer in use as the search component now uses the default `MapboxOptions.accessToken`.
    
-   Used legacy/custom date primitives in EV modules to support older Android API levels.
    
-   Added `DriverNotification`, `DriverNotificationProvider` interfaces with `EvBetterRouteNotificationProvider` and `SlowTrafficNotificationProvider` implementations. Add new `DriverNotificationManager` API to attach or detach providers and `DriverNotificationManager.observeDriverNotification()` to handle the flow of driver notifications.
    
-   Added default location providers.
    
-   Added `EvBusyChargingStationNotificationProvider` to notify when the EV is charging station is busy and propose alternative route.
    
-   Added experimental `NavigationPerformance#performanceTracingEnabled` which enables/disables internal performance trace sections.
    
-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
    
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
    
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
    
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
    
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
    
-   Expose road type in the `MapboxRoadCamera`
    
-   Added support for section control speed cameras.
    
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
    
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
    
-   Added curvatures support on intersections in ADAS tiles
    
-   Reduced amount of error logs
    
-   Added periodic logs of Navigator/Cache configs
    
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
    
-   Improved off road transitions
    
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
    
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
    
-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
    
-   `DataInputsManager` now can be used from any thread.
    
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
    
-   Added option to display the route line with a blur effect.
    
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
    
-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
    
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
    
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
    
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
    
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
    
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
    
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
    
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
    
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
    
-   Added the ability to filter road names based on the system language
    
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
    
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
    
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
    
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
    
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
    
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
    
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
    
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
    
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
    
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
    
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
    
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
    
-   Fixed cancel reroute on setting a route.
    
-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
    
-   Fixed incorrect route request with user added charging station
    
-   Fixed incorrect edge expansion during simulation by teleporting
    
-   Improved behavior on roundabouts: avoid cases when the vehicle position circles around the roundabout in case of matching errors
    
-   Fixed re-enabling route refresh after leg change
    
-   Removed caching of mapbox access token
    
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
    
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
    
-   Deprecated EstimatedTimeToArrivalFormatter and introduced EstimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
    
-   Deprecated TripProgressUpdateFormatter.estimatedTimeToArrivalFormatter and introduced TripProgressUpdateFormatter.estimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
    
-   Fixed `MapboxNavigationSDKInitializerImpl` logic so that `uxfKey` is properly retrieved and sent over.
    
-   Fixed the condition for verifying the last good signal state in the offroad detection logic
    
-   Fixed incorrect calculation of a "missing part" of the route causing all lanes to be mark as divergent
    
-   Fixed EHorizon rural road objects sometimes marked as urban
    
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.
    
-   Improved reroute and alternative routes behavior
    
-   Fixed map matching bug after leaving a tunnel
    
-   Increased route stickiness in dead reckoning mode
    
-   Added ability to send raw unfused GNSS location in addition to fused one
    
-   Improved odometry and road graph fusing in urban canyons
    
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
    
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
    
-   Now service type is specified explicitly when foreground location service starts.
    
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
    
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
    
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
    
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
    
-   Fixed an issue preventing Copilot from correctly recording history events.
    
-   Improved reroute and alternative routes behavior
    
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
    
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
    
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
    
-   Fixed a crash caused by an overflow in the JNI global reference table.
    
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
    
-   Addressed several issues that occurred when switching to an alternative route.
    
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
    
-   Fixed UI jank caused by on-device TextToSpeech player.
    
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
    
-   Improve performance when handling large road objects on the eHorizon's MPP.
    
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
    
-   Fixed a crash due to incorrect OpenLR input data
    
-   Fixed a bug with spinning smoothed coordinate
    
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.
    

Mapbox dependencies:

-   Mapbox Maps SDK `v11.13.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.13.1))
-   Mapbox Navigation Native `v324.13.1`
-   Mapbox Core Common `v24.13.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.10.0)

#### v3.10.0-rc.1 - 06 June, 2025

Changelog

-   Introduced performance trace points for navigation
    
-   Added filtering inaccurate wheel speed for Dead Reckoning to reduce possible location jumps in case of wheel slippage
    
-   Added provide the latest tiles version when tileset descriptors requested with empty version.
    
-   Added support for delta updates for routing and ADAS tiles
    
-   Added reading of life-traffic-service and reporting them to ADASIS traffic events
    
-   Improved heading interpolation
    
-   Fixed incorrect route request with user added charging station
    
-   Fixed incorrect edge expansion during simulation by teleporting
    
-   Improved behavior on roundabouts: avoid cases when the vehicle position circles around the roundabout in case of matching errors
    
-   Fixed re-enabling route refresh after leg change
    
-   Removed caching of mapbox access token
    

Mapbox dependencies:

-   Mapbox Maps SDK `v11.13.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.13.0-rc.1))
-   Mapbox Navigation Native `v324.13.0-rc.1`
-   Mapbox Core Common `v24.13.0-rc.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.10.0-rc.1)

#### v3.10.0-beta.2 - 30 May, 2025

Changelog

-   Now `SensorData.Weather` can be instantiated with a list of `@WeatherCondition.Type` or detailed weather information represented by `@WeatherDetail.Type`.
    
-   ⚠️ Breaking changes in Experimental API. `SensorData.Weather` no longer has public property `conditionType`
    
-   `RoadCamerasManager` in active guidance now relies on new `road_camera` Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
    
-   Added `MapboxRoadCamera::activeGuidanceInfo`, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
    
-   Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
    
-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
    

Mapbox dependencies:

-   Mapbox Maps SDK `v11.13.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.13.0-beta.1))
-   Mapbox Navigation Native `v324.13.0-beta.1`
-   Mapbox Core Common `v24.13.0-beta.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.10.0-beta.2)

#### v3.10.0-beta.1 - 22 May, 2025

Changelog

-   ⚠️ Breaking changes in Experimental API. `MapboxEvSearchClientFactory.#getInstance()` no longer accepts access token as a parameter. The default `MapboxOptions.accessToken` will be used.
-   `CarPlaceSearchOptions.accessToken` and corresponding builder function has been deprecated because `accessToken` is no longer in use as the search component now uses the default `MapboxOptions.accessToken`.
-   Used legacy/custom date primitives in EV modules to support older Android API levels.
-   Added `DriverNotification`, `DriverNotificationProvider` interfaces with `EvBetterRouteNotificationProvider` and `SlowTrafficNotificationProvider` implementations. Add new `DriverNotificationManager` API to attach or detach providers and `DriverNotificationManager.observeDriverNotification()` to handle the flow of driver notifications.
-   Added default location providers.
-   Added `EvBusyChargingStationNotificationProvider` to notify when the EV is charging station is busy and propose alternative route.
-   Added experimental `NavigationPerformance#performanceTracingEnabled` which enables/disables internal performance trace sections.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.13.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.13.0-beta.1))
-   Mapbox Navigation Native `v324.13.0-beta.1`
-   Mapbox Core Common `v24.13.0-beta.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.10.0-beta.1)

#### v3.9.5 - 17 July, 2025

Changelog

-   Fix issue for customers who are unable to compile due to codesign issues.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.4))
-   Mapbox Navigation Native `v324.12.5`
-   Mapbox Core Common `v24.12.5`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.5)

#### v3.9.4 - 12 June, 2025

Changelog

-   Fixed an issue where after a reroute the vanishing point on the route line might have been ahead of the actual vehicle's position.
-   Improved road graph calibration in Dead Reckoning for more accurate localization in tunnel and urban canyon.
-   Fixed corner cases when Dead Reckoning cannot use the road graph for correction; improved wheel speed filtering for a more accurate trajectory.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.4` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.4))
-   Mapbox Navigation Native `v324.12.4`
-   Mapbox Core Common `v24.12.4`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.4)

#### v3.9.3 - 05 June, 2025

Changelog

-   Filter inaccurate wheel speed for Dead Reckoning to reduce possible location jumps in case of wheel slippage
-   Support strict road heading to avoid drift on turns with 1Hz by ability to disable heading interpolation for keypoints and road heading policy.

-   Added experimental `NavigationPerformance#performanceTracingEnabled` which enables/disables internal performance trace sections.

-   Fixed a bug where alternative routes from `RoutesUpdatedResult#ignoredRoutes` were set to `RoutesUpdatedResult#navigationRoutes` after the first route progress update.
-   Improved behavior on roundabouts: avoid cases when the vehicle position circles around the roundabout in case of matching errors
-   Fixed incorrect route request with user added charging

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.3))
-   Mapbox Navigation Native `v324.12.3`
-   Mapbox Core Common `v24.12.3`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.3)

#### v3.9.2 - 23 May, 2025

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.2))
-   Mapbox Navigation Native `v324.12.2`
-   Mapbox Core Common `v24.12.2`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.2)

#### v3.9.1 - 19 May, 2025

Changelog

-   Optimized `MapboxRouteLineView#renderRouteLineUpdate` execution time.
-   Fixed missing successful callback in `MapboxNavigation#switchToAlternativeRoute`.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.1))
-   Mapbox Navigation Native `v324.12.1`
-   Mapbox Core Common `v24.12.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.1)

#### v3.9.0 - 09 May, 2025

Changelog

-   Support road cameras in free drive. Enable by calling `RoadCamerasManager.instance.isActiveInFreeDrive = true` and adjust display config `MapboxRoadCamerasDisplayConfig.Builder().showInFreeDrive(true).build()`.
-   Added experimental `NavigationPerformance#performanceInfoLoggingEnabled` which allows applications to enable info level logging of performance information.
-   Added experimental `MapboxNavigation#switchToAlternativeRoute` that support switching between alternative routes with different amount of waypoints.
-   Add `DriverNotification`, `DriverNotificationProvider` interfaces with `EvBetterRouteNotificationProvider` and `SlowTrafficNotificationProvider` implementations. Add new `DriverNotificationManager` API to attach or detach providers and `DriverNotificationManager.observeDriverNotification()` to handle the flow of driver notifications
-   Added utility class `GeoUtils` which provide functionality to calculate unique identifier for provided link (part of a road between two intersection).
-   Added `EHorizonOptions#enableEnhancedDataAlongEH` flag to control access to enhanced data attributes (from ADAS data layer).
-   Added a new function `MapboxRouteShieldApi#getRoadComponentsShields` which accepts a list of `RoadComponent`.
-   Added support for `exclude_operators` parameter in EV search.
-   Clear caches when device memory is low.
-   Added helpPhone field to EV Location class.
-   ⚠️ Breaking changes in Experimental API. `AdasSpeedLimitRestriction.VehicleType` has been moved to `com.mapbox.navigation.base.model.VehicleType`.
-   ⚠️ Breaking changes in Experimental API: MapboxRouteCalloutApi and MapboxRouteCalloutView are no longer publicly available.
-   New option MapboxRouteLineApiOptions#isRouteCalloutsEnabled to allow MapboxRouteLineApi calculate data for route callouts.
-   New function MapboxRouteLineView#enableCallouts now allows to render route callouts on the map by setting an adapter.
-   Added DefaultRouteCalloutAdapter which provides a built-in adapter for route callouts.
-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
-   Expose road type in the `MapboxRoadCamera`
-   Added support for section control speed cameras.
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
-   Added curvatures support on intersections in ADAS tiles
-   Reduced amount of error logs
-   Added periodic logs of Navigator/Cache configs
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
-   Improved off road transitions
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
-   `DataInputsManager` now can be used from any thread.
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
-   Added option to display the route line with a blur effect.
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
-   Road Cameras that are no longer relevant for navigation will be removed from all the components to clean up resources.
-   Improved EV bounding box search to maximize charging station coverage within the selected area.
-   Added support for filter operators with spaces in EV Search.
-   Fixed crash on invalid EV time parsing
-   Allow to search charging stations in large areas.
-   Added filter for zero-powered charging stations on EV layer
-   Fixed an issue where the location indicator might have teleported back to tunnel after exiting it.
-   Fixed an issue where overriding camera pitch to 0 caused the camera to go into "maneuver framing" mode.
-   Improved EV charging station search along the route to provide more evenly distributed results.
-   Processing of road cameras on location update has been moved from the main to the background thread
-   Removed usages of APIs that prevented Copilot from working on devices with Android 7 or older.
-   Optimized road cameras processing logic to reduce ANRs.
-   Improved charging stations selection when doing EV search in bounding box.
-   Fixed jumps in location updates reported by `com.mapbox.navigation.core.trip.session.LocationObserver`. The jumps started to happen after navigation tiles version switch reported in `NavigationVersionSwitchObserver`.
-   Fixed an issue with not working EV requests on a systems without Google Play Services.
-   Optimize road cameras calculation in route preview mode
-   Fixed incorrect events from RoadCameras Callback interface.
-   Fixed an alternative Callout point to primary route.
-   Improved `MapboxNavigationViewportDataSource#evaluate` performance.
-   Added automatic pause/resume of all direction calls when a navigation session stops/starts.
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
-   Deprecated EstimatedTimeToArrivalFormatter and introduced EstimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
-   Deprecated TripProgressUpdateFormatter.estimatedTimeToArrivalFormatter and introduced TripProgressUpdateFormatter.estimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
-   Fixed `MapboxNavigationSDKInitializerImpl` logic so that `uxfKey` is properly retrieved and sent over.
-   Fixed the condition for verifying the last good signal state in the offroad detection logic
-   Fixed incorrect calculation of a "missing part" of the route causing all lanes to be mark as divergent
-   Fixed EHorizon rural road objects sometimes marked as urban
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.
-   Improved reroute and alternative routes behavior
-   Fixed map matching bug after leaving a tunnel
-   Increased route stickiness in dead reckoning mode
-   Added ability to send raw unfused GNSS location in addition to fused one
-   Improved odometry and road graph fusing in urban canyons
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
-   Now service type is specified explicitly when foreground location service starts.
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Fixed an issue preventing Copilot from correctly recording history events.
-   Improved reroute and alternative routes behavior
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.0))
-   Mapbox Navigation Native `v324.12.0`
-   Mapbox Core Common `v24.12.0`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.0)

#### v3.9.0-rc.1 - 24 April, 2025

Changelog

-   Added utility class `GeoUtils` which provide functionality to calculate unique identifier for provided link (part of a road between two intersection).
-   Improved EV bounding box search to maximize charging station coverage within the selected area.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.0-rc.1))
-   Mapbox Navigation Native `v324.12.0-rc.1`
-   Mapbox Core Common `v24.12.0-rc.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.0-rc.1)

#### v3.9.0-beta.1 - 11 April, 2025

Changelog

-   Added `EHorizonOptions#enableEnhancedDataAlongEH` flag to control access to enhanced data attributes (from ADAS data layer).
-   Added a new function `MapboxRouteShieldApi#getRoadComponentsShields` which accepts a list of `RoadComponent`.
-   Added support for `exclude_operators` parameter in EV search.
-   Clear caches when device memory is low.
-   Added helpPhone field to EV Location class.
-   ⚠️ Breaking changes in Experimental API. `AdasSpeedLimitRestriction.VehicleType` has been moved to `com.mapbox.navigation.base.model.VehicleType`.
-   ⚠️ Breaking changes in Experimental API: MapboxRouteCalloutApi and MapboxRouteCalloutView are no longer publicly available.
-   New option MapboxRouteLineApiOptions#isRouteCalloutsEnabled to allow MapboxRouteLineApi calculate data for route callouts.
-   New function MapboxRouteLineView#enableCallouts now allows to render route callouts on the map by setting an adapter.
-   Added DefaultRouteCalloutAdapter which provides a built-in adapter for route callouts.
-   `TilesetDescriptorFactory#build` and `TilesetDescriptorFactory#getSpecificVersion` function now provide overloaded variants that accept a flag whether ADAS tiles should be loaded.
-   Support for danger zones in countries with legal restrictions on displaying speed camera locations (e.g. France)
-   Added support of `evInsufficientCharge`, `evMinChargeAtChargingStation`, `evMinChargeAtDestination`, and `stationUnavailable` notifications objects.
-   Added new experimental function `MapboxNavigation#getRoadGraphVersionInfo` that retrieves current road graph version information.
-   Added support of `exclude` parameter to EV Search.
-   ⚠️ Breaking changes in Experimental API. Function `MapboxRouteLineView#enableCallouts` has been renamed to `MapboxRouteLineView#setCalloutAdapter`
-   ⚠️ Breaking changes in Experimental API. Function `MapboxRouteLineView#disableCallouts` has been renamed to `MapboxRouteLineView#clearCalloutAdapter`
-   Clear route callout adapter once `MapboxRouteLineView#cancel` called
-   ⚠️ Breaking changes in Experimental API. Function `MapboxRouteLineView#enableCallouts` has been renamed to `MapboxRouteLineView#setCalloutAdapter`
-   ⚠️ Breaking changes in Experimental API. Function `MapboxRouteLineView#disableCallouts` has been renamed to `MapboxRouteLineView#clearCalloutAdapter`
-   Clear route callout adapter once `MapboxRouteLineView#cancel` called
-   Added flag `RoadCamerasManager::isActiveInRoutePreview` to activate the road cameras preview (default is `false`).
-   Added `MapboxNavigationViewportDataSource#isFramingManeuverPropertyOverride` property to explicitly set the camera to framing-maneuver / non-framing-maneuver mode. Note that it is a delicate API and for most cases you don't need to override this property. Use this method only if you are sure that's the only way to achieve the desired behaviour.
-   Added a way to preview all road cameras for a given route using `RoadCamerasManager::previewCamerasOnRoute`.
-   Added `MapboxRouteCalloutApiOptions#maxZoom` to allow for setting a maximum zoom level for the route callout. This is useful for preventing the route callout from being displayed at high zoom levels.
-   Added `MapboxRouteCalloutApiOptions#minZoom` to allow for setting a minimum zoom level for the route callout. This is useful for preventing the route callout from being displayed at low zoom levels.
-   Added `MapboxRouteCalloutApiOptions#priority` to allow for setting the priority of the route callout. This is useful for determining the order in which the route callout is displayed when multiple *Dynamic View Annotations* are present on the map.
-   Added a `NavigationCamera` constructor that accepts `UpdateFrameAnimatorsOptions`. This allows NavSDK to execute the update frame animations in a more performant way. By default, NavSDK supports any type of dependencies between animators in a compound frame update animation. Meaning that center, zoom, padding, pitch and bearing animators can form any dependencies graph supported by `AnimatorSet` API. However, this may poorly influence the performance. If you pass `updateFrameAnimatorsOptions` with `UpdateFrameAnimatorsOptions#useSimplifiedAnimatorsDependency` set to true, NavSDK will assume the following restrictions for update frame animations:

1.  They are played together (started at the same time);
2.  They don't have start delays. Note 1: they can still be of different duration. Note 2: this is ony relevant for update frame animations. For state transition animations (`NavigationCameraStateTransition#transitionToFollowing` and `NavigationCameraStateTransition#transitionToOverview`) no such assumptions are made. This allows NavSDK to execute the animations in a more performant way. If this simplified setup works for you (it's especially important to check these conditions if you use custom `NavigationCameraStateTransition`), you can set `UpdateFrameAnimatorsOptions#useSimplifiedAnimatorsDependency`]` to true for simpler, but more optimized update frame animations.

-   Added support for Lane Control and Passage Control road cameras.
-   Exposed MapGPT as a Navigation SDK Core Framework Module.
-   Added support for filter operators with spaces in EV Search.
-   Fixed crash on invalid EV time parsing
-   Allow to search charging stations in large areas.
-   Added filter for zero-powered charging stations on EV layer
-   Fixed an issue where the location indicator might have teleported back to tunnel after exiting it.
-   Fixed an issue where overriding camera pitch to 0 caused the camera to go into "maneuver framing" mode.
-   Improved EV charging station search along the route to provide more evenly distributed results.
-   Processing of road cameras on location update has been moved from the main to the background thread
-   Removed usages of APIs that prevented Copilot from working on devices with Android 7 or older.
-   Optimized road cameras processing logic to reduce ANRs.
-   Improved charging stations selection when doing EV search in bounding box.
-   Fixed jumps in location updates reported by `com.mapbox.navigation.core.trip.session.LocationObserver`. The jumps started to happen after navigation tiles version switch reported in `NavigationVersionSwitchObserver`.
-   Fixed an issue with not working EV requests on a systems without Google Play Services.
-   Optimize road cameras calculation in route preview mode
-   Fixed incorrect events from RoadCameras Callback interface.
-   Fixed an alternative Callout point to primary route.
-   Improved `MapboxNavigationViewportDataSource#evaluate` performance.
-   Added automatic pause/resume of all direction calls when a navigation session stops/starts.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.12.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.12.0-beta.1))
-   Mapbox Navigation Native `v324.12.0-beta.1`
-   Mapbox Core Common `v24.12.0-beta.1`
-   Mapbox Java `v7.4.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.4.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.9.0-beta.1)

#### v3.8.6 - 16 May, 2025

Changelog

-   Added experimental `NavigationPerformance#performanceInfoLoggingEnabled` which allows applications to enable info level logging of performance information.
-   Fixed a crash that could happen when the app enters background and the view is destroyed.
-   Fixed a crash in the route alternatives controller when the current route is a postfix of an incoming alternative.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.1))
-   Mapbox Navigation Native `v324.0.4`
-   Mapbox Core Common `v24.11.4`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.6)

#### v3.8.5 - 23 April, 2025

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0))
-   Mapbox Navigation Native `v324.0.3`
-   Mapbox Core Common `v24.11.3`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.5)

#### v3.8.4 - 17 April, 2025

Changelog

-   Improved EV bounding box search to maximize charging station coverage within the selected area.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0))
-   Mapbox Navigation Native `v324.0.2`
-   Mapbox Core Common `v24.11.2`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.4)

#### v3.8.3 - 10 April, 2025

Changelog

-   Fixed crash in ADAS tiles loading.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0))
-   Mapbox Navigation Native `v324.0.1`
-   Mapbox Core Common `v24.11.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.3)

#### v3.8.2 - 02 April, 2025

Changelog

-   Added `MapboxNavigationViewportDataSource#isFramingManeuverPropertyOverride` property to explicitly set the camera to framing-maneuver / non-framing-maneuver mode. Note that it is a delicate API and for most cases you don't need to override this property. Use this method only if you are sure that's the only way to achieve the desired behaviour.
-   Added support for filter operators with spaces in EV Search.
-   Improved charging stations selection when doing EV search in bounding box.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0))
-   Mapbox Navigation Native `v324.0.0`
-   Mapbox Core Common `v24.11.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.2)

#### v3.8.1 - 31 March, 2025

Changelog

-   Fixed an issue with not working EV requests on a systems without Google Play Services.
-   Added automatic pause/resume of all direction calls when a navigation session stops/starts.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0))
-   Mapbox Navigation Native `v324.0.0`
-   Mapbox Core Common `v24.11.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.1)

#### v3.8.0 - 28 March, 2025

Changelog

-   Added helpPhone field to EV Location class.
-   Added support of `exclude` parameter to EV Search.
-   ⚠️ Breaking changes in Experimental API. `AdasSpeedLimitRestriction.VehicleType` has been moved to `com.mapbox.navigation.base.model.VehicleType`.
-   Added new flag `LocationMatcherResult#isAdasDataAvailable` indicating whether ADAS data available at current position.
-   Added support for Lane Control and Passage Control road cameras.
-   ⚠️ Breaking changes in Experimental API: `MapboxRouteCalloutApi` and `MapboxRouteCalloutView` are no longer publicly available.
-   New option `MapboxRouteLineApiOptions#isRouteCalloutsEnabled` to allow `MapboxRouteLineApi` calculate data for route callouts.
-   New function `MapboxRouteLineView#enableCallouts` now allows to render route callouts on the map by setting an adapter.
-   Added `DefaultRouteCalloutAdapter` which provides a built-in adapter for route callouts.
-   Compensate input location stream outages with Odometry (when provided)
-   Added `MapboxRouteCalloutApiOptions#maxZoom` to allow for setting a maximum zoom level for the route callout. This is useful for preventing the route callout from being displayed at high zoom levels.
-   Added `MapboxRouteCalloutApiOptions#minZoom` to allow for setting a minimum zoom level for the route callout. This is useful for preventing the route callout from being displayed at low zoom levels.
-   Added `MapboxRouteCalloutApiOptions#priority` to allow for setting the priority of the route callout. This is useful for determining the order in which the route callout is displayed when multiple *Dynamic View Annotations* are present on the map.
-   Exposed MapGPT as a Navigation SDK Core Framework Module.
-   Added support for `exclude_operators` parameter in EV search.
-   Added a new function `MapboxRouteShieldApi#getRoadComponentsShields` which accepts a list of `RoadComponent`.
-   Clear caches when device memory is low.
-   Support for danger zones in countries with legal restrictions on displaying speed camera locations (e.g. France)
-   Added a way to preview all road cameras for a given route using `RoadCamerasManager::previewCamerasOnRoute`.
-   Avoid unnecessary bandwidth/memory consumption caused by loading of ADAS tiles if eHorizon is enabled while the ADASIS is unused.
-   Support the stable output frequency for the internal DR and improve error recovery and calibration procedure.
-   Improved EV charging station search along the route to provide more evenly distributed results.
-   Processing of road cameras on location update has been moved from the main to the background thread
-   Added `EHorizonOptions#enableEnhancedDataAlongEH` flag to control access to enhanced data attributes (from ADAS data layer).
-   Fixed an alternative Callout point to primary route.
-   Fixed an issue where overriding camera pitch to 0 caused the camera to go into "maneuver framing" mode.
-   Removed usages of APIs that prevented Copilot from working on devices with Android 7 or older.
-   Optimized road cameras processing logic to reduce ANRs.
-   Added filter for zero-powered charging stations on EV layer
-   Fixed jumps in location updates reported by `com.mapbox.navigation.core.trip.session.LocationObserver`. The jumps started to happen after navigation tiles version switch reported in `NavigationVersionSwitchObserver`.
-   Fixed incorrect events from RoadCameras Callback interface.
-   Fixed crash on invalid EV time parsing
-   Fixed an issue where the location indicator might have teleported back to tunnel after exiting it.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0))
-   Mapbox Navigation Native `v324.0.0`
-   Mapbox Core Common `v24.11.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.0)

#### v3.8.0-rc.1 - 14 March, 2025

Changelog

-   ⚠️ Breaking changes in Experimental API: `MapboxRouteCalloutApi` and `MapboxRouteCalloutView` are no longer publicly available.
-   New option `MapboxRouteLineApiOptions#isRouteCalloutsEnabled` to allow `MapboxRouteLineApi` calculate data for route callouts.
-   New function `MapboxRouteLineView#enableCallouts` now allows to render route callouts on the map by setting an adapter.
-   Added `DefaultRouteCalloutAdapter` which provides a built-in adapter for route callouts.
-   Compensate input location stream outages with Odometry (when provided)

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0-rc.1))
-   Mapbox Navigation Native `v324.0.0-rc.1`
-   Mapbox Core Common `v24.11.0-rc.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.0-rc.1)

#### v3.8.0-beta.1 - 03 March, 2025

Changelog

-   Added `MapboxRouteCalloutApiOptions#maxZoom` to allow for setting a maximum zoom level for the route callout. This is useful for preventing the route callout from being displayed at high zoom levels.
-   Added `MapboxRouteCalloutApiOptions#minZoom` to allow for setting a minimum zoom level for the route callout. This is useful for preventing the route callout from being displayed at low zoom levels.
-   Added `MapboxRouteCalloutApiOptions#priority` to allow for setting the priority of the route callout. This is useful for determining the order in which the route callout is displayed when multiple *Dynamic View Annotations* are present on the map.
-   Exposed MapGPT as a Navigation SDK Core Framework Module.
-   Added support for `exclude_operators` parameter in EV search.
-   Added a new function `MapboxRouteShieldApi#getRoadComponentsShields` which accepts a list of `RoadComponent`.
-   Clear caches when device memory is low.
-   Support for danger zones in countries with legal restrictions on displaying speed camera locations (e.g. France)
-   Added a way to preview all road cameras for a given route using `RoadCamerasManager::previewCamerasOnRoute`.
-   Fixed an alternative Callout point to primary route.
-   Fixed an issue where overriding camera pitch to 0 caused the camera to go into "maneuver framing" mode.
-   Removed usages of APIs that prevented Copilot from working on devices with Android 7 or older.
-   Optimized road cameras processing logic to reduce ANRs.
-   Added filter for zero-powered charging stations on EV layer
-   Fixed jumps in location updates reported by `com.mapbox.navigation.core.trip.session.LocationObserver`. The jumps started to happen after navigation tiles version switch reported in `NavigationVersionSwitchObserver`.
-   Fixed incorrect events from RoadCameras Callback interface.
-   Fixed crash on invalid EV time parsing
-   Fixed an issue where the location indicator might have teleported back to tunnel after exiting it.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.11.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.11.0-beta.1))
-   Mapbox Navigation Native `v324.0.0-beta.1`
-   Mapbox Core Common `v24.11.0-beta.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.8.0-beta.1)

#### v3.7.5 - 31 March, 2025

Changelog

-   Added automatic pause/resume of all direction calls when a navigation session stops/starts.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.3))
-   Mapbox Navigation Native `v323.0.2`
-   Mapbox Core Common `v24.10.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.5)

#### v3.7.4 - 27 March, 2025

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.3))
-   Mapbox Navigation Native `v323.0.2`
-   Mapbox Core Common `v24.10.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.4)

#### v3.7.3 - 21 March, 2025

Changelog

-   Fixed an issue that could cause offline tiles to be either inaccessible or incorrect when updating an older tile store database created with Navigation SDK 3.6 or earlier versions.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.3))
-   Mapbox Navigation Native `v323.0.2`
-   Mapbox Core Common `v24.10.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.3)

#### v3.7.2 - 17 March, 2025

Changelog

-   Fixed an issue with not working EV requests on a systems without Google Play Services.
-   Avoid unnecessary bandwidth/memory consumption caused by loading of ADAS tiles if eHorizon is enabled while the ADASIS is unused

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.2))
-   Mapbox Navigation Native `v323.0.1`
-   Mapbox Core Common `v24.10.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.2)

#### v3.7.1 - 28 February, 2025

Changelog

-   Added a way to preview all road cameras for a given route using `RoadCamerasManager::previewCamerasOnRoute`.
-   Optimized road cameras processing logic to reduce ANRs.
-   Fixed incorrect events from RoadCameras Callback interface.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.2))
-   Mapbox Navigation Native `v323.0.0`
-   Mapbox Core Common `v24.10.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.1)

#### v3.7.0 - 14 February, 2025

Changelog

-   Added `MapboxRouteCalloutApiOptions#maxZoom` to allow for setting a maximum zoom level for the route callout. This is useful for preventing the route callout from being displayed at high zoom levels.
-   Added `MapboxRouteCalloutApiOptions#minZoom` to allow for setting a minimum zoom level for the route callout. This is useful for preventing the route callout from being displayed at low zoom levels.
-   Added `MapboxRouteCalloutApiOptions#priority` to allow for setting the priority of the route callout. This is useful for determining the order in which the route callout is displayed when multiple *Dynamic View Annotations* are present on the map.
-   Improved stability of sensor based Dead Reckoning.
-   Support for danger zones in countries with legal restrictions on displaying speed camera locations (e.g. France)
-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
-   Expose road type in the `MapboxRoadCamera`
-   Added support for section control speed cameras.
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
-   Added curvatures support on intersections in ADAS tiles
-   Reduced amount of error logs
-   Added periodic logs of Navigator/Cache configs
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
-   Improved off road transitions
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
-   Fixed an alternative Callout point to primary route.
-   Use reliable vehicle pitch during throttling.
-   Fixed an issue where the location indicator might have teleported back to tunnel after exiting it.
-   Added filter for zero-powered charging stations on EV layer

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.0))
-   Mapbox Navigation Native `v323.0.0`
-   Mapbox Core Common `v24.10.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.0)

#### v3.7.0-rc.1 - 03 February, 2025

Changelog

-   Support for danger zones in countries with legal restrictions on displaying speed camera locations (e.g. France)
-   Fixed an issue where the location indicator might have teleported back to tunnel after exiting it.
-   Added filter for zero-powered charging stations on EV layer

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.0-rc.1))
-   Mapbox Navigation Native `v323.0.0-rc.1`
-   Mapbox Core Common `v24.10.0-rc.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.0-rc.1)

#### v3.7.0-beta.1 - 22 January, 2025

Changelog

-   Add `MapboxRoadCamera::inOnRoute` flag which indicates if the roiad camera is on the current route.
-   Add `MapboxRoadCamerasDisplayConfig::showOnlyOnRoute` config parameter to display only road cameras on the route.
-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
-   New experimental property `LocationMatcherResult.correctedLocationData` is available.
-   New experimental function `GraphAccessor.getAdasisEdgeAttributes()` is available. It returns ADAS attributes for the requested edge.
-   Expose road type in the `MapboxRoadCamera`
-   Added support for section control speed cameras.
-   Extended `MapboxTripProgressApi` to provide information about time zone at leg/route destination.
-   Added `TripProgressUpdateFormatter.getEstimatedTimeToArrival` overload that formats ETA using a given time zone.
-   Added curvatures support on intersections in ADAS tiles
-   Reduced amount of error logs
-   Added periodic logs of Navigator/Cache configs
-   Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
-   Improved off road transitions
-   :warning: Breaking changes in Experimental API `MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView)`. It's required to associate Route line with Callout View.
-   Added experimental `SearchAlongRouteUtils` class to optimize search along routes scenario by providing optimally selected points.
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
-   Deprecated EstimatedTimeToArrivalFormatter and introduced EstimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
-   Deprecated TripProgressUpdateFormatter.estimatedTimeToArrivalFormatter and introduced TripProgressUpdateFormatter.estimatedTimeOfArrivalFormatter, which allows to format ETA with respect to destination time zone.
-   Fixed `MapboxNavigationSDKInitializerImpl` logic so that `uxfKey` is properly retrieved and sent over.
-   Fixed the condition for verifying the last good signal state in the offroad detection logic
-   Fixed incorrect calculation of a "missing part" of the route causing all lanes to be mark as divergent
-   Fixed EHorizon rural road objects sometimes marked as urban
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.10.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.10.0-beta.1))
-   Mapbox Navigation Native `v323.0.0-beta.2`
-   Mapbox Core Common `v24.10.0-beta.2`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.7.0-beta.1)

#### v3.6.2 - 06 February, 2025

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.9.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.9.2))
-   Mapbox Navigation Native `v322.1.0`
-   Mapbox Core Common `v24.9.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.6.2)

#### v3.6.1 - 21 January, 2025

Changelog

-   Fixed native crash on reroute

Mapbox dependencies:

-   Mapbox Maps SDK `v11.9.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.9.1))
-   Mapbox Navigation Native `v322.1.0`
-   Mapbox Core Common `v24.9.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.6.1)

#### v3.6.0 - 23 December, 2024

Changelog

-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.
-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
-   `DataInputsManager` now can be used from any thread.
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
-   Added option to display the route line with a blur effect.
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.
-   Avoid filtering too similar alternative if the difference is a charging point.
-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.
-   Improved reroute and alternative routes behavior
-   Fixed map matching bug after leaving a tunnel
-   Increased route stickiness in dead reckoning mode
-   Added ability to send raw unfused GNSS location in addition to fused one
-   Improved odometry and road graph fusing in urban canyons
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
-   Now service type is specified explicitly when foreground location service starts.
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Fixed an issue preventing Copilot from correctly recording history events.
-   Improved reroute and alternative routes behavior
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.9.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.9.0))
-   Mapbox Navigation Native `v322.0.0`
-   Mapbox Core Common `v24.9.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.6.0)

#### v3.6.0-rc.1 - 12 December, 2024

Changelog

-   Added support for EV charge point tariffs accessible via `EvStation.tariffs`.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.9.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.9.0-rc.1))
-   Mapbox Navigation Native `v322.0.0-rc.1`
-   Mapbox Core Common `v24.9.0-rc.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.6.0-rc.1)

#### v3.6.0-beta.1 - 29 November, 2024

Changelog

-   Added experimental `RoutingTilesOptions#hdTilesOptions` to configure HD tiles endpoint.
-   `DataInputsManager` now can be used from any thread.
-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
-   Added option to display the route line with a blur effect.
-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
-   Improved reroute and alternative routes behavior
-   Fixed map matching bug after leaving a tunnel
-   Increased route stickiness in dead reckoning mode
-   Added ability to send raw unfused GNSS location in addition to fused one
-   Improved odometry and road graph fusing in urban canyons
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
-   Now service type is specified explicitly when foreground location service starts.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.9.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.9.0-beta.1))
-   Mapbox Navigation Native `v322.0.0-beta.1`
-   Mapbox Core Common `v24.9.0-beta.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.6.0-beta.1)

#### v3.5.7 - 19 December, 2024

Changelog

-   Fixed the wiring between the native navigator and the inputs service (relevant for advanced integrations only).

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.1.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.7)

#### v3.5.6 - 18 December, 2024

Changelog

-   Fixed a bug that happened during reroute in case if initial route was requested with `approaches` option specified.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.1.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.6)

#### v3.5.5 - 16 December, 2024

Changelog

-   Fixed a crash that happened on foreground service start on Android APIs 28 and below.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.1.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.5)

#### v3.5.4 - 05 December, 2024

Changelog

-   Nav SDK now avoids simulating location for the `DeviceType.HANDHELD`, when the input signal disappears for more than 3 seconds outside of tunnels.
-   Introduced wheel-based simulation in tunnels for the `DeviceType.HANDHELD` if the speed is available. This feature is disabled by default.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.1.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.4)

#### v3.5.3 - 29 November, 2024

Changelog

-   Improved loading speed of the EV charging layer.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.0.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.3)

#### v3.5.2 - 22 November, 2024

Changelog

-   Added experimental functions `MapboxNavigation#startTripSessionWithPermissionCheck()` and `MapboxNavigation#startReplayTripSessionWithPermissionCheck` that immediately throw `IllegalStateException` if they are called with `withForegroundService` parameter set to true, but Android foreground service permissions requirements are not met.
-   Now service type is specified explicitly when foreground location service starts.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.0.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.2)

#### v3.5.1 - 15 November, 2024

Changelog

-   Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.0.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.1)

#### v3.5.0 - 12 November, 2024

Changelog

-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
-   Improved reroute and alternative routes behavior
-   Fixed map matching bug after leaving a tunnel
-   Increased route stickiness in dead reckoning mode
-   Added ability to send raw unfused GNSS location in addition to fused one
-   Improved odometry and road graph fusing in urban canyons
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Fixed an issue preventing Copilot from correctly recording history events.
-   Improved reroute and alternative routes behavior
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0))
-   Mapbox Navigation Native `v321.0.0`
-   Mapbox Core Common `v24.8.0`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.0)

#### v3.5.0-rc.1 - 26 October, 2024

Changelog

-   Improved reroute and alternative routes behavior
-   Fixed map matching bug after leaving a tunnel
-   Increased route stickiness in dead reckoning mode
-   Added ability to send raw unfused GNSS location in addition to fused one
-   Improved odometry and road graph fusing in urban canyons
-   Signature of experimental `RawGnssSatelliteData` has been changed, now it requires `residual` as a constructor parameter
-   Experimental `RawGnssLocation` type has been removed, now `RawGnssData` requires `DilutionOfPrecision` as a parameter

Mapbox dependencies:

-   Mapbox Maps SDK `v11.8.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0-rc.1))
-   Mapbox Navigation Native `v321.0.0-rc.1`
-   Mapbox Core Common `v24.8.0-rc.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.0-rc.1)

#### v3.5.0-beta.1 - 17 October, 2024

Changelog

-   Added support for SVG junction views, see `MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>)`.
-   Added experimental `NavigationRoute#routeRefreshMetadata` which contains data related to refresh of the route object.
-   Nav SDK now removes passed alternative routes as soon as user passed fork point. [#6813](https://github.com/mapbox/mapbox-navigation-android/pull/6813)
-   Fixed a potential route line layers visibility race, which might have happened if you invoked `MapboxRouteLineView#showPrimaryRoute` and `MapboxRouteLineView#renderRouteDrawData` approximately at the same time.
-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Fixed an issue preventing Copilot from correctly recording history events.
-   Improved reroute and alternative routes behavior.
-   Changed `AutoArrivalController`: moves to a next waypoint immediately.
-   Mapbox Maps SDK `v11.8.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.8.0-beta.1))
-   Mapbox Navigation Native `v321.0.0-beta.1`
-   Mapbox Core Common `v24.8.0-beta.1`
-   Mapbox Java `v7.3.1` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.3.1))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.5.0-beta.1)

#### v3.4.2 - 08 November, 2024

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.7.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.7.2))
-   Mapbox Navigation Native `v320.2.1`
-   Mapbox Core Common `v24.7.2`
-   Mapbox Java `v7.2.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.2.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.4.2)

#### v3.4.1 - 19 October, 2024

Changelog

-   Optimized CA routes handling by skiping route parsing if it's already exist in direction session
-   Improved map-matching experience in tunnels.
-   Increased route stickiness in dead reckoning mode.
-   Improved odometry and road graph fusing in Manhattan urban canyons.
-   Nav SDK now removes passed alternative routes as soon as user passed fork point.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.7.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.7.1))
-   Mapbox Navigation Native `v320.2.0`
-   Mapbox Core Common `v24.7.1`
-   Mapbox Java `v7.2.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.2.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.4.1)

#### v3.4.0 - 01 October, 2024

Changelog

-   Split MotionData into more accurate parts. Introduced ImuTemperatureData, OrientationData, RawAccelerometer, RawGravity, RawGyroscope and SpeedData.
-   Added unique route ID's after each subsequent restart.
-   Added filtering online routes that are too far from current location.
-   Added rerouting when server unrecognizes current route id to refresh or update alternatives.
-   Improved route completion logic. Completed state is triggered only if the puck is leaving the waypoint or after timeout reaching the waypoint threshold.
-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
-   Fixed unnecessary reroutes when using onboard router.
-   Fixed remaining alternative routes when passing fork points.
-   Improved updating alternative routes
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.7.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.7.0))
-   Mapbox Navigation Native `v320.0.0`
-   Mapbox Core Common `v24.7.0`
-   Mapbox Java `v7.2.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.2.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.4.0)

#### v3.4.0-rc.1 - 17 September, 2024

Changelog

-   Improved route completion logic. Completed state is triggered only if the puck is leaving the waypoint or after timeout reaching the waypoint threshold.
-   Fixed `CarSearchLocationProvider` produces *NullPointerException* when using Mapbox Search SDK.
-   Improved updating alternative routes.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.7.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.7.0-rc.1))
-   Mapbox Navigation Native `v319.0.0`
-   Mapbox Core Common `v24.7.0-rc.2`
-   Mapbox Java `v7.2.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.2.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.4.0-rc.1)

#### v3.4.0-beta.1 - 05 September, 2024

Changelog

-   Signature of experimental `EtcGateApi#updateEtcGateInfo` function has been changed, now it accepts `EtcGateApi.EtcGateInfo` as a function parameter.
-   Experimental Data Inputs functionality has been removed from the `core` module to a separate `datainputs` module (`MapboxNavigation#dataInputs` and everything from the package `com.mapbox.navigation.datainputs` have been removed). [Contact us](https://www.mapbox.com/support) to get more information on how to get access to the module.
-   Experimental Adasis functionality has been removed from the `core` module (`MapboxNavigation`'s functions `setAdasisMessageObserver`, `resetAdasisMessageObserver`, `updateExternalSensorData`, and `GraphAccessor#getAdasisEdgeAttributes` have been removed). [Contact us](https://www.mapbox.com/support) in case you're interested in ADASIS functionality.
-   Added experimental `RoutingTilesOptions#fallbackNavigationTilesVersion` which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in `RoutingTilesOptions#tilesVersion`.
-   Added experimental `MapboxRouteLineViewOptions#fadeOnHighZoomsConfig` and `MapboxRouteArrowOptions#fadeOnHighZoomsConfig` to configure smooth fading out of route line or/and arrows on high zoom levels.
-   The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead.
-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Old `MapboxNavigation.postUserFeedback()` functions have been deprecated, use an overloading that accepts `UserFeedback` as a parameter.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
-   Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.7.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.7.0-beta.1))
-   Mapbox Navigation Native `v318.0.0`
-   Mapbox Core Common `v24.7.0-beta.2`
-   Mapbox Java `v7.2.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.2.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.4.0-beta.1)

#### v3.3.1 - 03 September, 2024

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.6.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.6.0))
-   Mapbox Navigation Native `v317.0.1`
-   Mapbox Core Common `v24.6.0`
-   Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.3.1)

#### v3.3.0 - 16 August, 2024

Changelog

-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Added `MapboxRouteCalloutViewOptions` that allows to customize route callouts appearance
-   Now `EHorizonResultType.Type` has a new element called `EHorizonResultType.NOT_AVAILABLE`.
-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
-   Fixed a crash caused by an overflow in the JNI global reference table.
-   Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
-   Addressed several issues that occurred when switching to an alternative route.
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.6.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.6.0))
-   Mapbox Navigation Native `v317.0.0`
-   Mapbox Core Common `v24.6.0`
-   Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.3.0)

#### v3.3.0-rc.1 - 02 August, 2024

Changelog

-   Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
-   Added the ability to filter road names based on the system language
-   `com.mapbox.navigation.base.road.model.RoadComponent` objects that contain only slashes in their text are filtered out
-   Fixed the issue of unwanted rerouting occurring immediately after setting a new route

Mapbox dependencies:

-   Mapbox Maps SDK `v11.6.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.6.0-rc.1))
-   Mapbox Navigation Native `v316.0.0`
-   Mapbox Core Common `v24.6.0-rc.1`
-   Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.3.0-rc.1)

#### v3.3.0-beta.1 - 19 July, 2024

Changelog

-   Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   Added `DataInputsManager` to allow the provision of data from external sensors to the navigator, see `MapboxNavigation.dataInputsManager`. Experimental `EtcGateInfo` has been moved to `com.mapbox.navigation.core.datainputs` package. `EtcGateApi` has been deprecated.
-   Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.
-   Fixed UI jank caused by on-device TextToSpeech player.
-   Removed `PredictiveCacheController#removeSearchControllers` and `PredictiveCacheController#createSearchControllers`. Now search predictive cache controller is created and destroyed together with `PredictiveCacheController` instance if `PredictiveCacheOptions.predictiveCacheSearchOptionsList` is provided.
-   Improve performance when handling large road objects on the eHorizon's MPP.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.6.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.6.0-beta.1))
-   Mapbox Navigation Native `v315.0.0`
-   Mapbox Core Common `v24.6.0-beta.1`
-   Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.3.0-beta.1)

#### v3.2.2 - 02 September, 2024

Changelog

Mapbox dependencies:

-   Mapbox Maps SDK `v11.5.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.5.0))
-   Mapbox Navigation Native `v314.0.3`
-   Mapbox Core Common `v24.5.0`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.2.2)

#### v3.2.1 - 23 August, 2024

Changelog

-   Added `NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold` that define threshold angle for rotation for `FOLLOWING` Navigation Camera state.
-   Locations input: moved to the background thread
-   Improved runtime performance of positioning in dense areas. Introduced the possibility to enable output frequency throttling in situations when the system is not able to catch up with the real time. This is relevant only for high-frequency input.
-   Improved performance of tracking large road objects on the most probable path in eHorizon.
-   Fixed the crash in route alternatives during leg switching.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.5.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.5.0))
-   Mapbox Navigation Native `v314.0.2`
-   Mapbox Core Common `v24.5.0`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.2.1)

#### v3.2.0 - 10 July, 2024

Changelog

-   Introduced experimental traffic adjustment mechanism during a drive and added `TrafficOverrideOptions` to control this feature
-   Changed `Alternatives` that deviate close to a destination point are removed before a fork is reached.
-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Fixed `Routes` that origin is out of primary route cannot be added as alternatives.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.5.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.5.0))
-   Mapbox Navigation Native `v314.0.0`
-   Mapbox Core Common `v24.5.0`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.2.0)

#### v3.2.0-rc.1 - 21 June, 2024

Changelog

-   Added experimental `MapboxNavigation#replanRoute` to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
-   [BREAKING CHANGE] `PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheOptions.predictiveCacheSearchOptionsList`. Additionally, `PredictiveCacheUnrecognizedTilesetDescriptorOptions` has been renamed to `PredictiveCacheSearchOptions`. Now, only search-related options can be passed to `PredictiveCacheSearchOptions`.
-   Implementation of `RerouteController#registerRerouteStateObserver` now invokes observer immediately with current state instead of posting invocation to the main looper.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.5.0-rc.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.5.0-rc.1))
-   Mapbox Navigation Native `v313.0.0`
-   Mapbox Core Common `v24.5.0-rc.1`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.2.0-rc.1)

#### v3.2.0-beta.1 - 13 June, 2024

Changelog

-   Added `RerouteStrategyForMapMatchedRoutes` to `RerouteOptions`. Reroute option `enableLegacyBehaviorForMapMatchedRoute` was removed, use `NavigateToFinalDestination` strategy instead.
-   Fixed a crash due to incorrect OpenLR input data
-   Fixed a bug with spinning smoothed coordinate
-   Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.5.0-beta.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.5.0-beta.1))
-   Mapbox Navigation Native `v312.0.0`
-   Mapbox Core Common `v24.5.0-beta.4`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.2.0-beta.1)

#### v3.1.0 - 04 June, 2024

Changelog

-   Improved `MapboxNavigationViewportDataSource` behavior, it updates view port data only when map size is calculated which prevents from using incorrect data.
-   Optimized network consumption of Continuous Alternatives feature.
-   Fixed a crash due to incorrect OpenLR input data.
-   Fixed a bug with spinning smoothed coordinate.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.4.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.4.1))
-   Mapbox Navigation Native `v311.0.0`
-   Mapbox Core Common `v24.4.0`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.1.0)

#### v3.1.0-rc.1 - 17 May, 2024

Changelog

-   Improved `MapboxNavigationViewportDataSource` behavior, it updates view port data only when map size is calculated which prevents from using incorrect data.
-   Optimized network consumption of Continuous Alternatives feature.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.4.0-rc.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.4.0-rc.2))
-   Mapbox Navigation Native `v309.0.0`
-   Mapbox Core Common `v24.4.0-rc.2`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.1.0-rc.1)

#### v3.1.0-beta.1 - 07 May, 2024

Changelog

-   Added `androidauto` module, that brings Navigation Android Auto SDK. The module was carried over from Nav SDK v2 and has been adapted to work with the Maps v11.
-   Optimized predictive cache usage.
-   Added a new option `PredictiveCacheMapsOptions.extraOptions` that allows to specify extra tileset descriptor options.
-   Added a new option `AdasisConfigProfileShortTypeOptions.historyAverageSpeed` which specifies whether `historyAverageSpeed` data should be generated in ADASis messages.
-   Made RerouteState.Failed retryable in case reroute failed due to not having yet received a route progress for a new route that had just been set.
-   Added support for custom users in map matching requests.
-   Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
-   Fixed an issue related to cached ADAS data not being released.
-   Removed route alerts for border crossings in neutral waters.
-   Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
-   Fixed `PredictiveCacheLocationOptions::routeBufferRadiusInMeters` default value.
-   Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
-   Fixed an issue related to cached ADAS data not being released.
-   Removed route alerts for border crossings in neutral waters.
-   Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
-   Fixed context leak on Activity recreation
-   Improved alternative routes Navigation SDK generates during reroute.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.4.0-beta.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.4.0-beta.3))
-   Mapbox Navigation Native `v308.0.0`
-   Mapbox Core Common `v24.4.0-beta.3`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.1.0-beta.1)

#### v3.0.4 - 31 May, 2024

Changelog

-   Fixed a crash due to incorrect OpenLR input.
-   Fixed a fork point path recalculation after tunnel jumps.
-   Allow backward match in ETC cost.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.3.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.3.1))
-   Mapbox Navigation Native `v306.0.3`
-   Mapbox Core Common `v24.3.1`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.0.4)

#### v3.0.3 - 17 May, 2024

Changelog

-   Improved alternative routes Navigation SDK generates during reroute.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.3.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.3.1))
-   Mapbox Navigation Native `v306.0.2`
-   Mapbox Core Common `v24.3.1`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.0.3)

#### v3.0.2 - 26 April, 2024

Changelog

-   Continuous alternatives request behaviour improved: always do periodical requests and notify server with requests context and reason to serve better alternatives
-   Made RerouteState.Failed retryable in case reroute failed due to not having yet received a route progress for a new route that had just been set.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.3.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.3.1))
-   Mapbox Navigation Native `v306.0.1`
-   Mapbox Core Common `v24.3.1`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.0.2)

#### v3.0.1 - 22 April, 2024

Changelog

-   Added a new option `PredictiveCacheMapsOptions.extraOptions` that allows to specify extra tileset descriptor options.
-   Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
-   Fixed an issue related to cached ADAS data not being released.
-   Removed route alerts for border crossings in neutral waters.
-   Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
-   Fixed context leak on Activity recreation

Mapbox dependencies:

-   Mapbox Maps SDK `v11.3.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.3.0))
-   Mapbox Navigation Native `v305.0.1`
-   Mapbox Core Common `v24.3.1`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.0.1)

#### v3.0.0 - 12 April, 2024

Changelog

-   Modules structure (mostly UI components modules) has been significantly changed. See migration guide for more information https://docs.mapbox.com/android/navigation/guides/migration-from-v2/#artifacts
    
-   Deprecated classes, functions and fields have been removed. See [Nav SDK v2 documentation](https://docs.mapbox.com/android/navigation/api/2.17.7/) for more information about missing parts and migration guides.
    
-   `com.mapbox.navigation.core.reroute.NavigationRerouteController` has been merged with `com.mapbox.navigation.core.reroute.RerouteController`
    
-   Introduced support of Mapbox Map Matching API, see `MapboxNavigation#requestMapMatching`.
    
-   Changed LocationOptions API. Now custom location providers that emit mocked locations are allowed. See documentation to get more information.
    
-   Added Advanced Driver Assistance Systems (ADAS) functionality as an experimental API.
    
-   Added `NavigationViewApi#recenterCamera()` that allows to programatically recenter the camera position as if the recenter button was clicked.
    
-   Introduced support for highlighting 3D buildings.
    
-   Navigation Core Framework doesn't let creating `NavigationRoute` from json anymore. Use `MapboxNavigation#requestRoutes` and `MapboxNavigation#requestMapMatching` to request `NavigationRoute`s.
    
-   Changed type of `RouterOrigin`. Now it's an annotation which defines possible string values for router origin. `RouterOrigin.Offboard` is renamed to `RouterOrigin.ONLINE`, `RouterOrigin.Onboard` is renamed to `RouterOrigin.OFFLINE`, `RouterOrigin.Custom` is removed.
    
-   Navigation Core Framework automatically updates alternative routes and switches to an online alternative in case of an offline primary route. Register `RoutesObserver` to keep track of current routes. Use `MapboxNavigation#setContinuousAlternativesEnabled` to enable/disable automatic update.
    
-   `NavigationRouteAlternativesObserver`, `RouteAlternativesObserver`, `NavigationRouteAlternativesRequestCallback`, `MapboxNavigation#registerRouteAlternativesObserver`, `MapboxNavigation#requestAlternativeRoutes` were removed in favour of automatic alternatives update.
    
-   Added support for `RouteOptions#suppressVoiceInstructionLocalNames` to onboard router.
    
-   Changed the semantics of `Location#timestamp` that you receive in `onLocationMatcherResult`, instead of being set to current system time it is now has location input time + lookahead (extrapolation) time.
    
-   Route Line component has been refactored and significantly changed. See migration guide for more information: https://docs.mapbox.com/android/navigation/guides/migration-from-v2/#mapboxroutelineapi
    
-   Removed `LongRoutesOptimisationOptions`. Navigation Core Framework is now optimized to handle long routes by default.
    
-   `RouterFailure.code` has been replaced with `RouterFailure.type`. See `RouterFailureType` to find all possible error types.
    
-   Added "mbx.RouteLine" history events. They will be collected automatically by NavSDK for both manual recorder and Copilot recorder when the recording is started.  
    You can enable route line events collection for Copilot using `CopilotOptions#shouldRecordRouteLineEvents` option. It is disabled by default.
    
-   Improved EHorizon path evaluation.
    
-   Added experimental property `NavigationRoute#responseOriginAPI` which describes API that Navigation CF used to generate data for `NavigationRoute`. `NavigationRoute#responseOriginAPI` could be used to form expectations from navigation experience given the fact that routes with `ResponseOriginAPI.MAP_MATCHING_API` has limited support currently.
    
-   Public data classes have been replaces with normal classes with generated `equals`, `hashCode`, `toString`. `copy` function and destructuring declarations are not available for affected classes.
    
-   Added support of seamless switch to an alternative route in case of deviation to the alternative route from a route received via `MapboxNavigation#requestMapMatching`.
    
-   The Android Auto components are live in GA, follow the [https://docs.mapbox.com/android/navigation/guides/androidauto/](https://docs.mapbox.com/android/navigation/guides/androidauto/) to add it to your project.
    
-   Made `MapboxNavigation` constructor and `onDestroy` internal. To create an instance of `MapboxNavigation` use `MapboxNavigationProvider#create`; to destroy it use `MapboxNavigationProvider#destroy`. [3274](https://github.com/mapbox/navigation/pull/3274)
    
-   Fixed a bug with multiple instances of cache which resulted in excessive memory consumption.
    
-   Fixed an issue where reroute for multi-leg routes used to fail in case waypoint_names or waypoint_targets parameters were specified without an explicit waypoint_indices parameter.
    
-   Improved handling of no storage available during navigation tiles downloading.
    
-   Improved handling of invalid config in `DeviceProfile#customConfig`.
    
-   Fixed a native crash in E-Horizon implementation caused by internal race condition.
    
-   Made `MapboxReplayer` constructor public.
    
-   Removed `OnlineRouteAlternativesSwitch`. Use `NavigationRouteAlternativesObserver` to receive an online alternative for the current offline route. Unlike `OnlineRouteAlternativesSwitch`, `NavigationRouteAlternativesObserver` doesn't switch to an online alternative automatically.
    
-   Changed structure of `NavigationRoute`. Now it can represent routes received from Mapbox Map Matching API as well as Mapbox Directions API. `NavigationRoute#directionsResponse` has been removed. Use `NavigationRoute#waypoints` and `NavigationRoute#responseUUID` to access data which used to be available via `NavigationRoute#directionsResponse`. `NavigationRoute#routeOptions` has been removed. Try to utilise data available in `NavigationRoute`, for example instead of using coordinates from route options, use `NavigationRoute#waypoints`. Temporary property `NavigationRoute#evMaxCharge` has been added to access maximum possible charge for the vehicle the route was requested for instead of `navigationRoute.routeOptions.getUnrecognizedProperty("ev_max_charge")`.
    
-   Improve GNSS jump detection for better pitch based map-matching in tunnels
    
-   Eliminate border crossing object when moving to neutral waters and back
    
-   Fixed leak of CarAppLifecycleOwner on every copilot start.
    
-   Resolved an issue where a crash could occur if telemetry sending settings were changed after creating `MapboxNavigation`.
    
-   Fixed an issue with vanishing route line not working for single-leg routes.
    
-   Eliminated waiting for online route in case of reroute if onboard is ready. For rerouting return the route that was calculated sooner will be returned, and the back-online feature is expected to handle the case of switching back to online.
    
-   Improved highway exits detection.
    
-   Improved passed alternatives handling.
    
-   Fixed an issue when onboard route calculation might have been cancelled if online router returned critical error.
    
-   Fixed an issue in processing ETC signals when distant projections where treated as valid map-matched locations.
    
-   Fixed leak of CarAppLifecycleOwner on every copilot start.
    
-   Started sending special type POSITION messages in OFF-ROAD mode.
    
-   Fixed ANR `at com.mapbox.common.LifecycleUtils.hasServiceRunningInForeground(LifecycleUtils.kt:25)`. [#dd](https://github.com/mapbox/mapbox-navigation-android/pull/dd)
    
-   Added `RerouteOptions#enableLegacyBehaviorForMapMatchedRoute` which lets enable reroute logic from Nav SDK v2 for routes generated by Mapbox Map Matching API.
    
-   Changed reroute state transition in case of deviation from a primary route which is received via `MapboxNavigation#requestMapMatching` when no alternative routes available to switch to. Reroute state used to be `Idle`, but now performs the following transition: `Idle` -> `FetchingRoute` -> `Failed` -> `Idle`.
    
-   Made `RouteShieldError#url` and `RouteShieldOrigin#originalUrl` nullable. They can be null in case the request had been cancelled before the URL was formed.
    
-   Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
    
-   Added a Copilot option that allows to provide a different user id for history recording context.
    
-   Fixed an issue where incidents and closures far ahead along the route might have disappeared after route refresh.
    
-   Made `RouteShieldError#url` and `RouteShieldOrigin#originalUrl` nullable. They can be null in case the request had been cancelled before the URL was formed.
    
-   Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
    
-   Improved tunnel exit detection.
    
-   Internal dependencies updated, which includes removal of unwanted URLs from the binary.
    
-   Improved incidents behavior: far away incidents are kept after partial route refresh.
    
-   Improved incidents behavior: expired incidents are removed on route refresh.
    
-   Improved incidents behavior: incidents with incorrect endTime are not removed.
    
-   Fixed EV route parsing issue.
    
-   Fixed a crash that could happen on incorrect waypoints in the route response.
    
-   Fixed continuous alternatives bugs leading to excessive `getRoute` calls.
    

Mapbox dependencies:

-   Mapbox Maps SDK `v11.3.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.3.0))
-   Mapbox Navigation Native `v305.0.0`
-   Mapbox Core Common `v24.3.1`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.0.0)

#### v3.0.0-rc.5 - 30 March, 2024

Changelog

-   The new `ui-components` module is now available. This module offers UI components that were previously accessible in Nav SDK v2.
-   Made `RouteShieldError#url` and `RouteShieldOrigin#originalUrl` nullable. They can be null in case the request had been cancelled before the URL was formed.
-   Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
-   Added a Copilot option that allows to provide a different user id for history recording context.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.2.2` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.2.2))
-   Mapbox Navigation Native `v304.0.0`
-   Mapbox Core Common `v24.2.3`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/3.0.0-rc.5)

#### v1.0.0-rc.4 - 18 March, 2024

Changelog

-   Added experimental property `NavigationRoute#responseOriginAPI` which describes API that Navigation CF used to generate data for `NavigationRoute`. `NavigationRoute#responseOriginAPI` could be used to form expectations from navigation experience given the fact that routes with `ResponseOriginAPI.MAP_MATCHING_API` has limited support currently.
-   Public data classes have been replaces with normal classes with generated `equals`, `hashCode`, `toString`. `copy` function and destructuring declarations are not available for affected classes. Affected classes are: `ExclusionViolation`, `TripNotificationData`, `MatchableOpenLr`, `MatchableGeometry`, `MatchablePoint`, `ReplayEvents`, `ReplayEventGetStatus`, `ReplayEventUpdateLocation`, `ReplayEventLocation`, `RerouteState.Failed`, `RerouteState.RouteFetched`, `RouteOptionsResult.Succes`, `RouteOptionsResult.Error`, `NavigationSessionState.FreeDrive`, `NavigationSessionState.ActiveGuidance`, `SearchResultsEvent`, `SearchResultUsedEvent`, `HistoryPoint`, `HistoryRoutablePoint`, `HistorySearchResult`, `SearchResultUsed`, `SearchResults`, `FocalPoint`, `ViewportData`, `NavigationRouteLine`, `RouteLineDistancesIndex`, `RouteLineScaleValue`.
-   Added support of seamless switch to an alternative route in case of deviation to the alternative route from a route received via `MapboxNavigation#requestMapMatching`.
-   Added `RerouteOptions#enableLegacyBehaviorForMapMatchedRoute` which lets enable reroute logic from Nav SDK v2 for routes generated by Mapbox Map Matching API.
-   Changed reroute state transition in case of deviation from a primary route which is received via `MapboxNavigation#requestMapMatching` when no alternative routes available to switch to. Reroute state used to be `Idle`, but now performs the following transition: `Idle` -> `FetchingRoute` -> `Failed` -> `Idle`.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.2.1` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.2.1))
-   Mapbox Navigation Native `v303.0.0-36f123f`
-   Mapbox Core Common `v24.2.0`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-rc.4)

#### v1.0.0-rc.3 - 01 March, 2024

Changelog

-   Resolved an issue where a crash could occur if telemetry sending settings were changed after creating `MapboxNavigation`.
-   Fixed an issue with vanishing route line not working for single-leg routes.
-   Eliminated waiting for online route in case of reroute if onboard is ready. For rerouting return the route that was calculated sooner will be returned, and the back-online feature is expected to handle the case of switching back to online.
-   Improved highway exits detection.
-   Improved passed alternatives handling.
-   Fixed an issue when onboard route calculation might have been cancelled if online router returned critical error.
-   Fixed an issue in processing ETC signals when distant projections where treated as valid map-matched locations.
-   Fixed leak of CarAppLifecycleOwner on every copilot start.
-   Fixed ADASIS generator errors related to the split edges.
-   Fixed ADAS cache tiles eviction mechanism.
-   Started handling "unlilimited" speed limits in ADASIS.
-   Started sending special type POSITION messages in OFF-ROAD mode.
-   Fixed ANR `at com.mapbox.common.LifecycleUtils.hasServiceRunningInForeground(LifecycleUtils.kt:25)`.

Mapbox dependencies:

-   Mapbox Maps SDK `v11.2.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v11.2.0))
-   Mapbox Navigation Native `v303.0.0`
-   Mapbox Core Common `v24.2.0`
-   Mapbox Java `v6.15.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v6.15.0))

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-rc.3)

#### v1.0.0-rc.2 - 16 February, 2024

Changelog

-   Removed `LongRoutesOptimisationOptions`. Navigation Core Framework is now optimized to handle long routes by default.
-   Added billing explanation logs. Now Navigation SDK explains in the logs why certain Active Guidance or Free Drive Trip session started/stopped/paused/resumed. Billing explanations have `[BillingExplanation]` prefix in the logcat.
-   Removed `NavigaitonRoute#deserializeFrom` and `NavigationRoute#serialize` from public API because it's too easy to misuse them and create a leak of resources.
-   `RouterFailure.code` has been replaced with `RouterFailure.type`. See `RouterFailureType` to find all possible error types.
-   Improve map-matching on elevated roads.
-   Added "mbx.RouteLine" history events. They will be collected automatically by NavSDK for both manual recorder and Copilot recorder when the recording is started. You can enable route line events collection for Copilot using `CopilotOptions#shouldRecordRouteLineEvents` option. It is disabled by default.
-   Improved EHorizon path evaluation.
-   Fixed leak of CarAppLifecycleOwner on every copilot start.
-   Added Polish translation for UI elements.

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-rc.2)

#### v1.0.0-rc.1 - 06 February, 2024

Changelog

-   Changed type of `RouterOrigin`. Now it's an annotation which defines possible string values for router origin.
-   `RouterOrigin.Offboard` is renamed to `RouterOrigin.ONLINE`.
-   `RouterOrigin.Onboard` is renamed to `RouterOrigin.OFFLINE`.
-   `RouterOrigin.Custom` is removed.
-   Navigation Core Framework automatically updates alternative routes and switches to an online alternative in case of an offline primary route. Register `RoutesObserver` to keep track of current routes. Use `MapboxNavigation#setContinuousAlternativesEnabled` to enable/disable automatic update.
-   `NavigationRouteAlternativesObserver`, `RouteAlternativesObserver`, `NavigationRouteAlternativesRequestCallback`, `MapboxNavigation#registerRouteAlternativesObserver`, `MapboxNavigation#requestAlternativeRoutes` were removed in favour of automatic alternatives update.
-   `libnav-ui` module has been renamed to `libnavigation-voice`. Package name has been changed to `com.mapbox.navigation.voice`.
-   Added support for `RouteOptions#suppressVoiceInstructionLocalNames` to onboard router.
-   Changed the semantics of `Location#timestamp` that you receive in `onLocationMatcherResult`, instead of being set to current system time it is now has location input time + lookahead (extrapolation) time.
-   Implement ADASIS message batching.
-   Split `MapboxRouteLineOptions` into `MapboxRouteLineApiOptions` and `MapboxRouteLineViewOptions`.
-   Split `MapboxRouteLineOptions#displayRestrictedRoadSections` into `MapboxRouteLineApiOptions#calculateRestrictedRoadSections` and `MapboxRouteLineViewOptions#displayRestrictedRoadSections`. You can have a set-up where some of your `MapboxRouteLineView`s display the restricted data and others don't. Set `MapboxRouteLineApiOptions#calculateRestrictedRoadSections` if at least one of your `MapboxRouteLineView`s will display the restricted data. Set `MapboxRouteLineViewOptions#displayRestrictedRoadSections` only to those views, who are going to display it.
-   Moved:

1.  `MapboxRouteLineOptions.Builder#withRouteLineBelowLayerId` to `MapboxRouteLineViewOptions.Builder#routeLineBelowLayerId`;
2.  `MapboxRouteLineOptions.Builder#withTolerance` to `MapboxRouteLineViewOptions.Builder#tolerance`;
3.  `MapboxRouteLineOptions.Builder#withVanishingRouteLineEnabled` to `MapboxRouteLineApiOptions.Builder#vanishingRouteLineEnabled`;
4.  `MapboxRouteLineOptions#styleInactiveRouteLegsIndependently`, `MapboxRouteLineOptions#vanishingRouteLineEnabled` and `MapboxRouteLineOptions#vanishingRouteLineUpdateIntervalNano` to `MapboxRouteLineApiOptions`.
5.  `MapboxRouteLineOptions#softGradientTransition`, `MapboxRouteLineOptions#displaySoftGradientForTraffic`, `MapboxROuteLineOptions#shareLineGeometrySources`, `MapboxRouteLineOptions#lineDepthOcclusionFactor`, `MapboxRouteLineOptions#waypointLayerIconOffset`, `MapboxRouteLineOptions#waypointLayerIconAnchor` and `MapboxRouteLineOptions#iconPitchAlignment` to `MapboxRouteLineViewOptions`.

-   Removed `RouteLineResources` class:

1.  `routeLineColorResources`, `originWaypointIcon`, `destinationWaypointIcon`, `restrictedRoadDashArray`, `restrictedRoadOpacity` and `restrictedRoadLineWidth` were moved to `MapboxRouteLineViewOptions`
2.  `trafficBackfillRoadClasses` was moved to `MapboxRouteLineApiOptions`
3.  `scaleExpression` properties were moved to `MapboxRouteLineViewOptions#scaleExpressions` wrapper of type `RouteLineScaleExpressions`
4.  `roundedLineCap` property was removed

-   Moved `congestionRange` properties from `RouteLineColorResources` to `MapboxRouteLineApiOptions`.
-   Removed `MapboxRouteLineOptions#routeStyleDescriptors` option.
-   Removed the possibility of modify and reading data from `RouteLineSetValue`, `RouteLineClearValue` and `RouteLineUpdateValue`. Do not use these classes on your side, just pass the objects between `MapboxRouteLineAPI` and `MapboxRouteLineView`.
-   `MapboxRouteLineAPI#options` and `MapboxRouteLineView#options` properties are no longer public.
-   Made `RouteLineExpressionProvider` and `RouteLineTrimExpressionProvider` internal.
-   Added a possibility to change a subset of `MapboxRouteLineViewOptions` in runtime without the need to recreate the components. The subset that can be changed is defined in `MapboxRouteLineViewDynamicOptionsBuilder`. To change the dynamic options in runtime, use the following code:

```
routeLineView.updateDynamicOptions(style) {
    routeLineColorResources(newColors)
    // ...
}
routeLineApi.getRouteDrawData {
    routeLineView.renderRouteDrawData(style, it)
}
```

-   Split `RouteLineConfig#options` into `RouteLineConfig#apiOptions` and `RouteLineConfig#viewOptions`
-   Added `RouteLineConfig#viewOptionsUpdates`.
-   Removed `MapboxRouteLineApi#showRouteWithLegIndexHighlighted`, `MapboxRouteLineApi#setPrimaryTrafficColor` and `MapboxRouteLineApi#setAlternativeTrafficColor` methods.
-   Changed `MapboxRouteLineApi#setVanishingOffset` method behavior in the following way: if the route had not been set to `MapboxRouteLineApi` prior to the point when `setVanishingOffset` was invoked, it will return an error now. Previously it used to return a value, which was, however, useless for rendering without the route.
-   Fixed an issue when soft gradient was not applied correctly in `MapboxRouteLineApi#setVanishingOffset` result.
-   Fix adas tiles eviction algorithm
-   Fixed a mapmatching issue where the position might have been snapped to the wrong part of a highway after leaving tunnel
-   Improve GNSS jump detection for better pitch based map-matching in tunnels
-   Eliminate border crossing object when moving to neutral waters and back

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-rc.1)

#### v1.0.0-beta.5 - 02 February, 2024

Changelog

-   The `maneuver` module now offers only API related to maneuver logic. Views was removed from the module
-   `MapboxRecenterButton`, `MapboxRouteOverviewButton`, `MapboxRoadNameView`, `MapboxCameraModeButton` have been removed from ui-maps module. `MapboxExtendableButtonLayoutBinding` has been removed from `ui-base` module.
-   New module `libnavigation-tripdata` is available. It accumulates core api from `libnavui-shield` , `libnavui-tripprogress`, `libnavui-maneuver`, `libnavui-speedlimit` modules, which have been removed.
-   Introduced support for highlighting 3D buildings.
-   Navigation Core Framework doesn't let creating `NavigationRoute` from json anymore. Use `MapboxNavigation#requestRoutes` and `MapboxNavigation#requestMapMatching` to request `NavigationRoute`s.
-   Added `NavigationRoute#serialize` and `NavigationRoute#deserializeFrom` to support immediate transfer of `NavigationRoute` between applications and processes with the same Navigation Core Framework version.
-   Fixed crash in CustomRouterRule caused by invalid url schema in request

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-beta.5)

#### v1.0.0-beta.4 - 26 January, 2024

Changelog

-   Improved `CustomRouterRule` to work independently from device network setup.
-   Removed `CustomRouterRule#baseUrl`. Now `CustomRouterRule` intercepts all route and route refresh requests to Mapbox Directions API.
-   Fixed a bug with multiple instances of cache which resulted in excessive memory consumption.
-   Fixed an issue where reroute for multi-leg routes used to fail in case waypoint_names or waypoint_targets parameters were specified without an explicit waypoint_indices parameter.
-   Improved Map Matching to avoid false deviation of the location puck to a parallel street.
-   Improved handling of no storage available during navigation tiles downloading.
-   Improved handling of invalid config in `DeviceProfile#customConfig`.
-   Fixed a native crash in E-Horizon implementation caused by internal race condition.
-   Made `MapboxReplayer` constructor public.
-   Removed `OnlineRouteAlternativesSwitch`. Use `NavigationRouteAlternativesObserver` to receive an online alternative for the current offline route. Unlike `OnlineRouteAlternativesSwitch`, `NavigationRouteAlternativesObserver` doesn't switch to an online alternative automatically.
-   Changed structure of `NavigationRoute`. Now it can represent routes received from Mapbox Map Matching API as well as Mapbox Directions API. `NavigationRoute#directionsResponse` has been removed. Use `NavigationRoute#waypoints`, `NavigationRoute#responseUUID`, and `NavigationRoute#responseMetadata` to access data which used to be available via `NavigationRoute#directionsResponse`. `NavigationRoute#routeOptions` has been removed. Try to utilise data available in `NavigationRoute`, for example instead of using coordinates from route options, use `NavigationRoute#waypoints`. Temporary property `NavigationRoute#evMaxCharge` has been added to access maximum possible charge for the vehicle the route was requested for instead of `navigationRoute.routeOptions.getUnrecognizedProperty("ev_max_charge")`.
-   Added `MapMatchingSuccessfulResult#navigationRoutes` which represent routes that could be set to navigator using `MapboxNavigation#setNavigationRoutes`.
-   Changed type of `MapMatchingSuccessfulResult#matches` from `List<NavigationRoute>` to `List<MapMatchingMatch>`. Now every item from `MapMatchingSuccessfulResult#matches` represents a Match Object from Mapbox Map Matching API.
-   Changed LocationOptions API. Now custom location providers that emit mocked locations are allowed. In order to set a custom location provider, you now need to invoke `LocationOptions.Builder#locationProviderFactory` and pass a factory that will create a DeviceLocationProvider implementation based on a request parameter together will location provider type, which can be one of: REAL, MOCKED, MIXED. Note that if your provider can emit non-real locations, it must set `isMock` extra flag value to true for such locations. To set this flag, use:

```
Location.Builder#extra(Value.valueOf(hashMapOf(LocationExtraKeys.IS_MOCK to Value.valueOf(true/false))))
```

-   Added Advanced Driver Assistance Systems (ADAS) functionality as an experimental API.
-   Added `NavigationViewApi#recenterCamera()` that allows to programatically recenter the camera position as if the recenter button was clicked.

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-beta.4)

#### v1.0.0-beta.3 - 19 January, 2024

Changelog

-   Introduced support of Mapbox Map Matching API, see `MapboxNavigation#requestMapMatching`.
-   Support more options for `MapMatchingOptions`.
-   Made `MapboxNavigation` constructor and `onDestroy` internal. To create an instance of `MapboxNavigation` use `MapboxNavigationProvider#create`; to destroy it use `MapboxNavigationProvider#destroy`.

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-beta.3)

#### v1.0.0-beta.2 - 22 December, 2023

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-beta.2)

#### v1.0.0-beta.1 - 13 December, 2023

[API Reference](https://docs.mapbox.com/android/navigation/api/coreframework/1.0.0-beta.1)