Releases
v3.4.0 latest - 01 October, 2024
- 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. - 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:
- 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)
v1.0.0-beta.1 - 13 December, 2023
v1.0.0-beta.2 - 22 December, 2023
v1.0.0-beta.3 - 19 January, 2024
Changelog
- Introduced support of Mapbox Map Matching API, see
MapboxNavigation#requestMapMatching
. - Support more options for
MapMatchingOptions
. - Made
MapboxNavigation
constructor andonDestroy
internal. To create an instance ofMapboxNavigation
useMapboxNavigationProvider#create
; to destroy it useMapboxNavigationProvider#destroy
.
v1.0.0-beta.4 - 26 January, 2024
Changelog
- Improved
CustomRouterRule
to work independently from device network setup. - Removed
CustomRouterRule#baseUrl
. NowCustomRouterRule
intercepts all route and route refresh requests to Mapbox Directions API. - Fixed a bug with multiple instances of cache which resulted in excessive memory consumption.
- Fixed an issue where reroute for multi-leg routes used to fail in case waypoint_names or waypoint_targets parameters were specified without an explicit waypoint_indices parameter.
- Improved Map Matching to avoid false deviation of the location puck to a parallel street.
- Improved handling of no storage available during navigation tiles downloading.
- Improved handling of invalid config in
DeviceProfile#customConfig
. - Fixed a native crash in E-Horizon implementation caused by internal race condition.
- Made
MapboxReplayer
constructor public. - Removed
OnlineRouteAlternativesSwitch
. UseNavigationRouteAlternativesObserver
to receive an online alternative for the current offline route. UnlikeOnlineRouteAlternativesSwitch
,NavigationRouteAlternativesObserver
doesn't switch to an online alternative automatically. - Changed structure of
NavigationRoute
. Now it can represent routes received from Mapbox Map Matching API as well as Mapbox Directions API.NavigationRoute#directionsResponse
has been removed. UseNavigationRoute#waypoints
,NavigationRoute#responseUUID
, andNavigationRoute#responseMetadata
to access data which used to be available viaNavigationRoute#directionsResponse
.NavigationRoute#routeOptions
has been removed. Try to utilise data available inNavigationRoute
, for example instead of using coordinates from route options, useNavigationRoute#waypoints
. Temporary propertyNavigationRoute#evMaxCharge
has been added to access maximum possible charge for the vehicle the route was requested for instead ofnavigationRoute.routeOptions.getUnrecognizedProperty("ev_max_charge")
. - Added
MapMatchingSuccessfulResult#navigationRoutes
which represent routes that could be set to navigator usingMapboxNavigation#setNavigationRoutes
. - Changed type of
MapMatchingSuccessfulResult#matches
fromList<NavigationRoute>
toList<MapMatchingMatch>
. Now every item fromMapMatchingSuccessfulResult#matches
represents a Match Object from Mapbox Map Matching API. - Changed LocationOptions API. Now custom location providers that emit mocked locations are allowed. In order to set a custom location provider, you now need to invoke
LocationOptions.Builder#locationProviderFactory
and pass a factory that will create a DeviceLocationProvider implementation based on a request parameter together will location provider type, which can be one of: REAL, MOCKED, MIXED. Note that if your provider can emit non-real locations, it must setisMock
extra flag value to true for such locations. To set this flag, use:
Location.Builder#extra(Value.valueOf(hashMapOf(LocationExtraKeys.IS_MOCK to Value.valueOf(true/false))))
- Added Advanced Driver Assistance Systems (ADAS) functionality as an experimental API.
- Added
NavigationViewApi#recenterCamera()
that allows to programatically recenter the camera position as if the recenter button was clicked.
v1.0.0-beta.5 - 02 February, 2024
Changelog
- The
maneuver
module now offers only API related to maneuver logic. Views was removed from the module MapboxRecenterButton
,MapboxRouteOverviewButton
,MapboxRoadNameView
,MapboxCameraModeButton
have been removed from ui-maps module.MapboxExtendableButtonLayoutBinding
has been removed fromui-base
module.- New module
libnavigation-tripdata
is available. It accumulates core api fromlibnavui-shield
,libnavui-tripprogress
,libnavui-maneuver
,libnavui-speedlimit
modules, which have been removed. - Introduced support for highlighting 3D buildings.
- Navigation Core Framework doesn't let creating
NavigationRoute
from json anymore. UseMapboxNavigation#requestRoutes
andMapboxNavigation#requestMapMatching
to requestNavigationRoute
s. - Added
NavigationRoute#serialize
andNavigationRoute#deserializeFrom
to support immediate transfer ofNavigationRoute
between applications and processes with the same Navigation Core Framework version. - Fixed crash in CustomRouterRule caused by invalid url schema in request
v1.0.0-rc.1 - 06 February, 2024
Changelog
- Changed type of
RouterOrigin
. Now it's an annotation which defines possible string values for router origin. RouterOrigin.Offboard
is renamed toRouterOrigin.ONLINE
.RouterOrigin.Onboard
is renamed toRouterOrigin.OFFLINE
.RouterOrigin.Custom
is removed.- Navigation Core Framework automatically updates alternative routes and switches to an online alternative in case of an offline primary route. Register
RoutesObserver
to keep track of current routes. UseMapboxNavigation#setContinuousAlternativesEnabled
to enable/disable automatic update. NavigationRouteAlternativesObserver
,RouteAlternativesObserver
,NavigationRouteAlternativesRequestCallback
,MapboxNavigation#registerRouteAlternativesObserver
,MapboxNavigation#requestAlternativeRoutes
were removed in favour of automatic alternatives update.libnav-ui
module has been renamed tolibnavigation-voice
. Package name has been changed tocom.mapbox.navigation.voice
.- Added support for
RouteOptions#suppressVoiceInstructionLocalNames
to onboard router. - Changed the semantics of
Location#timestamp
that you receive inonLocationMatcherResult
, instead of being set to current system time it is now has location input time + lookahead (extrapolation) time. - Implement ADASIS message batching.
- Split
MapboxRouteLineOptions
intoMapboxRouteLineApiOptions
andMapboxRouteLineViewOptions
. - Split
MapboxRouteLineOptions#displayRestrictedRoadSections
intoMapboxRouteLineApiOptions#calculateRestrictedRoadSections
andMapboxRouteLineViewOptions#displayRestrictedRoadSections
. You can have a set-up where some of yourMapboxRouteLineView
s display the restricted data and others don't. SetMapboxRouteLineApiOptions#calculateRestrictedRoadSections
if at least one of yourMapboxRouteLineView
s will display the restricted data. SetMapboxRouteLineViewOptions#displayRestrictedRoadSections
only to those views, who are going to display it. - Moved:
MapboxRouteLineOptions.Builder#withRouteLineBelowLayerId
toMapboxRouteLineViewOptions.Builder#routeLineBelowLayerId
;MapboxRouteLineOptions.Builder#withTolerance
toMapboxRouteLineViewOptions.Builder#tolerance
;MapboxRouteLineOptions.Builder#withVanishingRouteLineEnabled
toMapboxRouteLineApiOptions.Builder#vanishingRouteLineEnabled
;MapboxRouteLineOptions#styleInactiveRouteLegsIndependently
,MapboxRouteLineOptions#vanishingRouteLineEnabled
andMapboxRouteLineOptions#vanishingRouteLineUpdateIntervalNano
toMapboxRouteLineApiOptions
.MapboxRouteLineOptions#softGradientTransition
,MapboxRouteLineOptions#displaySoftGradientForTraffic
,MapboxROuteLineOptions#shareLineGeometrySources
,MapboxRouteLineOptions#lineDepthOcclusionFactor
,MapboxRouteLineOptions#waypointLayerIconOffset
,MapboxRouteLineOptions#waypointLayerIconAnchor
andMapboxRouteLineOptions#iconPitchAlignment
toMapboxRouteLineViewOptions
.
- Removed
RouteLineResources
class:
routeLineColorResources
,originWaypointIcon
,destinationWaypointIcon
,restrictedRoadDashArray
,restrictedRoadOpacity
andrestrictedRoadLineWidth
were moved toMapboxRouteLineViewOptions
trafficBackfillRoadClasses
was moved toMapboxRouteLineApiOptions
scaleExpression
properties were moved toMapboxRouteLineViewOptions#scaleExpressions
wrapper of typeRouteLineScaleExpressions
roundedLineCap
property was removed
- Moved
congestionRange
properties fromRouteLineColorResources
toMapboxRouteLineApiOptions
. - Removed
MapboxRouteLineOptions#routeStyleDescriptors
option. - Removed the possibility of modify and reading data from
RouteLineSetValue
,RouteLineClearValue
andRouteLineUpdateValue
. Do not use these classes on your side, just pass the objects betweenMapboxRouteLineAPI
andMapboxRouteLineView
. MapboxRouteLineAPI#options
andMapboxRouteLineView#options
properties are no longer public.- Made
RouteLineExpressionProvider
andRouteLineTrimExpressionProvider
internal. - Added a possibility to change a subset of
MapboxRouteLineViewOptions
in runtime without the need to recreate the components. The subset that can be changed is defined inMapboxRouteLineViewDynamicOptionsBuilder
. To change the dynamic options in runtime, use the following code:
routeLineView.updateDynamicOptions(style) {
routeLineColorResources(newColors)
// ...
}
routeLineApi.getRouteDrawData {
routeLineView.renderRouteDrawData(style, it)
}
- Split
RouteLineConfig#options
intoRouteLineConfig#apiOptions
andRouteLineConfig#viewOptions
- Added
RouteLineConfig#viewOptionsUpdates
. - Removed
MapboxRouteLineApi#showRouteWithLegIndexHighlighted
,MapboxRouteLineApi#setPrimaryTrafficColor
andMapboxRouteLineApi#setAlternativeTrafficColor
methods. - Changed
MapboxRouteLineApi#setVanishingOffset
method behavior in the following way: if the route had not been set toMapboxRouteLineApi
prior to the point whensetVanishingOffset
was invoked, it will return an error now. Previously it used to return a value, which was, however, useless for rendering without the route. - Fixed an issue when soft gradient was not applied correctly in
MapboxRouteLineApi#setVanishingOffset
result. - Fix adas tiles eviction algorithm
- Fixed a mapmatching issue where the position might have been snapped to the wrong part of a highway after leaving tunnel
- Improve GNSS jump detection for better pitch based map-matching in tunnels
- Eliminate border crossing object when moving to neutral waters and back
v1.0.0-rc.2 - 16 February, 2024
Changelog
- Removed
LongRoutesOptimisationOptions
. Navigation Core Framework is now optimized to handle long routes by default. - Added billing explanation logs. Now Navigation SDK explains in the logs why certain Active Guidance or Free Drive Trip session started/stopped/paused/resumed. Billing explanations have
[BillingExplanation]
prefix in the logcat. - Removed
NavigaitonRoute#deserializeFrom
andNavigationRoute#serialize
from public API because it's too easy to misuse them and create a leak of resources. RouterFailure.code
has been replaced withRouterFailure.type
. SeeRouterFailureType
to find all possible error types.- Improve map-matching on elevated roads.
- Added "mbx.RouteLine" history events. They will be collected automatically by NavSDK for both manual recorder and Copilot recorder when the recording is started.
You can enable route line events collection for Copilot using
CopilotOptions#shouldRecordRouteLineEvents
option. It is disabled by default. - Improved EHorizon path evaluation.
- Fixed leak of CarAppLifecycleOwner on every copilot start.
- Added Polish translation for UI elements.
v1.0.0-rc.3 - 01 March, 2024
Changelog
- Resolved an issue where a crash could occur if telemetry sending settings were changed after creating
MapboxNavigation
. - Fixed an issue with vanishing route line not working for single-leg routes.
- Eliminated waiting for online route in case of reroute if onboard is ready. For rerouting return the route that was calculated sooner will be returned, and the back-online feature is expected to handle the case of switching back to online.
- Improved highway exits detection.
- Improved passed alternatives handling.
- Fixed an issue when onboard route calculation might have been cancelled if online router returned critical error.
- Fixed an issue in processing ETC signals when distant projections where treated as valid map-matched locations.
- Fixed leak of CarAppLifecycleOwner on every copilot start.
- Fixed ADASIS generator errors related to the split edges.
- Fixed ADAS cache tiles eviction mechanism.
- Started handling "unlilimited" speed limits in ADASIS.
- Started sending special type POSITION messages in OFF-ROAD mode.
- Fixed ANR
at com.mapbox.common.LifecycleUtils.hasServiceRunningInForeground(LifecycleUtils.kt:25)
.
Mapbox dependencies:
- Mapbox Maps SDK
v11.2.0
(release notes) - Mapbox Navigation Native
v303.0.0
- Mapbox Core Common
v24.2.0
- Mapbox Java
v6.15.0
(release notes)
v1.0.0-rc.4 - 18 March, 2024
Changelog
- Added experimental property
NavigationRoute#responseOriginAPI
which describes API that Navigation CF used to generate data forNavigationRoute
.NavigationRoute#responseOriginAPI
could be used to form expectations from navigation experience given the fact that routes withResponseOriginAPI.MAP_MATCHING_API
has limited support currently. - Public data classes have been replaces with normal classes with generated
equals
,hashCode
,toString
.copy
function and destructuring declarations are not available for affected classes. Affected classes are:ExclusionViolation
,TripNotificationData
,MatchableOpenLr
,MatchableGeometry
,MatchablePoint
,ReplayEvents
,ReplayEventGetStatus
,ReplayEventUpdateLocation
,ReplayEventLocation
,RerouteState.Failed
,RerouteState.RouteFetched
,RouteOptionsResult.Succes
,RouteOptionsResult.Error
,NavigationSessionState.FreeDrive
,NavigationSessionState.ActiveGuidance
,SearchResultsEvent
,SearchResultUsedEvent
,HistoryPoint
,HistoryRoutablePoint
,HistorySearchResult
,SearchResultUsed
,SearchResults
,FocalPoint
,ViewportData
,NavigationRouteLine
,RouteLineDistancesIndex
,RouteLineScaleValue
. - Added support of seamless switch to an alternative route in case of deviation to the alternative route from a route received via
MapboxNavigation#requestMapMatching
. - Added
RerouteOptions#enableLegacyBehaviorForMapMatchedRoute
which lets enable reroute logic from Nav SDK v2 for routes generated by Mapbox Map Matching API. - Changed reroute state transition in case of deviation from a primary route which is received via
MapboxNavigation#requestMapMatching
when no alternative routes available to switch to. Reroute state used to beIdle
, but now performs the following transition:Idle
->FetchingRoute
->Failed
->Idle
.
Mapbox dependencies:
- Mapbox Maps SDK
v11.2.1
(release notes) - Mapbox Navigation Native
v303.0.0-36f123f
- Mapbox Core Common
v24.2.0
- Mapbox Java
v6.15.0
(release notes)
v3.0.0-rc.5 - 30 March, 2024
Changelog
- The new
ui-components
module is now available. This module offers UI components that were previously accessible in Nav SDK v2. - Made
RouteShieldError#url
andRouteShieldOrigin#originalUrl
nullable. They can be null in case the request had been cancelled before the URL was formed. - Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
- Added a Copilot option that allows to provide a different user id for history recording context.
Mapbox dependencies:
- Mapbox Maps SDK
v11.2.2
(release notes) - Mapbox Navigation Native
v304.0.0
- Mapbox Core Common
v24.2.3
- Mapbox Java
v6.15.0
(release notes)
v3.0.0 - 12 April, 2024
Changelog
-
Modules structure (mostly UI components modules) has been significantly changed. See migration guide for more information https://docs.mapbox.com/android/navigation/guides/migration-from-v2/#artifacts
-
Deprecated classes, functions and fields have been removed. See Nav SDK v2 documentation for more information about missing parts and migration guides.
-
com.mapbox.navigation.core.reroute.NavigationRerouteController
has been merged withcom.mapbox.navigation.core.reroute.RerouteController
-
Introduced support of Mapbox Map Matching API, see
MapboxNavigation#requestMapMatching
. -
Changed LocationOptions API. Now custom location providers that emit mocked locations are allowed. See documentation to get more information.
-
Added Advanced Driver Assistance Systems (ADAS) functionality as an experimental API.
-
Added
NavigationViewApi#recenterCamera()
that allows to programatically recenter the camera position as if the recenter button was clicked. -
Introduced support for highlighting 3D buildings.
-
Navigation Core Framework doesn't let creating
NavigationRoute
from json anymore. UseMapboxNavigation#requestRoutes
andMapboxNavigation#requestMapMatching
to requestNavigationRoute
s. -
Changed type of
RouterOrigin
. Now it's an annotation which defines possible string values for router origin.RouterOrigin.Offboard
is renamed toRouterOrigin.ONLINE
,RouterOrigin.Onboard
is renamed toRouterOrigin.OFFLINE
,RouterOrigin.Custom
is removed. -
Navigation Core Framework automatically updates alternative routes and switches to an online alternative in case of an offline primary route. Register
RoutesObserver
to keep track of current routes. UseMapboxNavigation#setContinuousAlternativesEnabled
to enable/disable automatic update. -
NavigationRouteAlternativesObserver
,RouteAlternativesObserver
,NavigationRouteAlternativesRequestCallback
,MapboxNavigation#registerRouteAlternativesObserver
,MapboxNavigation#requestAlternativeRoutes
were removed in favour of automatic alternatives update. -
Added support for
RouteOptions#suppressVoiceInstructionLocalNames
to onboard router. -
Changed the semantics of
Location#timestamp
that you receive inonLocationMatcherResult
, instead of being set to current system time it is now has location input time + lookahead (extrapolation) time. -
Route Line component has been refactored and significantly changed. See migration guide for more information: https://docs.mapbox.com/android/navigation/guides/migration-from-v2/#mapboxroutelineapi
-
Removed
LongRoutesOptimisationOptions
. Navigation Core Framework is now optimized to handle long routes by default. -
RouterFailure.code
has been replaced withRouterFailure.type
. SeeRouterFailureType
to find all possible error types. -
Added "mbx.RouteLine" history events. They will be collected automatically by NavSDK for both manual recorder and Copilot recorder when the recording is started.
You can enable route line events collection for Copilot usingCopilotOptions#shouldRecordRouteLineEvents
option. It is disabled by default. -
Improved EHorizon path evaluation.
-
Added experimental property
NavigationRoute#responseOriginAPI
which describes API that Navigation CF used to generate data forNavigationRoute
.NavigationRoute#responseOriginAPI
could be used to form expectations from navigation experience given the fact that routes withResponseOriginAPI.MAP_MATCHING_API
has limited support currently. -
Public data classes have been replaces with normal classes with generated
equals
,hashCode
,toString
.copy
function and destructuring declarations are not available for affected classes. -
Added support of seamless switch to an alternative route in case of deviation to the alternative route from a route received via
MapboxNavigation#requestMapMatching
. -
The Android Auto components are live in GA, follow the https://docs.mapbox.com/android/navigation/guides/androidauto/ to add it to your project.
-
Made
MapboxNavigation
constructor andonDestroy
internal. To create an instance ofMapboxNavigation
useMapboxNavigationProvider#create
; to destroy it useMapboxNavigationProvider#destroy
. 3274 -
Fixed a bug with multiple instances of cache which resulted in excessive memory consumption.
-
Fixed an issue where reroute for multi-leg routes used to fail in case waypoint_names or waypoint_targets parameters were specified without an explicit waypoint_indices parameter.
-
Improved handling of no storage available during navigation tiles downloading.
-
Improved handling of invalid config in
DeviceProfile#customConfig
. -
Fixed a native crash in E-Horizon implementation caused by internal race condition.
-
Made
MapboxReplayer
constructor public. -
Removed
OnlineRouteAlternativesSwitch
. UseNavigationRouteAlternativesObserver
to receive an online alternative for the current offline route. UnlikeOnlineRouteAlternativesSwitch
,NavigationRouteAlternativesObserver
doesn't switch to an online alternative automatically. -
Changed structure of
NavigationRoute
. Now it can represent routes received from Mapbox Map Matching API as well as Mapbox Directions API.NavigationRoute#directionsResponse
has been removed. UseNavigationRoute#waypoints
andNavigationRoute#responseUUID
to access data which used to be available viaNavigationRoute#directionsResponse
.NavigationRoute#routeOptions
has been removed. Try to utilise data available inNavigationRoute
, for example instead of using coordinates from route options, useNavigationRoute#waypoints
. Temporary propertyNavigationRoute#evMaxCharge
has been added to access maximum possible charge for the vehicle the route was requested for instead ofnavigationRoute.routeOptions.getUnrecognizedProperty("ev_max_charge")
. -
Improve GNSS jump detection for better pitch based map-matching in tunnels
-
Eliminate border crossing object when moving to neutral waters and back
-
Fixed leak of CarAppLifecycleOwner on every copilot start.
-
Resolved an issue where a crash could occur if telemetry sending settings were changed after creating
MapboxNavigation
. -
Fixed an issue with vanishing route line not working for single-leg routes.
-
Eliminated waiting for online route in case of reroute if onboard is ready. For rerouting return the route that was calculated sooner will be returned, and the back-online feature is expected to handle the case of switching back to online.
-
Improved highway exits detection.
-
Improved passed alternatives handling.
-
Fixed an issue when onboard route calculation might have been cancelled if online router returned critical error.
-
Fixed an issue in processing ETC signals when distant projections where treated as valid map-matched locations.
-
Fixed leak of CarAppLifecycleOwner on every copilot start.
-
Started sending special type POSITION messages in OFF-ROAD mode.
-
Fixed ANR
at com.mapbox.common.LifecycleUtils.hasServiceRunningInForeground(LifecycleUtils.kt:25)
. #dd -
Added
RerouteOptions#enableLegacyBehaviorForMapMatchedRoute
which lets enable reroute logic from Nav SDK v2 for routes generated by Mapbox Map Matching API. -
Changed reroute state transition in case of deviation from a primary route which is received via
MapboxNavigation#requestMapMatching
when no alternative routes available to switch to. Reroute state used to beIdle
, but now performs the following transition:Idle
->FetchingRoute
->Failed
->Idle
. -
Made
RouteShieldError#url
andRouteShieldOrigin#originalUrl
nullable. They can be null in case the request had been cancelled before the URL was formed. -
Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
-
Added a Copilot option that allows to provide a different user id for history recording context.
-
Fixed an issue where incidents and closures far ahead along the route might have disappeared after route refresh.
-
Made
RouteShieldError#url
andRouteShieldOrigin#originalUrl
nullable. They can be null in case the request had been cancelled before the URL was formed. -
Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
-
Improved tunnel exit detection.
-
Internal dependencies updated, which includes removal of unwanted URLs from the binary.
-
Improved incidents behavior: far away incidents are kept after partial route refresh.
-
Improved incidents behavior: expired incidents are removed on route refresh.
-
Improved incidents behavior: incidents with incorrect endTime are not removed.
-
Fixed EV route parsing issue.
-
Fixed a crash that could happen on incorrect waypoints in the route response.
-
Fixed continuous alternatives bugs leading to excessive
getRoute
calls. Mapbox dependencies: -
Mapbox Maps SDK
v11.3.0
(release notes) -
Mapbox Navigation Native
v305.0.0
-
Mapbox Core Common
v24.3.1
-
Mapbox Java
v6.15.0
(release notes)
v3.0.1 - 22 April, 2024
Changelog
- Added a new option
PredictiveCacheMapsOptions.extraOptions
that allows to specify extra tileset descriptor options. - Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
- Fixed an issue related to cached ADAS data not being released.
- Removed route alerts for border crossings in neutral waters.
- Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
- Fixed context leak on Activity recreation Mapbox dependencies:
- Mapbox Maps SDK
v11.3.0
(release notes) - Mapbox Navigation Native
v305.0.1
- Mapbox Core Common
v24.3.1
- Mapbox Java
v6.15.0
(release notes)
v3.0.2 - 26 April, 2024
Changelog
- Continuous alternatives request behaviour improved: always do periodical requests and notify server with requests context and reason to serve better alternatives
- Made RerouteState.Failed retryable in case reroute failed due to not having yet received a route progress for a new route that had just been set. Mapbox dependencies:
- Mapbox Maps SDK
v11.3.1
(release notes) - Mapbox Navigation Native
v306.0.1
- Mapbox Core Common
v24.3.1
- Mapbox Java
v6.15.0
(release notes)
v3.1.0-beta.1 - 07 May, 2024
Changelog
- Added
androidauto
module, that brings Navigation Android Auto SDK. The module was carried over from Nav SDK v2 and has been adapted to work with the Maps v11. - Optimized predictive cache usage.
- Added a new option
PredictiveCacheMapsOptions.extraOptions
that allows to specify extra tileset descriptor options. - Added a new option
AdasisConfigProfileShortTypeOptions.historyAverageSpeed
which specifies whetherhistoryAverageSpeed
data should be generated in ADASis messages. - Made RerouteState.Failed retryable in case reroute failed due to not having yet received a route progress for a new route that had just been set.
- Added support for custom users in map matching requests.
- Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
- Fixed an issue related to cached ADAS data not being released.
- Removed route alerts for border crossings in neutral waters.
- Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
- Fixed
PredictiveCacheLocationOptions::routeBufferRadiusInMeters
default value. - Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
- Fixed an issue related to cached ADAS data not being released.
- Removed route alerts for border crossings in neutral waters.
- Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
- Fixed context leak on Activity recreation
- Improved alternative routes Navigation SDK generates during reroute. Mapbox dependencies:
- Mapbox Maps SDK
v11.4.0-beta.3
(release notes) - Mapbox Navigation Native
v308.0.0
- Mapbox Core Common
v24.4.0-beta.3
- Mapbox Java
v6.15.0
(release notes)
v3.0.3 - 17 May, 2024
Changelog
- Improved alternative routes Navigation SDK generates during reroute. Mapbox dependencies:
- Mapbox Maps SDK
v11.3.1
(release notes) - Mapbox Navigation Native
v306.0.2
- Mapbox Core Common
v24.3.1
- Mapbox Java
v6.15.0
(release notes)
v3.1.0-rc.1 - 17 May, 2024
Changelog
- Improved
MapboxNavigationViewportDataSource
behavior, it updates view port data only when map size is calculated which prevents from using incorrect data. - Optimized network consumption of Continuous Alternatives feature. Mapbox dependencies:
- Mapbox Maps SDK
v11.4.0-rc.2
(release notes) - Mapbox Navigation Native
v309.0.0
- Mapbox Core Common
v24.4.0-rc.2
- Mapbox Java
v6.15.0
(release notes)
v3.0.4 - 31 May, 2024
Changelog
- Fixed a crash due to incorrect OpenLR input.
- Fixed a fork point path recalculation after tunnel jumps.
- Allow backward match in ETC cost. Mapbox dependencies:
- Mapbox Maps SDK
v11.3.1
(release notes) - Mapbox Navigation Native
v306.0.3
- Mapbox Core Common
v24.3.1
- Mapbox Java
v6.15.0
(release notes)
v3.1.0 - 04 June, 2024
Changelog
- Improved
MapboxNavigationViewportDataSource
behavior, it updates view port data only when map size is calculated which prevents from using incorrect data. - Optimized network consumption of Continuous Alternatives feature.
- Fixed a crash due to incorrect OpenLR input data.
- Fixed a bug with spinning smoothed coordinate. Mapbox dependencies:
- Mapbox Maps SDK
v11.4.1
(release notes) - Mapbox Navigation Native
v311.0.0
- Mapbox Core Common
v24.4.0
- Mapbox Java
v6.15.0
(release notes)
v3.2.0-beta.1 - 13 June, 2024
Changelog
- Added
RerouteStrategyForMapMatchedRoutes
toRerouteOptions
. Reroute optionenableLegacyBehaviorForMapMatchedRoute
was removed, useNavigateToFinalDestination
strategy instead. - 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:
- Mapbox Maps SDK
v11.5.0-beta.1
(release notes) - Mapbox Navigation Native
v312.0.0
- Mapbox Core Common
v24.5.0-beta.4
- Mapbox Java
v6.15.0
(release notes)
v3.2.0-rc.1 - 21 June, 2024
Changelog
- Added experimental
MapboxNavigation#replanRoute
to handle cases when user changes route options during active guidance, for example enabling avoid ferries. - [BREAKING CHANGE]
PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheOptions.predictiveCacheSearchOptionsList
. Additionally,PredictiveCacheUnrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheSearchOptions
. Now, only search-related options can be passed toPredictiveCacheSearchOptions
. - Implementation of
RerouteController#registerRerouteStateObserver
now invokes observer immediately with current state instead of posting invocation to the main looper.
Mapbox dependencies: - Mapbox Maps SDK
v11.5.0-rc.1
(release notes) - Mapbox Navigation Native
v313.0.0
- Mapbox Core Common
v24.5.0-rc.1
- Mapbox Java
v6.15.0
(release notes)
v3.2.0 - 10 July, 2024
Changelog
- 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 experimental
MapboxNavigation#replanRoute
to handle cases when user changes route options during active guidance, for example enabling avoid ferries. - [BREAKING CHANGE]
PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheOptions.predictiveCacheSearchOptionsList
. Additionally,PredictiveCacheUnrecognizedTilesetDescriptorOptions
has been renamed toPredictiveCacheSearchOptions
. Now, only search-related options can be passed toPredictiveCacheSearchOptions
. - Fixed
Routes
that origin is out of primary route cannot be added as alternatives. - Implementation of
RerouteController#registerRerouteStateObserver
now invokes observer immediately with current state instead of posting invocation to the main looper.
Mapbox dependencies: - Mapbox Maps SDK
v11.5.0
(release notes) - Mapbox Navigation Native
v314.0.0
- Mapbox Core Common
v24.5.0
- Mapbox Java
v6.15.0
(release notes)
v3.3.0-beta.1 - 19 July, 2024
Changelog
- 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. - 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. Mapbox dependencies: - Mapbox Maps SDK
v11.6.0-beta.1
(release notes) - Mapbox Navigation Native
v315.0.0
- Mapbox Core Common
v24.6.0-beta.1
- Mapbox Java
v7.1.0
(release notes)
v3.3.0-rc.1 - 02 August, 2024
Changelog
- Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
- 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- Fixed the issue of unwanted rerouting occurring immediately after setting a new route Mapbox dependencies:
- Mapbox Maps SDK
v11.6.0-rc.1
(release notes) - Mapbox Navigation Native
v316.0.0
- Mapbox Core Common
v24.6.0-rc.1
- Mapbox Java
v7.1.0
(release notes)
v3.3.0 - 16 August, 2024
Changelog
- Added
NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold
that define threshold angle for rotation forFOLLOWING
Navigation Camera state. - Added
MapboxRouteCalloutViewOptions
that allows to customize route callouts appearance - Now
EHorizonResultType.Type
has a new element calledEHorizonResultType.NOT_AVAILABLE
. - Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
- 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- 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. - 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.
- Fixed the issue of unwanted rerouting occurring immediately after setting a new 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:
- Mapbox Maps SDK
v11.6.0
(release notes) - Mapbox Navigation Native
v317.0.0
- Mapbox Core Common
v24.6.0
- Mapbox Java
v7.1.0
(release notes)
v3.2.1 - 23 August, 2024
Changelog
- Added
NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold
that define threshold angle for rotation forFOLLOWING
Navigation Camera state. - Locations input: moved to the background thread
- Improved runtime performance of positioning in dense areas. Introduced the possibility to enable output frequency throttling in situations when the system is not able to catch up with the real time. This is relevant only for high-frequency input.
- Improved performance of tracking large road objects on the most probable path in eHorizon.
- Fixed the crash in route alternatives during leg switching. Mapbox dependencies:
- Mapbox Maps SDK
v11.5.0
(release notes) - Mapbox Navigation Native
v314.0.2
- Mapbox Core Common
v24.5.0
- Mapbox Java
v6.15.0
(release notes)
v3.2.2 - 02 September, 2024
Changelog
Mapbox dependencies:
- Mapbox Maps SDK
v11.5.0
(release notes) - Mapbox Navigation Native
v314.0.3
- Mapbox Core Common
v24.5.0
- Mapbox Java
v6.15.0
(release notes)
v3.3.1 - 03 September, 2024
Changelog
Mapbox dependencies:
- Mapbox Maps SDK
v11.6.0
(release notes) - Mapbox Navigation Native
v317.0.1
- Mapbox Core Common
v24.6.0
- Mapbox Java
v7.1.0
(release notes)
v3.4.0-beta.1 - 05 September, 2024
Changelog
- 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
- 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. Mapbox dependencies:
- Mapbox Maps SDK
v11.7.0-beta.1
(release notes) - Mapbox Navigation Native
v318.0.0
- Mapbox Core Common
v24.7.0-beta.2
- Mapbox Java
v7.2.0
(release notes)
v3.4.0-rc.1 - 17 September, 2024
Changelog
- Improved route completion logic. Completed state is triggered only if the puck is leaving the waypoint or after timeout reaching the waypoint threshold.
- Fixed
CarSearchLocationProvider
produces NullPointerException when using Mapbox Search SDK. - Improved updating alternative routes.
Mapbox dependencies:
- Mapbox Maps SDK
v11.7.0-rc.1
(release notes) - Mapbox Navigation Native
v319.0.0
- Mapbox Core Common
v24.7.0-rc.2
- Mapbox Java
v7.2.0
(release notes)