Firebase Apple SDK Release Notes

To review release notes for the Firebase console and for other Firebase platforms and related SDKs, refer to the Firebase Release Notes.

Version 12.2.0 - August 27, 2025

Firebase AI Logic

  • Added support for returning thought summaries, which are synthesized versions of a model's internal reasoning process (#15096).
  • Added support for limited-use tokens with Firebase App Check. These limited-use tokens are required for an upcoming optional feature called replay protection. We recommend enabling the usage of limited-use tokens now so that when replay protection becomes available, you can enable it sooner because more of your users will be on versions of your app that send limited-use tokens. (#15099)

Analytics

  • Fixed a code signing issue by depending on GoogleAdsOnDeviceConversion 2.3.0 (#15052).
  • Fixed another issue that can cause slow launches (#14619).
  • Internal code cleanup and optimizations.

App Check

  • Fixed a missing symbol error for FIRGetLoggerLevel (#12899).

Authentication

  • Added TOTP support for macOS.

Data Connect

  • Starting FDC Tools from Xcode sets up a template Firebase Data Connect project in the Xcode project folder. See the README.md for an updated Getting Started section.

Remote Config

  • Fixed a race condition that could lead to a crash during network session recreation (#15087).

Version 12.1.0 - August 4, 2025

Analytics

  • Improved on-device conversion measurement for first-party data to work with web to app campaigns.
  • Fixed an issue that can cause slow launches (#14619).
  • Internal code cleanup and optimizations.

Authentication

  • Fix a formatting issue with generated TOTP URLs that prevented them from working with the Google Authenticator app (#15128).

Crashlytics

  • Crashlytics no longer logs using raw print in an internal class (#15138).

Data Connect

Cloud Firestore

  • Fixed accidental removal of pod "Firebase/Firestore" for tvOS in 12.0.0.

Firebase In-App Messaging

  • Fixed an Xcode 26 crash caused by a missing NSUserActivityTypeBrowsingWeb symbol. Note that this fix isn't in the 12.1.0 zip and Carthage distributions, but will be included from 12.2.0 onwards (#15159).

FCM

  • Fix Xcode 26 crash from missing NSUserActivityTypeBrowsingWeb symbol. Note that this fix isn't in the 12.1.0 zip and Carthage distributions, but will be included from 12.2.0 onwards (#15159).

Version 12.0.0 - July 15, 2025

  • Breaking change: Firebase's minimum supported versions have updated for the following platforms:
    Platform Firebase 12
    iOS 15.0
    tvOS 15.0
    macOS 10.15
    watchOS 7.0
  • Breaking change: FirebaseDynamicLinks has been removed. See the Dynamic Links Deprecation FAQ for more info.
  • Breaking change: Removed the Options.deepLinkURLScheme property. This API was exclusively used by the Dynamic Links SDK, which has been removed.
  • Breaking change: Removed the following unused API.
    • Options.androidClientID
    • Options.trackingID
  • Breaking change: Firebase's zip and Carthage distributions of the Google Mobile Ads SDK have been removed. Instead, the Google Mobile Ads SDK binary distribution should be accessed from the AdMob website. Note that all pre-existing versions of the Firebase zip or Carthage distributions will continue to be available and functional. Learn more about this change in our FAQ (#14408).
  • Breaking change: The deprecated Vertex AI in Firebase SDK (FirebaseVertexAI) has been removed. It has been replaced by the Firebase AI Logic SDK (FirebaseAI) to accommodate the evolving set of supported features and services. To start using the new SDK, import the FirebaseAI module and use the top-level FirebaseAI class. See details in the migration guide.
  • Breaking change: The Firebase Swift package now requires the Swift 6.0 toolchain (Xcode 16.2+).
  • Update GTMSessionFetcher dependency specifications to enable support for the compatible GTMSessionFetcher 5.x versions.

Firebase AI Logic

  • Added support for Grounding with Google Search (#15014).
  • Breaking Change: Removed CountTokensResponse.totalBillableCharacters which was deprecated in 11.15.0. Use totalTokens instead (#15056).

Analytics

  • Breaking change: The deprecated AdIdSupport and WithoutAdIdSupport subspecs, FirebaseAnalyticsOnDeviceConversion, and GoogleAppMeasurementOnDeviceConversion pods and equivalent Swift Package Manager targets have been removed. See our migration guide.
  • Added support for opting out of On-Device Conversion Measurement (Event Data). To opt-out of this feature, add the key GOOGLE_ADS_ON_DEVICE_CONVERSION_EVENT_DATA_ENABLED with Boolean value NO to your app's Info.plist file.
  • Internal code cleanup and optimizations.

Authentication

  • Breaking Change: Removed the following Dynamic Links related APIs:
    • ActionCodeSettings.dynamicLinkDomain
    • AuthErrorCode.dynamicLinkNotActivated
    • AuthErrorCode.invalidDynamicLinkDomain
  • Breaking Change: Remove deprecated Swift APIs using String-typed productIDs that were in favor of API that leverages the AuthProviderID enum. Note, this only affects Swift clients.
  • Breaking Change: TOTPSecret.openInOTPApp(withQRCodeURL:) is now labeled with @MainActor and requires the await keyword when called off of the main actor or main thread.
  • Simplified completion handler memory management in Auth interop (#14962).

Crashlytics

  • Resolved compiler warnings related to constant definitions (#15059).

Data Connect

  • DataConnectOperationError now includes underlying server error messages in the debug description instead of a generic decoding error #14945.
  • Breaking change: FirebaseDynamicLinks has been removed. See https://firebase.google.com/support/dynamic-links-faq for more info.

Cloud Functions

  • Breaking Change: Mark HTTPSCallable and HTTPSCallableOptions as final classes for Swift clients. This was to achieve Swift 6 checked Sendable support.

Remote Config

  • Improved how the SDK handles real-time requests when a Firebase project has exceeded its available quota for real-time services. Released in anticipation of future quota enforcement, this change is designed to fetch the latest template even when the quota is exhausted.

Version 11.15.0 - June 23, 2025

  • Remove c99 as the required C language standard. (#14950)
  • Deprecated the Options.deepLinkURLScheme property. This property will be removed in a future release. This is related to the overall Firebase Dynamic Links deprecation. For more details, see the Dynamic Links deprecation FAQ.

Firebase AI Logic

  • Fixed Sendable warnings introduced in the Xcode 26 beta. (#14947)
  • Added support for setting title in string, number and array Schema types. (#14971)
  • Added support for configuring the "thinking" budget when using Gemini 2.5 series models. (#14909)
  • Deprecated CountTokensResponse.totalBillableCharacters; use totalTokens instead. Gemini 2.0 series models and newer are always billed by token count. (#14934)

Analytics

  • Fixed an issue that caused high CPU usage (#14891).
  • Fixed an issue that prevented Analytics from being configured with FirebaseApp.configure(options:) (#230).
  • Internal code cleanup and optimizations.

Authentication

  • Fixed Sendable warnings introduced in the Xcode 26 beta. (#14996)

Version 11.14.0 - June 3, 2025

Analytics

  • Improved the structure of the Google Analytics for Firebase SDK, with some components marked as deprecated to be removed in a future release (details).

Authentication

  • Synchronize internal AuthKeychainServices class to prevent crashes from concurrent access (#14835).

FCM

  • Fix a potential SQL injection issue (#14846).

Remote Config

  • Fix build warning from comparison of different enumeration types.

Version 11.13.0 - May 20, 2025

Firebase AI Logic

  • Initial release of the Firebase AI Logic SDK (FirebaseAI). This SDK replaces the previous Vertex AI in Firebase SDK (FirebaseVertexAI) to accommodate the evolving set of supported features and services.
    • The new Firebase AI Logic SDK provides public preview support for the Gemini Developer API, including its free tier offering.
    • Using the Firebase AI Logic SDK with the Vertex AI Gemini API is still generally available (GA).

      To start using the new SDK, import the FirebaseAI module and use the top-level FirebaseAI class. See details in the migration guide.
  • Fixed ModalityTokenCount decoding when the tokenCount field is omitted; this occurs when the count is 0 (#14745).
  • Fixed Candidate decoding when SafetyRating values are missing a category or probability; this may occur when using Gemini for image generation (#14817).

Crashlytics

  • Improved startup time by putting some initialization steps on a background (#13675, #13232).

Analytics

  • Fixed limit of distinctly named events for Google Analytics 360 properties.
  • Internal code cleanup and optimizations.

Remote Config

  • Fix an issue where network requests would fail in the iOS 18.4 simulator due to a URLSession bug introduced in Xcode 16.3 (#14728).

Cloud Storage

  • putFile now works in App Clips. Similarly to app extensions, background session configurations are not used in App Clips (#14794).

Vertex AI in Firebase

  • Renamed: Vertex AI in Firebase (FirebaseVertexAI) has been renamed and replaced by the new Firebase AI SDK (FirebaseAI). Please migrate to the new FirebaseAI module. See the Firebase AI release notes for migration details and new changes.

    Note: Existing Vertex AI in Firebase users may continue to use import FirebaseVertexAI and the VertexAI top-level class, though these will be removed in a future release.
  • Fixed ModalityTokenCount decoding when the tokenCount field is omitted; this occurs when the count is 0 (#14745).

Version 11.12.0 - April 21, 2025

Authentication

  • Fix a fatalError unenrolling from MFA. An invalid user token now throws an invalidUserToken error instead of crashing (#14663).
  • Fix the parameter from "languageCode" to "lang" in ActionCodeURL (#14664).
  • Fix the parameters for requestType in ActionCodeOperation (#14665).

Analytics

  • Internal code cleanup and optimizations.

Data Connect

  • AnyValue type fixes to support decoding values fetched using PostgreSQL jsonb_build_object. AnyValue now internally stores data as a JSON value / dictionary instead of Swift.Data.
  • Firebase Data Connect has exited beta and is now generally available for use.
  • Breaking Change: Refactored the base DataConnectError error type to be a protocol instead of an enum and introduced concrete error types DataConnectInitError, DataConnectCodecError, DataConnectOperationError. Note that if you have code using a switch on the previous error enum, you will need to update that code. See the PR for a usage example and DataConnectError.swift for implementation details.
  • Support for partial errors via the above mentioned DataConnectOperationError.

Cloud Firestore

  • Fixed the null value handling in isNotEqualTo and notIn filters.

Cloud Functions

  • Fix regression from 11.6.0 where HTTPSCallable did not invoke completion block on main thread (#14653).

Vertex AI in Firebase

  • Public Preview: Added support for specifying response modalities in GenerationConfig. This includes public experimental support for image generation using Gemini 2.0 Flash (gemini-2.0-flash-exp) (#14658).

    Note: This feature is in Public Preview and relies on experimental models, which means that it is not subject to any SLA or deprecation policy and could change in backwards-incompatible ways.
  • Added support for more Schema fields: minItems/maxItems (array size limits), title (schema name), minimum/maximum (numeric ranges), anyOf (select from sub-schemas), and propertyOrdering (JSON key order) (#14647).
  • Fixed an issue where network requests would fail in the iOS 18.4 simulator due to a URLSession bug introduced in Xcode 16.3 (#14677).

Version 11.11.0 - March 31, 2025

Analytics

  • Fixed an issue with the Analytics background task running longer than expected (#14541).
  • Fixed an issue with uploading large ecommerce events.
  • Internal code cleanup and optimizations.

Cloud Firestore

  • Fixed a crash in the customized priority queue compare function used in the cache index manager (#14496).

Vertex AI in Firebase

  • VertexAI now emits a warning when attempting to use an incompatible model with GenerativeModel or ImagenModel (#14610).

Version 11.10.0 - March 17, 2025

Analytics

  • Internal changes to improve new customer acquisition measurement.
  • Internal code cleanup and optimizations.

Data Connect

  • Dependency on Firebase iOS SDK changed to 'minimum version required' instead of an 'exact version'. This lets apps use the latest version of the Firebase iOS SDK.

Cloud Functions

  • Streaming callable functions are now supported.

Remote Config

  • Fix intermittent RCNConfigRealtime crash due to incorrect parsing of fragmented JSON (#14518).

Vertex AI in Firebase

  • The Vertex AI SDK no longer requires @preconcurrency when imported in Swift 6.
  • The Vertex AI Sample App now includes an image generation example.
  • The Vertex AI Sample App is now part of the quickstart-ios repo.
  • The role in system instructions is now ignored; no code changes are required. (#14558)

Version 11.9.0 - February 25, 2025

Analytics

  • Fixed an issue with session_start events being reported when the app is launched in the background (#12219, #12347).
  • Fixed unresponsiveness at first startup (#13961).
  • Internal code cleanup and optimizations.

Authentication

  • Using reCAPTCHA Enterprise and Firebase Auth requires reCAPTCHA Enterprise 18.7.0 or later.

Crashlytics

  • Made on-demand fatal recording thread suspension configurable through settings to improve performance and avoid an audio glitch on Unity.

Realtime Database

  • Fix connection failure issue introduced in 10.27.0 by restoring the Socket Rocket implementation instead of NSURLSessionWebSocket. Note that this may expose a Thread Performance Checker Warning (#12883). (#14188, #13877, #13855, #13529)
  • Added Sendable conformance to DataSnapshot (#14369).

Cloud Firestore

  • Fixed memory leak in Query.whereField() (#13978).

Cloud Functions

FCM

  • Migrate FCM codebase to new NSKeyedUnarchiver APIs (#14424).

Remote Config

  • Mark internal fetchSession property as atomic to prevent a concurrency related crash (#14449).

Vertex AI in Firebase

  • Public Preview: Added support for generating images using the Imagen 3 models.

  • Added support for modality-based token count (#14406).

Version 11.8.1 - February 4, 2025

Authentication

  • Suppress deprecation build warning introduced in 11.8.0.

Version 11.8.0 - February 3, 2025

  • The zip and Carthage distributions of the Google Mobile Ads SDK with Firebase are deprecated and will be removed in the next major release. Instead, the Google Mobile Ads SDK binary distribution should be accessed from the AdMob documentation. Note that any existing versions of the Firebase zip or Carthage distributions will continue to be available and functional. Learn more about this change in our FAQ: https://firebase.google.com/support/faq/#admob-which-sdk (#14408).

Authentication

  • Added ActionCodeSettings.linkDomain to customize the Firebase Hosting link domain that is used in out-of-band email action flows.
  • Deprecated ActionCodeSettings.dynamicLinkDomain.

Cloud Firestore

  • Fixed use-after-free bug when internally formatting strings (#14306).

FCM

  • Don't cache FCM registration token operations (#14352).

Remote Config

  • Mark completion handlers as Sendable in the RemoteConfig class. Some completions handlers were missed in the 11.7.0 update (#14257).

Version 11.7.0 - January 13, 2025

Analytics

  • Fixed verification issue with StoreKit 2 in_app_purchase events.
  • Internal code cleanup and optimizations.

Authentication

  • Fix Multi-factor session crash on second Firebase app (#14238).
  • Updated most decoders to be consistent with Firebase 10's behavior for decoding nil values (#14212).
  • Address Xcode 16.2 concurrency compile time issues (#14279).
  • Fix handling of cloud blocking function errors (#14052).
  • Fix phone auth flow to skip RCE verification if appVerificationDisabledForTesting is set (#14242).
  • Avoid over release crash by making concurrently-accessed properties atomic (#14308).

Crashlytics

  • Updated upload-symbols to version 3.20, wait for debug.dylib DWARF content getting generated when build with --build-phase option. Added debug.dylib DWARF content to run script input file list for user who enabled user script sandboxing (#14054).
  • Updated all memory allocation from malloc() to calloc() (#14209).

Cloud Firestore

  • Fixed use-after-free bug when internally formatting strings (#14306).

Remote Config

  • Mark ConfigUpdateListenerRegistration Sendable (#14215).
  • Mark completion handlers as Sendable in RemoteConfig class (#14257).
  • Added support for custom signal targeting in Remote Config. Use setCustomSignals API for setting custom signals and use them to build custom targeting conditions in Remote Config (#13976).

Version 11.6.0 - December 3, 2024

Authentication

  • Added reCAPTCHA Enterprise support for app verification during phone authentication for Firebase Authentication (#14114).
  • Restore Firebase 10 behavior by synchronizing access to the Auth.currentUser API. This resolves some Firebase 11 issues where the current user is unexpectedly nil at startup.
  • Restore Firebase 10 decoding behavior to prevent user provider data from always being decoded as nil . Note that this fix was only needed for cases where Firebase 11 was reading data written by Firebase 10 (#14011.
  • Restore Firebase 10 decoding behavior to prevent user provider data from being decoded as nil when a user has multiple linked providers. Note that this fix was only needed for cases where Firebase 11 was reading data written by Firebase 10. Note that this fix will not be in the 11.6.0 zip and Carthage distributions, but will be included from 11.6.0 onwards (#14011).

Data Connect

  • FriendlyFlix - a comprehensive SwiftUI sample app.
  • Switched to using AppCheckInterop APIs to remove hard dependency on FirebaseAppCheck library.

Cloud Firestore

  • Add conditional Sendable conformance so ServerTimestamp<T> is Sendable if T is Sendable (#14042).

Performance Monitoring

  • Fix a crash related to registering for notifications when the app is between foreground or background states (#13174).

Vertex AI in Firebase

  • The token counts from GenerativeModel.countTokens(...) now include tokens from the schema for JSON output and function calling; reported token counts will now be higher if using these features.

Version 11.5.0 - November 12, 2024

Authentication

  • Restore pre-Firebase 11 decoding behavior to prevent users getting logged out when upgrading from Firebase 8.10.0 or earlier to Firebase 11. Note that this fix will not be in the 11.5.0 zip and Carthage distributions, but will be included from 11.6.0 onwards (#14011).
  • Restore Firebase 10 keychain error handling behavior when retrieving Firebase Auth tokens, potentially causing user sign-out on Firebase 11. Note that this fix will not be in the 11.5.0 zip and Carthage distributions, but will be included from 11.6.0 onwards (#14067).

Crashlytics

  • Updated upload-symbols to version 3.19, removed all methods requiring CFRelease and switched to modern classes (#13420).

Data Connect

  • Support for Swift 6 strict concurrency.
  • Logging within SDKs.
  • SDK will throw errors if partial GraphQL errors are detected during operation execution.

FCM

  • Improve token-fetch failure logging with detailed error info (#13997).

Remote Config

  • Mark two internal properties as atomic to prevent concurrency related crash (#13898).

Performance Monitoring

  • Replaced usage of the deprecated UIApplication.keyWindow property with UIWindow.isKeyWindow; this API is also available on visionOS. Note that this fix will not be in the 11.5.0 zip and Carthage distributions, but will be included from 11.6.0 onwards (#14048).

Vertex AI in Firebase

  • Fixed an issue where VertexAI.vertexAI(app: app1) and VertexAI.vertexAI(app: app2) would return the same instance if their location was the same, including the default us-central1 (#14007).
  • Removed format: "double" in Schema.double() since double-precision accuracy isn't enforced by the model; continue using the Swift Double type when decoding data produced with this schema (#13990).

Version 11.4.2 - October 23, 2024

  • CocoaPods-only release to fix iOS 12 build failure resulting from incomplete implementation in the FirebaseCoreInternal CocoaPod.

Version 11.4.1 - October 22, 2024

  • CocoaPods-only release to revert breaking change in FirebaseCoreExtension SDK (#13942).

Version 11.4.0 - October 21, 2024

  • Fixed an issue building documentation with some Firebase products (#13756).

Analytics

  • Added support for Server-side Tag Manager.
  • Fixed an issue with setDefaultEventParameters API not consistently applying default event parameters to automatic events such as first_open and session_start events.
  • Internal code cleanup and optimizations.

Authentication

  • Restored Firebase 10 behavior by ignoring nil display names used during multi factor enrollment (#13856).
  • Fixed crash when enrolling account with time-based one-time password multifactor auth (#13880).

Crashlytics

  • Updated upload-symbols to version 3.18 with support for uploading multiple DWARF contents in a dSYM bundle (#13543).

Cloud Firestore

  • Prepared Firestore cache to support session token (#13648).

Performance Monitoring

  • Fixed a crash related to thread sanitization on FPRNetworkTrace class (#13581).

Vertex AI in Firebase

  • Vertex AI in Firebase is now Generally Available (GA) and can be used in production apps (#13725).

    Use the Vertex AI in Firebase library to call the Vertex AI Gemini API directly from your app. This client library is built specifically for use with Swift apps, offering security options against unauthorized clients as well as integrations with other Firebase services.

    Note: Vertex AI in Firebase is currently only available in Swift Package Manager and CocoaPods. Stay tuned for the next release for the Zip and Carthage distributions.

  • Breaking Change: The HarmCategory enum is no longer nested inside the SafetySetting struct and the unspecified case has been removed (#13686).
  • Breaking Change: The BlockThreshold enum in SafetySetting has been renamed to HarmBlockThreshold (#13696).
  • Breaking Change: The unspecified case has been removed from the FinishReason, BlockReason and HarmProbability enums; this scenario is now handled by the existing unknown case (#13699).
  • Breaking Change: The property citationSources of CitationMetadata has been renamed to citations (#13702).
  • Breaking Change: The initializer for Schema is now internal; use the new type methods Schema.string(...), Schema.object(...), etc., instead (#13852).
  • Breaking Change: The initializer for FunctionDeclaration now accepts an array of optional parameters instead of a list of required parameters; if a parameter is not listed as optional it is assumed to be required (#13616).
  • Breaking Change: CountTokensResponse.totalBillableCharacters is now optional (Int?); it may be null in cases such as when a GenerateContentRequest contains only images or other non-text content (#13721).
  • Breaking Change: The ImageConversionError enum is no longer public; image conversion errors are still reported as GenerateContentError.promptImageContentError (#13735).
  • Breaking Change: The CountTokensError enum has been removed; errors occurring in GenerativeModel.countTokens(...) are now thrown directly instead of being wrapped in a CountTokensError.internalError (#13736).
  • Breaking Change: The enum ModelContent.Part has been replaced with a protocol named Part to avoid future breaking changes with new part types. The new types TextPart and FunctionCallPart may be received when generating content; additionally the types InlineDataPart, FileDataPart and FunctionResponsePart may be provided as input (#13767).
  • Breaking Change: All initializers for ModelContent now require the label parts: (#13832).
  • Breaking Change: HarmCategory, HarmProbability, and FinishReason are now structs instead of enums types and the unknown cases have been removed; in a switch statement, use the default: case to cover unknown or unhandled values (#13728, #13854, #13860).
  • Breaking Change: The Tool initializer is now internal; use the new type method functionDeclarations(_:) to create a Tool for function calling (#13873).
  • Breaking Change: The FunctionCallingConfig initializer and Mode enum are now internal; use one of the new type methods auto(), any(allowedFunctionNames:), or none() to create a config (#13873).
  • Breaking Change: The CandidateResponse type is now named Candidate. (#13897)
  • Breaking Change: The minimum deployment target for the SDK is now macOS 12.0; all other platform minimums remain the same at iOS 15.0, macCatalyst 15.0, tvOS 15.0, and watchOS 8.0 (#13903).
  • Breaking Change: All of the public properties of GenerationConfig are now internal; they all remain configurable in the initializer (#13904).
  • The default request timeout is now 180 seconds instead of the platform-default value of 60 seconds for a URLRequest; this timeout may still be customized in RequestOptions (#13722).
  • The response from GenerativeModel.countTokens(...) now includes systemInstruction, tools and generationConfig in the totalTokens and totalBillableCharacters counts, where applicable (#13813).
  • Added a new HarmCategory .civicIntegrity for filtering content that may be used to harm civic integrity. (#13728)
  • Added probabilityScore, severity and severityScore in SafetyRating to provide more fine-grained detail on blocked responses (#13875).
  • Added a new HarmBlockThreshold .off, which turns off the safety filter (#13863).
  • Added an optional HarmBlockMethod parameter method in SafetySetting that configures whether responses are blocked based on the probability and/or severity of content being in a HarmCategory (#13876).
  • Added new FinishReason values .blocklist, .prohibitedContent, .spii and .malformedFunctionCall that may be reported (#13860).
  • Added new BlockReason values .blocklist and .prohibitedContent that may be reported when a prompt is blocked (#13861).
  • Added the PromptFeedback property blockReasonMessage that may be provided alongside the blockReason (#13891).
  • Added an optional publicationDate property that may be provided in Citation (#13893).
  • Added presencePenalty and frequencyPenalty parameters to GenerationConfig (#13899).

Version 11.3.0 - September 30, 2024

Analytics

  • Fixed an issue with the Crashlytics integration that prevented automatic screen_view events from being sent as breadcrumb logs.
  • Internal code cleanup and optimizations.

Authentication

  • Restore Firebase 10 behavior by querying with the kSecAttrSynchronizable key when auth state is set to be shared across devices (#13584).
  • Prevent a bad memory access crash by using non-ObjC Swift types in the SDK's networking layer, and moving synchronous work off of the shared Swift concurrency queue (#13650).
  • Restore Firebase 10 behavior by forwarding errors from interrupted reCAPTCHA or OIDC login flows (#13645).

Data Connect

  • Initial public preview release of the SDK. For more information see the Firebase Data Connect documentation.

Cloud Firestore

  • Improve efficiency of memory persistence when processing a large number of writes (#13572).

Version 11.2.0 - September 10, 2024

Authentication

  • Fixed crashes that could occur in Swift continuation blocks running in the Xcode 16 betas (#13480).
  • Fixed Phone Auth using Sandbox APNS tokens that broke in 11.0.0 (#13479).
  • Fixed crash when fetching sign in methods due to unexpected nil. Previously, fetching sign in methods could return both a nil array of sign in methods and a nil error. In such cases, an empty array is instead returned with the nil error (#13550).
  • Fixed user session persistence in multi tenant projects. Introduced in 11.0.0 (#13565).
  • Fixed encoding crash that occurs when using TOTP multi-factor authentication. Note that this fix isn't in the 11.2.0 zip and Carthage distributions, but will be included from 11.3.0 onwards (#13591).

Realtime Database

  • Fix temporary disconnects when the app goes inactive. The issue was introduced in 10.27.0 (#13529).

Cloud Firestore

  • Marked all public classes with only readonly properties as Sendable to address Swift Concurrency Check warning (#12666).

Vertex AI in Firebase

  • Resolved a decoding error for citations without a uri and added support for decoding title fields, which were previously ignored (#13518).
  • Breaking Change: The methods for starting streaming requests (generateContentStream and sendMessageStream) are now throwing and asynchronous and must be called with try await (#13545, #13573).
  • Breaking Change: Creating a chat instance (startChat) is now asynchronous and must be called with await (#13545).
  • Breaking Change: The source image in the ImageConversionError.couldNotConvertToJPEG error case is now an enum value instead of the Any type (#13575).
  • Added support for specifying a JSON responseSchema in GenerationConfig; see control generated output for more details (#13576).

Version 11.1.0 - August 19, 2024

Analytics

  • Fixed an issue related to the enforcement of event parameter value character limits during an app's first open.
  • Internal code cleanup and optimizations.

Authentication

  • Fixed Swift.error conformance for AuthErrorCode (#13430).
  • Added custom provider support to AuthProviderID. Note that this change will be breaking to any code that implemented an exhaustive switch on AuthProviderID in 11.0.0 - the switch will need expansion (#13429).
  • Fix crash introduced in 11.0.0 in phone authentication flow from implicitly unwrapping nil error after a token timeout (#13470).
  • Objective-C only: [OAuthProvider getCredentialWithUIDelegate] was not calling its completion handler in the main thread. Regressed in 11.0.0. The fix is only for CocoaPods and Swift Package Manager. The zip and Carthage fix will roll out in 11.2.0 (firebase/FirebaseUI-iOS#1199).

Cloud Firestore

  • Add VectorValue type support.

Cloud Storage

  • Fix a potential data race in Storage initialization (#13369).

Version 11.0.0 - July 30, 2024

  • Breaking change: Firebase's minimum supported versions have updated for the following platforms:
    • PlatformFirebase 11
      iOS13.0
      tvOS13.0
      macOS10.15
      watchOS7.0
    • FirebaseAnalytics and FirebaseCrashlytics also continue to support iOS 12.0.
  • Breaking change: The deprecated Swift extension SDKs for Analytics, Firestore, Database, Remote Config and In App Messaging have been removed. See our migration guide.
  • Update underlying FIRLogger implementation from asl to os_log.
  • Remove FIRLoggerForceSTDERR configuration option.
  • Move Timestamp class into FirebaseCore. FirebaseFirestore.Timestamp was changed to FirebaseCore.Timestamp (#13221).

Analytics

  • Breaking change: The deprecated FirebaseAnalyticsSwift module has been removed. See our migration guide.
  • Internal code cleanup and optimizations.

Authentication

  • Fixed auth domain matching code to prioritize matching firebaseapp.com over web.app even if the server returns the web.app domain listed first (#7992).
  • Introduced the Swift enum AuthProviderID for the Auth Provider IDs (#9236).
  • Swift APIs using String-typed productIDs have been deprecated in favor of newly added API that leverages the AuthProviderID enum.
  • Breaking change: The email property in ActionCodeInfo is now non-optional.

Realtime Database

  • Breaking change: The deprecated FirebaseDatabaseSwift module has been removed. See our migration guide.
  • Socket Rocket has been removed from the implementation. There should be no impact on functionality (#13100).

Cloud Firestore

  • Breaking change: The deprecated FirebaseFirestoreSwift module has been removed. See our migration guide.
  • Breaking change: LRU Garbage Collector is now the default GC for memory cache, eager GC is now opt-in (via MemoryCacheSettings(garbageCollectorSettings: MemoryEagerGCSettings())) instead of the default one.
  • Move Timestamp class into FirebaseCore. FirebaseFirestore.Timestamp was changed to FirebaseCore.Timestamp (#13221).
  • Update gRPC dependency to 1.65.

Firebase In-App Messaging

  • Breaking change: The deprecated FirebaseInAppMessagingSwift module has been removed. See our migration guide.
  • Breaking Change: The following Swift API have been renamed:
    • FIRInAppMessagingDismissTypeInAppMessagingDismissType
    • FIRInAppMessagingDisplayMessageTypeInAppMessagingDisplayMessageType
    • FIRInAppMessagingDisplayTriggerTypeInAppMessagingDisplayTriggerType
    • FIAMDisplayRenderErrorTypeInAppMessagingDisplayRenderError Note that InAppMessagingDisplayRenderError is now a native Swift error and can be directly caught (instead of catching an NSError and checking the error code).

FCM

  • Completed Messaging's transition to NSSecureCoding (#12343).

Remote Config

  • RemoteConfigValue.stringValue is now nonnull. This may break some builds (#10870).
  • Breaking change: The deprecated FirebaseRemoteConfigSwift module has been removed. See our migration guide.

Cloud Storage

  • Updated error handling to support both Swift error enum handling and NSError error handling. Some of the Swift enums have additional parameters which may be a breaking change. There are additional NSError's for completeness, but nothing related to NSError handling is breaking. (#13071, #10889, #13114)

Version 10.29.0 - July 8, 2024

FCM

  • Renamed "initWithFileName" internal method that was causing submission issues for some users (#13134).
  • Fixed the APS Environment key on visionOS (#13173).

Vertex AI in Firebase

  • Added community support for watchOS (#13215).

Version 10.28.1 - June 24, 2024

Crashlytics

  • Reverted "Add SIGTERM support (#12881)" introduced in version 10.27.0 (#13117).

Version 10.28.0 - June 17, 2024

Analytics

  • Added a new default consent state ("eu_consent_policy") for ad_user_data and ad_personalization consent types.

Crashlytics

  • Created a new queue for rollouts persistence writes and made sure rollouts logging queue is not nil while dispatching (#12913).

Performance Monitoring

  • Fix Crash from InstrumentUploadTaskWithStreamedRequest (#12983).
  • Replace SystemConfiguration with a more recent network monitoring API by Apple (#13079).

Vertex AI in Firebase

  • Removed uses of the gemini-1.5-flash-preview-0514 model in docs and samples. Developers should now use the auto-updated versions, gemini-1.5-pro or gemini-1.5-flash, or a specific stable version; see available model names for more details (#13099).
  • Added community support for tvOS and visionOS (#13090, #13092).

Version 10.27.0 - May 29, 2024

App Check

  • CocoaPods: missing symbol error for FIRGetLoggerLevel (#12899).

Analytics

  • Fixed an issue that prevented manually-logged ad impression events from activating Firebase A/B Testing experiments.
  • Internal code cleanup.

Crashlytics

  • Added support for catching the SIGTERM signal (#12881).
  • Fixed a thread blocking when persisting Remote Config Rollouts to disk (#12913).

Realtime Database

  • Update internal socket implementation to use NSURLSessionWebSocket where available (#12883).

Firebase In-App Messaging

  • Fixed crash at app start that affected CocoaPods users using static frameworks (#12882).

FCM

  • Fixed bug preventing Messaging from working with a custom sqlite3 dependency (#12900).

Vertex AI in Firebase

  • Removed uses of the gemini-1.5-pro-preview-0409 model in docs and samples. Developers should now use gemini-1.5-pro-preview-0514 or gemini-1.5-flash-preview-0514; see available model names for more details (#12979).
  • Logged additional details when required APIs for Vertex AI are not enabled or response payloads when requests fail (#13007, #13009).

Version 10.26.0 - May 13, 2024

This release is available via Swift Package Manager only.

Firebase In-App Messaging

  • Fixed crash at app start that affected SwiftPM users (#12882).

Vertex AI in Firebase

  • Initial release of the Vertex AI in Firebase SDK (public preview). Learn how to get started with the SDK in your app.

Version 10.25.0 - April 30, 2024

  • Firebase now requires at least Xcode 15.2. See Apple's website for more info.
  • [Zip Distribution] Update zip integration instructions with tips for preserving symlinks and protecting code signatures.

Analytics

App Check

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

Crashlytics

  • Removed usages of user defaults API from internal Firebase Sessions dependency to eliminate required reason impact.

Realtime Database

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

Cloud Firestore

  • Allow blob of data with zero length (#11773, #12620).
  • Passing a non-nil value to the @DocumentID property wrapper's setter no longer logs a warning since it discouraged valid patterns, e.g., updating the document ID after the document is created in Firestore (#12756).

Firebase In-App Messaging

  • Removed usages of user defaults API to eliminate required reason impact.
  • When installing In App Messaging via the zip distribution, its UI resource bundle is now embedded within the In App Messaging framework. Choose Embed & Sign when integrating the framework. See the zip distribution's README.md for more instructions.

Performance Monitoring

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

Remote Config

  • Fixed bug preventing Remote Config from working with a custom sqlite3 dependency (#10884).

Version 10.24.0 - April 9, 2024

  • Fixed validation issue for macOS and macCatalyst XCFrameworks related to framework directory structure (#12587).
  • Extend community watchOS support to zip and Carthage distributions. See our platform documentation for more details for the Firebase products included (#8731).
  • Added code signatures to all of Firebase's binary artifacts (#12238).

Analytics

  • Internal code cleanup.

Crashlytics

  • Fixed 'FirebaseCrashlytics/FirebaseCrashlytics-Swift.h' file not found errors (#12611).
  • Removed usages of mach_absolute_time to reduce required reason impact.

Cloud Firestore

  • Enabled queries with range & inequality filters on multiple fields (#12416).

Cloud Storage

  • putFile and putFileAsync now work in app extensions. A background session configuration is not used when uploading from an app extension (#12579).

Version 10.23.1 - March 28, 2024

  • [Swift Package Manager / CocoaPods] Fixed the macOS/Catalyst xcframework structure issue in Firebase Analytics blocking submission via Xcode 15.3.

Analytics

  • Fixed crash in NSString(Bit) isBitEnabledAtIndex (#12614).
  • Fixed missing symbols in GoogleAppMeasurementOnDeviceConversion (regression introduced by 10.22.1).

Version 10.23.0 - March 19, 2024

  • Fixed an app validation issue for macOS and macCatalyst XCFrameworks (#12505).

Analytics

Crashlytics

  • Updated upload-symbols to 13.7 with Vision Pro build phase support (#12306).
  • Added support for Crashlytics to report metadata about Remote Config keys and values.

Cloud Firestore

  • Enable snapshot listener option to retrieve data from local cache only (#12370).
  • Update gRPC dependency to 1.62.* (#12098, #12021).
  • Firestore's binary Swift Package Manager distribution now uses XCFrameworks with code signatures (#12238).

FCM

  • CocoaPods only: Fixed "no rule" warning when running pod install (#12511).

Remote Config

  • Added support for other Firebase products to integrate with Remote Config.

Version 10.22.1 - March 7, 2024

  • Swift Package Manager and CocoaPods only: Fixed app validation issues on Xcode 15.3 for those using the FirebaseAnalyticsOnDeviceConversion SDK. This issue was caused by embedding an incomplete Info.plist from a dependency of the SDK (#12441).

Version 10.22.0 - March 4, 2024

  • Added privacy manifests for Firebase SDKs named in https://developer.apple.com/support/third-party-SDK-requirements/. Review https://firebase.google.com/docs/ios/app-store-data-collection for updated guidance on interpreting Firebase's privacy manifests and completing app Privacy Nutrition Labels (#11490).
  • Revert Firebase 10.20.0 change that removed Info.plist files from static xcframeworks (#12390).
  • Fixed validation issues in Xcode 15.3 that affected binary distributions including Analytics, Firestore (SwiftPM binary distribution), and the Firebase zip distribution (#12441).

Swift Package Manager

  • Firebase now enforces a Swift 5.7.1 minimum version, which is aligned with the Xcode 14.1 minimum (#12350).

Zip Distribution

  • The manual integration instructions found in the Firebase.zip have been updated for Xcode 15 users. The updated instructions call for embedding SDKs dragged in from the Firebase.zip. This will enable Xcode's tooling to detect privacy manifests bundled within the xcframework.
  • Several xcframeworks have been renamed to resolve the Xcode 15.3 validation issues. Ensure that the following renamed xcframeworks are removed from your project when upgrading (#12437, #12447):
    • abseil.xcframework to absl.xcframework
    • BoringSSL-GRPC.xcframework to openssl_grpc.xcframework
    • gRPC-Core.xcframework to grpc.xcframework
    • gRPC-C++.xcframework to grpcpp.xcframework
    • leveldb-library.xcframework to leveldb.xcframework
    • PromisesSwift.xcframework to Promises.xcframework

Analytics

  • Added on-device conversion measurement support for hashed email address or hashed phone numbers with initiateOnDeviceConversionMeasurement(hashedEmailAddress:) and initiateOnDeviceConversionMeasurement(hashedPhoneNumber:) API, respectively.
  • Fixed a memory leak (#11071).

Crashlytics

  • Crashlytics now forces validation or rotation of FIDs for FirebaseSessions.
  • Removed calls to statfs in the Crashlytics SDK to comply with Apple Privacy Manifests. This change removes support for collecting Disk Space Free in Crashlytics reports.
  • Fixed FirebaseSessions crash on startup that occurs in release mode in Xcode 15.3 and other build configurations (#11403).

Cloud Firestore

  • Fixed flaky offline behavior when using arrayRemove on Map objects (#12378).

Firebase In-App Messaging

  • Fixed an objc_retain crash (#12393).

Version 10.21.0 - February 6, 2024

Firebase now requires at least CocoaPods version 1.12.0 to enable privacy manifest support.

Analytics

  • Internal code cleanup.

Authentication

  • Fixed multifactor resolver to use the correct Auth instance instead of always using the default (#12265).

Cloud Firestore

  • Added an error when trying to build Firestore's binary SPM distribution for visionOS (#12279). See Firestore's 10.12.0 release note for a supported workaround.

Version 10.20.0 - January 16, 2024

The following change only applies to those using a binary distribution of a Firebase SDK(s): In preparation for supporting Privacy Manifests, each platform framework directory within a static xcframework no longer contains an Info.plist file (#12243).

Analytics

  • Increased parameter value character limit for Google Analytics 360 properties.
  • Updated module map of GoogleAppMeasurementOnDeviceConversion.

FCM

  • Fixed a 10.19.0 regression where the FCM registration token was nil at first app start after update from 10.19.0 or earlier (#12245).

Version 10.19.1 - December 13, 2023

This release is available via Swift Package Manager only. Changes in this version of Firebase will be available in future releases across all distribution channels.

App Check

  • Fixed a bug in apps using both AppCheck and ARCore where AppCheck unnecessarily tried to create tokens for the ARCore SDK, resulting in noisy logs containing harmless attestation errors.

Version 10.19.0 - December 5, 2023

Authentication

  • Deprecate updateEmail(to email: String) and fetchSignInMethods(forEmail email: String) (#12081).

Cloud Firestore

  • Made an optimization to the synchronization logic for resumed queries to only re-download locally-cached documents that are known to be out-of-sync. (#12044).

FCM

  • Adopt NSSecureCoding for internal classes (#12075).

Version 10.18.0 - November 14, 2023

App Check

  • Extracted core FirebaseAppCheck functionality into a new AppCheckCore dependency. (#12067)

Authentication

  • Fix a bug where anonymous account can't be linked with email password credential (#11911).

Cloud Firestore

  • Fix Firestore build for visionOS on Xcode 15.1 (#12023).

Performance Monitoring

  • Fix an Xcode 15.1 build warning (#12027).

Version 10.17.0 - October 30, 2023

Analytics

  • Updated the consent management API to include new consent signals.
  • Added support for StoreKit 2.
  • The FirebaseAnalytics module now contains Analytics's Swift-only APIs that were previously only available via the FirebaseAnalyticsSwift extension SDK. See the FirebaseAnalyticsSwift release note from this release for more details.

Swift Extensions

  • All of the public API from FirebaseAnalyticsSwift can now be accessed through the FirebaseAnalytics module. Therefore, FirebaseAnalyticsSwift has been deprecated, and will be removed in a future release. See the migration guide for migration instructions.

App Check

  • Added invalid key error handling in App Attest key attestation. (#11986)
  • Replaced semantic imports (@import FirebaseAppCheckInterop) with umbrella header imports (#import <FirebaseAppCheckInterop/FirebaseAppCheckInterop.h>) for ObjC++ compatibility (#11916).

Realtime Database

  • The FirebaseDatabase module now contains Firebase Database's Swift-only APIs that were previously only available via the FirebaseDatabaseSwift extension SDK. See the FirebaseDatabaseSwift release note from this release for more details.

Swift Extensions

  • All of the public API from FirebaseDatabaseSwift can now be accessed through the FirebaseDatabase module. Therefore, FirebaseDatabaseSwift has been deprecated, and will be removed in a future release. See the migration guide for migration instructions.

Cloud Firestore

  • Add support for sum and average aggregate queries.
  • The FirebaseFirestore module now contains Firebase Firestore's Swift-only APIs that were previously only available via the FirebaseFirestoreSwift extension SDK. See the FirebaseFirestoreSwift release note from this release for more details.

Swift Extensions

  • All of the public API from FirebaseFirestoreSwift can now be accessed through the FirebaseFirestore module. Therefore, FirebaseFirestoreSwift has been deprecated, and will be removed in a future release. See the migration guide for migration instructions.

Firebase In-App Messaging

  • The FirebaseInAppMessaging module now contains Firebase In-App Messaging's Swift-only APIs that were previously only available via the FirebaseInAppMessagingSwift extension SDK. See the FirebaseInAppMessagingSwift release note from this release for more details.

Swift Extensions

  • All of the public API from FirebaseInAppMessagingSwift can now be accessed through the FirebaseInAppMessaging module. Therefore, FirebaseInAppMessagingSwift has been deprecated, and will be removed in a future release. See the migration guide for migration instructions.

Performance Monitoring

  • Fix a second Xcode 15 runtime warning (#11821).

Remote Config

  • The FirebaseRemoteConfig module now contains Firebase Remote Config's Swift-only APIs that were previously only available via the FirebaseRemoteConfigSwift extension SDK. See the FirebaseRemoteConfigSwift release note from this release for more details.

Swift Extensions

  • All of the public API from FirebaseRemoteConfigSwift can now be accessed through the FirebaseRemoteConfig module. Therefore, FirebaseRemoteConfigSwift has been deprecated, and will be removed in a future release. See the migration guide for migration instructions.

Version 10.16.0 - October 3, 2023

A/B Testing

  • Fix crash caused by empty experiment payload (#11873).

Analytics

  • Fixed crash in FIRAnalyticsConnector (#11761).
  • Disabled Search Ad reporter on simulator to prevent potential unresponsiveness when calling AAAttribution.attributionToken() (#11770).

Authentication

  • Added custom auth domain support in recaptcha v2 authentication flows (#7553).

Crashlytics

  • Fixed a memory leak regression when generating session events (#11725).

Cloud Firestore

  • Fixed an issue where Firestore's binary SwiftPM distribution would not link properly when building a target for testing. This issue affected Xcode 15 Beta 5 and later (#11656).
  • Downgrade the CocoaPods grpc dependency back to 1.44.0 (from 1.50.1) to fix a crash on iOS 12 devices that was introduced in the Firebase Apple SDK 10.10.0 when the grpc dependency was upgraded (#11509).

Performance Monitoring

  • Fixed a memory leak regression when generating session events (#11725).
  • Fix Xcode 15 runtime warning (#11821).

Version 10.15.0 - September 12, 2023

Cloud Firestore

  • Add the option to allow the SDK to create cache indexes automatically to improve query execution locally (#11596).

Version 10.14.0 - August 22, 2023

For developers building for visionOS, Xcode 15 beta 6 or later is required.

A/B Testing

  • Fix crash caused by mutating array during iteration (#11669).

Authentication

  • Added reCAPTCHA verification support in email authentication flows (#11231).

Version 10.13.0 - August 1, 2023

For developers building for visionOS, Xcode 15 beta 5 or later is required.

Analytics

  • Added on-device conversion measurement support for phone numbers with initiateOnDeviceConversionMeasurement(phoneNumber:) API.
  • Fixed hang if initiateOnDeviceConversionMeasurement(emailAddress:) API was called before FirebaseApp.configure().
  • Fixed heap buffer overflow error (#11421).

Authentication

  • Fixed a compilation error regression introduced in 10.12.0 building iOS App Extensions (#11537).

Firebase In-App Messaging

  • Fixed the Firebase tvOS podspec dependency for In App Messaging not working (#11569).

Version 10.12.0 - July 11, 2023

For developers building for visionOS, using products that use the Keychain (e.g. FirebaseAuth) may fail to access the keychain on the visionOS simulator. To work around this, add the Keychain Sharing capability to the visionOS target and explicitly add a keychain group (e.g. the bundle ID).

Firebase's Swift Package Manager distribution does not support Xcode 15 Beta 1. Please use Xcode 15 Beta 2 or later.

Authentication

  • Added support to Firebase Auth to enroll and sign in a user with TOTP second factor (#11261).

Analytics

  • Added support for SKAdNetwork Conversion Value setting.
  • Added support for SHA-256 hashes to ensure that the on-device receipt validation is compatible with upcoming App Store receipt signing certificate changes (TN3138).

Crashlytics

  • Updated upload-symbols to version 3.16 with support for new default build settings in Xcode 15 (#11463).
  • Re-enabled dSYM uploads for Flutter apps building with --obfuscate and updated instructions for de-obfuscating Dart stacktraces.
  • upload-symbols / run now support apps with User Script Sandboxing set to YES when all input files are present in the build phase. Please see the pull request for the full list of input files (#11463).
  • upload-symbols / run no longer read from the app's Info.plist and support apps with Generate Info.plist File set to NO (#11463).
  • Added a CrashlyticsInputFiles.xcfilelist. Instead of using "Input Files", developers can specify the path to this file in the Build Phase's "Input File Lists" section of your Crashlytics run / upload-symbols script to keep it up to date (#11428).

Cloud Firestore

  • Implemented an optimization in the local cache synchronization logic that reduces the number of billed document reads when documents were deleted on the server while the client was not actively listening to the query (e.g. while the client was offline) (#11457).
  • Developers using Firestore on visionOS must use a source Firestore distribution rather than the default binary distribution. To do this, quit Xcode and open the desired project from the command line with the FIREBASE_SOURCE_FIRESTORE environment variable. open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj To go back to using the binary distribution of Firestore, quit Xcode and open Xcode like normal, without the environment variable (#11492).

Swift Extensions

  • Added support for animations on the @FirestoreQuery property wrapper.

FCM

  • Messaging now removes scoped tokens set by old FIAM SDK(s) from keychain if they exist.

Performance Monitoring

  • Make Firebase Performance Monitoring compatible with Xcode 15.
  • Removed the capability to access carrier information of the device since that API is deprecated by Apple.

Remote Config

  • Fixed issue of real-time listeners not being properly removed (#11458).
  • Fixed real-time fetches not being able to fetch the latest template due to an in-progress fetch (#11465).
  • Internal improvements to support Remote Config real-time updates (#11485).

Version 10.11.0 - June 13, 2023

  • Improved error reporting for misnamed configuration plist files (#11317).

A/B Testing

  • Fix crash caused by mutating array during iteration (#11378).

Analytics

  • Fixed missing screen parameters on session_start events triggered at app launch.
  • Fixed limit of audience definitions during first open.

Crashlytics

  • Fixed a threading-related hang during initialization in urgent mode (#11216).

Cloud Firestore

  • Exposed MultiDb API for public preview (#10465).
  • Fixed a compilation warning related to integer casting (#11332).
  • Firestore now allows initializing LocalCacheSettings with unlimited size (#11405).

Firebase In-App Messaging

  • In-App Messaging now correctly removes scoped tokens set by old SDK versions from keychain.

Performance Monitoring

  • Fixed a bug to disable data collection if the data collection was disabled before Firebase application was configured.

Cloud Storage

  • Add progress tracking capability for putDataAsync, putFileAsync, and writeAsync (#10574).

Version 10.10.0 - May 23, 2023

  • Firebase now requires at least Xcode 14.1.

Analytics

  • Fixed implicit type conversion of integer or numeric string parameters to double when modifying or creating events from the Google Analytics interface.
  • Internal code cleanup.

Crashlytics

  • Removed references to deprecated CTCarrier API in FirebaseSessions (#11144).
  • Fix Xcode 14.3 Analyzer issue (#11228).

Cloud Functions

  • Fixed potential memory leak of Functions instances (#11248).
  • Callable functions can now opt in to using limited-use App Check tokens (#11270).

Firebase In-App Messaging

  • Fixed a crash on in-app message presentation when a CarPlay scene is active (#9376).

Cloud Storage

  • Fixed potential memory leak of Storage instances (#11248).

Version 10.9.0 - April 25, 2023

Analytics

  • Internal code cleanup.

App Check

  • Added limitedUseToken(completion:) for obtaining limited-use tokens for protecting non-Firebase backends (#11086).

Crashlytics

  • Updated upload-symbols to 3.15. Disabled dSYM uploads for Flutter apps building with --obfuscate and added instructions for uploading through the Crashlytics dashboard (#11136).
  • Fixed a memory leak when generating session events (#11027).

Cloud Firestore

  • Add new cache config API to customize SDK cache settings.
  • Add LRU garbage collector as an option to memory cache.

Swift Extensions

  • The async CollectionReference.addDocument(data:) API now returns a discardable result (#10640).

Performance Monitoring

  • Fixed a memory leak when generating session events (#11027).

Version 10.8.1 - April 13, 2023

This release is available via Swift Package Manager only.

Cloud Firestore

  • Fixed an issue where Firestore was incorrectly unavailable on Mac Catalyst via Swift Package Manager (#11119).

Version 10.8.0 - April 11, 2023

  • Fixed new build warnings introduced by Xcode 14.3 (#11059).
  • The Firebase Swift package now requires the Swift 5.6 toolchain (Xcode 13.3) to build.

Analytics

  • Updated a warning message to a debug message (#10940).
  • Internal code cleanup.

Authentication

  • Added Firebase App Check support to Firebase Auth (#11056).
  • Added sign-in with Apple token revocation support (#9906).

Cloud Firestore

  • Change Firestore's Swift Package Manager distribution from source to binary to reduce the time it takes to add the Firebase package and to build the Firestore SDK (#6564).

  • Fixed SSL symbol collision issue affecting SwiftPM users (#6869).

Version 10.7.0 - March 21, 2023

Authentication

  • Added an API for developers to pass the fullName from the Sign in with Apple credential to Firebase (#10068).

Crashlytics

  • Updated upload-symbols to 3.14 with an improvement to upload all dSYM files for Flutter apps.

Cloud Firestore

  • Added support for disjunctions in queries (OR queries).
  • Fixed stack overflow caused by deeply nested server timestamps.

Remote Config

Cloud Storage

  • When applicable, Storage now provides underlying server errors via NSUnderlyingErrorKey.

Version 10.6.0 - February 28, 2023

Analytics

  • Added support for logging item-scoped custom parameters on ecommerce events.
  • Added Salesforce user id measurement to improve Google Analytics 4's integration with Salesforce Marketing Cloud.
  • Added support for Apple AdServices to measure Apple Search Ads campaign when the framework is integrated (#7860).
  • Removed deprecated Apple iAd integration.

App Distribution

  • Fixed bug where testers were sent to the wrong URL when signing in (#10772).

Authentication

  • Fixed a bug where user is created in a specific tenant although tenantID was not specified (#10748).
  • Fixed a bug where the resolver exposed in MFA is not associated to the correct app (#10690).

Crashlytics

  • Integrated with Firebase sessions library to enable upcoming features related to session-based crash metrics. If your app uses the Crashlytics SDK, review Firebase's data disclosure page to make sure that your app's privacy details in the App Store are accurate and complete.

Cloud Firestore

  • Fix a potential high memory usage issue.

FCM

  • The configure flow now validates existence of an APNs token before fetching an FCM token (#10742). This also addresses the scenario mentioned in the issue comment.

Performance Monitoring

  • Integrated with Firebase sessions library and replaced the session information associated with performance metrics with session details provided by the Firebase sessions library. If your app uses the Performance Monitoring SDK, review Firebase's data disclosure page to make sure that your app's privacy details in the App Store are accurate and complete.
  • Changed definition of sessions, as Performance Monitoring now depends on the new Firebase sessions library.

Version 10.5.0 - February 7, 2023

Authentication

  • Use team player ID, game player ID and fetchItems for signature verification (#10441).
  • Prevent keychain pop-up when accessing Firebase Auth keychain in a Mac app. Note that using Auth in a Mac app requires that the app is signed with a provisioning profile that has the Keychain Sharing capability enabled (see Firebase 9.6.0 release notes) (#10582).

Cloud Firestore

  • Added @discardableResult to the addDocument API for easy handling of unused return values (