This section contains release notes for the Consumer SDK for iOS.
v9.0 (July, 2024)
Changed
- Supports Geo iOS SDKs v9.0.
- Support for iOS 14 is now frozen. The minimum iOS version is now 15.0.
- This release includes the .xcprivacy file to support Apple Privacy Manifests.
- Includes a potential fix for a rare logs-related crash.
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]
inGMTCMapView
.
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 theAuthTokenFactory
interface for each gRPC. The SDK accomplishes this by intercepting calls to Fleet Engine, and then attaching the returned JWT fromgetToken()
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
toGMTCAuthorization
.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
anddistanceOfRemainingRouteInMeters
inGMTSTrip
.RegisterSubscriber
now starts trip monitoring automatically for atripModel
.UnregisterSubscriber
will stop monitoring when there are no more subscribers.ModelState
andModelOptions
were renamed tostate
andoptions
respectively.stop
andstart
were removed from the public header.- Renamed
modelState
tostate
. - Renamed
modelOptions
tooptions
. - Removed
start()
andstop()
inTripModel
.
- Renamed
Other API changes
Removed
GMTSTripPreview
andGMTSTripPreviewVehicleOptions
.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
- Added crash detection during SDK initialization. There is also an option to opt out by using the
setAbnormalTerminationReportingEnabled:
API onGMTCServices
.
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 inauthorizationContext
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
Introduced
GRCMutableMarkerStyleOptions
to make journey sharing marker customization more convenient.Introduced
tripModel:didUpdateRemainingRoute:
andtripModel:didUpdateRemainingRouteDistance:
in theGRCTripModelSubscriber
protocol, for trip update callbacks when the remaining route or the distance has been updated.
v0.9.0 (January 25, 2021)
Improvements
- This release introduces Traffic Aware Polylines for journey sharing.
API changes
- Introduced
GRCMutablePolylineStyleOptions
for polyline customization, which can be used to enable traffic polyline rendering for journey sharing. - Added traffic data update callback in
GRCTripModelSubscriber
: - Introduced
GRSTrafficData
. - Added new property into
GRSTripWaypoint
for traffic data access: - Added new method in
GRSTrip
for traffic data access:
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 fromGRCMapViewCustomerState
.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 fromGRSTerminalLocation
.
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:
forGRCCustomizableMarkerTypeSelectedDropoffPoint
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.