Releases: mapbox/mapbox-navigation-android
Navigation SDK v3.16.0-rc.1
Navigation SDK Core Framework 3.16.0-rc.1 - 10 October, 2025
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
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.16.0-rc.1
(release notes) - Mapbox Navigation Native
v324.16.0-rc.1
- Mapbox Core Common
v24.16.0-rc.1
- Mapbox Java
v7.8.0
(release notes)
Navigation SDK v3.12.2
Navigation SDK Core Framework 3.12.2 - 02 October, 2025
Features
- Expose roadEdgeId to LocationMatcherResult
Bug fixes and improvements
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.15.2
(release notes) - Mapbox Navigation Native
v324.15.2
- Mapbox Core Common
v24.15.2
- Mapbox Java
v7.8.0
(release notes)
Navigation SDK v3.12.1
Navigation SDK Core Framework 3.12.1 - 29 September, 2025
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.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.15.1
(release notes) - Mapbox Navigation Native
v324.15.1
- Mapbox Core Common
v24.15.1
- Mapbox Java
v7.8.0
(release notes)
Navigation SDK v3.16.0-beta.1
Navigation SDK Core Framework 3.16.0-beta.1 - 26 September, 2025
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
andAdasEdgeAttributes#roadItems
properties. - Added a new
RoadObjectMatcherOptions
class that configures the road object matching behavior. Available through theNavigationOptions
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 inMapboxRouteLineApiOptions
.
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,
which is not currently supported by NavSDK.
In this case you may listen toRouteCalloutUiStateData
updates viaRouteCalloutUiStateProvider
and use its information by attach a DVA. - Added experimental overloads for
MapboxManeuverApi#getRoadShields
andMapboxRouteShieldApi#getRouteShields
that accept aShieldFontConfig
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 typeReplanRoutesCallback
.
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.
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.16.0-beta.1
(release notes) - Mapbox Navigation Native
v324.16.0-beta.1
- Mapbox Core Common
v24.16.0-beta.1
- Mapbox Java
v7.8.0
(release notes)
Navigation SDK v3.12.0
Navigation SDK Core Framework 3.12.0 - 12 September, 2025
Features
- Expose PredictiveCacheLocationOptions.loadPredictiveCacheForAlternativeRoutes property
- Added offline tileset version management with update availability checking, which is available via
MapboxNavigation#tilesetVersionManager
. SeeTilesetVersionManager
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
andMapboxRouteShieldApi#getRouteShields
that accept aShieldFontConfig
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 inMapboxRouteLineApiOptions
.
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,
which is not currently supported by NavSDK.
In this case you may listen toRouteCalloutUiStateData
updates viaRouteCalloutUiStateProvider
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 throughUpcomingCamerasObserver::onSpeedZoneInfo
andRoadCamerasMapCallback::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 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 to `PredictiveCacheS...
Navigation SDK v3.11.6
Navigation SDK Core Framework 3.11.6 - 04 September, 2025
- 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
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Java
v7.6.0
- Search SDK 2.14.3
- Common SDK 24.14.4
- Maps SDK 11.14.4
Navigation SDK v3.11.5
Navigation SDK Core Framework 3.11.5 - 03 September, 2025
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Java
v7.6.0
(release notes) - Search SDK 2.14.2
- Common SDK 24.14.4
- Maps SDK 11.14.4
Navigation SDK v3.12.0-rc.1
Navigation SDK Core Framework 3.12.0-rc.1 - 28 August, 2025
Features
- 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 inMapboxRouteLineApiOptions
.
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,
which is not currently supported by NavSDK.
In this case you may listen toRouteCalloutUiStateData
updates viaRouteCalloutUiStateProvider
and use its information by attach a DVA.
Bug fixes and improvements
- Fixed the incorrect order of callbacks when notifying about road cameras on the route.
Known issues ⚠️
Other changes
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
Mapbox Navigation SDK 2.21.0
Mapbox Navigation SDK 2.21.0 - 29 August, 2025
Changelog
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.navigation:android
->com.mapbox.navigation:android-ndk27
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v10.19.0
(release notes) - Mapbox Navigation Native
v207.0.0
- Mapbox Core Common
v23.11.4
- Mapbox Java
v7.1.0
(release notes)
Navigation SDK v3.11.3
Navigation SDK Core Framework 3.11.3 - 18 August, 2025
Features
- Added a new notification alert
OfflineManeuver:NotificationAlert
.
Bug fixes and improvements
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Java
v7.6.0
(release notes)