Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v3.5.0
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.8.0.
- MapboxNavigationCore now requires MapboxNavigationNative v321.0.0.
⚠️ Behavioral Changes ⚠️ :
- The final destination is now displayed as a waypoint circle layer instead of a point annotation. Use
AnnotationOrchestrator.makePointAnnotationManager()
to create your own annotation manager to add the final destination annotation to the map. For more information see the following guide: https://docs.mapbox.com/ios/maps/guides/markers-and-annotations/annotations/#markers. To hide a particular waypoint, useNavigationMapViewDelegate.navigationMapView(_:shapeFor:legIndex:)
method to supplyFeature.properties
with data that allows distinguishing waypoints. Use these properties data inCircleLayer.circleOpacity
expression to control waypoints visibility. - Updated the default visual style of waypoints. To customize waypoint representation, use
NavigationMapViewDelegate.navigationMapView(_:waypointCircleLayerWithIdentifier:sourceIdentifier:)
method to create your ownCircleLayer
for waypoints.
API deprecations:
NavigationMapView.pointAnnotationManager
property is deprecated and should no longer be used, as the final destination annotation is no longer added to the map.NavigationMapView.navigationMapView(_, didAdd:pointAnnotationManager:)
method is deprecated and should no longer be used, as the final destination annotation is no longer added to the map.RoutingConfig.init(alternativeRoutesDetectionSettings:fasterRouteDetectionSettings:rerouteSettings:initialManeuverAvoidanceRadius:routeRefreshPeriod:routingProviderSource:prefersOnlineRoute:detectsReroute:)
initializer is deprecated in favor ofRoutingConfig.init(alternativeRoutesDetectionConfig:fasterRouteDetectionConfig:rerouteConfig:initialManeuverAvoidanceRadius:routeRefreshPeriod:routingProviderSource:prefersOnlineRoute:)
.
Map
- An alternative route is hidden on the map right after an alternative starting fork point is passed.
- Fixed a double call of
NavigationComponent.onDidReroute()
. - Fixed a possible case when
.relativeDurationsOnAlternativeManuever
annotations can be visible even if they were hidden previously. - Added the support for specifying the custom route line layer position for map styles without slots support by
NavigationMapView.customRouteLineLayerPosition
.
Location
- Fixed the case when a raw, non-map-matched location was used in CarPlay.
CarPlay:
- Update navigation buttons style.
- Fixed inconsistent state while ending active navigation.
- Updated navigation buttons style.
CarPlayMapViewController
does not automatically change the state to free drive when it appears, if the previous state was different from theidle
state.
Routing
- Fixed map matching bug after leaving a tunnel.
- Increased route stickiness in dead reckoning mode.
- Improved odometry and road graph fusing in urban canyons.
Other changes
- Added support for a special speed limit sign for no speed limit zones.
- Fixed a possible force
nil
unwrapping inNavigationViewController.styleManager
. NavigationViewController
transitions navigation to theidle
state when it is dismissed.- Added the ability to configure predictive cache for search by
PredictiveCacheConfig.predictiveCacheSearchConfig
.
v3.5.0-rc.2
v3.5.0-rc.2
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v321.0.0-rc.2.
- Fixed the version format of the MapboxNavigationNative in the
Info.plist
for pre-releases.
v3.5.0-rc.1
⚠️ Behavioral Changes ⚠️ :
- The final destination is now displayed as a waypoint circle layer instead of a point annotation. Use 'AnnotationOrchestrator.makePointAnnotationManager()' to create your own annotation manager to add the final destination annotation to the map. For more information see the following guide: https://docs.mapbox.com/ios/maps/guides/markers-and-annotations/annotations/#markers. To hide a particular waypoint, use
NavigationMapViewDelegate.navigationMapView(_:shapeFor:legIndex:)
method to supplyFeature.properties
with data that allow to distinguish waypoints. Use these properties data inCircleLayer.circleOpacity
expression to control waypoints visibility. - Updated the default visual style of waypoits. To customize waypoint representation, use
NavigationMapViewDelegate.navigationMapView(_:waypointCircleLayerWithIdentifier:sourceIdentifier:)
method to create your ownCircleLayer
for waypoints.
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v321.0.0-rc.1.
- MapboxNavigationCore now requires MapboxMaps v11.8.0-rc.1.
API deprecations
NavigationMapView.pointAnnotationManager
property is deprecated and should no longer be used, as the final destination annotation is no longer added to the map.NavigationMapView.navigationMapView(_, didAdd:pointAnnotationManager:)
method is deprecated and should no longer be used, as the final destination annotation is no longer added to the map.
CarPlay
- Updated navigation buttons style.
CarPlayMapViewController
does not automatically change the state to free drive when it appears if the previous state was different thanidle
.
Routing
- Fixed map matching bug after leaving a tunnel.
- Increased route stickiness in dead reckoning mode.
- Improved odometry and road graph fusing in urban canyons.
Other changes
- Added support for a special speed limit sign for no speed limit zones.
- Fixed a possible force
nil
unwrapping inNavigationViewController.styleManager
.
v2.19.0
Packaging
- MapboxCoreNavigation now requires MapboxNavigationNative v206.x. (#4718)
- Switched to the
s.resource_bundle
usage instead ofs.resources
in the podspec to avoid extra inclusion of Privacy Manifest resource in Cocoapods. - MapboxNavigation now requires MapboxMaps v10.18.2. (#4718)
Routing
- Added handling
RouteResponse.refreshTTL
into account when refreshing a route. Now it will no longer be possible to attmept to refresh and outdated route, andRouter
will inform that current route has expired usingRouterDelegate.routerDidFailToRefreshExpiredRoute(:_)
method. (#4672)
Other changes
- Fixed next banner view correctly appearing when steps list view is expanded. (#4708)
- Fixed rare route simulation issue where user's speed was calculated and NaN and the puck did not move. (#4708)
- Fixed a possibly not-updating
StepsViewController
after reroutes when using a custom top bar. (#4716) - Improved completion detection via locating matched point near leg end if a point was not located on the current leg. (#4718)
Documentation is available online or within Xcode.
v3.5.0-beta.1
⚠️ ⚠️ ⚠️ Known Issues ⚠️ ⚠️ ⚠️
- Route Line Rendering: In some cases, the route line may display with jagged or blocky corners, rather than smooth curves.
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v321.0.0-beta.1.
- MapboxNavigationCore now requires MapboxMaps v11.8.0-beta.1.
API deprecations:
RoutingConfig.init(alternativeRoutesDetectionSettings:fasterRouteDetectionSettings:rerouteSettings:initialManeuverAvoidanceRadius:routeRefreshPeriod:routingProviderSource:prefersOnlineRoute:detectsReroute:)
initializer is deprecated in favor ofRoutingConfig.init(alternativeRoutesDetectionConfig:fasterRouteDetectionConfig:rerouteConfig:initialManeuverAvoidanceRadius:routeRefreshPeriod:routingProviderSource:prefersOnlineRoute:)
.
Map
- An alternative route is hidden on the map right after an alternative starting fork point is passed.
- Fixed a double call of
NavigationComponent.onDidReroute()
. - Fixed a possible case when
.relativeDurationsOnAlternativeManuever
annotations can be visible even if they were hidden previously. - Added the support for specifying the custom route line layer position for map styles without slots support by
NavigationMapView.customRouteLineLayerPosition
.
Location
- Fixed the case when a raw, non-map-matched location was used in CarPlay.
Other changes
NavigationViewController
transitions navigation to theidle
state when it is dismissed.- Added the ability to configure predictive cache for search by
PredictiveCacheConfig.predictiveCacheSearchConfig
.
v3.4.0
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v320.0.0.
- MapboxNavigationCore now requires MapboxMaps v11.7.0.
Map
- Updated appearance and placement mechanism of the route line callouts.
- Fixed extra coordinates outside
lookaheadDistance
for the maneuver added for the following navigation camera calculation. The camera frame can now be configured correctly byIntersectionDensity
. - Added API
NavigationMapView.excludedRouteAlertTypes
for controlling the visibility of road alerts on the map. - Fixed a case when a far maneuver was framed by the navigation camera calculation with
PitchNearManeuver.enabled
. The distance to maneuver can be configured correctly byPitchNearManeuver.triggerDistanceToManeuver
. - Fixed warnings
Slot 'middle' missing for layer
. - Fixed possible incorrect route line layer order for map styles without slot support causing top layers to appear beneath the navigation route line.
CarPlay
- Added new method
previewRoutes(to destination: Waypoint) async
in CarPlayManager. - Added new method
previewRoutes(between waypoints: [Waypoint]) async
in CarPlayManager. - Added new method
previewRoutes(for options: RouteOptions) async
in CarPlayManager.
Location
- Fixed the issue that a map-matched location was sent instead of a raw location in
MapMatchingState.location
. Switch toMapMatchingState.enhancedLocation
if you need a map-matched location.
Routing
NavigationRouteOptions
andNavigationMatchOptions
no longer include.numericCongestionLevel
attribute by default for profiles other than.automobileAvoidingTraffic
.
Other changes
NavigatorErrors.UnexpectedNavigationStatus
is now public.- Improved Telemetry UI-related data collection from the main thread.
- Reported road names will now also respect user languages preferences.
- Fixed a UI bug when the opened steps list view was not updated and sometimes had a blank space at the top.
- Added more feedback categories for Active Guidance.
- Added missing languages for the
SAME_TIME
label localization. - Fixed possible issue when the "NONEXISTENT_KEY_VALUE" value could have been displayed when the custom localization bundle was used and the debug option “Show non-localized strings” was enabled in Xcode.
v3.4.0-rc.1
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v319.0.0.
- MapboxNavigationCore now requires MapboxMaps v11.7.0-rc.1.
Map
- Added API
NavigationMapView.excludedRouteAlertTypes
for controlling the visibility of road alerts on the map. - Fixed a case when a far maneuver was framed by the navigation camera calculation with
PitchNearManeuver.enabled
. The distance to maneuver can be configured correctly byPitchNearManeuver.triggerDistanceToManeuver
.
Other changes
- Fixed possible issue when the "NONEXISTENT_KEY_VALUE" value could have been displayed when the custom localization bundle was used and the debug option “Show non-localized strings” was enabled in Xcode.
v2.19.0-beta.1
Packaging
- MapboxCoreNavigation now requires MapboxNavigationNative v206.x. (#4718)
- MapboxNavigation now requires MapboxMaps v10.18.2. (#4718)
Routing
- Added handling
RouteResponse.refreshTTL
into account when refreshing a route. Now it will no longer be possible to attmept to refresh and outdated route, andRouter
will inform that current route has expired usingRouterDelegate.routerDidFailToRefreshExpiredRoute(:_)
method. (#4672)
Other changes
- Fixed next banner view correctly appearing when steps list view is expanded. (#4708)
- Fixed rare route simulation issue where user's speed was calculated and NaN and the puck did not move. (#4708)
- Fixed a possibly not-updating
StepsViewController
after reroutes when using a custom top bar. (#4716) - Improved completion detection via locating matched point near leg end if a point was not located on the current leg. (#4718)
Documentation is available online or within Xcode.
v3.4.0-beta.1
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v318.0.0.
- MapboxNavigationCore now requires MapboxMaps v11.7.0-beta.1.
- MapboxNavigationCore now requires Turf-swift v3.0.0.
CarPlay
- Added new method
previewRoutes(to destination: Waypoint) async
in CarPlayManager. - Added new method
previewRoutes(between waypoints: [Waypoint]) async
in CarPlayManager. - Added new method
previewRoutes(for options: RouteOptions) async
in CarPlayManager.
Location
- Fixed the issue that a map-matched location was sent instead of a raw location in
MapMatchingState.location
. Switch toMapMatchingState.enhancedLocation
if you need a map-matched location.
Other changes
NavigatorErrors.UnexpectedNavigationStatus
is now public.- Improved Telemetry UI-related data collection from the main thread.
- Reported road names will now also respect user languages preferences.
- Fixed a UI bug when the opened steps list view was not updated and sometimes had a blank space at the top.
- Added more feedback categories for Active Guidance.
- Added missing languages for the
SAME_TIME
label localization.
v3.3.1
Packaging
- MapboxNavigationCore now requires MapboxNavigationNative v317.0.1.
Routing
- Fixed switching to a continuous alternatives during active guidance.
- Ignore an alternative route and return non-nil
NavigationRoutes
when switching to an alternative and an invalid fork point was found.
Other changes
- Fixed incorrect playback ducking while voice instructions are muted.
- Fixed too low voice instructions volume when device volume was not maxed out.