Skip to content

Releases: mapbox/mapbox-navigation-ios

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.

v2.19.0-beta.1

17 Sep 15:15
d5c6d47
Compare
Choose a tag to compare
v2.19.0-beta.1 Pre-release
Pre-release

Changes since v2.18.4:

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.4.0-beta.1

04 Sep 11:53
Compare
Choose a tag to compare
v3.4.0-beta.1 Pre-release
Pre-release

Packaging

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.

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.

v3.3.1

02 Sep 12:06
Compare
Choose a tag to compare

Packaging

Routing

  • Fixed switching to a continuous alternatives during active guidance.
  • Ignore an alternative route and return non-nil NavigationRoutes when switching to an alternative and an invalid fork point was found.

Other changes

  • Fixed incorrect playback ducking while voice instructions are muted.
  • Fixed too low voice instructions volume when device volume was not maxed out.