Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v3.9.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.12.1
- MapboxNavigationCore now requires MapboxNavigationNative v324.12.1
v3.9.0
Packaging
- Xcode 16.2 or above is now required for the SDK usage.
- MapboxNavigationCore now requires MapboxMaps v11.12.0
- MapboxNavigationCore now requires MapboxNavigationNative v324.12.0
API Deprecations
MapboxSpeechSynthesizer.prepareIncomingSpokenInstructions(_:)
andMapboxSpeechSynthesizer.speak(_:during:)
are deprecated in favor ofMapboxSpeechSynthesizer.prepareIncomingSpokenInstructions(_:locale:)
andMapboxSpeechSynthesizer.speak(_:during:locale:)
.
CarPlay
- In
CarPlayNavigationViewController
, trip travel estimates now show 1 instead of 0 minutes remaining when there is less than 1 minute remaining.
Routing
- Added
RerouteConfig.rerouteStrategyForMatchRoute
to configure rerouting behavior with map-matched routes.
Map
- New design for route callouts (travel duration annotations) replacing the previous default one.
- Added properties to change font and color for new caption element in default route callout views:
NavigationMapView.routeAnnotationCaptionTextFont
NavigationMapView.routeAnnotationCaptionTextColor
NavigationMapView.routeAnnotationSelectedCaptionTextColor
- Fixed an issue when intersection annotations could render above the user puck.
- Fixed an issue where maneuver arrow layers could render in the incorrect order in map styles that do not support slots.
Pricing
- Fixes a case when the SDK stopped the billing session when finishing active guidance. Now the SDK supports the possibility to restore the previous active guidance billing session.
Other changes
- Fixed an issue where the user interface did not necessarily display distances in the same measurement system as the requested route by default.
- Fixed the fallback to the
RouteOptions.locale
for on-device speech synthesizing if the Mapbox Voice API does not support the requested language. - Fixed the delay on camera changes during heading updates with using the walking routing profile.
v3.9.0-rc.1
v3.9.0-rc.1
Packaging
- Xcode 16.2 or above is now required for the SDK usage.
- MapboxNavigationCore now requires MapboxMaps v11.12.0
- MapboxNavigationCore now requires MapboxNavigationNative v324.12.0
API Deprecations
MapboxSpeechSynthesizer.prepareIncomingSpokenInstructions(_:)
andMapboxSpeechSynthesizer.speak(_:during:)
are deprecated in favor ofMapboxSpeechSynthesizer.prepareIncomingSpokenInstructions(_:locale:)
andMapboxSpeechSynthesizer.speak(_:during:locale:)
.
CarPlay
- In
CarPlayNavigationViewController
, trip travel estimates now show 1 instead of 0 minutes remaining when there is less than 1 minute remaining.
Routing
- Added
RerouteConfig.rerouteStrategyForMatchRoute
to configure rerouting behavior with map-matched routes.
Map
- New design for route callouts (travel duration annotations) replacing the previous default one.
- Added properties to change font and color for new caption element in default route callout views:
NavigationMapView.routeAnnotationCaptionTextFont
NavigationMapView.routeAnnotationCaptionTextColor
NavigationMapView.routeAnnotationSelectedCaptionTextColor
- Fixed an issue when intersection annotations could render above the user puck.
- Fixed an issue where maneuver arrow layers could render in the incorrect order in map styles that do not support slots.
Pricing
- Fixes a case when the SDK stopped the billing session when finishing active guidance. Now the SDK supports the possibility to restore the previous active guidance billing session.
Other changes
- Fixed an issue where the user interface did not necessarily display distances in the same measurement system as the requested route by default.
- Fixed the fallback to the
RouteOptions.locale
for on-device speech synthesizing if the Mapbox Voice API does not support the requested language. - Fixed the delay on camera changes during heading updates with using the walking routing profile.
v3.8.1
v3.8.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.11.1.
- MapboxNavigationCore now requires MapboxNavigationNative v324.0.3.
v3.8.0
v3.8.0
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.11.0.
- MapboxNavigationCore now requires MapboxNavigationNative v324.0.0.
Audio
- Improved AVAudioSession handling for playback of the reroute sound and voice instructions. Activation and deactivation of AVAudioSession no longer occur on the main thread, and these operations are synchronized. This eliminates UI freezes that occurred to a lesser extent during activation and to a greater extent during deactivation.
Routing
Waypoint
object is extended withTimeZoneInformation
.
API Deprecations
- The extension for AVAudioSession is no longer supported and has been deprecated, which affects the following methods:
AVAudioSession.tryDuckAudio()
AVAudioSession.tryUnduckAudio()
CarPlay
- Forwarded shapes for waypoints from
CarPlayNavigationViewControllerDelegate
toNavigationMapViewDelegate
.
Simulation
- Fixed case when route refresh or an alternative route selection causes the simulation progress reset.
Other changes
- Fixed the crash on
RouteOptions
initialization with url query items with invalid target coordinates parameters set. The failure pattern is:- Use the
RouteOptions.init(waypoints:profileIdentifier:queryItems:)
initializer. - Build options with wayipoints treated as a stops. More information here: Silent waypoints
- Provide optional parameter
waypoint_targets
query item with empty data for at least one waypoint. It may look like this:waypoint_targets=;-86.790838,36.152884
. More information here: Optional parameters
- Use the
- Updated localized strings, replaced English values in translations.
- Fixed a bug when
CarPlayNavigationViewController
showed a midpoint arrival view even when arrived at the final destination.
v3.7.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.10.2.
- MapboxNavigationCore now requires MapboxNavigationNative v323.0.2.
v3.8.0-rc.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.11.0-rc.1.
- MapboxNavigationCore now requires MapboxNavigationNative v324.0.0-rc.2.
Other changes
- Fixed the crash on
RouteOptions
initialization with url query items with invalid target coordinates parameters set. The failure pattern is:- Use the
RouteOptions.init(waypoints:profileIdentifier:queryItems:)
initializer. - Build options with wayipoints treated as a stops. More information here: Silent waypoints
- Provide optional parameter
waypoint_targets
query item with empty data for at least one waypoint. It may look like this:waypoint_targets=;-86.790838,36.152884
. More information here: Optional parameters
- Use the
v2.20.0-beta.1
Other changes
- MapboxNavigation now requires minimim MapboxMaps v10.19.0. (#4750)
- Added movement type reports to Telemetry.
Audio
- Improved
AVAudioSession
handling for playback of the reroute sound and voice instructions. Activation and deactivation ofAVAudioSession
no longer occur on the main thread, and these operations are synchronized. This eliminates UI freezes that occurred to a lesser extent during activation and to a greater extent during deactivation.
API Deprecations
- The extension for AVAudioSession is no longer supported and has been deprecated, which affects the following methods:
Documentation is available online or within Xcode.
v3.8.0-beta.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.11.0-beta.1.
- MapboxNavigationCore now requires MapboxNavigationNative v324.0.0-beta.1.
Audio
- Improved AVAudioSession handling for playback of the reroute sound and voice instructions. Activation and deactivation of AVAudioSession no longer occur on the main thread, and these operations are synchronized. This eliminates UI freezes that occurred to a lesser extent during activation and to a greater extent during deactivation.
Routing
Waypoint
object is extended withTimeZoneInformation
.
API Deprecations
- The extension for AVAudioSession is no longer supported and has been deprecated, which affects the following methods:
AVAudioSession.tryDuckAudio()
AVAudioSession.tryUnduckAudio()
CarPlay
- Forwarded shapes for waypoints from
CarPlayNavigationViewControllerDelegate
toNavigationMapViewDelegate
.
Simulation
- Fixed case when route refresh or an alternative route selection causes the simulation progress reset.
v3.7.0
v3.7.0
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.10.0.
- MapboxNavigationCore now requires MapboxNavigationNative v323.0.0.
API deprecations:
MapboxCopilot.startActiveGuidanceSession(requestIdentifier:route:searchResultUsed:)
,MapboxCopilot.startFreeDriveSession()
, andMapboxCopilot.completeNavigationSession()
are deprecated in favor ofMapboxCopilot.startActiveGuidanceSessionAsync(requestIdentifier:route:searchResultUsed:)
,MapboxCopilot.startFreeDriveSessionAsync()
,MapboxCopilot.completeNavigationSessionAsync()
. Using deprecated methods may lead to losing events in the recorded history files.- The following methods are deprecated and should no longer be used, as the final destination annotation is no longer added to the map:
NavigationViewControllerDelegate.navigationViewController(_:didAdd:pointAnnotationManager:)
CarPlayNavigationViewControllerDelegate.carPlayNavigationViewController(_:didAdd:pointAnnotationManager:)
CarPlayMapViewControllerDelegate.carPlayMapViewController(_:didAdd:pointAnnotationManager:)
CarPlayManagerDelegate.carPlayManager(_:didAdd:to:pointAnnotationManager:)
CarPlay:
- Deprecated following methods which return
CPTemplate
:CarPlayManagerDelegate.carPlayManager(_:leadingNavigationBarButtonsCompatibleWith:in:for:)
CarPlayManagerDelegate.carPlayManager(_:trailingNavigationBarButtonsCompatibleWith:in:for:)
- Introduced new methods which return
CPMapTemplate
:CarPlayManagerDelegate.carPlayManager(_:leadingNavigationBarButtonsCompatibleWith:in:for:)
CarPlayManagerDelegate.carPlayManager(_:trailingNavigationBarButtonsCompatibleWith:in:for:)
Other changes
- Updated alternative routes preview mode for CarPlay.
- Fixed the movement type reported to the Telemetry.
- Fixed possible threading errors when sending Telemetry feedback events.
- Fixed a bug when the Copilot session recording could stop right after it was started.
- Fixed a possible crash in
SimulatedLocationManager
when starting the simulation at the point on the route far away from the start. - Fixed possible not thread-safe memory access in
SimulatedLocationManager
. - Improved route refreshing by removing unnecessary internal navigator update on refresh.
- Fixed possible not thread-safe memory access to
RouteProgress
inNavigationController
.