Skip to content

Releases: mapbox/mapbox-navigation-ios

v0.17.0-beta.1

25 Apr 18:47

Choose a tag to compare

v0.17.0-beta.1 Pre-release
Pre-release

Changes since v0.16.2:

  • Upgraded to the Mapbox Maps SDK for iOS v4.0.0. If you have customized the route map’s appearance, you may need to migrate your code to use expressions instead of style functions. (#1076)
  • NavigationViewControllerDelegate.navigationViewControllerDidCancelNavigation(_:) has been superseded by NavigationViewControllerDelegate.navigationViewControllerDidEndNavigation(_:cancelled:). #1318
  • RouteController’s routeProgress is now exposed to Objective-C. #1323
  • Exit indications are now drawn accurately with a correct exit bearing. #1288
  • Added a delegate method, NavigationViewControllerDelegate.navigationViewController(_:roadNameAt:) which allows you to customize the contents of the road name label displayed towards the bottom of the map view. #1309

To install this prerelease via CocoaPods, point your Podfile to both of these URLs:

pod 'MapboxCoreNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.17.0-beta.1/MapboxCoreNavigation.podspec'
pod 'MapboxNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.17.0-beta.1/MapboxNavigation.podspec'

Or point your Cartfile to this tag:

github "mapbox/mapbox-navigation-ios" "v0.17.0-beta.1"

Documentation is available online or within Xcode.

v0.16.2

13 Apr 20:36

Choose a tag to compare

Changes since v0.16.1:

  • Fixed a compiler error after installing the SDK using CocoaPods. (#1296)

Documentation is available online or within Xcode.

v0.16.1

09 Apr 20:49
1d1a19c

Choose a tag to compare

Changes since v0.16.0:

User Interface

  • Draws slight right and left turn icons for slight turns in the turn lane view. #1270

Core Navigation

  • Fixed a crash that was caused by check the edit distance of an empty string. #1281
  • Removes warnings when using Swift 4.1. #1271

Spoken Instruction

  • Fixed an issue that would preemptively fallback to the default speech synthesizer. #1284

Documentation is available online or within Xcode.

v0.16.0

26 Mar 21:06
ee09d42

Choose a tag to compare

Changes since v0.15.0:

User interface

  • While the user travels through a tunnel, NavigationMapView temporarily applies a night style (a style whose styleType property is set to StyleType.night). (#1127)
  • The user can reveal the list of upcoming steps by swiping downward from the top banner. (#1150)
  • Renamed StyleType.dayStyle and StyleType.nightStyle to StyleType.day and StyleType.night, respectively. (#1250)
  • Fixed an issue causing the overview map to insist on centering the route upon each location update. (#1223)
  • Improved the contrast of TimeRemainingLabel.trafficSevereColor against BottomBannerView.backgroundColor in NightStyle. (#1228)
  • Fixed an issue where a slash appeared between two shields in the top banner. (#1169)
  • Fixed an issue where using NavigationMapViewControllerDelegate.navigationMapView(_:imageFor:) would not override the destination annotation. #1256

Spoken instructions

  • Audio data for spoken instructions is cached in device storage to minimize data usage. (#12296)

Core Navigation

  • Renamed the RouteController.reroutesOpportunistically property to RouteController.reroutesProactively, RouteControllerOpportunisticReroutingInterval global variable to RouteControllerProactiveReroutingInterval, and the RouteControllerNotificationUserInfoKey.isOpportunisticKey value to RouteControllerNotificationUserInfoKey.isProactiveKey. (#1230)
  • Added a RouteStepProgress.currentIntersection property that is set to the intersection the user has most recently passed along the route. (#1127)
  • Fixed an issue where the RouteStepProgress.upcomingIntersection property was always set to the current step’s first intersection. (#1127)
  • Added support for using the Mapbox Map Matching API. #1177

Other changes

  • Added Arabic and European Portuguese localizations. (#1252)

Documentation is available online or within Xcode.

v0.16.0-beta.1

23 Mar 19:48

Choose a tag to compare

v0.16.0-beta.1 Pre-release
Pre-release

Changes since v0.15.0:

User interface

  • While the user travels through a tunnel, NavigationMapView temporarily applies a night style (a style whose styleType property is set to StyleType.night). (#1127)
  • The user can reveal the list of upcoming steps by swiping downward from the top banner. (#1150)
  • Renamed StyleType.dayStyle and StyleType.nightStyle to StyleType.day and StyleType.night, respectively. (#1250)
  • Fixed an issue causing the overview map to insist on centering the route upon each location update. (#1223)
  • Improved the contrast of TimeRemainingLabel.trafficSevereColor against BottomBannerView.backgroundColor in NightStyle. (#1228)
  • Fixed an issue where a slash appeared between two shields in the top banner. (#1169)
  • Fixed an issue where using NavigationMapViewControllerDelegate.navigationMapView(_:imageFor:) would not override the destination annotation. #1256

Spoken instructions

  • Audio data for spoken instructions is cached in device storage to minimize data usage. (#12296)

Core Navigation

  • Renamed the RouteController.reroutesOpportunistically property to RouteController.reroutesProactively, RouteControllerOpportunisticReroutingInterval global variable to RouteControllerProactiveReroutingInterval, and the RouteControllerNotificationUserInfoKey.isOpportunisticKey value to RouteControllerNotificationUserInfoKey.isProactiveKey. (#1230)
  • Added a RouteStepProgress.currentIntersection property that is set to the intersection the user has most recently passed along the route. (#1127)
  • Fixed an issue where the RouteStepProgress.upcomingIntersection property was always set to the current step’s first intersection. (#1127)
  • Added support for using the Mapbox Map Matching API. #1177

Other changes

  • Added Arabic and European Portuguese localizations. (#1252)

Installation

To install this prerelease via CocoaPods, point your Podfile to both the following URLs:

pod 'MapboxCoreNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.16.0-beta.1/MapboxCoreNavigation.podspec'
pod 'MapboxNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.16.0-beta.1/MapboxNavigation.podspec'

v0.15.0

12 Mar 19:52
7a4c760

Choose a tag to compare

Changes since v0.14.1:

Breaking changes

  • NavigationMapViewDelegate and RouteMapViewControllerDelegate: navigationMapView(_:didTap:) is now navigationMapView(_:didSelect:) #1063
  • The Constants that concern Route-Snapping logic have been re-named. The new names are: RouteSnappingMinimumSpeed, RouteSnappingMaxManipulatedCourseAngle, and RouteSnappingMinimumHorizontalAccuracy.

User interface

  • StepsViewController 's convienence initalizer (StepsViewController.init(routeProgress:)) is now public. (#1167)
  • Fixed an issue preventing the distance from appearing in the turn banner when the system language was set to Hebrew and the system region was set to Israel or any other region that uses the metric system. (#1176)
  • Various views and view controllers correctly mirror right-to-left in Hebrew. (#1182)

Core Navigation

  • RoteController now has a new property, snappedLocation. This property represents the raw location, snapped to the current route, if applicable. If not applicable, the value is nil.
  • RouteController's MBRouteControllerProgressDidChange notification now exposes the raw location in it's update, accessible by MBRouteControllerRawLocationKey

Voice guidance

  • Fixed an issue that caused RouteVoiceController and MabpboxVoiceController to speak over one another. #1213

Other changes

  • Fixed a crash while navigating that affected applications that do not use Mapbox-hosted styles or vector tiles. #1183
  • The DistanceFormatter.attributedString(for:) method is now implemented. It returns an attributed string representation of the distance in which the NSAttributedStringKey.quantity attribute is applied to the numeric quantity. (#1176)
  • Fixed an issue in which turn lanes were displayed in the wrong order when the system language was set to Hebrew. (#1175)

Documentation is available online or within Xcode.

v0.15.0-beta.1

09 Mar 00:05

Choose a tag to compare

v0.15.0-beta.1 Pre-release
Pre-release

Changes since v0.14.1:

Breaking changes

  • NavigationMapViewDelegate and RouteMapViewControllerDelegate: navigationMapView(_:didTap:) is now navigationMapView(_:didSelect:) #1063
  • The Constants that concern Route-Snapping logic have been re-named. The new names are: RouteSnappingMinimumSpeed, RouteSnappingMaxManipulatedCourseAngle, and RouteSnappingMinimumHorizontalAccuracy.

User interface

  • StepsViewController 's convienence initalizer (StepsViewController.init(routeProgress:)) is now public. (#1167)
  • Fixed an issue preventing the distance from appearing in the turn banner when the system language was set to Hebrew and the system region was set to Israel or any other region that uses the metric system. (#1176)
  • Various views and view controllers correctly mirror right-to-left in Hebrew. (#1182)

Core Navigation

  • RoteController now has a new property, snappedLocation. This property represents the raw location, snapped to the current route, if applicable. If not applicable, the value is nil.
  • RouteController's MBRouteControllerProgressDidChange notification now exposes the raw location in it's update, accessible by MBRouteControllerRawLocationKey

Voice guidance

  • Fixed an issue that caused RouteVoiceController and MabpboxVoiceController to speak over one another. #1213

Other changes

  • Fixed a crash while navigating that affected applications that do not use Mapbox-hosted styles or vector tiles. #1183
  • The DistanceFormatter.attributedString(for:) method is now implemented. It returns an attributed string representation of the distance in which the NSAttributedStringKey.quantity attribute is applied to the numeric quantity. (#1176)
  • Fixed an issue in which turn lanes were displayed in the wrong order when the system language was set to Hebrew. (#1175)

To install this prerelease via CocoaPods, point your Podfile to both the following URLs:

pod 'MapboxCoreNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.15.0-beta.1/MapboxCoreNavigation.podspec'
pod 'MapboxNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.15.0-beta.1/MapboxNavigation.podspec'

Documentation is available online or within Xcode.

v0.14.1

26 Feb 21:31
b32247c

Choose a tag to compare

Changes since v0.14.0:

Core Navigation

  • Voice instructions and banner updates always happen when beginning a route. #1155

User Interface

  • Fixed an issue which prevented the Weak GPS status view from dismissing it self.

Documentation is available online or within Xcode.

v0.14.0

22 Feb 19:17

Choose a tag to compare

Changes since v0.13.1:

Breaking Changes

  • Removed the dependency on AWSPolly. Voice announcements are now coming directly from Mapbox and for free for all developers. Because of this, PollyVoiceController has been removed. #617
  • MapboxDirections.swift version 0.17.x is now required. #1085
  • Removed the key RouteControllerNotificationUserInfoKey.estimatedTimeUntilManeuverKey from .routeControllerProgressDidChange. Please use durationRemaining instead which can be found on the RouteProgress. #1126
  • Renamed notification names associated with RouteController in Objective-C code. #1122
  • The user info keys of RouteController-related notifications have been renamed and are now members of the RouteControllerNotificationUserInfoKey struct in Swift and the MBRouteControllerNotificationUserInfoKey extensible enumeration in Objective-C. #1122
Here is reference for the new notification names:
Swift Objective-C
Old New Old New
Notification.Name.navigationSettingsDidChange Notification.Name.navigationSettingsDidChange MBNavigationSettingsDidChange MBNavigationSettingsDidChangeNotification
Notification.Name.routeControllerProgressDidChange Notification.Name.routeControllerProgressDidChange MBRouteControllerNotificationProgressDidChange MBRouteControllerProgressDidChangeNotification
Notification.Name.routeControllerDidPassSpokenInstructionPoint Notification.Name.routeControllerDidPassSpokenInstructionPoint MBRouteControllerDidPassSpokenInstructionPoint MBRouteControllerDidPassSpokenInstructionPointNotification
Notification.Name.routeControllerWillReroute Notification.Name.routeControllerWillReroute MBRouteControllerWillReroute MBRouteControllerWillRerouteNotification
Notification.Name.routeControllerDidReroute Notification.Name.routeControllerDidReroute MBRouteControllerDidReroute MBRouteControllerDidRerouteNotification
Notification.Name.routeControllerDidFailToReroute Notification.Name.routeControllerDidFailToReroute MBRouteControllerDidFailToReroute MBRouteControllerDidFailToRerouteNotification
RouteControllerProgressDidChangeNotificationProgressKey RouteControllerNotificationUserInfoKey.routeProgressKey MBRouteControllerProgressDidChangeNotificationProgressKey MBRouteControllerRouteProgressKey
RouteControllerProgressDidChangeNotificationLocationKey RouteControllerNotificationUserInfoKey.locationKey MBRouteControllerProgressDidChangeNotificationLocationKey MBRouteControllerLocationKey
RouteControllerProgressDidChangeNotificationSecondsRemainingOnStepKey 🚮 (removed) MBRouteControllerProgressDidChangeNotificationSecondsRemainingOnStepKey 🚮 (removed)
RouteControllerNotificationLocationKey RouteControllerNotificationUserInfoKey.locationKey MBRouteControllerNotificationLocationKey MBRouteControllerLocationKey
RouteControllerNotificationRouteKey 🚮 (unused) MBRouteControllerNotificationRouteKey 🚮 (unused)
RouteControllerNotificationErrorKey RouteControllerNotificationUserInfoKey.routingErrorKey MBRouteControllerNotificationErrorKey MBRouteControllerRoutingErrorKey
RouteControllerDidFindFasterRouteKey RouteControllerNotificationUserInfoKey.isOpportunisticKey MBRouteControllerDidFindFasterRouteKey MBRouteControllerIsOpportunisticKey
RouteControllerDidPassSpokenInstructionPointRouteProgressKey RouteControllerNotificationUserInfoKey.routeProgressKey MBRouteControllerDidPassSpokenInstructionPointRouteProgressKey MBRouteControllerRouteProgressKey

Core Navigation

  • Location updates sent via .routeControllerProgressDidChange are now always sent as long as the location is qualified. #1126
  • Exposes setOverheadCameraView(from:along:for:) which is useful for fitting the camera to an overhead view for the remaining route coordinates.
  • Changed the heuristics needed for a the users location to unsnap from the route line. #1110
  • Changes routeController(:didDiscardLocation:) to routeController(:shouldDiscardLocation:). Now if implemented, developers can choose to keep a location when RouteController deems a location unqualified. #1095

User Interface

  • Added a NavigationMapView.localizeLabels() method that should be called within MGLMapViewDelegate.mapView(_:didFinishLoading:) for standalone NavigationMapViews to ensure that map labels are in the correct language. #1111
  • The / delimiter is longer shown when a shield is shown on either side of the delimiter. This also removes the dependency SDWebImage. #1046
  • Exposes constants used for styling the route line. #1124
  • Exposes update(for:) on InstructionBannerView. This is helpful for developers creating a custom user interface. #1085

Voice Guidance

  • Exposes RouteVoiceController.speak(_:) which would allow custom subclass of MapboxVoiceController to override this method and pass a modified SpokenInstruction to our superclass implementation.

Documentation is available online or within Xcode.

v0.13.1

07 Feb 19:41

Choose a tag to compare

Changes since v0.13.0:

Core Navigation

  • Fixes a bug where the spokenInstructionIndex was incremented beyond the number of instructions for a step. (#1080)
  • Fixed a bug that crashed when navigating beyond the final waypoint. (#1087)

User Interface

  • Added support for spoken instructions in Danish. (#1041)
  • Fixed a bug that prevented the user puck from laying flat when rotating the map. (#1090)
  • Updated translations for Russian, Swedish, Spanish, Vietnamese, Hebrew, Ukrainian, and German. (#1064, #1089)

Documentation is available online or within Xcode.