Skip to content

Releases: mapbox/mapbox-navigation-ios

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.

v2.18.4

20 Aug 14:57
be6d1d4
Compare
Choose a tag to compare

Changes since v2.18.3:

Packaging

  • Add support for building with Xcode 16 beta.

Documentation is available online or within Xcode.

v3.3.0

16 Aug 18:25
Compare
Choose a tag to compare

Packaging

Map

  • Fixed an issue when an alternative route was not selected when clicking on the route annotations on the map.
  • Fixed an issue when the tap on the overlapping part of the main and alternative route was considered as an alternative route tap.
  • Fixed an issue when a leg separating waypoint was not selected after it was clicked on the map.

Routing

  • Fixed an issue when the main route was incorrectly parsed as an alternative after switching to an alternative.

CarPlay

  • Fixed CarPlay crash when calling CarPlayManager.routePreview() method.
  • The CarPlayViewportDataSource.currentNavigationCameraOptions property is now read-write to provide a way to change navigation camera options in CarPlay.

Banners and guidance instructions

  • Fixed a bug when a published event about a banner or spoken instruction was sent before RouteProgress was updated.
  • Fixed default local notification scheduling.

Other changes

  • The shared instance of RouteVoiceController is now strongly stored after the first instantiation to avoid creating multiple instances.
  • Fixed a bug with a map matching response parsing for silent waypoints.
  • Tracepoint.waypointIndex is now an optional property.
  • Fixed unwanted road movement simulation when using static GPX files to simulate location.
  • Added LocalizationManager to support the ability to provide custom localization for specific strings in the SDK when LocalizationManager.customLocalizationBundle is set.
  • Extended NavigationLocationManager subclassing posibilities by opening the some members to public visibility or overriding.
  • Fixed the route progress simulation resetting when selecting an alternative route during active guidance.
  • Added AlternativesStatus.Events.SwitchedToAlternative event to track when the navigator switched to the alternative route.