Navigation SDK 3.4.0 - 01 October, 2024
Features
- 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 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 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
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.7.0
(release notes) - Mapbox Navigation Native
v320.0.0
- Mapbox Core Common
v24.7.0
- Mapbox Java
v7.2.0
(release notes)