Releases: mapbox/mapbox-navigation-ios
v3.16.0-rc.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.16.0-rc.1
- MapboxNavigationCore now requires MapboxNavigationNative v324.16.0-rc.1
API Deprecations
ViewportState.routeProgressis deprecated and is alwaysnilnow. UseViewportState.navigationProgressinstead.ViewportState.headingis deprecated and is alwaysnilnow. UseViewportState.navigationHeadinginstead.ViewportState.locationis deprecated in favor ofViewportState.navigationLocationinstead.ViewportState.init(location:routeProgress:viewportPadding:heading:)is deprecated in favor ofViewportState.init(navigationLocation:navigationProgress:viewportPadding:navigationHeading:).
Navigation Camera
- When implementing a custom
ViewportDataSourcefor the navigation camera, migrate toviewportState.navigationProgressfor tracking active guidance progress.
Other changes
- Fixed a possible race condition in
NavigationCamerastate updates. - Fixed memory leaks caused by
Task.detachedusage inNavigationController. - Fixed memory leaks in
NWPathMonitorcaused by a non-stopped monitor. - Removed excessive
Sendableconformance for types from Turf and Maps.
v3.12.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.15.2
- MapboxNavigationCore now requires MapboxNavigationNative v324.15.2
v3.11.4
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.14.7
- MapboxNavigationCore now requires MapboxNavigationNative v324.14.7
v3.16.0-beta.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.16.0-beta.1
- MapboxNavigationCore now requires MapboxNavigationNative v324.16.0-beta.1
API Deprecations
NavigationRoute.nativeRoute,NavigationRoute.init?(nativeRoute:), andAlternativeRoute.init?(mainRoute:alternativeRoute:)are deprecated and should no longer be used.CoreConfig.routeRequestConfigis deprecated. Configure request options directly usingRouteOptionsandMatchOptions.TelemetryAppMetadata.userIdandTelemetryAppMetadata.sessionIdare deprecated and no longer have any effect.
Routing
- Fixed an issue where request parameters could be lost on reroutes when using a custom
RouteOptionssubclass. If you subclassRouteOptions, make sure to implementurlQueryItems,init(from:),encode(to:), andinit(waypoints:profileIdentifier:queryItems:). NavigationRouteOptions.init(waypoints:profileIdentifier:queryItems:)andNavigationMatchOptions.init(waypoints:profileIdentifier:queryItems:)set the default values forshapeFormat,locale,distanceMeasurementSystem,routeShapeResolution,includesSpokenInstructions, andincludesVisualInstructionsonly if the values were not passed inqueryItems.RoutingConfig.datasetProfileIdentifierwas added to configure the dataset profile for routing tiles. It is important to set this value before initializingMapboxNavigationProviderand use the same value for the followingProfileIdentifierin route requests options.
Map
- Fixed the crash on an alternative map route annotation offset calculation when a deviation point is further than 80% of the main route.
CarPlay
-
Fixed an incorrect
CarPlayActivityvalue passed inCarPlayManagerDelegatefunction calls:carPlayManager(_:, leadingNavigationBarButtonsCompatibleWith traitCollection:, in:, for:),carPlayManager(_:, trailingNavigationBarButtonsCompatibleWith traitCollection:, in:, for:),carPlayManager(_:, mapButtonsCompatibleWith traitCollection:, in:, for:).
Now
CarPlayActivity.panningInBrowsingModeandCarPlayActivity.panningInNavigationModeare passed in the above delegate function calls when the map is panned after showing the panning interface. Previously, those values were only passed at the moment of initial presentation of the panning interface and immediately after performing any panning (or any action that exits the map camera's follow mode), the passedCarPlayActivitywas reverted toCarPlayActivity.browsingorCarPlayActivity.navigatingeven though the panning interface was still shown.In addition,
CarPlayManager.currentActivityis also updated correctly in the mentioned scenarios. -
Fixed a problem that navigation bar buttons would not be updated properly for navigation mode when customized with
CarPlayManagerDelegateimplementation, because of too early execution of calls toCarPlayManagerDelegatefunctions:carPlayManager(_:, leadingNavigationBarButtonsCompatibleWith traitCollection:, in:, for:),carPlayManager(_:, trailingNavigationBarButtonsCompatibleWith traitCollection:, in:, for:),carPlayManager(_:, mapButtonsCompatibleWith traitCollection:, in:, for:).
Those calls were previously executed before
CarPlayNavigationViewControllerinstantiation. Now they are performed afterCarPlayNavigationViewControllerinstantiation, right after callingCarPlayManagerDelegate.carPlayManager(_:, willPresent:).
Other changes
StepsViewController.measurementSystemis now public.
v3.11.3
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.14.6
- MapboxNavigationCore now requires MapboxNavigationNative v324.14.6
v3.12.0
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.15.0
- MapboxNavigationCore now requires MapboxNavigationNative v324.15.0
- Added a separate MapboxDirections product for independent usage of Mapbox Directions API.
Electronic horizon
Note: The Mapbox Electronic Horizon feature of the Mapbox Navigation SDK is in public beta and is subject to changes, including its pricing. Use of the feature is subject to the beta product restrictions in the Mapbox Terms of Service. Mapbox reserves the right to eliminate any free tier or free evaluation offers at any time and require customers to place an order to purchase the Mapbox Electronic Horizon feature, regardless of the level of use of the feature.
RoadObjectinitializer is now optional.
Other changes
- Fixed
NavigationController.bannerInstructions. Now a new event is published only when a new banner instruction is available and not with every route progress update. - Avoid using
preconditionandpreconditionFailureto avoid possible runtime crashes in Release builds. - Updated default route line traffic colors to match the Mapbox Standard style.
User interface
- Removed an initial hardcoded call to
StandardDayStyle().apply(). TheStandardDayStyleandStandardNightStyleare still default values when initializingNavigationViewControllerand can be changed by settingNavigationOptions.stylesvalue.
v3.11.2
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.14.3
- MapboxNavigationCore now requires MapboxNavigationNative v324.14.3
v3.12.0-rc.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.15.0-rc.1
- MapboxNavigationCore now requires MapboxNavigationNative v324.15.0-rc.1
v2.20.2
Routing
- Fixed the usage of the
RouteOptionstype from the initial route request instead of a hardcoded type, ensuring additional parameters are preserved on reroutes. (#4789) - Fixed
ProfileIdentifiercomparison for the custom profile identifiers, so that route refresh is enabled for customautomobileAvoidingTrafficprofiles.
Documentation is available online or within Xcode.
v3.12.0-beta.1
Packaging
- MapboxNavigationCore now requires MapboxMaps v11.15.0-beta.3
- MapboxNavigationCore now requires MapboxNavigationNative v324.15.0-beta.3
- Added a separate MapboxDirections product for independent usage of Mapbox Directions API.
Electronic horizon
Note: The Mapbox Electronic Horizon feature of the Mapbox Navigation SDK is in public beta and is subject to changes, including its pricing. Use of the feature is subject to the beta product restrictions in the Mapbox Terms of Service. Mapbox reserves the right to eliminate any free tier or free evaluation offers at any time and require customers to place an order to purchase the Mapbox Electronic Horizon feature, regardless of the level of use of the feature.
RoadObjectinitializer is now optional.
Other changes
- Fixed
NavigationController.bannerInstructions. Now a new event is published only when a new banner instruction is available and not with every route progress update. - Avoid using
preconditionandpreconditionFailureto avoid possible runtime crashes in Release builds.
User interface
- Removed an initial hardcoded call to
StandardDayStyle().apply(). TheStandardDayStyleandStandardNightStyleare still default values when initializingNavigationViewControllerand can be changed by settingNavigationOptions.stylesvalue.