Consumer SDK for iOS Release Notes

This section contains release notes for the Consumer SDK for iOS.

v3.3.0 (March, 2024)

Changed

  • Supports Driver and Consumer SDKs compatibility so they can be built in the same app.
  • Supports Swift Package Manager for Driver and Consumer SDKs.

v3.2.0 (December, 2023)

Changed

  • Bug fixes and documentation updates.

Deprecated

  • Deprecated [GMTCMapView initWithCoder] in GMTCMapView.

v3.1.1 (October, 2023)

Changed

  • Fixes bug with GMSMapViewDelegate methods not being called.

v3.1.0 (Sept, 2023)

Changed

  • The CocoaPod for Consumer SDK is now an .xcframework which supports both device and simulator builds for developers on both Intel- and Apple Silicon-based Macs.

v3.0.1 (Aug, 2023)

Changed

  • Fixes undefined symbols error.

v3.0.0 (May, 2023)

Changed

  • Removes deprecated initializer in GMTCMapView.
  • Fixes continued auth token fetches after all subscribers have been removed from GMTCTripModel.
  • Support for iOS 13 is now frozen. The minimum iOS version is now 14.0.
  • The new minimum supported version of Xcode is 14.0. Note the deprecations in the Xcode 14 release notes about the end of support for building with bitcode.
  • According to the Mobile OS version support policy, we are freezing support for iOS 13 as of Consumer SDK for iOS v3.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 of the Consumer 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.

Announcement

Freezing support for iOS 14 - May 15, 2023

According to the Mobile OS version support policy, we are freezing support for iOS 14 in an upcoming major version of Consumer SDK for iOS.

Versions of Consumer 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 of the Consumer 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.

v2.2.0 (February, 2023)

Changed

  • Updates the URL for terms and conditions in the header files to the correct link, and fixes other minor issues with punctuation.
  • Fixes various spelling, punctuation, and other minor errors were fixed in the documentation.

v2.1.0 (September 12, 2022)

Changed

  • Bug fixes and documentation updates.

v2.0.0 (July 18, 2022)

Changed

  • Removed the Terminal Point Service, which includes:

    • GMTSTerminalPoint
    • GMTSTerminalPointAccessPoint
    • GMTSTerminalPointTravelMode
    • GMTSTerminalPointsVehicleSearchPreference
    • GMTSTravelModeETA
  • Support for iOS 12 is now frozen. The minimum iOS version is now 13.0.

Deprecated

  • Deprecated initializers in the public class GMTCMapView.

Announcement

We are freezing support (deprecating) for iOS 13 in the 2023 major version updates for Consumer iOS SDK. The minimum iOS version supported will be iOS 14, starting in June 2023. Customers should prepare by changing the minimum version support flag in their code before they update.

v1.0.6 (March 24, 2022)

Internal bug fixes.

v1.0 (December 7, 2021)

The minimum supported iOS version for this release is 12.0.

API changes

Authentication changes

  • The SDK calls getToken() for your implementation of the AuthTokenFactory interface for each gRPC. The SDK accomplishes this by intercepting calls to Fleet Engine, and then attaching the returned JWT from getToken() to the HTTP authorization header. Note that it is up to you to generate valid tokens. That is, tokens that haven't expired, and that have proper claims.

  • Changed GMTSAuthorization to GMTCAuthorization.

  • Removed GMTSServiceType.

Changes to trip information and callbacks

  • Updated the trip property name: remainingDistanceOfActiveRouteInMeters.

  • Added traffic data updating to GMTCTripModelSubscriber.

  • Added the property remainingDistanceOfCurrentRouteInMeters.

  • Added new properties to GMTSTripPropertyFields:

    • GMTSTripPropertyFieldRemainingDistanceOfActiveRouteInMeters.
    • GMTSTripPropertyFieldDistanceOfRemainingRouteInMetersGMTSTripPropertyFieldActiveRoute.
    • GMTSTripPropertyFieldActiveRouteTrafficGMTSTripPropertyFieldRemainingRoute.
    • GMTSTripPropertyFieldRemainingRouteTraffic.
  • Added new properties remainingDistanceOfActiveRouteInMeters and distanceOfRemainingRouteInMeters in GMTSTrip.

  • RegisterSubscriber now starts trip monitoring automatically for a tripModel. UnregisterSubscriber will stop monitoring when there are no more subscribers. ModelState and ModelOptions were renamed to state and options respectively. stop and start were removed from the public header.

    • Renamed modelState to state.
    • Renamed modelOptions to options.
    • Removed start() and stop() in TripModel.

