Releases: mapbox/mapbox-navigation-android
Navigation SDK v3.18.0
Navigation SDK Core Framework 3.18.0 - 16 January, 2026
Features
- Added Experimental API:
MapboxNavigation#registerVoiceInstructionsAvailableObserverandMapboxNavigation#unregisterVoiceInstructionsAvailableObserverto be notified when voice instructions become available or unavailable;MapboxNavigation#registerRelevantVoiceInstructionsCallbackto 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#nativeRouteObjectwhich replacesNavigationRoute#directionsRoutewith 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. SeeNavigationOptions#nativeRouteObjectfor details. - Added new class
RerouteStateV2: it allows you to observe RerouteStates with additional substates which are not present in the originalRerouteState.
Current additional states are:RerouteStateV2.Deviation.ApplyingRouteandRerouteStateV2.Deviation.RouteIgnored. See the corresponding API reference for details.
To observeRerouteStateV2, 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
isOfflineflag toEvStationMarkerto identify when charging station data is from an offline source. - Added support of connctor types in
MapboxEvViewOptionsto be able to customize the connector types in the EV view.
Bug fixes and improvements
- Made
RerouteStateV2a 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()returns0.0in case the point was in theVanishingPointState.DISABLEDstate. - 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): removedMapboxRoadCamerasDisplayConfig::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.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.18.0(release notes) - Mapbox Navigation Native
v324.18.0 - Mapbox Core Common
v24.18.0 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.17.2
Navigation SDK Core Framework 3.17.2 - 23 December, 2025
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
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.17.1(release notes) - Mapbox Navigation Native
v324.17.1 - Mapbox Core Common
v24.17.1 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.17.1
Navigation SDK Core Framework 3.17.1 - 12 December, 2025
Features
- Added new class
RerouteStateV2: it allows you to observe RerouteStates with additional substates which are not present in the originalRerouteState.
Current additional states are:RerouteStateV2.Deviation.ApplyingRouteandRerouteStateV2.Deviation.RouteIgnored. See the corresponding API reference for details.
To observeRerouteStateV2, 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): removedMapboxRoadCamerasDisplayConfig::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.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.17.1(release notes) - Mapbox Navigation Native
v324.17.1 - Mapbox Core Common
v24.17.1 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.16.7
Navigation SDK Core Framework 3.16.7 - 11 December, 2025
Features
- Added new class
RerouteStateV2: it allows you to observe RerouteStates with additional substates which are not present in the originalRerouteState.
Current additional states are:RerouteStateV2.Deviation.ApplyingRouteandRerouteStateV2.Deviation.RouteIgnored. See the corresponding API reference for details.
To observeRerouteStateV2, register a new type of observer:RerouteController#registerRerouteStateV2Observer.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.16.6(release notes) - Mapbox Navigation Native
v324.16.6 - Mapbox Core Common
v24.16.6 - Mapbox Java
v7.8.0(release notes)
Navigation SDK v3.17.0
Navigation SDK Core Framework 3.17.0 - 04 December, 2025
Features
- Added support of connctor types in
MapboxEvViewOptionsto 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
freeFlowSpeedandconstrainedFlowSpeedproperties toEHorizonEdgeMetadatato 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.voiceUnitswhich 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.maxOutputPowertoEvStationMarker.maxOutputPowerkWfor clarity. - Added new field
EvStationMarker.capabilitiesto describe supported charging capabilities. - Expose roadEdgeId to LocationMatcherResult
- Added
styleSlotparameter toMapboxEvViewOptionsto 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): removedMapMatchingSuccessfulResult#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#defaultPitchupdates 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::belowLayerIdoption to set thebelowLayerIdof the road camera icons layer. By default, the road camera icons are below the 2D CPP icon. ⚠️ Breaking changes in Experimental API:RoadCamerasConfigconstructor is now private. Use theRoadCamerasConfig.Builderto create an instance ofRoadCamerasConfig.- 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()returns0.0in case the point was in theVanishingPointState.DISABLEDstate.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.17.0(release notes) - Mapbox Navigation Native
v324.17.0 - Mapbox Core Common
v24.17.0 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.17.0-rc.3
Navigation SDK Core Framework 3.17.0-rc.3 - 01 December, 2025
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()returns0.0in case the point was in theVanishingPointState.DISABLEDstate.
Known issues ⚠️
Other changes
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.17.0-rc.3(release notes) - Mapbox Navigation Native
v324.17.0-rc.3 - Mapbox Core Common
v24.17.0-rc.3 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.17.0-rc.2
Navigation SDK Core Framework 3.17.0-rc.2 - 24 November, 2025
Features
Bug fixes and improvements
Known issues ⚠️
Other changes
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.17.0-rc.2(release notes) - Mapbox Navigation Native
v324.17.0-rc.2 - Mapbox Core Common
v24.17.0-rc.2 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.16.6
Navigation SDK Core Framework 3.16.6 - 21 November, 2025
Features
Bug fixes and improvements
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.16.6(release notes) - Mapbox Navigation Native
v324.16.6 - Mapbox Core Common
v24.16.6 - Mapbox Java
v7.8.0(release notes)
Navigation SDK v3.17.0-rc.1
Navigation SDK Core Framework 3.17.0-rc.1 - 20 November, 2025
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
freeFlowSpeedandconstrainedFlowSpeedproperties toEHorizonEdgeMetadatato 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
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.17.0-rc.1(release notes) - Mapbox Navigation Native
v324.17.0-rc.1 - Mapbox Core Common
v24.17.0-rc.1 - Mapbox Java
v7.9.0(release notes)
Navigation SDK v3.16.5
Navigation SDK Core Framework 3.16.5 - 20 November, 2025
Features
Bug fixes and improvements
- Added RouterFailureType.ROUTER_RECREATION_ERROR when route request failed due to related reason and made this error retriable
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.16.4(release notes) - Mapbox Navigation Native
v324.16.4 - Mapbox Core Common
v24.16.4 - Mapbox Java
v7.8.0(release notes)