<br />

This archive lists Navigation SDK for iOS release notes for 2024 and earlier. For 2025
and 2026 releases, see the
[Navigation SDK for iOS release notes](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes.md.txt).

## November 18, 2024

9.2.0 Announcement **The Navigation SDK for iOS version 9.2.0 is now available.** See the [Release Notes](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes.md.txt) for information about this release and for all previous releases or subscribe to the [Release Notes XML feed](https://developers.google.com/static/feeds/nav-sdk-ios-release-notes.xml).

If you are a new user, see [Set up your Google Cloud project](https://developers.google.com/maps/documentation/navigation/ios-sdk/cloud-setup) to start the installation process.

If you are an existing customer, see the upgrade instructions at [Overview and requirements](https://developers.google.com/maps/documentation/navigation/ios-sdk/setup-overview.md.txt).
9.2.0 Feature **New navigation component colors.** Updated all the navigation component colors on maps to match the new colors that are already available in the Google Maps app. For more information, see [New map style for Google Maps Platform](https://developers.google.com/maps/new-map-style-opt-in).
9.2.0 Change **All `GoogleMapsBase` references are now part of `GoogleMaps`.** `GoogleMaps.xcframework` now includes `GoogleMapsBase` and `GoogleMapsCore`. Any configuration references to either framework can be removed.
9.2.0 Change **Updated API reference.** The look and organization of the Navigation SDK for iOS has changed.

**Note:** The URLs for the API references pages have changed, so any pages you may have bookmarked will redirect you to the API reference homepage.

[Visit the new API reference](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/).

## September 19, 2024

9.1.2 Fixed Bug fixes.

## August 28, 2024

9.1.1 Fixed Bug fixes.
9.1.1 Fixed Export the classes `GMSNavigationLane`, `GMSNavigationLaneDirection`, and `GMSNavigationTermsAndConditionsOptions`.

## August 14, 2024

9.1.0 Announcement The Navigation SDK for iOS version 9.1.0 is now available. See the [Release Notes](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes.md.txt) for information about this release and for all previous releases or subscribe to the Release Notes XML feed.

If you are a new user, see [Set up your Google Cloud project](https://developers.google.com/maps/documentation/navigation/ios-sdk/cloud-setup) to start the installation process.

If you are an existing customer, see the upgrade instructions at [Overview and requirements](https://developers.google.com/maps/documentation/navigation/ios-sdk/setup-overview.md.txt).
9.1.0 Feature This release introduces a new Skip Terms of Service Options API.

This is a new [`GMSNavigtionTermsAndConditionsOptions`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/interface_g_m_s_navigation_terms_and_conditions_options) API to present the terms and conditions dialog. Developers are recommended to use `GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithOptions:callback:` to present the dialog.
9.1.0 Fixed Fixed a bug where the reported `GMSNavigationNavState` could be incorrect when a reroute is about to occur.
9.1.0 Fixed Fixed a bug where `GMSNavigationNavInfo` was not always reported when navigation is stopped.
9.1.0 Fixed Fixed a bug where the wrong maneuver icon was sometimes displayed.

## May 28, 2024

9.0.0 Announcement **Release 9.0.0**

**New Features.** The navigation SDK for iOS now offers updated map colors, CarPlay support, and updated default turn card design.

The version numbering for Navigation SDK for iOS is advancing from v4.x to v9 to match the version numbers of the Maps and Places SDKs for iOS.
9.0.0 Announcement **iOS version support.** According to the [Mobile OS version support policy](https://developers.google.com/maps/software-support.md.txt#mobile-os-version-support-policy), we are freezing support for iOS 15 in an upcoming major version of Maps, Places, and Navigation SDKs for iOS.

Versions of Maps, Places, and Navigation SDKs for iOS released beginning the second quarter of 2025 will support a minimum of iOS 16. Earlier SDK versions will continue supporting iOS 15.

If your dependencies do not specify a version number, your IDE will load the newest SDK version and new builds of your app will not support iOS 15.

[Specify a version](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt) of the Maps, Places, and Navigation SDKs for iOS in your application's build dependencies in order to control when you raise the minimum supported OS for new versions of your app.
9.0.0 Feature **Updated headers:** The default [turn card header and footer designs](https://developers.google.com/maps/documentation/navigation/ios-sdk/controls.md.txt#navigation_header_and_footer) are updated to match the new turn cards that are already available in the Google Maps app. Developers may wish to refresh the design of any custom headers to better match the new rounded-corner look.
9.0.0 Feature **New map colors.** Updated the default colors for maps to match the new colors that are already available in the Google Maps app. For more information, see [New map style for Google Maps Platform](https://developers.google.com/maps/new-map-style-opt-in).
9.0.0 Feature **Privacy manifest:** The Apple Privacy Manifest file is now included in the resources bundle for the SDK. For more information, see [Inspect Apple privacy manifest file](https://developers.google.com/maps/documentation/navigation/ios-sdk/config#step-2:-inspect-apple-privacy-manifest-file).
9.0.0 Feature **CarPlay:** The Navigation SDK for iOS now allows developers to support Apple's CarPlay feature. You can display your app's navigation experience on [in-dash head units](https://en.wikipedia.org/wiki/Automotive_head_unit), and drivers can use your app directly by connecting their iPhone to the unit. Voice guidance can also run on the car's speakers. See [Enable navigation for CarPlay](https://developers.google.com/maps/documentation/navigation/ios-sdk/carplay.md.txt) for more information.
9.0.0 Change The terms and conditions dialog no longer has a decline button. Drivers must acknowledge the terms and conditions from the dialog in order to continue using navigation.
9.0.0 Deprecated The `cancelButtonTextColor` property in `GMSNavigationTermsDialogUIParams` is now deprecated.
9.0.0 Deprecated In order to provide a safer environment for drivers, [terrain mode](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/group___map_view_type#enumeration-type-documentation) during active navigation in the Navigation SDK for iOS is deprecated as of 9.0, and will be unsupported in the major version that will be released in the second quarter of 2025.

Instead, normal mode will be displayed.
9.0.0 Deprecated Since Apple has deprecated OpenGL support as of iOS 12 (2018), support for the OpenGL renderer and the `setMetalRendererEnabled` boolean in the Maps SDK for iOS is deprecated as of v9.0.0 , and will be unsupported in the major version that will be released in the second quarter of 2025.

Instead, use the Metal renderer, which has been default since Maps SDK for iOS v8.0.0, and remove `setMetalRendererEnabled` from your codebase.

## May 03, 2024

4.1.0 Feature Traffic lights and stop sign icons along the route are now supported in JP, GB, and DE, in addition to BE, CA, ES, FR, IT, NL, SE, US. This change is available in SDK versions 4.1.0 and higher. For more information, see [Traffic lights or stop sign icons](https://developers.google.com/maps/documentation/navigation/ios-sdk/controls.md.txt#traffic_lights_and_stop_signs).

## April 25, 2024

5.3.0 Issue The [Cloud-based maps styling](https://developers.google.com/maps/documentation/ios-sdk/cloud-customization.md.txt) in the Navigation SDK does not support map styling in navigation when `GMSMapView.navigationEnabled` is set.

## April 01, 2024

5.4.0 Announcement The new minimum supported version of Xcode is 15.0.
5.4.0 Announcement With the release of the Places SDK for iOS version 8.5, the latest version of the Nav SDK for iOS remains v.5.4.0.

## February 06, 2024

5.4.0 Change The driven part of the route polyline is now updated to be gray.

## December 14, 2023

5.3.1 Announcement **Release 5.3.1**

**Infrastructure update** . The Navigation SDK for iOS now supports **Swift Package Manager**.

Using Xcode's Swift Package Manager integration, you can add or update the Maps SDK dependency directly from Xcode. Select the version of the Navigation SDK for iOS that you want to use. For new projects, Google recommends you specify the latest version and use the option "Exact Version."

To learn how to add the Navigation SDK for iOS to a project through Swift Package Manager, see the [Set up your project](https://developers.google.com/maps/documentation/navigation/ios-sdk/config) guide.

## November 22, 2023

5.3.0 Feature Advanced markers are now supported for Navigation SDK versions 5.3.0 and higher. For information on advanced markers, see [Advanced Markers Overview](https://developers.google.com/maps/documentation/ios-sdk/advanced-markers/overview.md.txt).
5.3.0 Feature Data-driven styling is now supported for Navigation SDK versions 5.3.0 and higher. For information on data-driven styling, see [Data-driven styling for boundaries](https://developers.google.com/maps/documentation/ios-sdk/dds-boundaries/overview.md.txt).
5.3.0 Announcement **Release 5.3.0**

The Navigation SDK for iOS version 5.3.0 is now available. For information about this release, and for all previous releases, see the [Release notes](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes.md.txt) or subscribe to the release notes [XML feed](https://developers.google.com/static/feeds/nav-sdk-ios-release-notes.xml).

If you are a new user, see [Set up your project](https://developers.google.com/maps/documentation/navigation/ios-sdk/config) to get started.
5.3.0 Feature Cloud-based styling is now supported for Navigation SDK versions 5.3.0 and higher. For information on cloud-based styling, see the [New Cloud Styling Overview.](https://developers.google.com/maps/documentation/ios-sdk/cloud-customization/new-style-customization)

## September 19, 2023

5.2.0 Announcement **Release 5.2.0**

The Navigation SDK for iOS version 5.2.0 is now available. For information about this release, and for all previous releases, see the [Release notes](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes.md.txt) or subscribe to the release notes [XML feed](https://developers.google.com/static/feeds/nav-sdk-ios-release-notes.xml).

If you are a new user, see [Set up your project](https://developers.google.com/maps/documentation/navigation/ios-sdk/config) to get started.
5.2.0 Fixed Fixes a bug in which navigation stops when there is no internet connection.

## July 24, 2023

5.1.0 Fixed Fixes a bug in which some arrival notifications were empty. Now, arrival notifications send the waypoint title.

## May 17, 2023

5.0.0 Breaking Removed the [navigationMapStyle](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/interface_g_m_s_u_i_settings#af07d9abc547db21f90e96232fe65cd7c) API and the [GMSNavigationMapStyle](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/group___navigation_types#gadc6bff82cc3cecdf950e999a64bf20b4) enumerator, following the [deprecation announcement](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes-archive.md.txt#August_29_2022) from August 29, 2022.
5.0.0 Breaking According to the [Mobile OS version support policy](https://developers.google.com/maps/software-support.md.txt#mobile-os-version-support-policy), we are freezing support for iOS 13 as of Maps SDK for iOS v8.0.0. The new minimum supported OS is iOS 14. Earlier SDK versions will continue supporting iOS 13.

If your dependencies do not specify a version number, your IDE will load the newest SDK version and new builds of your app will not support iOS 13.

[Specify a version](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt) of the Maps SDK for iOS in your application's build dependencies in order to control when you raise the minimum supported OS for new versions of your app.
5.0.0 Fixed The TurnByTurn [roundaboutTurnNumber](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/interface_g_m_s_navigation_step_info#af76f96f9ece125b0e2a2b14f01e9fff7) now returns the maneuver number instead of the degree radius of the turn.
5.0.0 Feature Introduces a new class [GMSNavigatorSession](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/interface_g_m_s_navigation_session) which can be created from a new class method on GMSNavigationServices and then used to programmatically control a navigation session.
5.0.0 Announcement The new [minimum supported version of Xcode](https://developers.google.com/maps/software-support.md.txt#ide) is 14.0. Note the deprecations in the Xcode 14 [release notes](https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-14-release-notes) about the end of support for building with bitcode.
5.0.0 Change You can now set 25 waypoints as maximum destinations. Providing more than 25 waypoints will get a `GMSRouteStatusWaypointError` error code.

## May 15, 2023

4.4.0 Announcement **Freezing support for iOS 14**

According to the [Mobile OS version support policy](https://developers.google.com/maps/software-support.md.txt#mobile-os-version-support-policy), we are freezing support for iOS 14 in an upcoming major version of Navigation SDK for iOS.

Versions of SDK for iOS released beginning the second quarter of 2024 will support a minimum of iOS 15. Earlier SDK versions will continue supporting iOS 14.

If your dependencies do not specify a version number, your IDE will load the newest SDK version and new builds of your app will not support iOS 14.

[Specify a version](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt#installation) of the Navigation SDK for iOS in your application's build dependencies in order to control when you raise the minimum supported OS for new versions of your app.

## February 27, 2023

4.4.0 Change The Navigation SDK for iOS version 4.4.0 is now available. **Version bump, no changes** . This version is functionally identical to v.4.3.0. See the [Release Notes](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes.md.txt) for information about this release and for all previous releases, or subscribe to the Release Notes [XML feed](https://developers.google.com/static/feeds/nav-sdk-ios-release-notes.xml).
4.4.0 Change Navigation SDK for iOS is now available as a CocoaPods pod. See [Set up your project](https://developers.google.com/maps/documentation/navigation/ios-sdk/config) in the SDK documentation to learn more.
4.4.0 Change If your project must show the Terms and Conditions dialog, setting [`shouldOnlyShowDriverAwarenesssDisclaimer`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/interface_g_m_s_navigation_services#property-documentation) to `YES` has no effect.

## January 11, 2023

4.3.0 Fixed **257934849**: Fixes a bug where a map's custom style disappears if navigation is enabled and subsequently disabled in the map view.

## November 03, 2022

4.2.0 Fixed **243163913**: Fixes a crash when displaying the Terms of Service dialog on the mobile device while connected to CarPlay. (Note: CarPlay is not yet supported in Navigation SDK)
4.2.0 Change The Terms of Service dialogue shows updated language.

## August 29, 2022

4.1.0 Deprecated Deprecates the `GMSNavigationMapStyle` API and the `GMSNavigationMapStyleDefault` and `GMSNavigationMapStyleHighDetail` enumerators. These enumerators enabled you to switch your app's default map view from a simple base map style to a detailed map style showing extra detailed tiles, including 2D building outlines on zoom level 18+ and 2D building numbers on zoom level 19+. Due to changes in the base map for iOS, these details are now enabled by default, so this enumerator is no longer necessary.
4.1.0 Feature Allow customers to show traffic lights and stop signs during navigation.

## Version 4.0.0 (June 27, 2022)

- The Terms of Service dialogue shows new language.
- The Terms of Service dialogue shows new language.

**Features**

- You can now include ferries as part of your routing strategy. See [Routes
  that include
  ferries](https://developers.google.com/maps/documentation/navigation/ios-sdk/route-preferences#routes_that_include_ferries).

**[Support freezes](https://developers.google.com/maps/software-support.md.txt)**

- Support for iOS 12 is now frozen. The minimum iOS version is now 13.0.
- The new minimum version of Xcode is 13.0.

## Version 3.2.1 (May 9, 2022)

**Features**

- Version bump with no feature changes. This version is functionally identical to v.3.2.0.

## Version 3.2.0 (April 25, 2022)

**Features**

- Version bump with no feature changes. This version is functionally identical to v.3.1.1.

## Version 3.1.1 (March 22, 2022)

**Bug fixes**

- Previous versions closed the terms of services dialog when a user clicked on the dimmed background.

## Version 3.1.0 (March 9, 2022)

**Features**

- You can now add a [trip progress bar](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes-archive/controls#trip-progress-bar) to display
  the details of the trip in a linear view on the trailing edge of the map.
  Enable it by setting the new `navigationTripProgressBarEnabled` property in
  [GMSUISettings](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSUISettings.md.txt).

- You can now subscribe to navigation state information (including step info,
  ETA, and remaining distance) through the `didUpdateNaveInfo:` event listener
  in
  [GMSNavigatorListener](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSNavigatorListener.md.txt).
  See [Building TurnByTurn navigation on small external
  screens](https://developers.google.com/maps/documentation/navigation/ios-sdk/release-notes-archive/turn_by_turn).

**Bug fixes**

- Previous versions could trigger a single navigation event for multiple arrival events in a navigation session.

## Version 3.0.3 (February 16, 2022)

**Bug fixes** Previous versions failed to launch for apps developed with
`SceneDelegate` because the Terms of Service dialog did not display. Now,
scene-based apps should correctly display the Terms of Service dialog and the
app will launch after user acknowledgement.

## Version 3.0.2 (January 24, 2022)

**Bug fixes**

- Previous versions failed to launch for apps developed with SwiftUI because the Terms of Service dialog did not display. Now, SwiftUI-based apps should correctly display the Terms of Service dialog and the app will launch after user acknowledgement.

## Version 3.0.1 (December 9, 2021)

**Features**

- Added stability improvements to the release.

## Version 3.0 (November 29, 2021)

**Features**

- Alternative [map
  types](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSMapViewType),
  including Satellite, Terrain, and Hybrid maps, are now supported in
  navigation mode.

- (Beta) This release contains a preview of support for the XCFramework
  format. You can now
  [install](https://developers.google.com/maps/documentation/navigation/ios-sdk/config#install-the-xcframework)
  the Navigation SDK for iOS as an XCFramework, a binary package that you can
  use on multiple platforms including machines using the M1 chipset.

  Google recommends that you only use this Beta release for development and testing,
  and rely on the `.framework` version of the SDK for your production apps.

**[Support freezes](https://developers.google.com/maps/software-support.md.txt)**

- Support for iOS 11 is now frozen. The minimum iOS version is now 12.0.

- The new minimum version of Xcode is 12.0.

## Version 2.2 (October 19, 2021)

**Features**

- During navigation, display a dotted line from the last navigation point to the destination.

## Freezing support for iOS 12 - October 18, 2021

In response to changes in our internal dependencies, we are freezing support for
iOS 12 in an upcoming major version of Google Maps Platform SDKs for iOS.

Navigation SDK for iOS v4.0 or higher will only support devices running a
minimum of iOS 13.

Apps built with v3.x of the Maps SDK for iOS will continue to work for iOS 12.
If your dependencies in CocoaPods or Carthage don't specify a version number,
Xcode will load the newest version and new builds of your app won't support iOS 12.

**Steps to take**

1. In your Podfile or Cartfile, specify the 3.x versions of Navigation SDK for iOS. See examples of CocoaPods and Carthage dependencies for [Maps](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt#installation) and [Places](https://developers.google.com/maps/documentation/places/ios-sdk/versions.md.txt#installation) SDK for iOS.
2. Each time you build a new version of your app, run `pod outdated` or `carthage outdated` to check for new versions of your CocoaPods or Carthage dependencies. See the guidance on [app maintenance best practices](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt#maintenance). Don't upgrade to v4.0 or higher for Navigation SDK for iOS until you are ready to drop support of iOS 12 for your app.

## Version 2.2 - Freezing support for iOS 11 (July 20, 2021)

In response to changes in our internal dependencies, we are freezing support of
iOS 11 in an upcoming major version of Google Maps Platform
SDKs for iOS. Earlier SDK versions will continue supporting iOS 11.

The following SDK versions will only support devices running a minimum of iOS
12:

- Maps SDK for iOS or Places SDK for iOS v6.0 or higher
- Navigation SDK for iOS v3.0 or higher
- Rides \& Deliveries Driver or Consumer SDK v1.0 or higher

Apps built with v5.x of the Maps and Places SDKs for iOS and v2.x of the
Navigation SDK will continue to work for iOS 11. If your dependencies
in CocoaPods or Carthage don't specify a version number, Xcode will load
the newest version and new builds of your app won't support iOS 11.

**Steps to take**

1. In your Podfile or Cartfile, specify the 5.x versions of Maps and Places SDKs, and version 2.0 for Navigation SDK, which were released earlier this year. See examples of CocoaPods and Carthage dependencies for [Maps](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt#installation) and [Places](https://developers.google.com/maps/documentation/places/ios-sdk/versions.md.txt#installation) SDK for iOS.
2. Each time you build a new version of your app, run `pod outdated` or `carthage outdated` to check for new versions of your CocoaPods or Carthage dependencies. See the guidance on [app maintenance best practices](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt#maintenance). Don't upgrade to v6.0 or higher for Maps and Places SDKs, or v3.0 or higher for Navigation SDK, until you are ready to drop support of iOS 11 for your app.

## Version 2.1 (June 28, 2021)

**Features**

- Setting destinations with a [route token](https://developers.google.com/maps/documentation/navigation/ios-sdk/route_token) now supports two-wheeler travel mode.
- Setting `followingZoomLevel` now takes effect immediately in following mode; after starting a new navigation session, the camera does not zoom out.
- Added a [`setTransactionIDs:errorHandler`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator.md.txt#-settransactionids:errorhandler:) method in `GMSNavigator`. Use this method to set the ongoing transaction IDs which apply to the navigation events during the current navigation session.

**[Support freezes](https://developers.google.com/maps/software-support.md.txt)**

- Support for iOS 11 will be frozen in an upcoming major version.

## Version 2.0 (May 13, 2021)

**Decommissions**

- iOS 10 is no longer supported. The minimum OS is now 11.0.
- ARMv7 32-bit architecture no longer supported.
- The deprecated `GMSNavigatorDelegate` and
  `GMSRoadSnappedLocationProviderDelegate` protocols will change the protocol
  names to `GMSNavigatorListener` and `GMSRoadSnappedLocationProviderListener`,
  respectively. All previous delegate methods will exist in the new listeners,
  with the following exceptions.

  - `GMSNavigator` and `GMSRoadSnappedLocationProvider` removed the
    deprecated property `delegate`. Instead, call methods `-addListener:`
    and `-removeListener`, respectively, to add or remove the replacement
    listeners.

  - `GMSNavigatorDelegate` methods `-
    (NSTimeInterval)navigatorTimeUpdateThreshold:(GMSNavigator *)navigator`
    and `- (CLLocationDistance)navigatorDistanceUpdateThreshold:(GMSNavigator
    *)navigator` are removed. Instead, set the `timeUpdateThreshold` and
    `distanceUpdateThreshold` properties on `GMSNavigator` directly.

- `GooglePlaces.framework` won't be included in the Navigation SDK for iOS
  Zip package in the next Navigation SDK release. If you need the
  Places SDK in your application, follow the Places SDK for iOS
  [installation instructions](https://developers.google.com/maps/documentation/places/ios-sdk/start).

## Version 1.16.0 (March 8, 2021)

- Support for iOS 10 will be dropped in version 2.0.0.

**Features:**

- Added a `navigationMapStyle` property to the [`GMSUISettings`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSUISettings.md.txt) class. The map will display 2D building outlines at zoom level 18+ when this property is set to `GMSNavigationMapStyleHighDetail`.
- Added a `followingZoomLevel` property to the [`GMSMapView`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView.md.txt) class. You can use this property to set the zoom level when the camera is in following mode during navigation.
- Added a `stopGuidanceAtArrival` property to the [`GMSNavigator`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator.md.txt) class. You can use this property to determine whether guidance should automatically stop when `navigator:didArriveAtWaypoint:` is called.
- Updated the Objective-C and Swift demos.

**Bug fixes:**

- Fixed an issue where the SDK would crash when attempting to get the traveled path upon a navigator route change.

## Version 1.15.1 (January 21, 2021)

**Bug fixes:**

- Fixes an issue where the [camera mode](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView.md.txt) wouldn't switch to [`GMSNavigationCameraModeFree`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationNavState.md.txt) if set to [`GMSNavigationCameraModeFollowing`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationNavState.md.txt).

## Version 1.15.0 (December 8, 2020)

**Features:**

- Added crash detection during SDK initialization. In cases where two or more consecutive crashes are detected at initialization time, the SDK will attempt to restore functionality by automatically resetting cached client parameters and map tile data. A recovery attempt event will be logged unless the client has opted out of unexpected termination reporting.

## Version 1.14.0 (October 13, 2020)

**Features:**

- Support for iOS 9.0 has been dropped. The new minimum is iOS 10.0.
- The new minimum version of Xcode is 11.7.
- By default, unexpected SDK terminations, such as app crashes while the SDK is still running, are monitored to let Google to improve SDK stability when applicable. There is also an option to opt-out by using the `setAbnormalTerminationReportingEnabled:` API on `GMSNavigationServices`.

## Version 1.13.0 (August 24, 2019)

**Features:**

- You can now pass a route token to the Navigation SDK to retrieve the route represented by that route token. The route token is associated with a route response when you call the [Routes Preferred
  API](https://developers.google.com/maps/documentation/routes_preferred). [Learn more about custom
  routes](https://developers.google.com/maps/documentation/routes_preferred/custom_routes).
- Added a [`vehicleStopover`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationWaypoint.md.txt) property to the `GMSNavigationWaypoint` class. This feature relocates the waypoint to a nearby place if its location is not suitable for a vehicle to make a stop.
- Added a mutable waypoint class, [`GMSNavigationMutableWaypoint`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationMutableWaypoint.md.txt) which lets you change some waypoint properties.
- Added [`GMSNavigatorListener`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSNavigatorListener.md.txt) and [`GMSRoadSnappedLocationProviderListener`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSRoadSnappedLocationProviderListener.md.txt) protocols, which enable multiple classes to listen to important navigation and road snapping events.

**Deprecations**

- `GMSNavigatorDelegate` and `GMSRoadSnappedLocationProviderDelegate` protocols are deprecated as of August 24, 2020. Instead, use [`GMSNavigatorListener`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSNavigatorListener.md.txt) and [`GMSRoadSnappedLocationProviderListener`](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSRoadSnappedLocationProviderListener.md.txt).

**Note:**

- To build apps using the Navigation SDK, the current minimum IDE version supported is Xcode 11.5.

## Version 1.12.0 (December 2, 2019)

**Features:**

- You can now request routes with a target distance, so that routes will be ranked by their absolute delta to the target distance from smallest to largest. To do this, initialize `routingOptions` using the `initWithTargetDistancesMeters` (GMSNavigationRoutingOptions.h), and then call `setDistinations` (GMSNavigator.h), passing the routing options.

**Note:**

- To build apps using the Navigation SDK, the current minimum IDE version supported is Xcode 11.0.

## Version 1.11.0 (October 28, 2019)

**Features:**

- Drivers can now receive speed alerts when they exceed speed limits. Speed
  alerts are enabled through `shouldDisplaySpeedometer` and configurable
  through `GMSNavigationSpeedAlertOptions` and
  `GMSNavigationSpeedometerUIOptions`.

  > [!NOTE]
  > **Note:** As set out in the Google Maps Enterprise terms of service, Google makes no warranties regarding the quality of any feature including the accuracy of the speed alert feature. This feature is intended to be used by operators for informational purposes only

  - Updated the Terms of Service dialogue language.

## Version 1.10.1 (October 9, 2019)

**Stability and Bug fixes**

- Fixed a race condition where getting the route leg can cause a crash during certain situations.

## Version 1.10.0 (September 4, 2019)

**Features:**

- Added `alternateRoutesStrategy` to `GMSNavigationRoutingOptions`. This lets the user select the number of alternate routes shown.
- Added `routingStrategy` to `GMSNavigationRoutingOptions`. This allows the returned routes to be ordered by either time or distance.
- Added the ability to set the navigation header accessory view (secondary header).
- The visual appearance of the Terms and Conditions dialog is now fully customizable.

**Stability and Bug fixes**

- Fixed the Terms and Conditions dialog button text to match standard language.

## Version 1.9.1 (July 29, 2019)

**Stability and Bug fixes**

- Improved how certain internal event listeners are deregistered when destinations are cleared.

## Version 1.9.0 (June 26, 2019)

**Features:**

- The title of the 'Terms and Conditions' and 'Driver Awareness' dialogs are now customizable.
- Destinations can now be set with a side-of-the-road preference used for routing considerations.
  - Two-Wheeler travel mode (Beta): You can now set the travel mode to `TWO-WHEELER` to get motorcycle and scooter routes. This feature is only available in India and Indonesia.

## Version 1.8.1 (February 6, 2019)

**Stability and Bug fixes**

- **Taxi mode** Fixed the camera and road snapping behaviors.

## Version 1.8 (December 21, 2018)

**Features:**

- **Taxi mode - BETA**: Your app can use the lanes and streets that are
  specifically dedicated to taxicabs to provide routing and Estimated Time of
  Arrival (ETA)s for vehicles identified as taxicabs.

  The following geographical areas are supported:
  - Brazil: Rio de Janeiro
  - England: Birmingham, Coventry, London Metro Area, Manchester
  - Israel: Tel Aviv
  - Ireland: Edinburgh, Dublin
  - Russia: Moscow
  - Scotland: Glasgow
  - Spain: Madrid, Barcelona

  - **Traffic status** : Your app can report the level of congestion along a route
    using the `getSeverity` method of the `TimeAndDistance` class.

## Version 1.7.0 (Aug 27, 2018)

**Features:**

- A Directions List for the remaining turn instructions of the ride can be displayed through \[GMSNavigationDirectionsListController directionsListView\].
- The speed limit sign can be enabled and will be displayed when data is available through \[GMSMapView shouldDisplaySpeedLimit\].

**Known issues**

- A recent change in the map tile rendering code may cause a low-volume crash with signature 'gmscore::renderer::GLState::BindBuffer'. This bug is not known to occur on the Navigation API, but other google maps products with shared code. We advise caution when using the 1.7.0 release. The iOS 1.3.4 release has an older version of the renderer and wouldn't exhibit this  
  release has an older version of the renderer and wouldn't exhibit this  
  crash.

## New Style Default Opt-In for Nav SDK 1.6+ (Aug 21, 2018)

- The new basemap style has been enabled by default in the Maps SDK for iOS,
  however it is NOT enabled for Nav SDK users. Compiling the Nav SDK and Maps
  SDK together will cause your project to be opted out of the new basemap
  style. Therefore, contrary to the [instructions for the Maps
  SDK](https://developers.google.com/maps/documentation/ios-sdk/release-notes-archive#new_style_default_june_28_2018),
  Nav SDK users will need to explicitly opt-in.

  To opt-in, use the code snippet below. The best place to do this in your
  app is right after providing your API key, using GMSServices provideAPIKey.
  You must be using at least Version 1.6 in order to opt-in.

      NSArray *options = @[@"B3MWHUG2MR0DQW"];
      BOOL didSetApiOptions = [GMSServices provideAPIOptions:options];
      NSLog(@"Options were set: %d", didSetApiOptions);

## Version 1.6.1 (July 13, 2018)

**Stability and Bug fixes**

- Fixed a compiler setting issue where movi.2d instructions are not generated as movi.16b
- Removed third-party BoringSSL dependency

**Major Dependency Updates**

- Added third-party OpenLocationCode dependency (https://github.com/google/open-location-code)
- Removed third-party BoringSSL dependency

**Known issues**

- A recent change in the map tile rendering code may cause a low-volue crash with signature 'gmscore::renderer::GLState::BindBuffer'. This bug is not known to occur on the Navigation API, but other google maps products with shared code. We advise caution when using the 1.6.1 release. The iOS 1.3.4 release has an older version of the renderer and wouldn't exhibit this crash.

## Version 1.3.4 (July 13, 2018)

**Stability and Bug fixes**

- Fixed a compiler setting issue where movi.2d instructions are not generated as movi.16b
- Removed third-party BoringSSL dependency

**Major Dependency Updates**

- Added third-party OpenLocationCode dependency (https://github.com/google/open-location-code)
- Removed third-party BoringSSL dependency

## Version 1.6 (May 10, 2018)

**Stability and Bug fixes**

- Added an error code which is returned when a stale Place ID is provided.
- Made sure the navigation header starts updating again automatically after being scrolled if the user catches up to the maneuver which they scrolled to.
- Route callouts no longer disappear while a user pans the map.
- When using simulated locations, guidance cards are no longer blank.

## Version 1.3.3 (March 26, 2017)

**Known issues**

- Nav SDK doesn't have built-in support for iPhone X safe areas. When mapView.navigationEnabled is YES, the mapView won't automatically place map controls within the safe areas and the paddingAdjustmentBehavior property will have no effect.
- The location simulator may sometimes get into a state where multiple simulated location sources are active simultaneously. This can cause the navigation engine to stop working and present a grey navigation header to the user. This has not been observed when using real GPS location updates.
- Route ETA labels sometimes disappear whilst the user is panning the map.
- The navigation header won't automatically start updating again if the user scrolls the header and then drives past the maneuver they have scrolled to.

Bug fixes and improvements.

This version is functionally identical to v1.3.

## Version 1.3.2 (Jan 23, 2017)

Added a mitigation for Open GL crashes with stack traces containing
`gmscore::renderer::ios::GLRenderTarget::FrameEnd()` where the process is killed
by `SIGABRT`. This change is expected to reduce the rate of these crashes but
not fix them completely. The underlying issue is believed to be in Apple's Open
GL implementation.

## Version 1.3.1 (December 21, 2017)

Changed the build process for the frameworks to stop using the
`-bitcode_hide_symbols` flag in the prelinking stage. This causes non-exported
symbols to be included in the bitcode bundle which may allow app stack traces to
be symbolicated to a greater extent.

This version is functionally identical to v1.3.

## Version 1.3 (November 6, 2017)

**Features:**

- Added a mapViewDidTapRecenterButton: method which is called on the GMSMapViewNavigationUIDelegate when the user taps the re-center button.

**Resolved Issues:**

- Fixed an issue where the distance to the next turn was not shown in the navigation header.
- Fixed an issue where the ETA for the current route was displayed unnecessarily when guidance is active and was not updated as navigation progressed.

## Version 1.2 (October 26, 2017)

**Resolved Issues:**

- Fixed an issue where Google Navigation SDK for iOS would sometimes report a location unavailable error if the user was stationary.

> [!NOTE]
> **Note:** Support for Xcode 7.3 has been dropped. The new minimum is Xcode 8.0.

## Version 1.1.1 (October 24, 2017)

**Features:**

- Added the option to disable bluetooth audio output using the new `audioDeviceType` property on `GMSNavigator`.

**Resolved Issues:**

- Fixed an issue where setting the `navigationFooterEnabled` property to `NO` sometimes didn't work.

## Version 1.1 (August 24, 2017)

- Miscellaneous bug fixes and improvements.
- NOTICE: Xcode 7 is no longer supported as of version 1.2.

## Version 1.0 (July 5, 2017)

Launch of the Navigation SDK for iOS.