Page Summary
-
Version 9.0.0 adds support for a custom
nonce, fixes an error code, supports GTMAppAuth 5 on macOS, and resolves Data Protected migration bugs. -
Version 8.0.0 introduces Firebase App Check support to enhance application integrity during sign-in and updates the minimum iOS support to iOS 12.
-
Version 7.1.0 and related betas added Firebase App Check support and privacy manifest support.
-
Version 7.0.0 allows configuration via
Info.plist, adds Swift Concurrency support, and includes significant API surface improvements toGIDSignInandGIDGoogleUser. -
Earlier versions introduced features such as macOS support, a SwiftUI sign-in button, the ability to request additional scopes, various bug fixes, open source release, Swift Package Manager support, and updates to dependencies and API structures.
Unreleased
- BREAKING: Updated the AppAuth dependency to 3.0.0 and the GTMAppAuth dependency to 6.0.0.
- BREAKING: Raised the minimum deployment targets to iOS 15.0 and macOS 12.0, matching the new floor set by AppAuth 3.0.0. Projects that must keep supporting earlier OS versions should stay on GoogleSignIn 9.2.0.
- Renamed the version-specific Swift Package Manager manifest from
Package@swift-5.5.swifttoPackage@swift-5.7.swift, since AppAuth 3.0.0 requiresswift-tools-version5.7 or later. - Widened the GTMSessionFetcher dependency to allow 4.x and 5.x, matching GTMAppAuth 6.0.0.
- Add
GIDSignIn.wrapperIdentifierso SDKs that embed Google Sign-In can self-identify in Google's diagnostic logs via a newgidwrapperparameter. It is opt-in and default behavior is unchanged. - Pinned the Swift names of the
GIDClaimfactory methods with explicitNS_SWIFT_NAMEannotations. The imported Swift names are unchanged (authTime(),essentialAuthTime(),amr()andessentialAMR()); they no longer depend on the Objective-C importer's implicit renaming heuristics.
9.2.0
- Expose the refresh token expiration date (#577)
- Support requesting the
amr(Authentication Methods References) claim (#600) - Remove keychain entries on a fresh install (#567)
- Update the AppAuth-iOS dependency minimum to 2.1.0 (#603)
- Fix optional bundle handling for localized strings (#373)
- Include all public headers unconditionally in the umbrella header (#595)
- Move
GIDSignInButtonimport outside of conditional compilation (#591) - Internal
9.1.0
- Allow requesting
claims(currently, onlyauth_time) via Sign-in methods (#550, #552, #553, #569) - Update
addScopes:methods inGIDSignInto include previously requestedclaims(#557) - Internal
9.0.0
- Allow providing a custom
noncevia GSI to AppAuth (#402, #476) - Fix invalid error code in
GIDSignIn(#472) - Add support for GTMAppAuth 5 on macOS (#522)
- Fix Data Protected migration bugs (#533)
- Internal
- Add AppAuthCore as explicit dependency (#470)
- Update iPhone simulator from 14 to 15 (#494)
- Fix swift button integration test (#497)
- Update runner to macos-13 (#498)
- Update
scorecards.ymlto useupload-artifact@v4.6.2(#516) - Update AppAuth and GTMAppAuth dependencies (#517, #521)
- Fix Swift integration tests for a returning user (#518)
- Update
.gitignoreto include .build and Package.resolved (#520) - Update GIDSignInTest to correctly setUp and tearDown NSUserDefaults (#527)
8.0.0
- General release adding Firebase App Check support to establish your application's integrity while signing in with Google
- Update minimum iOS support to iOS 12 (#445)
- Internal
- Update AppCheckCore dependency to v11.0 (#454)
- Add instancetype return to test helper (#393)
- Remove GTMSessionFetcher modular import (#403)
- Bump activesupport from 5.2.5 to 5.2.8.1 in the bundler group (#429)
- Remove deprecated macos-11 runner (#447)
- Update deprecated archiving API usage in tests (#449)
7.1.0-fac-beta-1.1.0
- Beta release supporting Firebase App Check tokens used to establish your application's integrity while signing in with Google
- Adds privacy manifest support released in v7.1.0
- Internal
- Check integration test for presubmit instruction (#368)
- Test skip integration key (#374)
- Add Privacy Manifest to App Check Release Branch (#392)
- Add return type to init in GIDFakeFetcherService header
7.1.0
- Update to Swift 5.0 in
GoogleSignInSwiftSupportpod (#317) - Documentation updates (#351, #372)
- Add Privacy Manifest (#382)
- Internal
- Fix typo in
SFSafariViewController(#291) - Fix
OCMockusage in unit test (#298) - Use new delegate protocol from GTMAppAuth 4.0.0 (#299)
- Ensure that
completionis not nil before calling-[GIDSignIn restorePreviousSignIn:](#301) - Removes
macos-11runner in GitHub workflows (#302) - Updates button name reference so UI automation tests pass (#308)
- Fix typo in
7.1.0-fac-beta-1.0.0
- Beta release supporting Firebase App Check tokens used to establish your application's integrity while signing in with Google
- Internal
7.1.0-fac-eap-1.0.0
- Early Access Program (EAP) release supporting Firebase App Check tokens used
to establish your application's integrity while signing in with Google
- Use
-[GIDSignIn configureWithCompletion:]to configure GSI to use Firebase App Check as early as possible in your app to minimize latency. - Use
-[GIDSignIn configureDebugProviderWithAPIKey:completion:]in debug builds or continuous integration environments. - New sample app showing example of configuring GSI to use Firebase App Check.
- Use
- Internal
- Fix typo in
SFSafariViewController(#291) - Removes
macos-11runner in GitHub workflows (#302) - Updates button name reference so UI automation tests pass (#308)
- Ensure that
completionis not nil before calling-[GIDSignIn restorePreviousSignIn:](#301) - Use new delegate protocol from GTMAppAuth 4.0.0 (#299)
- Fix typo in
7.0.0
- All configuration can now be provided via your
Info.plistfile. (#228)- Use the following keys in
<key>KEY</key><string>VALUE</string>pairs to configure the SDK:GIDClientID(required)GIDServerClientID(optional)GIDHostedDomain(optional)GIDOpenIDRealm(optional)
- Use the following keys in
- Support for Swift Concurrency. (#187)
- API surface improvements (#249, #228, #187)
GIDSignIn- New
configurationproperty. - Removed
Configuration:arguments fromsignIn:methods. - Removed
addScopes:and added it toGIDGoogleUser. - Renamed
callback:arguments tocompletion:for asynchronous methods taking blocks.
- New
GIDGoogleUser- New
configurationproperty. - New
addScopes:method moved fromGIDSignIn. - Removed
authenticationproperty and replaced it with:- New
accessTokenproperty. - New
refreshTokenproperty. - New
idTokenproperty. - New
fetcherAuthorizerproperty. - New
refreshTokensIfNeededWithCompletion:method.
- New
- New
- New
GIDTokenclass to represent access, refresh, and ID tokens inGIDGoogleUser. - New
GIDSignInResultclass to represent the result of a successful signIn or addScopes flow. - Removed
GIDSignInCallback,GIDDisconnectCallback, andGIDAuthenticationActionblock type definitions.
6.2.4
- Updated the GTMSessionFetcher dependency to allow 2.x versions. (#207)
6.2.3
- Fix resource loading in GoogleSignInSwift with CocoaPods use_frameworks! (#197)
- Prevent build errors for GoogleSignInSwift in certain scenarios when using Swift Package Manager. (#166)
6.2.2
- Prevent build errors for GoogleSignInSwift when using Swift Package Manager. (#157)
- Prevent a build error on Xcode 12 and earlier. (#158)
6.2.1
- Use
GoogleSignInSwiftSupportas the name of the Swift support CocoaPod. (#137)
6.2.0
- Support for macOS. (#104)
- Added a SwiftUI "Sign in with Google" button. (#103)
- Added the ability to request additional scopes at sign-in time. (#30)
- Fixed several issues. (#87, #106)
6.1.0
- New Swift sample app demonstrating SwiftUI. (#63)
- Support for Mac Catalyst.
- Improvements to the
addScopesimplementation. (#68, #70)
6.0.2
- Ensure that module imports can be used when built as a library. (#53)
6.0.1
- Fixes nested callbacks not being called for signIn and addScopes methods. (#29)
6.0.0
- Google Sign-In for iOS is now open source.
- Swift Package Manager support.
- Support for Simulator on M1 Macs.
- API surface updates
GIDSignInsharedInstanceis now a class property.signInis nowsignInWithConfiguration:presentingViewController:callback:and always requests basic profile scopes.addScopes:presentingViewController:callback:is the new way to add scopes beyond basic profile to a currently signed-in user.restorePreviousSignInis nowrestorePreviousSignInWithCallback:.disconnectis nowdisconnectWithCallback:.- The
GIDSignInDelegateprotocol has been removed in favor ofGIDSignInCallbackandGIDDisconnectCallbackblocks. - All sign-in flow configuration properties have been moved to
GIDConfiguration.
- The
GIDConfigurationclass had been added to represent the configuration needed to sign in a user. GIDAuthenticationgetTokensWithHandler:is nowdoWithFreshTokens:.- The
GIDAuthenticationHandlertypedef has been renamedGIDAuthenticationAction. refreshTokensWithHandler:has been removed, usedoWithFreshTokens:instead.
GIDSignInButtonno longer makes calls toGIDSignIninternally and will need to be wired to anIBActionor similar in order for you to callsignInWithConfiguration:presentingViewController:callback:to initiate a sign-in flow.
5.0.2
- Fixes the wrong error code being sent to
signIn:didSignInForUser:withError:when the user cancels iOS's consent dialog during the sign-in flow.
5.0.1
- Fixes an issue that the sign in flow cannot be correctly started on iOS 13.
- The zip distribution requires Xcode 11 or above.
5.0.0
- Changes to GIDSignIn
uiDelegatehas been replaced withpresentingViewController.hasAuthInKeychainhas been replaced withhasPreviousSignIn.signInSilentlyhas been replaced withrestorePreviousSignIn.- Removed deprecated
kGIDSignInErrorCodeNoSignInHandlersInstallederror code.
- Changes to GIDAuthentication
- Removed deprecated methods
getAccessTokenWithHandler:andrefreshAccessTokenWithHandler:.
- Removed deprecated methods
- Changes to GIDGoogleUser
- Removed deprecated property
accessibleScopes, usegrantedScopesinstead.
- Removed deprecated property
- Adds dependencies on AppAuth and GTMAppAuth.
- Removes the dependency on GoogleToolboxForMac.
- Drops support for iOS 7.
4.4.0
- Removes the dependency on GTM OAuth 2.
4.3.0
- Supports Google's Enterprise Mobile Management.
4.2.0
- Adds
grantedScopestoGIDGoogleUser, allowing confirmation of which scopes have been granted after a successful sign-in. - Deprecates
accessibleScopesinGIDGoogleUser, usegrantedScopesinstead. - Localizes
GIDSignInButtonfor hi (Hindi) and fr-CA (French (Canada)). - Adds dependency to the system
LocalAuthenticationframework.
4.1.2
- Add
pod trysupport for the GoogleSignIn CocoaPod.
4.1.1
- Fixes an issue that
GIDSignInUIDelegate'ssignInWillDispatch:error:was not called on iOS 11. Please note that it is intended that neithersignIn:presentViewController:norsignIn:dismissViewController:is called on iOS 11 because SFAuthenticationSession is not presented by the app's view controller.
4.1.0
- Uses SFAuthenticationSession on iOS 11.
4.0.2
- No longer depends on GoogleAppUtilities.
4.0.1
- Switches to open source pod dependencies.
- Appearance of sign-in button no longer depends on requested scopes.
4.0.0
- GoogleSignIn pod now takes form of a static framework. Import with
#import <GoogleSignIn/GoogleSignIn.h>in Objective-C. - Adds module support. You can also use
@import GoogleSignIn;in Objective-C, if module is enabled, andimport GoogleSignInin Swift without using a bridge-header. - For users of the stand-alone zip distribution, multiple frameworks are now provided and all need to be added to a project. This decomposition allows more flexibility in case of duplicated dependencies.
- Removes deprecated method
checkGoogleSignInAppInstalledfromGIDSignIn. - Removes
allowsSignInWithBrowserandallowsSignInWithWebViewproperties fromGIDSignIn. - No longer requires adding bundle ID as a URL scheme supported by the app.
3.0.0
- Provides
givenNameandfamilyNameproperties onGIDProfileData. - Allows setting the
loginHintproperty onGIDSignInto prefill the user's ID or email address in the sign-in flow. - Removed the
UIViewController(SignIn)category as well as thedelegateproperty fromGIDSignInButton. - Requires that
uiDelegatehas been set properly onGIDSignInand that SafariServices framework has been linked. - Removes the dependency on StoreKit.
- Provides bitcode support.
- Requires Xcode 7.0 or above due to bitcode incompatibilities with Xcode 6.
2.4.0
- Updates sign-in button with the new Google logo.
- Supports domain restriction for sign-in.
- Allows refreshing ID tokens.
2.3.2
- No longer requires Xcode 7.
2.3.1
- Fixes a crash in
GIDProfileData'simageURLWithDimension:.
2.3.0
- Requires Xcode 7.0 or above.
- Uses SFSafariViewController for signing in on iOS 9.
uiDelegatemust be set for this to work. - Optimizes fetching user profile.
- Supports GTMFetcherAuthorizationProtocol in GIDAuthentication.
2.2.0
- Compatible with iOS 9 (beta). Note that this version of the Sign-In SDK does not include bitcode, so you must set ENABLE_BITCODE to NO in your project if you use Xcode 7.
- Adds descriptive identifiers for GIDSignInButton's Auto Layout constraints.
signInSilentlyno longer requires settinguiDelegate.
2.1.0
- Fixes Auto Layout issues with GIDSignInButton.
- Adds API to refresh access token in GIDAuthentication.
- Better exception description for unassigned clientID in GIDSignIn.
- Other minor bug fixes.
2.0.1
- Bug fixes
2.0.0
- Supports sign-in via UIWebView rather than app switching to a browser,
configurable with the new
allowsSignInWithWebViewproperty. - Now apps which have disabled the app switch to a browser via the
allowsSignInWithBrowserand in-app web view viaallowsSignInWithWebViewproperties have the option to display a prompt instructing the user to download the Google app from the App Store. - Fixes sign-in button sizing issue when auto-layout is enabled
signInSilentlynow calls the delegate with error whenhasAuthInKeychainisNOas documented- Other minor bug fixes
1.0.0
- New sign-in focused SDK with refreshed API
- Dynamically rendered sign-in button with contextual branding
- Basic profile support
- Added allowsSignInWithBrowser property