Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c52a562
g-orchestrated: Serialize GIDGoogleUser token access under the object…
w-goog Sep 4, 2026
133d5a6
g-orchestrated: Changelog: serialize GIDGoogleUser token access
w-goog Sep 4, 2026
1f3dcc7
g-orchestrated: Test: GIDGoogleUser token reads stay consistent under…
w-goog Sep 4, 2026
5e23369
Update push and pr notification to use Cards v2. (#636)
brnnmrls Sep 21, 2026
095bb84
Carry `nonce` and `claimsAsJSON` through Device Policy flows (#637)
w-goog Sep 21, 2026
8d9ebca
Fix crash when EMM emitted non-string errors (#638)
w-goog Sep 21, 2026
8d8f0dd
g-orchestrated: Changelog: serialize GIDGoogleUser token access
w-goog Sep 4, 2026
7f98cfe
g-orchestrated: Test: race token updates against public property reads
w-goog Sep 22, 2026
d2a2ec5
g-orchestrated: CI: run the iOS unit tests under Thread Sanitizer
w-goog Sep 22, 2026
5b4a66b
g-orchestrated: Replace @synchronized(self) in GIDGoogleUser with pri…
w-goog Sep 22, 2026
b10b2f9
g-orchestrated: Store GIDGoogleUser tokens as one immutable set
w-goog Sep 22, 2026
38467ca
Merge branch 'main' into fix/googleuser-token-sync
w-goog Sep 22, 2026
9db8c36
g-orchestrated: Replace GIDGoogleUser's update locks with one recursi…
w-goog Sep 23, 2026
4d197d4
g-orchestrated: Read GIDGoogleUser's auth state under the auth state …
w-goog Sep 23, 2026
0ec02bc
g-orchestrated: Update auth state under the lock after a token refresh
w-goog Sep 23, 2026
b30e552
g-orchestrated: Guard GIDGoogleUser's profile and encoding with its l…
w-goog Sep 23, 2026
ac657be
g-orchestrated: Test: KVO observers can re-enter GIDGoogleUser during…
w-goog Sep 23, 2026
2794714
g-orchestrated: Assert GIDGoogleUser's lock order and trim its lock c…
w-goog Sep 23, 2026
6964fab
g-orchestrated: Serve configuration and granted scopes from the token…
w-goog Sep 24, 2026
aac6854
g-orchestrated: Note that direct authState reads bypass GIDGoogleUser…
w-goog Sep 24, 2026
7c6023c
g-orchestrated: Test: stub the token response scope read when restori…
w-goog Sep 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,31 @@ jobs:
-destination ${{ matrix.destination }} \
test-without-building

thread-sanitizer-test:
# Run the iOS unit tests with Thread Sanitizer so data races (for example on
# GIDGoogleUser's token properties) fail CI instead of shipping silently.
runs-on: macos-15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Build unit test target with Thread Sanitizer
run: |
xcodebuild \
-scheme GoogleSignIn-Package \
-sdk iphonesimulator \
-destination "platform=iOS Simulator,name=iPhone 16,OS=18.6" \
-enableThreadSanitizer YES \
build-for-testing
- name: Run unit test target with Thread Sanitizer
run: |
xcodebuild \
-scheme GoogleSignIn-Package \
-sdk iphonesimulator \
-destination "platform=iOS Simulator,name=iPhone 16,OS=18.6" \
-enableThreadSanitizer YES \
test-without-building

signin-sample-spm-build:
runs-on: macos-15
steps:
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Unreleased
- Fix a crash when a server error response carries a non-string value under its `error` key. The EMM error handler sent `-hasPrefix:` to whatever value was present, raising an unrecognized selector exception on a number, array or object.
- Fix a custom `nonce` and requested token `claims` being dropped when a sign-in is continued after a Device Policy app restart.
- Fix a data race on `GIDGoogleUser`'s access, refresh and ID tokens. Concurrent token refreshes could previously write the three properties from different queues at once, and readers could observe a partially-updated set.

# 10.0.0
- **BREAKING**: Update to AppAuth 3.0.0 and GTMAppAuth 6.0.0, which raises the minimum deployment targets to iOS 15.0 and macOS 12.0, widens the `GTMSessionFetcher` dependency to allow 4.x and 5.x, and renames the version-specific Swift Package Manager manifest to `Package@swift-5.7.swift`. Projects that must keep supporting earlier OS versions should stay on GoogleSignIn 9.2.0. ([#628](https://github.com/google/GoogleSignIn-iOS/pull/628))
Expand Down
Loading
Loading