10.1.0
- DEPRECATE COCOAPODS DISTRIBUTION FOR NEW RELEASES. This is the last release published to CocoaPods, which becomes read-only on December 2, 2026 - migrate to Swift Package Manager using MIGRATING_FROM_COCOAPODS.md. (#656)
- Support AppCheckCore 12.x, so apps using Swift Package Manager can now upgrade to Firebase 13 (the podspec also accepts AppCheckCore 11.x or 12.x). With AppCheckCore 11.x, a custom App Check provider that returns neither a token nor an error now counts as success, and a failed App Check preparation is no longer reported as successful. (#626)
- Fix concurrency issues in
GIDGoogleUser:- Key-value observers of
accessToken,refreshToken,idTokenandprofileare now notified whenever any of them changes, so they never see a half-updated user (profilepreviously sent no notifications).configurationis now fixed when the user is created, instead of possibly reflecting a later token update. (#651) - Key-value observers are now notified while
GIDGoogleUserholds its internal lock. Calling back into the same user is fine, but an observer must not synchronously wait (e.g. withdispatch_sync) on another thread that is updating that user. (#652) grantedScopesandaccessTokenno longer revert to their pre-add-scopes values when a token refresh was in flight while scopes were added. (#653)- Readers no longer see a mix of old and new tokens during a concurrent update. (#645)
- Key-value observers of
- Fix a custom
nonceand requestedclaimsbeing dropped when a sign-in is continued after a Device Policy app restart. (#637) - Fix EMM remediation dialogs being suppressed for the rest of the app's lifetime after an error arrived with no key window, and EMM errors sometimes being reported as
kGIDSignInErrorCodeUnknownor the underlying OAuth error instead ofkGIDSignInErrorCodeEMM. (#642) - Fix a crash when a server error response carries a non-string value under its
errorkey. (#638) - Internal