Files

5.3 KiB

12.1.0

  • [added] Added AppCheckCoreDebugProvider(serviceName:resourceName:baseURL:apiKey:requestHooks:debugToken:), which accepts a caller-provided debug token. The provided token is used when no debug token environment variable is set and takes priority over a previously stored or newly generated local debug token. Like environment variable tokens, exchanges using the provided token don't change the local token's registered state. (#134)
  • [added] Added AppCheckCoreDebugProvider.debugTokenSource (GACAppCheckDebugTokenSource), which reports whether the current debug token came from an environment variable, the caller-provided token, or local storage. More sources may be added later; Swift switch statements over AppCheckCoreDebugTokenSource should include @unknown default. (#134)
  • [fixed] Fixed an issue where a cached token fetched while the device clock was ahead kept being served after the clock was corrected, because its stored dates inherited the offset. Cached tokens received in the future are now refreshed. (https://github.com/firebase/firebase-ios-sdk/issues/16939)
  • [fixed] Fixed an issue where a debug token exchange using the AppCheckDebugToken or FIRAAppCheckDebugToken environment variable updated the locally generated debug token's registered state, which could suppress or repeat its registration instructions. (#135)
  • [fixed] Fixed an issue where provider request backoff could block retries if the device clock moved backward after a failed request. (#137)

12.0.0

  • [changed] Ported AppCheckCore from Objective-C to Swift.
  • [changed] Raised Swift tools version to 6.0 for Swift Package Manager.
  • [changed] Breaking change: AppCheckCore's minimum supported versions have updated for the following platforms:
    • Platform AppCheckCore 12
      iOS 15.0
      macOS 11.0
      tvOS 15.0
      watchOS 8.0
      Mac Catalyst 15.0
  • [changed] Breaking change: The GACAppCheckErrorDomain global constant is no longer visible to Objective-C consumers due to the Swift migration. Use GACAppCheckErrors.errorDomain instead.
    • Before: if ([error.domain isEqualToString:GACAppCheckErrorDomain]) { ... }
    • After: if ([error.domain isEqualToString:GACAppCheckErrors.errorDomain]) { ... }
  • [changed] Breaking change: Objective-C classes can no longer be subclassed (Swift classes are objc_subclassing_restricted). Notably GACAppCheckSettings / FIRAppCheckSettings.
  • [changed] Breaking change: GACAppCheckTokenResult is now final.
  • [changed] Breaking change: requestHooks: is now typed NSArray<id> * instead of NSArray<GACAppCheckAPIRequestHook> *; blocks must match void (^)(NSMutableURLRequest *) exactly or they will crash when invoked.
  • [changed] Forced token refreshes are no longer coalesced with an in-flight unforced refresh. This resolves TODO(#42) from v11's GACAppCheck.m.
  • [fixed] GACRecaptchaProvider's requestHooks: parameter now accepts NSArray<id> * / [Any]? fixing an @objc argument bridging trap when passing request hooks, and establishing requestHooks: bridging parity with other providers.

11.3.2

  • [fixed] Fixed an issue where the time-to-live (TTL) for a cached token was calculated from the moment the token response was processed locally, rather than when the request was initiated, which could lead to artificially extended token lifetimes during app suspension. (https://github.com/firebase/firebase-ios-sdk/issues/16573)

11.3.1

11.3.0

  • [changed] Added Recaptcha Enterprise attestation provider. (#94)
  • [changed] Only log local debug tokens when not yet registered. (#95)

11.2.0

  • [changed] To prevent reusing expired artifacts, skip local cache when making network requests.

11.1.0

  • [changed] Fall back to App Attest attestation phase if assertion phase fails with DeviceCheck error.

11.0.1 (SwiftPM Only)

  • [changed] Lowered the minimum supported Mac Catalyst version to 13.0. This aligns with the minimum supported Mac Catalyst version for the CocoaPods distribution.

11.0.0

  • [changed] Breaking change: AppCheckCore's minimum supported versions have updated for the following platforms:
    • Platform AppCheckCore 11
      iOS 12.0
      tvOS 13.0
      macOS 10.15
      watchOS 7.0

10.19.2

10.19.1

  • [fixed] Added invalid input error handling in App Attest key attestation. (#54)

10.19.0

  • [changed] Removed usages of user defaults API to eliminate required reason impact.

10.18.2

  • [changed] Added data hashes and system version to App Attest error messages. (#50)

10.18.1

  • [changed] Added underlying DCError descriptions to App Attest error messages. (#47)

10.18.0