Releases: mapbox/mapbox-navigation-ios
v0.13.0
Packaging
- Upgraded to MapboxDirections.swift v0.16.0, which makes
ManeuverType,ManeuverDirection, andTransportTypenon-optional. (#1040) - Added Danish and Hebrew localizations. Help us speak your language! (#1031, #1043)
User location
- Removed
RouteControllerDelegate.routeController(_:shouldIncrementLegWhenArrivingAtWaypoint:)andNavigationViewControllerDelegate.navigationViewController(_:shouldIncrementLegWhenArrivingAtWaypoint:).RouteControllerDelegate.routeController(_:didArriveAt:)andNavigationViewControllerDelegate.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
WayNameViewclass in favor ofWayNameLabeland renamed theLanesContainerViewclass toLanesView. (#981 ) - Added a
NavigationMapView.tracksUserCourseproperty for enabling course tracking mode when using the map view independently ofNavigationViewController. (#1015)
Documentation is available online or within Xcode.
v0.12.2
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.
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
Stylewas specified when initializingNavigationViewController. (#990) - A UIView can be supplied to be used for the user puck. #1012
Core Navigation
- If
RouteControllerinitially 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 ifnavigationViewController(_: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
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
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 theRouteOptions.includesExitRoundaboutManeuverproperty 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.annotatesSpokenInstructionsproperty. (#907)
User location
- When
SimulatedLocationManageris 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,
NavigationViewControllerwill immediately fail aprecondition. (#947)
Documentation is available online or within Xcode.
v0.11.0
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
NSMicrophoneUsageDescriptionto your Info.plist. (#870) - The Report Feedback button no longer appears after rerouting if
NavigationViewController.showsReportFeedbackis disabled. (#890)
User interface
- Added a
StepsViewControllerclass 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.voiceControllerDelegateproperty lets an object conforming to theVoiceControllerDelegateprotocol 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
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
NSMicrophoneUsageDescriptionto your Info.plist. (#870) - Added a
StepsViewControllerclass 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.voiceControllerDelegateproperty lets an object conforming to theVoiceControllerDelegateprotocol 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
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
InstructionsBannerViewandStepInstructionsViewthat prevented them from being styleable. #852 - Fixes a few minor styleable elements on
DayStyleandNightStyle. #858
Map
MGLMapView init(frame:styleURL:)is exposed again onNavigationMapView. #850
User location tracking
- The refresh rate of the user puck remains throttled if the upcoming step is straight. #845
Feedback
- The
Report Feedbackbutton after rerouting is only displayed for 5 seconds. #853
Documentation is available online or within Xcode.
v0.10.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
MGLMapboxAccessTokenof theInfo.plistat 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
InstructionBannerViewclass 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(_:)withNavigationMapView.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.annotatesSpokenInstructionsproperty, 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
PollyVoiceControllerfrom 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.checkForFasterRouteInBackgroundtoRouteController.reroutesOpportunistically. (#826) - Added a
RouteControllerOpportunisticReroutingIntervalconstant for configuring the interval between opportunistic rerouting attempts. (#826)
Feedback
- The
NavigationViewController.recordsAudioFeedbackproperty, disabled by default, allows the user to dictate feedback by long-pressing on a feedback item. This option requires theNSMicrophoneUsageDescriptionInfo.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
NavigationMapViewuses 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 theNavigationMapView.userCourseViewproperty. (#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
- Pins the dependency
Solarto 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’sCLLocationDirection.wrap(min:max:)instead. #653 - Defaulted to
kCLLocationAccuracyBestForNavigationfor location accuracy. #670
Documentation is available online or within Xcode.