Skip to content

Releases: mapbox/mapbox-navigation-ios

v0.13.0

22 Jan 16:33
63abc38

Choose a tag to compare

Changes since v0.12.2:

Packaging

User location

  • Removed RouteControllerDelegate.routeController(_:shouldIncrementLegWhenArrivingAtWaypoint:) and NavigationViewControllerDelegate.navigationViewController(_:shouldIncrementLegWhenArrivingAtWaypoint:). RouteControllerDelegate.routeController(_:didArriveAt:) and NavigationViewControllerDelegate.navigationViewController(_:didArriveAt:) now return a Boolean that determines whether the route controller automatically advances to the next leg of the route. (#1038)
  • Fixed an issue where NavigationViewControllerDelegate.navigationViewController(_:didArriveAt:) was called twice at the end of the route. (#1038)
  • Improved the reliability of user location tracking when several location updates arrive simultaneously. (#1021)

User interface

  • Removed the WayNameView class in favor of WayNameLabel and renamed the LanesContainerView class to LanesView. (#981 )
  • Added a NavigationMapView.tracksUserCourse property for enabling course tracking mode when using the map view independently of NavigationViewController. (#1015)

Documentation is available online or within Xcode.

v0.12.2

12 Jan 23:08
5c01eb1

Choose a tag to compare

Beginning with this release, we’ve compiled a set of examples showing how to accomplish common tasks with this SDK. You can also check out the navigation-ios-examples project and run the included application on your device.

Changes since v0.12.1:

User interface

  • Fixed a crash loading NavigationViewController. (#977)
  • Fixed issues causing the user puck to animate at the wrong framerate while the device is unplugged. (#970)
  • Fixed unexpected behavior that occurred if only one Style was specified when initializing NavigationViewController. (#990)
  • A UIView can be supplied to be used for the user puck. #1012

Core Navigation

  • If RouteController initially follows an alternative route, it now attempts to follow the most similar route after rerouting. (#995)
  • Fixed an issue preventing the RouteControllerDelegate.routeController(_:didArriveAt:) method from being called if navigationViewController(_:shouldIncrementLegWhenArrivingAtWaypoint:) was unimplemented. (#984)
  • Added a VoiceControllerDelegate.voiceController(_:willSpeak:routeProgress:) method for changing spoken instructions on an individual basis. (#988)

Documentation is available online or within Xcode.

v0.12.1

06 Jan 00:21

Choose a tag to compare

Changes since v0.12.0:

User interface

  • Fixed an issue where the “then” banner appeared at the wrong times. (#957)
  • Fixed an issue where the user location view spun around at the end of a leg. (#966)

Core Navigation

  • Fixed an issue that triggered unnecessary reroutes. (#959)
  • The RouteControllerDelegate.routeController(_:didArriveAt:) method is now called when arriving at any waypoint, not just the last waypoint. (#972)
  • Added a RouteController.setEndOfRoute(_:comment:) method for collecting feedback about the route before the user cancels it. (#965)

Documentation is available online or within Xcode.

v0.12.0

21 Dec 17:52
202c83d

Choose a tag to compare

Changes since v0.11.0:

Breaking changes 🚨

  • If you install this SDK using Carthage, you must now include each of this SDK’s dependencies in your Run Script build phase: AWSCore.framework, AWSPolly.framework, Mapbox.framework, MapboxDirections.framework, MapboxMobileEvents.framework, Polyline.framework, SDWebImage.framework, Solar.framework, and Turf.framework. These dependencies are no longer embedded inside MapboxNavigation.framework. See the Carthage documentation for details. (#930)
  • This library no longer depends on OSRM Text Instructions for Swift. If you have previously installed this SDK using Carthage, you may need to remove OSRMTextInstructions.framework from a Run Script build step. (#925)
  • Notification names are now members of Notification.Name. (#943)

User interface

  • When the user approaches the final waypoint, a panel appears with options for sending feedback about the route. (#848)
  • Fixed an issue preventing the “Then” banner from appearing. (#940)
  • Fixed an issue that sometimes prevented the night style from being applied. (#904)
  • The turn banner’s labels and route shield images are now derived from the Directions API response. (#767)
  • Roundabout icons in the turn banner now go clockwise in regions that drive on the left. (#911)
  • Fixed an issue that turned the estimated arrival time to black when traffic congestion data was unavailable. (#912)
  • Added a Bulgarian localization. Help us speak your language! (#954)
  • Updated Dutch, Spanish, Swedish, and Vietnamese translations. (#944)

Voice guidance

  • Tapping the mute button immediately silences any current announcement. (#936)
  • Improved announcements near roundabouts and rotaries when using NavigationRouteOptions. You can also set the RouteOptions.includesExitRoundaboutManeuver property manually to take advantage of this improvement. (#945)
  • You can customize the AWS region used for Amazon Polly spoken instructions using the PollyVoiceController(identityPoolId:regionType:) initializer. (#914)
  • Certain roads tagged with pronunciations in OpenStreetMap are pronounced correctly when Amazon Polly is unavailable. (#624)
  • Refined the appearance of the spoken instruction map labels that are enabled via the NavigationViewController.annotatesSpokenInstructions property. (#907)

User location

  • When SimulatedLocationManager is active, the user can swipe on the “Simulating Navigation” banner to adjust the rate of travel. (#915)
  • Fixed unnecessary rerouting that sometimes occurred if the user advanced to a subsequent step earlier than expected. (#910)
  • If your application’s Info.plist file lacks a location usage description, NavigationViewController will immediately fail a precondition. (#947)

Documentation is available online or within Xcode.

v0.11.0

29 Nov 17:10
32a334f

Choose a tag to compare

Beginning with this release, the navigation SDK and Core Navigation are written in Swift 4 (#663). Other changes since v0.10.1:

Feedback

  • Removed the audio feedback recording feature. You no longer need to add an NSMicrophoneUsageDescription to your Info.plist. (#870)
  • The Report Feedback button no longer appears after rerouting if NavigationViewController.showsReportFeedback is disabled. (#890)

User interface

  • Added a StepsViewController class for displaying the route’s upcoming steps in a table view. (#869)
  • The bottom bar is more compact in landscape orientation. (#863)
  • Fixed an issue where the “then” banner appeared too soon. (#865)
  • Maneuver arrows are no longer shown for arrival maneuvers. (#884)
  • Fixed a crash that sometimes occurred after returning to the application from the background. (#888)

Voice guidance

  • A new RouteVoiceController.voiceControllerDelegate property lets an object conforming to the VoiceControllerDelegate protocol know when a spoken instruction fails or gets interrupted by another instruction. (#800, #864)

User location

  • Fixed an issue that sometimes prevented NavigationViewControllerDelegate.navigationViewController(_:didArriveAt:) from getting called. (#883)
  • Fixed an issue where the user location indicator floated around when starting a new leg. (#886)

Documentation is available online or within Xcode.

v0.11.0-rc.1

22 Nov 23:53

Choose a tag to compare

v0.11.0-rc.1 Pre-release
Pre-release

Beginning with this release, the navigation SDK and Core Navigation are written in Swift 4 (#663). Other changes since v0.10.1:

  • Removed the audio feedback recording feature. You no longer need to add an NSMicrophoneUsageDescription to your Info.plist. (#870)
  • Added a StepsViewController class for displaying the route’s upcoming steps in a table view. (#869)
  • The bottom bar is more compact in landscape orientation. (#863)
  • A new RouteVoiceController.voiceControllerDelegate property lets an object conforming to the VoiceControllerDelegate protocol know when a spoken instruction fails or gets interrupted by another instruction. (#800, #864)
  • Fixed an issue where the “then” banner appeared too soon. (#865)

Documentation is available online or within Xcode.

v0.10.1

16 Nov 22:52
5e02a32

Choose a tag to compare

Changes since v0.10.0:

Packaging

  • Reverts a change that used AWS's repo for the Polly dependency. This will help with build times when using Carthage. #859
  • Updates Polly dependency to v2.6.5 #859

Views

  • Aligns the instruction banner and the next banner better. #860
  • Fixes a bug on InstructionsBannerView and StepInstructionsView that prevented them from being styleable. #852
  • Fixes a few minor styleable elements on DayStyle and NightStyle. #858

Map

  • MGLMapView init(frame:styleURL:) is exposed again on NavigationMapView. #850

User location tracking

  • The refresh rate of the user puck remains throttled if the upcoming step is straight. #845

Feedback

  • The Report Feedback button after rerouting is only displayed for 5 seconds. #853

Documentation is available online or within Xcode.

v0.10.0

13 Nov 19:47

Choose a tag to compare

Changes since v0.9.0:

Packaging

  • Xcode 9 is required for building the navigation SDK or Core Navigation. (#786)
  • Added German and Dutch localizations. Help us speak your language! (#778)
  • To build and run the provided sample applications, you now have the option to create a plain text file named .mapbox containing a Mapbox access token and place it in your home folder. The SDK will read this file and automatically populate the MGLMapboxAccessToken of the Info.plist at build-time. (#817)

Instruction banner

  • Improved NavigationViewController’s layout on iPhone X. (#786, #816)
  • Refined the turn banner’s appearance. (#745, #788)
  • Added a reusable InstructionBannerView class that represents the turn banner. (#745)
  • Route shields are displayed inline with road or place names in InstructionBannerView. (#745)
  • When another step follows soon after the upcoming step, that subsequent step appears in a smaller banner beneath the main turn banner. (#819)

Map

  • The map zooms in and out dynamically to show more of the road ahead. (#769, #781)
  • Replaced NavigationMapView.showRoute(_:) with NavigationMapView.showRoutes(_:legIndex:), which can show alternative routes on the map. (#789)
  • Added a NavigationMapViewDelegate.navigationMapView(_:didSelect:) method to respond to route selection on the map. (#789, #806)
  • Added a NavigationMapViewDelegate.navigationMapView(_:didSelect:) method to respond to waypoint selection on the map. (#806)
  • Fixed a bug preventing legs beyond the third waypoint from appearing. (#807)
  • Decreased the map’s animation frame rate for improved battery life. (#760)

Voice guidance

  • Spoken instructions are determined by Directions API responses. (#614)
  • When Polly is enabled, audio for spoken instructions is fetched over the network ahead of time, reducing latency. (#724, #768)
  • The NavigationViewController.annotatesSpokenInstructions property, disabled by default, makes it easier to see where instructions will be read aloud along the route for debugging purposes. (#727, #826)
  • Fixed an issue preventing PollyVoiceController from ducking background audio while the device is muted using the physical switch. (#805)

User location tracking

  • Fixed an issue causing poor user location tracking on iPhone X. (#833)
  • The user location indicator is more stable while snapped to the route line. (#754)
  • Renamed RouteController.checkForFasterRouteInBackground to RouteController.reroutesOpportunistically. (#826)
  • Added a RouteControllerOpportunisticReroutingInterval constant for configuring the interval between opportunistic rerouting attempts. (#826)

Feedback

  • The NavigationViewController.recordsAudioFeedback property, disabled by default, allows the user to dictate feedback by long-pressing on a feedback item. This option requires the NSMicrophoneUsageDescription Info.plist option. (#719, #826)
  • Options in the feedback interface are easier to discern from each other. (#761)
  • Fixed an issue where the feedback interface appeared automatically after rerouting. (#749)
  • Rearranged the feedback options. (#770, #779)

Documentation is available online or within Xcode.

v0.9.0

17 Oct 20:23

Choose a tag to compare

Changes since v0.8.3:

  • NavigationMapView uses a custom course tracking mode created from the ground up. The view representing the user’s location (the “user puck”) is larger and easier to see at a glance, and it continues to point in the user’s direction of travel even in Overview mode. To customize the user puck, use the NavigationMapView.userCourseView property. (#402)
  • Fixed an issue causing the user puck to slide downward from the center of the screen when beginning a new route. (#402)
  • You can customize the user puck’s location on screen by implementing the NavigationViewControllerDelegate.navigationViewController(_:mapViewUserAnchorPoint:) method. (#402)
  • Improved user course snapping while not moving. (#718)
  • Throttled the map’s frame rate while the device is unplugged. (#709)
  • Fixed an issue causing the “Rerouting” banner to persist even after a new route is received. (#707)
  • A local user notification is no longer posted when rerouting. (#708)

Documentation is available online or within Xcode.

v0.8.3

09 Oct 23:46

Choose a tag to compare

Changes since v0.8.2:

  • Pins the dependency Solar to v2.0.0. This should fix some build issues. #693
  • Increases the width of the upcoming maneuver arrow. #671
  • Improved user location snapping. #679
  • Improves simulation mode by using more accurate speeds. #683
  • Adopted Turf. The wrap(_:min:max:) function has been removed; use Turf’s CLLocationDirection.wrap(min:max:) instead. #653
  • Defaulted to kCLLocationAccuracyBestForNavigation for location accuracy. #670

Documentation is available online or within Xcode.