Skip to content

Releases: mapbox/mapbox-navigation-ios

v0.18.1

20 Jun 15:58
96b2d6e
Compare
Choose a tag to compare

Changes since v0.18.0:

Packaging

  • Increased the minimum deployment target of Core Navigation to iOS 9. (#1494)

User interface

  • Added NavigationMapView.recenterMap() for recentering the map if a user gesture causes it to stop following the user. (#1471)
  • Deprecated NavigationViewController.usesNightStyleInsideTunnels. Style switching is enabled as a side effect of TunnelIntersectionManager.tunnelSimulationEnabled, which is set to true by default. ([#1489]
  • Fixed an issue where the user location view slid around after the user pressed the Overview button. #1506

Documentation is available online or within Xcode.

v0.18.0

05 Jun 17:24
Compare
Choose a tag to compare

Changes since v0.17.0:

User Interface

  • Added support for generic route shields. Image-backed route shields also now display as generic (instead of plain text) while the SDK loads the image. #1190, #1417
  • Fixed an issue when going into overhead mode with a short route. #1456

Core Navigation

  • TunnelIntersectionManagerDelegate methods no longer take a completion handler argument. (#1414)
  • Added the ability to render more than 1 alternate route. #1372
  • NavigationMapViewDelegate.navigationMapView(_:shapeFor:) Now expects an array of Route. The first route will be rendered as the main route, all subsequent routes will be rendered as alternate routes.
  • Animating the user through tunnels and automatically switching the map style when entering a tunnel is now on by default. #1449
  • Adds RouteControllerDelegate.routeController(_:shouldPreventReroutesWhenArrivingAt:waypoint:) which is called each time a driver arrives at a waypoint. By default, this method returns true and prevents rerouting upon arriving. Progress updates still occur. #1454

Documentation is available online or within Xcode.

v0.17.0

21 May 21:01
374995f
Compare
Choose a tag to compare

Changes since v0.16.2:

Packaging

  • 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)
  • Added a Korean localization. (#1346)

User interface

  • Exit indications are now drawn accurately with a correct exit heading. (#1288)
  • Added the NavigationViewControllerDelegate.navigationViewController(_:roadNameAt:) method for customizing the contents of the road name label that appears towards the bottom of the map view. (#1309)
  • If the SDK tries but fails to reroute the user, the “Rerouting…” status view no longer stays visible permanently. (#1357)
  • Completed waypoints now remain on the map but are slightly translucent. (#1364)
  • Fixed an issue preventing NavigationViewController.navigationMapView(_:simplifiedShapeDescribing:) (now NavigationViewController.navigationMapView(_:simplifiedShapeFor:)) from being called. (#1413)

Spoken instructions

  • Fixed an issue causing the wrong instructions to be spoken. (#1396)

User location

  • The RouteController.routeProgress property is now available in Objective-C. (#1323)
  • Added a RouteController.tunnelSimulationEnabled option that keeps the user location indicator moving steadily while the user travels through a tunnel and GPS reception is unreliable. (#1218)

Other changes

  • DistanceFormatter, ReplayLocationManager, SimulatedLocationManager, LanesView, and ManueverView are now subclassable. (#1345)
  • Renamed many NavigationViewController and NavigationMapViewDelegate methods (#1364, #1338, #1318, #1378, #1413):
    • NavigationViewControllerDelegate.navigationViewControllerDidCancelNavigation(_:) to NavigationViewControllerDelegate.navigationViewControllerDidDismiss(_:byCanceling:)
    • -[MBNavigationViewControllerDelegate navigationViewController:didArriveAt:] to -[MBNavigationViewControllerDelegate navigationViewController:didArriveAtWaypoint:] in Objective-C
    • NavigationViewControllerDelegate.navigationMapView(_:routeStyleLayerWithIdentifier:source:) to NavigationViewControllerDelegate.navigationViewController(_:routeStyleLayerWithIdentifier:source:)
    • NavigationViewControllerDelegate.navigationMapView(_:routeCasingStyleLayerWithIdentifier:source:) to NavigationViewControllerDelegate.navigationViewController(_:routeCasingStyleLayerWithIdentifier:source:)
    • NavigationViewControllerDelegate.navigationMapView(_:shapeFor:) to NavigationViewControllerDelegate.navigationViewController(_:shapeFor:)
    • NavigationViewControllerDelegate.navigationMapView(_:simplifiedShapeFor:) to NavigationViewControllerDelegate.navigationViewController(_:simplifiedShapeFor:)
    • NavigationViewControllerDelegate.navigationMapView(_:waypointStyleLayerWithIdentifier:source:) to NavigationViewControllerDelegate.navigationViewController(_:waypointStyleLayerWithIdentifier:source:)
    • NavigationViewControllerDelegate.navigationMapView(_:waypointSymbolStyleLayerWithIdentifier:source:) to NavigationViewControllerDelegate.navigationViewController(_:waypointSymbolStyleLayerWithIdentifier:source:)
    • NavigationViewControllerDelegate.navigationMapView(_:shapeFor:legIndex:) to NavigationViewControllerDelegate.navigationViewController(_:shapeFor:legIndex:)
    • NavigationViewControllerDelegate.navigationMapView(_:didTap:) to NavigationViewControllerDelegate.navigationViewController(_:didSelect:)
    • NavigationViewControllerDelegate.navigationMapView(_:imageFor:) to NavigationViewControllerDelegate.navigationViewController(_:imageFor:)
    • NavigationViewControllerDelegate.navigationMapView(_:viewFor:) to NavigationViewControllerDelegate.navigationViewController(_:viewFor:)
    • NavigationViewControllerDelegate.navigationViewController(_:didSend:feedbackType:) to NavigationViewControllerDelegate.navigationViewController(_:didSendFeedbackAssigned:feedbackType:)
    • -[MBNavigationViewControllerDelegate navigationViewController:shouldDiscard:] to -[MBNavigationViewControllerDelegate navigationViewController:shouldDiscardLocation:] in Objective-C
    • -[MBNavigationViewControllerDelegate navigationViewController:roadNameAt:] to -[MBNavigationViewControllerDelegate navigationViewController:roadNameAtLocation:]
    • NavigationMapViewDelegate.navigationMapView(_:shapeDescribing:) to NavigationMapViewDelegate.navigationMapView(_:shapeFor:).
    • NavigationMapViewDelegate.navigationMapView(_:simplifiedShapeDescribing:) to NavigationMapViewDelegate.navigationMapView(_:simplifiedShapeFor:).
    • -[MBNavigationMapViewDelegate navigationMapView:shapeDescribingWaypoints:legIndex:] to -[MBNavigationMapViewDelegate navigationMapView:shapeForWaypoints:legIndex:] in Objective-C
  • RouteController.recordFeedback(type:description:) now returns a UUID instead of a string. Some RouteController methods have been renamed to accept UUIDs as arguments instead of strings. (#1413)
  • Renamed TunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willEnableAnimationAt:callback:) to TunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willEnableAnimationAt:completionHandler:) and TunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willDisableAnimationAt:callback:) to TunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willDisableAnimationAt:completionHandler:). (#1413)

Documentation is available online or within Xcode.

v0.17.0-beta.1

25 Apr 18:47
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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.