Releases: mapbox/mapbox-navigation-android
Releases · mapbox/mapbox-navigation-android
Navigation SDK v3.11.1
Navigation SDK Core Framework 3.11.1 - 08 August, 2025
Features
Bug fixes and improvements
- 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
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Java
v7.6.0
(release notes)
Navigation SDK v3.11.0
Navigation SDK Core Framework 3.11.0 - 01 August, 2025
Features
- Added
MapboxSpeedZoneInfo
class to represent speed zone information. Available throughUpcomingCamerasObserver::onSpeedZoneProgress
andRoadCamerasMapCallback::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 newroad_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 defaultMapboxOptions.accessToken
will be used.CarPlaceSearchOptions.accessToken
and corresponding builder function has been deprecated becauseaccessToken
is no longer in use as the search component now uses the defaultMapboxOptions.accessToken
.- Used legacy/custom date primitives in EV modules to support older Android API levels.
- Added
DriverNotification
,DriverNotificationProvider
interfaces withEvBetterRouteNotificationProvider
andSlowTrafficNotificationProvider
implementations. Add newDriverNotificationManager
API to attach or detach providers andDriverNotificationManager.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
⚠️ Breaking changes in Experimental APIMapboxRouteCalloutView#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()
andMapboxNavigation#startReplayTripSessionWithPermissionCheck
that immediately throwIllegalStateException
if they are called withwithForegroundService
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 acceptsEtcGateApi.EtcGateInfo
as a function parameter. - Experimental Data Inputs functionality has been removed from the
core
module to a separatedatainputs
module (MapboxNavigation#dataInputs
and everything from the packagecom.mapbox.navigation.datainputs
have been removed). Contact us to get more information on how to get access to the module. - Experimental Adasis functionality has been removed from the
core
module (MapboxNavigation
's functionssetAdasisMessageObserver
,resetAdasisMessageObserver
,updateExternalSensorData
, andGraphAccessor#getAdasisEdgeAttributes
have been removed). Contact us 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 inRoutingTilesOptions#tilesVersion
. - Added experimental
MapboxRouteLineViewOptions#fadeOnHighZoomsConfig
andMapboxRouteArrowOptions#fadeOnHighZoomsConfig
to configure smooth fading out of route line or/and arrows on high zoom levels. - The
PredictiveCacheController(PredictiveCacheOptions)
constructor is now deprecated. UsePredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)
instead. - Added
NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold
that define threshold angle for rotation forFOLLOWING
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 calledEHorizonResultType.NOT_AVAILABLE
. - Old
MapboxNavigation.postUserFeedback()
functions have been deprecated, use an overloading that acceptsUserFeedback
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, seeMapboxNavigation.dataInputsManager
. ExperimentalEtcGateInfo
has been moved tocom.mapbox.navigation.core.datainputs
package.EtcGateApi
has been deprecated. - Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
- [BREAKING CHANGE]
PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheOptions.predictiveCacheSearchOptionsList
. Additionally,PredictiveCacheUnrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheSearchOptions
. Now, only search-related options can be passed toPredictiveCacheSearchOptions
. - 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
toRerouteOptions
. Reroute optionenableLegacyBehaviorForMapMatchedRoute
was removed, useNavigateToFinalDestination
strategy instead.
Bug fixes and improvements
- 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 (seeCopilotOptions#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 ...
Navigation SDK v3.11.0-rc.1
Navigation SDK Core Framework 3.11.0-rc.1 - 21 July, 2025
Features
Bug fixes and improvements
- Obfuscate access_token in the RoadShield logs
Known issues ⚠️
Other changes
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.14.0-rc.1
(release notes) - Mapbox Navigation Native
v324.14.0-rc.1
- Mapbox Core Common
v24.14.0-rc.1
- Mapbox Java
v7.4.0
(release notes)
Navigation SDK v3.10.2
Navigation SDK Core Framework 3.10.2 - 29 July, 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.13.5
(release notes) - Mapbox Navigation Native
v324.13.5
- Mapbox Core Common
v24.13.5
- Mapbox Java
v7.4.0
(release notes)
Navigation SDK v3.10.1
Navigation SDK Core Framework 3.10.1 - 23 July, 2025
Features
Bug fixes and improvements
- 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
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.13.4
(release notes) - Mapbox Navigation Native
v324.13.4
- Mapbox Core Common
v24.13.4
- Mapbox Java
v7.4.0
(release notes)
Mapbox Navigation SDK 2.20.4
Mapbox Navigation SDK 2.20.4 - 18 July, 2025
Changelog
Changes between v2.20.3 and v2.20.4
Bug fixes and improvements
- Fixed crash on
ManeuverViewBinder
with TransitionManager#go(Scene). #7908
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v10.18.3
(release notes) - Mapbox Navigation Native
v206.1.1
- Mapbox Core Common
v23.10.1
- Mapbox Java
v7.1.0
(release notes)
Navigation SDK v3.9.5
Navigation SDK Core Framework 3.9.5 - 17 July, 2025
Bug fixes and improvements
- Fix issue for customers who are unable to compile due to codesign issues.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.12.4
(release notes) - Mapbox Navigation Native
v324.12.5
- Mapbox Core Common
v24.12.5
- Mapbox Java
v7.4.0
(release notes)
Navigation SDK v3.11.0-beta.1
Navigation SDK Core Framework 3.11.0-beta.1 - 04 July, 2025
Features
- 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 newroad_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.
Bug fixes and improvements
- 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 (seeCopilotOptions#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 toRoutesUpdatedResult#navigationRoutes
after the first route progress update. - Fix when already passed part of route appears behind CCP
Known issues ⚠️
Other changes
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Java
v7.4.0
(release notes)
Navigation SDK v3.10.0
Navigation SDK Core Framework 3.10.0 - 19 June, 2025
Features
- 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 propertyconditionType
RoadCamerasManager
in active guidance now relies on newroad_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 defaultMapboxOptions.accessToken
will be used.CarPlaceSearchOptions.accessToken
and corresponding builder function has been deprecated becauseaccessToken
is no longer in use as the search component now uses the defaultMapboxOptions.accessToken
.- Used legacy/custom date primitives in EV modules to support older Android API levels.
- Added
DriverNotification
,DriverNotificationProvider
interfaces withEvBetterRouteNotificationProvider
andSlowTrafficNotificationProvider
implementations. Add newDriverNotificationManager
API to attach or detach providers andDriverNotificationManager.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
⚠️ Breaking changes in Experimental APIMapboxRouteCalloutView#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()
andMapboxNavigation#startReplayTripSessionWithPermissionCheck
that immediately throwIllegalStateException
if they are called withwithForegroundService
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 acceptsEtcGateApi.EtcGateInfo
as a function parameter. - Experimental Data Inputs functionality has been removed from the
core
module to a separatedatainputs
module (MapboxNavigation#dataInputs
and everything from the packagecom.mapbox.navigation.datainputs
have been removed). Contact us to get more information on how to get access to the module. - Experimental Adasis functionality has been removed from the
core
module (MapboxNavigation
's functionssetAdasisMessageObserver
,resetAdasisMessageObserver
,updateExternalSensorData
, andGraphAccessor#getAdasisEdgeAttributes
have been removed). Contact us 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 inRoutingTilesOptions#tilesVersion
. - Added experimental
MapboxRouteLineViewOptions#fadeOnHighZoomsConfig
andMapboxRouteArrowOptions#fadeOnHighZoomsConfig
to configure smooth fading out of route line or/and arrows on high zoom levels. - The
PredictiveCacheController(PredictiveCacheOptions)
constructor is now deprecated. UsePredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)
instead. - Added
NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold
that define threshold angle for rotation forFOLLOWING
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 calledEHorizonResultType.NOT_AVAILABLE
. - Old
MapboxNavigation.postUserFeedback()
functions have been deprecated, use an overloading that acceptsUserFeedback
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, seeMapboxNavigation.dataInputsManager
. ExperimentalEtcGateInfo
has been moved tocom.mapbox.navigation.core.datainputs
package.EtcGateApi
has been deprecated. - Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
- [BREAKING CHANGE]
PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheOptions.predictiveCacheSearchOptionsList
. Additionally,PredictiveCacheUnrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheSearchOptions
. Now, only search-related options can be passed toPredictiveCacheSearchOptions
. - 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
toRerouteOptions
. Reroute optionenableLegacyBehaviorForMapMatchedRoute
was removed, useNavigateToFinalDestination
strategy instead.
Bug fixes and improvements
- 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 toRoutesUpdatedResult#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 thatuxfKey
is properly retrieved and sent over. - Fixed the c...
Navigation SDK v3.10.0-rc.1
Navigation SDK Core Framework 3.10.0-rc.1 - 06 June, 2025
Features
- 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
Bug fixes and improvements
- 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
Known issues ⚠️
Other changes
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.13.0-rc.1
(release notes) - Mapbox Navigation Native
v324.13.0-rc.1
- Mapbox Core Common
v24.13.0-rc.1
- Mapbox Java
v7.4.0
(release notes)