# 9.0.0
- Allow providing a custom `nonce` via GSI to AppAuth ([#402](https://github.com/google/GoogleSignIn-iOS/pull/402), [#476](https://github.com/google/GoogleSignIn-iOS/pull/476))
- Fix invalid error code in `GIDSignIn` ([#472](https://github.com/google/GoogleSignIn-iOS/pull/472))
- Add support for GTMAppAuth 5 on macOS ([#522](https://github.com/google/GoogleSignIn-iOS/pull/522))
- Fix Data Protected migration bugs ([#533](https://github.com/google/GoogleSignIn-iOS/pull/533))
- Internal
- Add AppAuthCore as explicit dependency ([#470](https://github.com/google/GoogleSignIn-iOS/pull/470))
- Update iPhone simulator from 14 to 15 ([#494](https://github.com/google/GoogleSignIn-iOS/pull/494))
- Fix swift button integration test ([#497](https://github.com/google/GoogleSignIn-iOS/pull/497))
- Update runner to macos-13 ([#498](https://github.com/google/GoogleSignIn-iOS/pull/498))
- Update `scorecards.yml` to use `upload-artifact@v4.6.2` ([#516](https://github.com/google/GoogleSignIn-iOS/pull/516))
- Update AppAuth and GTMAppAuth dependencies ([#517](https://github.com/google/GoogleSignIn-iOS/pull/517), [#521](https://github.com/google/GoogleSignIn-iOS/pull/521))
- Fix Swift integration tests for a returning user ([#518](https://github.com/google/GoogleSignIn-iOS/pull/518))
- Update `.gitignore` to include .build and Package.resolved ([#520](https://github.com/google/GoogleSignIn-iOS/pull/520))
- Update GIDSignInTest to correctly setUp and tearDown NSUserDefaults ([#527](https://github.com/google/GoogleSignIn-iOS/pull/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](https://github.com/google/GoogleSignIn-iOS/pull/445))
- Internal
- Update AppCheckCore dependency to v11.0 ([#454](https://github.com/google/GoogleSignIn-iOS/pull/454))
- Add instancetype return to test helper ([#393](https://github.com/google/GoogleSignIn-iOS/pull/393))
- Remove GTMSessionFetcher modular import ([#403](https://github.com/google/GoogleSignIn-iOS/pull/403))
- Bump activesupport from 5.2.5 to 5.2.8.1 in the bundler group ([#429](https://github.com/google/GoogleSignIn-iOS/pull/429))
- Remove deprecated macos-11 runner ([#447](https://github.com/google/GoogleSignIn-iOS/pull/447))
- Update deprecated archiving API usage in tests ([#449](https://github.com/google/GoogleSignIn-iOS/pull/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](https://github.com/google/GoogleSignIn-iOS/releases/tag/7.1.0)
- Internal
- Check integration test for presubmit instruction ([#368](https://github.com/google/GoogleSignIn-iOS/pull/368))
- Test skip integration key ([#374](https://github.com/google/GoogleSignIn-iOS/pull/374))
- Add Privacy Manifest to App Check Release Branch ([#392](https://github.com/google/GoogleSignIn-iOS/pull/392))
- [Add return type to init in GIDFakeFetcherService header](https://github.com/google/GoogleSignIn-iOS/commit/ebf681cac127497da55c932cb5bbf185971a29e7)
# 7.1.0
- Update to Swift 5.0 in `GoogleSignInSwiftSupport` pod ([#317](https://github.com/google/GoogleSignIn-iOS/pull/317))
- Documentation updates ([#351](https://github.com/google/GoogleSignIn-iOS/pull/351), [#372](https://github.com/google/GoogleSignIn-iOS/pull/372))
- Add Privacy Manifest ([#382](https://github.com/google/GoogleSignIn-iOS/pull/382))
- Internal
- Fix typo in `SFSafariViewController` ([#291](https://github.com/google/GoogleSignIn-iOS/pull/291))
- Fix `OCMock` usage in unit test ([#298](https://github.com/google/GoogleSignIn-iOS/pull/298))
- Use new [delegate protocol](https://github.com/google/GTMAppAuth/pull/224) from GTMAppAuth 4.0.0 ([#299](https://github.com/google/GoogleSignIn-iOS/pull/299))
- Ensure that `completion` is not nil before calling `-[GIDSignIn restorePreviousSignIn:]` ([#301](https://github.com/google/GoogleSignIn-iOS/pull/301))
- Removes `macos-11` runner in GitHub workflows ([#302](https://github.com/google/GoogleSignIn-iOS/pull/302))
- Updates button name reference so UI automation tests pass ([#308](https://github.com/google/GoogleSignIn-iOS/pull/308))
# 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
- Update SignInSample Podfile minimum iOS version ([#355](https://github.com/google/GoogleSignIn-iOS/pull/355))
- Update AppCheckExample unit test target to pass during continuous integration ([#356](https://github.com/google/GoogleSignIn-iOS/pull/356))
# 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:]`](https://github.com/google/GoogleSignIn-iOS/blob/7.1.0-fac-eap-1.0.0/GoogleSignIn/Sources/Public/GoogleSignIn/GIDSignIn.h#L79)
to configure GSI to use Firebase App Check as early as possible in your app
to minimize latency.
- Use [`-[GIDSignIn configureDebugProviderWithAPIKey:completion:]`](https://github.com/google/GoogleSignIn-iOS/blob/7.1.0-fac-eap-1.0.0/GoogleSignIn/Sources/Public/GoogleSignIn/GIDSignIn.h#L91)
in debug builds or continuous integration environments.
- New [sample app](https://github.com/google/GoogleSignIn-iOS/tree/7.1.0-fac-eap-1.0.0/Samples/Swift/AppAttestExample)
showing example of configuring GSI to use Firebase App Check.
- Internal
- Fix typo in `SFSafariViewController` ([#291](https://github.com/google/GoogleSignIn-iOS/pull/291))
- Removes `macos-11` runner in GitHub workflows ([#302](https://github.com/google/GoogleSignIn-iOS/pull/302))
- Updates button name reference so UI automation tests pass ([#308](https://github.com/google/GoogleSignIn-iOS/pull/308))
- Ensure that `completion` is not nil before calling
`-[GIDSignIn restorePreviousSignIn:]` ([#301](https://github.com/google/GoogleSignIn-iOS/pull/301))
- Use new [delegate protocol](https://github.com/google/GTMAppAuth/pull/224)
from GTMAppAuth 4.0.0 ([#299](https://github.com/google/GoogleSignIn-iOS/pull/299))
# 7.0.0
- All configuration can now be provided via your `Info.plist` file. ([#228](https://github.com/google/GoogleSignIn-iOS/pull/228))
- Use the following keys in `KEYVALUE` pairs to configure the SDK:
- `GIDClientID` (required)
- `GIDServerClientID` (optional)
- `GIDHostedDomain` (optional)
- `GIDOpenIDRealm` (optional)
- Support for [Swift Concurrency](https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html). ([#187](https://github.com/google/GoogleSignIn-iOS/pull/187))
- API surface improvements ([#249](https://github.com/google/GoogleSignIn-iOS/pull/249), [#228](https://github.com/google/GoogleSignIn-iOS/pull/228), [#187](https://github.com/google/GoogleSignIn-iOS/pull/187))
- `GIDSignIn`
- New `configuration` property.
- Removed `Configuration:` arguments from `signIn:` methods.
- Removed `addScopes:` and added it to `GIDGoogleUser`.
- Renamed `callback:` arguments to `completion:` for asynchronous methods taking blocks.
- `GIDGoogleUser`
- New `configuration` property.
- New `addScopes:` method moved from `GIDSignIn`.
- Removed `authentication` property and replaced it with:
- New `accessToken` property.
- New `refreshToken` property.
- New `idToken` property.
- New `fetcherAuthorizer` property.
- New `refreshTokensIfNeededWithCompletion:` method.
- New `GIDToken` class to represent access, refresh, and ID tokens in `GIDGoogleUser`.
- New `GIDSignInResult` class to represent the result of a successful signIn or addScopes flow.
- Removed `GIDSignInCallback`, `GIDDisconnectCallback`, and `GIDAuthenticationAction` block type definitions.
# 6.2.4
- Updated the GTMSessionFetcher dependency to allow 2.x versions. ([#207](https://github.com/google/GoogleSignIn-iOS/pull/207))
# 6.2.3
- Fix resource loading in GoogleSignInSwift with CocoaPods use_frameworks! ([#197](https://github.com/google/GoogleSignIn-iOS/pull/197))
- Prevent build errors for GoogleSignInSwift in certain scenarios when using Swift Package Manager. ([#166](https://github.com/google/GoogleSignIn-iOS/pull/166))
# 6.2.2
- Prevent build errors for GoogleSignInSwift when using Swift Package Manager. ([#157](https://github.com/google/GoogleSignIn-iOS/pull/157))
- Prevent a build error on Xcode 12 and earlier. ([#158](https://github.com/google/GoogleSignIn-iOS/pull/158))
# 6.2.1
- Use `GoogleSignInSwiftSupport` as the name of the Swift support CocoaPod. ([#137](https://github.com/google/GoogleSignIn-iOS/pull/137))
# 6.2.0
- Support for macOS. ([#104](https://github.com/google/GoogleSignIn-iOS/pull/104))
- Added a SwiftUI "Sign in with Google" button. ([#103](https://github.com/google/GoogleSignIn-iOS/pull/103))
- Added the ability to request additional scopes at sign-in time. ([#30](https://github.com/google/GoogleSignIn-iOS/pull/30))
- Fixed several issues. ([#87](https://github.com/google/GoogleSignIn-iOS/pull/87), [#106](https://github.com/google/GoogleSignIn-iOS/issues/106))
# 6.1.0
- New Swift sample app demonstrating SwiftUI.
([#63](https://github.com/google/GoogleSignIn-iOS/pull/63))
- Support for Mac Catalyst.
- Improvements to the `addScopes` implementation.
([#68](https://github.com/google/GoogleSignIn-iOS/pull/68),
[#70](https://github.com/google/GoogleSignIn-iOS/pull/70))
# 6.0.2
- Ensure that module imports can be used when built as a library.
([#53](https://github.com/google/GoogleSignIn-iOS/pull/53))
# 6.0.1
- Fixes nested callbacks not being called for signIn and addScopes methods.
([#29](https://github.com/google/GoogleSignIn-iOS/pull/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
- `GIDSignIn`
- `sharedInstance` is now a class property.
- `signIn` is now `signInWithConfiguration: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.
- `restorePreviousSignIn` is now `restorePreviousSignInWithCallback:`.
- `disconnect` is now `disconnectWithCallback:`.
- The `GIDSignInDelegate` protocol has been removed in favor of `GIDSignInCallback` and
`GIDDisconnectCallback` blocks.
- All sign-in flow configuration properties have been moved to `GIDConfiguration`.
- The `GIDConfiguration` class had been added to represent the configuration needed to sign in a
user.
- `GIDAuthentication`
- `getTokensWithHandler:` is now `doWithFreshTokens:`.
- The `GIDAuthenticationHandler` typedef has been renamed `GIDAuthenticationAction`.
- `refreshTokensWithHandler:` has been removed, use `doWithFreshTokens:` instead.
- `GIDSignInButton` no longer makes calls to `GIDSignIn` internally and will need to be wired to
an `IBAction` or similar in order for you to call
`signInWithConfiguration: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
- `uiDelegate` has been replaced with `presentingViewController`.
- `hasAuthInKeychain` has been replaced with `hasPreviousSignIn`.
- `signInSilently` has been replaced with `restorePreviousSignIn`.
- Removed deprecated `kGIDSignInErrorCodeNoSignInHandlersInstalled` error code.
- Changes to GIDAuthentication
- Removed deprecated methods `getAccessTokenWithHandler:` and `refreshAccessTokenWithHandler:`.
- Changes to GIDGoogleUser
- Removed deprecated property `accessibleScopes`, use `grantedScopes` instead.
- 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 `grantedScopes` to `GIDGoogleUser`, allowing confirmation of which scopes
have been granted after a successful sign-in.
- Deprecates `accessibleScopes` in `GIDGoogleUser`, use `grantedScopes` instead.
- Localizes `GIDSignInButton` for hi (Hindi) and fr-CA (French (Canada)).
- Adds dependency to the system `LocalAuthentication` framework.
# 4.1.2
- Add `pod try` support for the GoogleSignIn CocoaPod.
# 4.1.1
- Fixes an issue that `GIDSignInUIDelegate`'s `signInWillDispatch:error:` was
not called on iOS 11. Please note that it is intended that neither
`signIn:presentViewController:` nor `signIn: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 ` in Objective-C.
- Adds module support. You can also use `@import GoogleSignIn;` in Objective-C,
if module is enabled, and `import GoogleSignIn` in 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 `checkGoogleSignInAppInstalled` from `GIDSignIn`.
- Removes `allowsSignInWithBrowser` and `allowsSignInWithWebView` properties
from `GIDSignIn`.
- No longer requires adding bundle ID as a URL scheme supported by the app.
# 3.0.0
- Provides `givenName` and `familyName` properties on `GIDProfileData`.
- Allows setting the `loginHint` property on `GIDSignIn` to prefill the user's
ID or email address in the sign-in flow.
- Removed the `UIViewController(SignIn)` category as well as the `delegate`
property from `GIDSignInButton`.
- Requires that `uiDelegate` has been set properly on `GIDSignIn` and 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`'s `imageURLWithDimension:`.
# 2.3.0
- Requires Xcode 7.0 or above.
- Uses SFSafariViewController for signing in on iOS 9. `uiDelegate` must 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.
- `signInSilently` no longer requires setting `uiDelegate`.
# 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 `allowsSignInWithWebView` property.
- Now apps which have disabled the app switch to a browser via the
`allowsSignInWithBrowser` and in-app web view via `allowsSignInWithWebView`
properties 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
- `signInSilently` now calls the delegate with error when `hasAuthInKeychain`
is `NO` as 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