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 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 requiresresidual
as a constructor parameter - Experimental
RawGnssLocation
type has been removed, nowRawGnssData
requiresDilutionOfPrecision
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
andMapboxRouteLineView#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
andPredictiveCacheController#createSearchControllers
. Now search predictive cache controller is created and destroyed together withPredictiveCacheController
instance ifPredictiveCacheOptions.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
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v11.13.1
(release notes) - Mapbox Navigation Native
v324.13.1
- Mapbox Core Common
v24.13.1
- Mapbox Java
v7.4.0
(release notes)