Skip to content

Releases: mapbox/mapbox-navigation-ios

v3.7.0-beta.1

22 Jan 13:45
Compare
Choose a tag to compare
v3.7.0-beta.1 Pre-release
Pre-release

v3.7.0-beta.1

Packaging

API deprecations:

  • MapboxCopilot.startActiveGuidanceSession(requestIdentifier:route:searchResultUsed:), MapboxCopilot.startFreeDriveSession(), and MapboxCopilot.completeNavigationSession() are deprecated in favor of MapboxCopilot.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:)

Other changes

  • 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.

v3.6.1

21 Jan 15:49
Compare
Choose a tag to compare

Packaging

Other changes

  • Fixed the behavior when NavigationViewController transitions navigation to the idle state when its presented controllers disappear. Instead, it happens only when it disappears.

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.