Other API changes

  • Removed GMTSTripPreview and GMTSTripPreviewVehicleOptions.

  • Removed the pickup point selection service, which includes:

    • GMTSPickupPointArea.
    • GMTSPickupPointGroup.
    • GMTSPickupPointMatch.

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 Consumer SDK for iOS.

Consumer SDK for iOS v2.0 or higher will only support devices running a minimum of iOS 13. Earlier SDK versions will continue to support iOS 12.

If your dependencies in CocoaPods or Carthage do not specify a version number, Xcode will load the newest version and new builds of your app will not support iOS 12.

Be sure to specify a version in your application's build dependencies in order to control when you raise the minimum supported OS for new versions of your app. See examples of specifying a version in Maps SDK for iOS documentation. See the guidance on app maintenance best practices.

v0.11.0 (Sep 30, 2021)

Changes

API changes

Name prefix updated for all the classes:

  • GRC -> GMTC, e.g. GRCMapView -> GMTCMapView.
  • GRS -> GMTS, e.g. GRSTrip -> GMTSTrip.

GMTSAuthorization API updated

  • Added new key kGMTSAuthorizationContextKeyTaskID for specifying task ID in authorizationContext when fetchAuthTokenForServiceType:authorizationContext:completion: is called.

  • GMTSServiceType enum updated:

    Old Value New Value
    GMTSServiceTypeUnknown GMTSServiceTypeUnspecified
    GMTSServiceTypeTripService
    GMTSServiceTypeVehicleService GMTSServiceTypeVehicle
    GMTSServiceTypeTerminalPointService
    GMTSServiceTypeTask

v0.10.0 (May 3, 2021)

Changes

Deprecated support for iOS 10.x. The minimum supported iOS version is now 11.0.

API changes

v0.9.0 (January 25, 2021)

Improvements

API changes

v0.6.7 (March 23, 2020)

Improvements

  • The route polyline is not displayed when the trip status is ARRIVED_AT_PICKUP.
  • Off-route vehicle tracking has been improved (requires DriverSDK 1.15):
    • Vehicle tracking does not snap the vehicle to the route when the vehicle drives past the pickup point.
    • Vehicle tracking enables displaying the vehicle off the road; for example, in unmapped parking lots.
  • Vehicle icons are no longer forced to a stale route when the driver’s destination does not match the destination in Fleet Engine.
  • Out-of-date trip responses are now dropped.

v0.6.3 (December 16, 2019)

Changes

  • Added logs for trip request latency.

  • Added logs for trip response errors.

v0.5.4(86.0) (August 7, 2019)

New features

  • Multidestination support for Journey Sharing.

API changes

  • New trip status added to GRSTripStatus.

    • GRSTripStatusEnrouteToIntermediateDestination.
    • GRSTripStatusArrivedAtIntermediateDestination.
  • New properties added to GRSTrip.

    • intermediateDestinations.
    • intermediateDestinationIndex.
  • New callback API added to GRCTripServiceSubscriber.

    • - (void)tripService:(GRCTripService *)service didUpdateETAToNextWaypoint:(NSTimeInterval)nextWaypointETA;

    • - (void)tripService:(GRCTripService *)service didUpdateIntermediateDestinations: (nullable NSArray<GRSTerminalLocation *> *)intermediateDestinations;

  • New marker type enum added to GRCMapViewMarkerType.

    • GRCMapViewMarkerTypeIntermediateDestination.
  • New customizable marker type enum added to GRCCustomizableMarkerType.

    • GRCCustomizableMarkerTypeIntermediateDestination
  • A new mapViewCustomerState was added to GRCMapViewCustomerState.

    • GRCMapViewCustomerStateJourneySharing
  • Four mapViewCustomerState members were deleted from GRCMapViewCustomerState.

    • GRCMapViewCustomerStateWaitingForPickup
    • GRCMapViewCustomerStateArrivedAtPickup
    • GRCMapViewCustomerStateEnRoute
    • GRCMapViewCustomerStateEndOfTrip
  • Four mapView callback APIs were deleted from GRCMapView.

    • -(void)mapViewDidStartWaitingForPickup:(GRCMapView *)mapview;
    • -(void)mapViewDidUpdateDueToDriverArrived:(GRCMapView *)mapview;
    • -(void)mapViewDidStartTripEnroute:(GRCMapView *)mapview;
    • -(void)mapViewDidCompleteTrip:(GRCMapView *)mapview;
  • A new callback API was added into GRCMapView.

    • - (void)mapViewDidStartJourneySharing:(GRCMapView *)mapView;

