Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v3.6.0
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.9.0.
- MapboxNavigationCore now requires MapboxNavigationNative v322.0.0.
API deprecations:
RerouteConfig.optionsCustomization
is deprecated in favor ofRerouteConfig.urlOptionsCustomization
. Using the deprecatedoptionsCustomization
may lead to losing custom query items at reroutes.
Routing
- Supported the updated native route refresh mechanism.
⚠️ Behavioral Changes ⚠️ :
- The default intermediate waypoint appearance is now a circle without the pin icon. To customize the appearance of intermediate waypoints
follow steps fromNavigationMapViewDelegate.navigationMapView(_:shapeFor:legIndex:)
documentation.
Map
- Fixed the case when intermediate waypoints can be displayed under the route line in map styles with no slot support.
- Fixed the case when
NavigationMapView.customRouteLineLayerPosition
was not applied in runtime. - Fixed possible alternative route annotation position on the main route.
- Improved support for tapping POI features in the Standard Style.
CarPlay
- Added new CarPlay icons.
- Added logic to automatically recenter puck after canceling preview mode.
- Fixed Car Play route does not properly cancel when navigating solely from the Car Play application.
- Added a new style for the puck and maneuver banner.
Other
- Fixed incorrect SDK naming for the UX and UIKit frameworks. Previously, the SDK name
mapbox-navigationCore-ios
was mistakenly used for these frameworks. - Fixed street names filtering by user's language.
- Improved history trace events.
- Fixed refreshing annotation of alternative routes.
- Avoided skipping of not passed instructions on teleports along the route.
- Improve the handling of canceled tasks when requesting
NavigationRoutes
.
v3.6.0-rc.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.9.0-rc.1.
- MapboxNavigationCore now requires MapboxNavigationNative v322.0.0-rc.1.
API deprecations:
RerouteConfig.optionsCustomization
is deprecated in favor ofRerouteConfig.urlOptionsCustomization
. Using the deprecatedoptionsCustomization
may lead to losing custom query items at reroutes.
Routing
- Supported the updated native route refresh mechanism.
Other changes
- Improve the handling of canceled tasks when requesting
NavigationRoutes
.
v3.6.0-beta.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.9.0-beta.1.
- MapboxNavigationCore now requires MapboxNavigationNative v322.0.0-beta.1.
⚠️ Behavioral Changes ⚠️ :
- The default intermediate waypoint appearance is now a circle without the pin icon. To customize the appearance of intermediate waypoints
follow steps fromNavigationMapViewDelegate.navigationMapView(_:shapeFor:legIndex:)
documentation.
Map
- Fixed the case when intermediate waypoints can be displayed under the route line in map styles with no slot support.
- Fixed the case when
NavigationMapView.customRouteLineLayerPosition
was not applied in runtime. - Fixed possible alternative route annotation position on the main route.
CarPlay
- Added new CarPlay icons.
- Added logic to automatically recenter puck after canceling preview mode.
- Fixed Car Play route does not properly cancel when navigating solely from the Car Play application.
- Added a new style for the puck and maneuver banner.
Other
- Fixed incorrect SDK naming for the UX and UIKit frameworks. Previously, the SDK name
mapbox-navigationCore-ios
was mistakenly used for these frameworks. - Fixed street names filtering by user's language.
- Improved history trace events.
- Fixed refreshing annotation of alternative routes.
- Avoided skipping of not passed instructions on teleports along the route.
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.