Navigation SDK for iOS release notes

  • The Navigation SDK for iOS has undergone significant updates, including modernized UI with new map colors, turn card designs, and CarPlay support.

  • The SDK has improved functionality with bug fixes, API updates for better navigation accuracy and developer control, and enhanced developer tools like Swift Package Manager and CocoaPods support.

  • Platform updates ensure compatibility with newer iOS and Xcode versions, while freezing support for older ones, as well as providing greater map customization capabilities through cloud-based and data-driven styling, and advanced markers.

  • Early versions focused on basic navigation features, while recent releases prioritize advanced functionalities like traffic updates, alternative routes, two-wheeler mode, and developer customization options.

  • The SDK has continuously evolved to enhance user experience, reliability, and developer control with each release, addressing bugs, improving stability, and introducing new features.

Subscribe to these release notes. Subscribe

This page is updated with each product release. The changelog lists releases by date and includes any new features, bug fixes and significant performance improvements. You can also browse and filter all release notes for all products in the Google API Console.

Release versions

For major releases (for example, 10.0.0), expect a major feature or features, additional smaller features and bug fixes, backwards incompatibility with the previous version, and dependency upgrade requirements.

For minor releases (for example, 9.2.0), expect minor features and bug fixes, backwards compatibility with the previous version, and minor version upgrades of a dependency.

For patch releases (for example, 9.2.1), expect bug fixes, backwards compatibility with the previous version, and patch upgrades of a dependency.

Dependencies and requirements

The table below shows the dependencies and requirements for the latest version of the Navigation SDK for iOS.

SDK version Minimum iOS deployment target Minimum Xcode version
10.x 16.0 16.x.x

November 20, 2025

10.6.0
Announcement

The Navigation SDK for iOS version 10.6.0 is now available. See the Release Notes 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 to start the installation process. If you are an existing customer, see the upgrade instructions at Overview and requirements.

10.6.0
Announcement

Real-time disruption configuration is now generally available. See the documentation.

October 13, 2025

Feature

Navigation voice guidance now references stop signs when describing upcoming maneuvers in the US, Japan, and Sweden.

October 02, 2025

10.4.0
Announcement

The Navigation SDK for iOS version 10.4.0 is now available. See the Release Notes 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 to start the installation process. If you are an existing customer, see the upgrade instructions at Overview and requirements.

10.4.0
Issue

A crash can occur in Navigation SDK for iOS version 10.4.0 when using Real Time Disruption features. Interaction with on-route incidents can lead to this crash.

We recommend customers who use Real Time Disruption features not upgrade to version 10.4 at this time.

10.4.0
Feature

Narrow roads callouts now appear on users' routes. This feature is available for some areas in India when users are in four wheeled driving mode.

10.4.0
Feature

Callouts for unpaved road segments now appear on users' routes. This feature is available in the USA, Canada, and Sweden, when users are in four wheeled driving mode.

10.4.0
Fixed

Callouts are no longer duplicated when the traffic layer is enabled.

10.4.0
Fixed

Fixed a long-standing, low-probability bug that could cause crashes. The crashes were caused by a thread-safety issue that was exposed in improved iOS 26 crash analysis.

September 25, 2025

10.2.0
Feature

You can now use cloud-based maps styling to style both the navigation map and the road map by creating reusable styles associated with map IDs. See the documentation.

September 08, 2025

10.3.0
Announcement

The Navigation SDK for iOS version 10.3.0 is now available. See the Release Notes 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 to start the installation process. If you are an existing customer, see the upgrade instructions at Overview and requirements.

10.3.0
Feature

Railroad crossing callouts now appear on users' routes. Only available in the USA and Canada.

10.3.0
Feature

Improved voice guidance messages. Guidance now includes counted turns and mention railway crossings.

10.3.0
Fixed

Fixed an issue where the Trip Progress Bar could become too small to be usable when a large accessory view was displayed. The progress bar will now be hidden if its available height is below a minimum threshold (200 points).

August 18, 2025

Deprecated

CocoaPods is in maintenance mode as of 8/18/2025 and we won't release more versions of CocoaPods after Q2 2026. Use Swift Package Manager instead. See the installation page for information about using Swift Package Manager.

August 12, 2025

10.2.0
Announcement

The Navigation SDK for iOS version 10.2.0 is now available. See the Release Notes 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 to start the installation process. If you are an existing customer, see the upgrade instructions at Overview and requirements.

10.2.0
Feature

3D buildings display during navigation. Displays 3D buildings (polygons with height) during turn-by-turn navigation. You can toggle this feature by using the Maps SDK buildingsEnabled: method. See the documentation.

10.2.0
Feature

Proximity check added for user-initiated voting mid-trip. To enhance map data quality, the Navigation SDK for iOS now checks whether a user-initiated vote on a real-time disruption was initiated near the incident.

10.2.0
Change

The number of users who have reported an incident no longer appears in the incident callout.

10.2.0
Fixed

The real-time disruptions button is not re-enabled if disabled programmatically when the reporting panel is dismissed.

10.2.0
Fixed

The setDestinations() methods now reset the traveledPath property.

July 14, 2025

10.1.0
Announcement

The Navigation SDK for iOS version 10.1.0 is now available. See the Release Notes 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 to start the installation process. If you are an existing customer, see the upgrade instructions at Overview and requirements.

10.1.0
Deprecated

showsTrafficLights and showsStopSigns are deprecated and will be removed in a future release.

10.1.0
Feature

Custom buttons for real-time disruptions.

You can now create custom buttons to initiate the real-time disruptions (RTD) reporting flow.

The new reportIncidentsAvailable and presentReportIncidentsPanel methods have been added to the GMSMapView class. These methods allow you to:

  • Check if incident reporting is available for the current navigation context.
  • Display the incident reporting panel programmatically, enabling you to implement custom incident reporting buttons.

See the full documentation.

10.1.0
Feature

Maneuver callouts enabled. Callouts now appear before the next maneuver(s) that a user needs to make, not at the moment they need to make the maneuver.

10.1.0
Feature

Slowdown and stalled vehicle callouts disabled. Callouts now do not appear for slowdowns and stalled vehicles, and users are no longer able to vote or report on stalled vehicle incidents. This creates a more streamlined experience.

10.1.0
Feature

Added the ability to control the visibility of real-time disruption callouts using the shouldDisplayPrompts method. For more information, see Interactive disruption callouts along routes.

10.1.0
Fixed

Fixed: Issue where background notifications were not replaced.

10.1.0
Fixed

Fixed: The corner radius of the ETA card has been adjusted to match other Google UI elements.

10.1.0
Fixed

Fixed: The real-time disruption button now moves vertically when mapPadding is added.

Version 4.0.0 (June 27, 2022)

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

Features

Support freezes

  • 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

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, 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 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

  • 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 and Places 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. 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 and Places 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. 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 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 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

  • 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.

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 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 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 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:

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:

Deprecations

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.

    • 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, 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.

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.