Improvements

  • Update all remaining waypoint ETAs when the ETA to the first waypoint in the list changes.

  • Force camera auto-recentering when the driver arrives at the pickup point.

  • Camera bounds will include both the pickup and drop-off locations after a trip is booked, and before any matched vehicle location becomes available.

v0.4.5(28.0) (June 26, 2019)

New features

  • Carpool support for journey sharing.

API changes

  • The type field was removed from GRSTerminalLocation.

Bug fixes

  • Route animation now happens only when the route segment is in sync, resulting in an improved user experience.

  • Fixed the issue where a call to the API isMarkerStyleOptionsCustomizedForType: for GRCCustomizableMarkerTypeSelectedDropoffPoint always returned NO.

v0.4.3 (May 17, 2019)

New features

  • Back to back support for Journey Sharing.
  • Journey sharing now supports dynamic vehicle location reporting rate.

API changes

GRCMapViewMarkerType

Old Value New Value
GRCMapViewMarkerTypeSelectedPickup GRCMapViewMarkerTypeSelectedPickupPoint
GRCMapViewMarkerTypeSelectedDropoff GRCMapViewMarkerTypeSelectedDropoffPoint
GRCMapViewMarkerTypePickupCandidate GRCMapViewMarkerTypeSuggestedPickupPoint
GRCMapViewMarkerTypeHighlightedPickupPoint
GRCMapViewMarkerTypeTripPreviewPickupPoint
GRCMapViewMarkerTypeTripPreviewDropoffPoint
GRCMapViewMarkerTypeTripPickupPoint
GRCMapViewMarkerTypeTripDropoffPoint

GRCMapView

Old Value New Value
redrawRidesharingOverlays

GRCTripServiceSubscriber protocol

Old Value New Value
tripService:didUpdateTripRoute: tripService:didUpdateActiveRoute:
tripService:didUpdateRemainingDistance tripService:didUpdateActiveRouteRemainingDistance
tripService:didUpdateRemainingWaypoints

GRCPolylineType

Old Value New Value
GRCPolylineTypeTripRoute GRCPolylineTypeActiveRoute
GRCPolylineTypeTripPreviewAutoRoute GRCPolylineTypePreviewAutoRoute
GRCPolylineTypeTripPreviewTaxiRoute GRCPolylineTypePreviewTaxiRoute
GRCPolylineTypeTripPreviewTruckRoute GRCPolylineTypePreviewTruckRoute
GRCPolylineTypeTripPreviewTwoWheelerRoute GRCPolylineTypePreviewTwoWheelerRoute
GRCPolylineTypeRemainingRoute

GRCPolylineStyleOptions

Old Value New Value
zIndex

GRSTrip

Old Value New Value
remainingWaypoints property
route property
remainingDistanceInMeters property
GRSTripWaypoint

Improvements

  • Reduced network consumption for journey sharing.
  • Selected pickup candidate now highlighted.
  • Compatible with Maps SDK v3.1.0

Bug fixes

  • Fixed an issue where markers didn't respond to tap for the second time.
  • Fixed an issue where the mapView's camera bounds sometimes showed an unexpected viewport at the beginning time, after a trip was booked.
  • Fixed a problem with the SDK Version API.