Skip to content

Releases: mapbox/mapbox-navigation-ios

v3.6.0

23 Dec 16:53
Compare
Choose a tag to compare

Packaging

API deprecations:

  • RerouteConfig.optionsCustomization is deprecated in favor of RerouteConfig.urlOptionsCustomization. Using the deprecated optionsCustomization 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 from NavigationMapViewDelegate.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

16 Dec 17:46
Compare
Choose a tag to compare
v3.6.0-rc.1 Pre-release
Pre-release

Packaging

API deprecations:

  • RerouteConfig.optionsCustomization is deprecated in favor of RerouteConfig.urlOptionsCustomization. Using the deprecated optionsCustomization 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

09 Dec 18:40
Compare
Choose a tag to compare
v3.6.0-beta.1 Pre-release
Pre-release

Packaging

⚠️ Behavioral Changes ⚠️:

  • The default intermediate waypoint appearance is now a circle without the pin icon. To customize the appearance of intermediate waypoints
    follow steps from NavigationMapViewDelegate.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

13 Nov 11:49
Compare
Choose a tag to compare

Packaging

⚠️ 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 supply Feature.properties with data that allows distinguishing waypoints. Use these properties data in CircleLayer.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 own CircleLayer 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 of RoutingConfig.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 the idle 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 in NavigationViewController.styleManager.
  • NavigationViewController transitions navigation to the idle state when it is dismissed.
  • Added the ability to configure predictive cache for search by PredictiveCacheConfig.predictiveCacheSearchConfig.

v3.5.0-rc.2

30 Oct 14:32
Compare
Choose a tag to compare
v3.5.0-rc.2 Pre-release
Pre-release

v3.5.0-rc.2

Packaging

v3.5.0-rc.1

28 Oct 21:00
Compare
Choose a tag to compare
v3.5.0-rc.1 Pre-release
Pre-release

⚠️ 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 supply Feature.properties with data that allow to distinguish waypoints. Use these properties data in CircleLayer.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 own CircleLayer for waypoints.

Packaging

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 than idle.

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 in NavigationViewController.styleManager.

v2.19.0

24 Oct 15:50
57bbe05
Compare
Choose a tag to compare

Changes since v2.18.0:

Packaging

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, and Router will inform that current route has expired using RouterDelegate.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

18 Oct 20:44
Compare
Choose a tag to compare
v3.5.0-beta.1 Pre-release
Pre-release

⚠️⚠️⚠️ Known Issues ⚠️⚠️⚠️

  • Route Line Rendering: In some cases, the route line may display with jagged or blocky corners, rather than smooth curves.

Packaging

API deprecations:

  • RoutingConfig.init(alternativeRoutesDetectionSettings:fasterRouteDetectionSettings:rerouteSettings:initialManeuverAvoidanceRadius:routeRefreshPeriod:routingProviderSource:prefersOnlineRoute:detectsReroute:) initializer is deprecated in favor of RoutingConfig.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 the idle state when it is dismissed.
  • Added the ability to configure predictive cache for search by PredictiveCacheConfig.predictiveCacheSearchConfig.

v3.4.0

03 Oct 08:27
Compare
Choose a tag to compare

Packaging

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 by IntersectionDensity.
  • 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 by PitchNearManeuver.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 to MapMatchingState.enhancedLocation if you need a map-matched location.

Routing

  • NavigationRouteOptions and NavigationMatchOptions 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

20 Sep 13:11
Compare
Choose a tag to compare
v3.4.0-rc.1 Pre-release
Pre-release

Packaging

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 by PitchNearManeuver.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.