Mapbox Navigation SDK 2.15.0
mapbox-github-ci-writer-public-1
released this
04 Aug 13:39
·
6 commits
to release-v2.15
since this release
Mapbox Navigation SDK 2.15.0 - 04 August, 2023
Changelog
Changes between v2.14.0 and v2.15.0
Features
- Added
IncidentInfo#trafficCodes
property. #7407 - Introduced
RoutesInvalidatedObserver
to be notified about routes invalidation. When this observer is fired, the routes passed as an argument will not be refreshed anymore, because they expired. It is recommended to rebuild a route in this case. Example usage: #7318
mapboxNavigation.registerRoutesInvalidatedObserver { routes ->
val invalidatedIds = routes.map { it.id }
val currentRoutes = mapboxNavigation.getNavigationRoutes()
val primaryRoute = currentRoutes.firstOrNull()
if (routes.any { it.id == primaryRoute?.id }) {
// primary route is outdated - trigger reroute
mapboxNavigation.getRerouteController()?.reroute(object : NavigationRerouteController.RoutesCallback {
override fun onNewRoutes(
routes: List<NavigationRoute>,
routerOrigin: RouterOrigin
) {
mapboxNavigation.setNavigationRoutes(routes)
}
})
} else {
// remove outdated alternatives
mapboxNavigation.setNavigationRoutes(currentRoutes.filterNot { it.id in invalidatedIds })
}
}
- Introduced
MERGING_AREA
RoadObject type. You can receive Merging Areas viaRouteProgress#upcomingRoadObjects
and viaEHorizonObserver
. Note: to enable merging area collection when using EHorizon, setAlertServiceOptions#collectMergingAreas
to true. #7358 - Added new option to control gender of voice
MapboxSpeechApiOptions.gender
. #7337 - Added new options to
RouteLineColorResources
to style congestion, restrictions, and closures colors on inactive legs whenMapboxRouteLineOptions#styleInactiveRouteLegsIndependently
is enabled. The values default to transparent. #7322
Bug fixes and improvements
- Added
RouteLineColorResources#inactiveRouteLegCasingColor
to specify the color used for inactive legs casing. #7392 - Fixed an issue where in rare cases
BannerInstructionsObserver
might not have been invoked for an instruction when the route was being refreshed. #7414 - Reverted sticky charging stations feature for rerouting. #7403
- Map matching now uses emergency roads. #7404
- Improved algorithm that chooses fork during dead-reckoning. #7404
- Dead-reckoning is allowed even in short tunnels and bridges. #7404
- Improved arrival detection in case of off-road. #7429
- Fixed an issue where RouteProgress might have contained the same incident twice. #7429
- Fixed an issue where the app might have crashed due to JNI reference table overflow. #7429
- Fixed an issue with broken map-matching after significant teleports. #7429
- Fixed an issue where map-matching might have jumped on parallel roads. #7429
- Started using fallback to onboard routing in case of 5xx Directions Response codes. #7429
- Added
IncidentInfo#multilingualAffectedRoadNames
. #7428 - Fixed an issue where soft gradient was not applied for active legs. #7410
- Now updated via
MapboxNavigation#onEvDataUpdated
parameters are added to continuous alternatives requests. #7380 - Fixed snapping to a tunnel after driving out of underground parking. #7372
- Fixed ADASIS assertion failures on KML files. #7372
- Fixed MapMatching isuue where it might have picked the wrong tunnel. #7372
- Fixes an issue where trail layer that indicates the traveled portion of the route was visible below inactive legs. #7363
- Nav SDK now preserves charging stations after reroute. #7369
- Fixed an issue where
RoutingTilesOptions#tilesBaseUri
was used as a base url for route refresh requests instead ofRouteOptions#baseUrl
. #7294 - Improved Copilot to send a proper type with events of type
DriveEndsEvent
. #7236 - Added a Copilot option that allows to disable recording Free Drive histories. #7276
- Added experimental
metadata
property toLegWaypoint
class. This property exposes the correspondingDirectionsWaypoint#metadata
. #7259 - Added Copilot option that allows to split history files by duration. #7232
- Added Copilot options that allow to limit the number and total size of history files to be sent per session. #7232
- Route request timeout errors are now considered failures as opposed to cancellations (
NavigationRouterCallback#onFailure
will be invoked instead ofNavigationRouterCallback#onCanceled
). #7319 - Fixed an issue where location might have been snapped to an incorrect road when previously location updates had been inactive. #7319
- Fixed an issue where in case of poor location signal it might have been snapped to a road, which is above/below the correct one. #7319
- Added experimental
MapboxNavigation#etcGateApi
so that the app can provide data about passed ETC gates. #7295 - Fixed an issue where road closures where not displayed for inactive legs of the route. #7322
- Added experimental and temporary (i.e. it will be removed in one of the next releases)
OnlineRouteAlternativesSwitch
which requests online route when the current route is offline and automatically switches if such a route is found. It's designed for the case when platform's reachability API doesn't work reliably. #7245 - Fixed an issue where RouteReplaySession might not have started playing a route if it was created approximately at the same time when routes were set to
MapboxNavigation
. #7293
Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK
v10.15.0
(release notes) - Mapbox Navigation Native
v148.0.0
- Mapbox Core Common
v23.7.0
- Mapbox Java
v6.13.0
(release notes)