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
- Start Firebase Data Connect Schema and Query design tools from Xcode. See the instructions on GitHub for more information.
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 theFirebaseAI
module and use the top-levelFirebaseAI
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. UsetotalTokens
instead (#15056).
Analytics
- Breaking change: The deprecated
AdIdSupport
andWithoutAdIdSupport
subspecs,FirebaseAnalyticsOnDeviceConversion
, andGoogleAppMeasurementOnDeviceConversion
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 valueNO
to your app'sInfo.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
-typedproductID
s that were in favor of API that leverages theAuthProviderID
enum. Note, this only affects Swift clients. - Breaking Change:
TOTPSecret.openInOTPApp(withQRCodeURL:)
is now labeled with@MainActor
and requires theawait
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.
Dynamic Links
- Breaking change: FirebaseDynamicLinks has been removed. See https://firebase.google.com/support/dynamic-links-faq for more info.
Cloud Functions
- Breaking Change: Mark
HTTPSCallable
andHTTPSCallableOptions
asfinal
classes for Swift clients. This was to achieve Swift 6 checkedSendable
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 arraySchema
types. (#14971) - Added support for configuring the "thinking" budget when using Gemini 2.5 series models. (#14909)
- Deprecated
CountTokensResponse.totalBillableCharacters
; usetotalTokens
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
- Released Open Beta support for on-device conversion measurement using event data.
- 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 theFirebaseAI
module and use the top-levelFirebaseAI
class. See details in the migration guide.
- Fixed
ModalityTokenCount
decoding when thetokenCount
field is omitted; this occurs when the count is 0 (#14745). - Fixed
Candidate
decoding whenSafetyRating
values are missing a category or probability; this may occur when using Gemini for image generation (#14817).
Crashlytics
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 newFirebaseAI
module. See the Firebase AI release notes for migration details and new changes.
Note: Existing Vertex AI in Firebase users may continue to useimport FirebaseVertexAI
and theVertexAI
top-level class, though these will be removed in a future release. - Fixed
ModalityTokenCount
decoding when thetokenCount
field is omitted; this occurs when the count is 0 (#14745).
Version 11.12.0 - April 21, 2025
- Firebase now requires at least Xcode 16.2. See the Xcode release notes for more info.
Authentication
- Fix a
fatalError
unenrolling from MFA. An invalid user token now throws aninvalidUserToken
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 PostgreSQLjsonb_build_object
.AnyValue
now internally stores data as a JSON value / dictionary instead ofSwift.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 typesDataConnectInitError
,DataConnectCodecError
,DataConnectOperationError
. Note that if you have code using aswitch
on the previous error enum, you will need to update that code. See the PR for a usage example andDataConnectError.swift
for implementation details. - Support for partial errors via the above mentioned
DataConnectOperationError
.
Cloud Firestore
- Fixed the
null
value handling inisNotEqualTo
andnotIn
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), andpropertyOrdering
(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
orImagenModel
(#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 toDataSnapshot
(#14369).
Cloud Firestore
- Fixed memory leak in
Query.whereField()
(#13978).
Cloud Functions
- Fixed App Check token reporting to enable differentiating outdated
(
MISSING
) and inauthentic (INVALID
) clients; see Monitor App Check request metrics for Cloud Functions for more details.
FCM
- Migrate FCM codebase to new NSKeyedUnarchiver APIs (#14424).
Remote Config
- Mark internal
fetchSession
property asatomic
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 fordebug.dylib
DWARF content getting generated when build with--build-phase
option. Addeddebug.dylib
DWARF content to run script input file list for user who enabled user script sandboxing (#14054). - Updated all memory allocation from
malloc()
tocalloc()
(#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 unexpectedlynil
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 soServerTimestamp<T>
isSendable
ifT
isSendable
(#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 withUIWindow.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)
andVertexAI.vertexAI(app: app2)
would return the same instance if theirlocation
was the same, including the defaultus-central1
(#14007). - Removed
format: "double"
inSchema.double()
since double-precision accuracy isn't enforced by the model; continue using the SwiftDouble
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.
- If you're new to this library, visit the getting started guide.
- If you used the preview version of the library, visit the migration guide to learn about some important updates.
- Breaking Change: The
HarmCategory
enum is no longer nested inside theSafetySetting
struct and theunspecified
case has been removed (#13686). - Breaking Change: The
BlockThreshold
enum inSafetySetting
has been renamed toHarmBlockThreshold
(#13696). - Breaking Change: The
unspecified
case has been removed from theFinishReason
,BlockReason
andHarmProbability
enums; this scenario is now handled by the existingunknown
case (#13699). - Breaking Change: The property
citationSources
ofCitationMetadata
has been renamed tocitations
(#13702). - Breaking Change: The initializer for
Schema
is now internal; use the new type methodsSchema.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 benull
in cases such as when aGenerateContentRequest
contains only images or other non-text content (#13721). - Breaking Change: The
ImageConversionError
enum is no longer public; image conversion errors are still reported asGenerateContentError.promptImageContentError
(#13735). - Breaking Change: The
CountTokensError
enum has been removed; errors occurring inGenerativeModel.countTokens(...)
are now thrown directly instead of being wrapped in aCountTokensError.internalError
(#13736). - Breaking Change: The enum
ModelContent.Part
has been replaced with a protocol namedPart
to avoid future breaking changes with new part types. The new typesTextPart
andFunctionCallPart
may be received when generating content; additionally the typesInlineDataPart
,FileDataPart
andFunctionResponsePart
may be provided as input (#13767). - Breaking Change: All initializers for
ModelContent
now require the labelparts:
(#13832). - Breaking Change:
HarmCategory
,HarmProbability
, andFinishReason
are now structs instead of enums types and theunknown
cases have been removed; in aswitch
statement, use thedefault:
case to cover unknown or unhandled values (#13728, #13854, #13860). - Breaking Change: The
Tool
initializer is now internal; use the new type methodfunctionDeclarations(_:)
to create aTool
for function calling (#13873). - Breaking Change: The
FunctionCallingConfig
initializer andMode
enum are now internal; use one of the new type methodsauto()
,any(allowedFunctionNames:)
, ornone()
to create a config (#13873). - Breaking Change: The
CandidateResponse
type is now namedCandidate
. (#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 nowinternal
; 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 inRequestOptions
(#13722). - The response from
GenerativeModel.countTokens(...)
now includessystemInstruction
,tools
andgenerationConfig
in thetotalTokens
andtotalBillableCharacters
counts, where applicable (#13813). - Added a new
HarmCategory
.civicIntegrity
for filtering content that may be used to harm civic integrity. (#13728) - Added
probabilityScore
,severity
andseverityScore
inSafetyRating
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
parametermethod
inSafetySetting
that configures whether responses are blocked based on theprobability
and/orseverity
of content being in aHarmCategory
(#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
propertyblockReasonMessage
that may be provided alongside theblockReason
(#13891). - Added an optional
publicationDate
property that may be provided inCitation
(#13893). - Added
presencePenalty
andfrequencyPenalty
parameters toGenerationConfig
(#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 anil
error. In such cases, an empty array is instead returned with thenil
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 decodingtitle
fields, which were previously ignored (#13518). - Breaking Change: The methods for starting streaming requests
(
generateContentStream
andsendMessageStream
) are now throwing and asynchronous and must be called withtry await
(#13545, #13573). - Breaking Change: Creating a chat instance (
startChat
) is now asynchronous and must be called withawait
(#13545). - Breaking Change: The source image in the
ImageConversionError.couldNotConvertToJPEG
error case is now an enum value instead of theAny
type (#13575). - Added support for specifying a JSON
responseSchema
inGenerationConfig
; 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 forAuthErrorCode
(#13430). - Added custom provider support to
AuthProviderID
. Note that this change will be breaking to any code that implemented an exhaustiveswitch
onAuthProviderID
in 11.0.0 - theswitch
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:
Platform Firebase 11 iOS 13.0 tvOS 13.0 macOS 10.15 watchOS 7.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
toos_log
. - Remove
FIRLoggerForceSTDERR
configuration option. - Move
Timestamp
class intoFirebaseCore
.FirebaseFirestore.Timestamp
was changed toFirebaseCore.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
overweb.app
even if the server returns theweb.app
domain listed first (#7992). - Introduced the Swift enum
AuthProviderID
for the Auth Provider IDs (#9236). - Swift APIs using
String
-typedproductID
s have been deprecated in favor of newly added API that leverages theAuthProviderID
enum. - Breaking change: The
email
property inActionCodeInfo
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 intoFirebaseCore
.FirebaseFirestore.Timestamp
was changed toFirebaseCore.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:
FIRInAppMessagingDismissType
→InAppMessagingDismissType
FIRInAppMessagingDisplayMessageType
→InAppMessagingDisplayMessageType
FIRInAppMessagingDisplayTriggerType
→InAppMessagingDisplayTriggerType
FIAMDisplayRenderErrorType
→InAppMessagingDisplayRenderError
Note thatInAppMessagingDisplayRenderError
is now a native Swift error and can be directly caught (instead of catching anNSError
and checking the error code).
FCM
- Completed Messaging's transition to NSSecureCoding (#12343).
Remote Config
-
RemoteConfigValue.stringValue
is nownonnull
. 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
Version 10.28.0 - June 17, 2024
Analytics
- Added a new default consent state ("eu_consent_policy") for
ad_user_data
andad_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
orgemini-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).
Dynamic Links
- Dynamic Links is deprecated. For information about timelines and alternatives, see the Dynamic Links deprecation FAQ.
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 usegemini-1.5-pro-preview-0514
orgemini-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
- Fixed an issue that prevented created or modified events from activating Firebase A/B Testing experiments.
- Internal code cleanup.
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
andputFileAsync
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
- Integrated parsing of Transparency & Consent Framework (TCF) data to retrieve user consent preferences.
- Changes to analytics_storage and ad_storage in consent mode no longer trigger analytics to reset. To clear analytics data and reset the app instance ID, use resetAnalyticsData().
- Internal code cleanup.
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 incompleteInfo.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 theFirebase.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
toabsl.xcframework
BoringSSL-GRPC.xcframework
toopenssl_grpc.xcframework
gRPC-Core.xcframework
togrpc.xcframework
gRPC-C++.xcframework
togrpcpp.xcframework
leveldb-library.xcframework
toleveldb.xcframework
PromisesSwift.xcframework
toPromises.xcframework
Analytics
- Added on-device conversion measurement support for hashed email
address or hashed phone numbers with
initiateOnDeviceConversionMeasurement(hashedEmailAddress:)
andinitiateOnDeviceConversionMeasurement(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
onMap
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)
andfetchSignInMethods(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 newAppCheckCore
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 theFirebaseAnalyticsSwift
extension SDK. See theFirebaseAnalyticsSwift
release note from this release for more details.
Swift Extensions
- All of the public API from
FirebaseAnalyticsSwift
can now be accessed through theFirebaseAnalytics
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 theFirebaseDatabaseSwift
extension SDK. See theFirebaseDatabaseSwift
release note from this release for more details.
Swift Extensions
- All of the public API from
FirebaseDatabaseSwift
can now be accessed through theFirebaseDatabase
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 theFirebaseFirestoreSwift
extension SDK. See theFirebaseFirestoreSwift
release note from this release for more details.
Swift Extensions
- All of the public API from
FirebaseFirestoreSwift
can now be accessed through theFirebaseFirestore
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 theFirebaseInAppMessagingSwift
extension SDK. See theFirebaseInAppMessagingSwift
release note from this release for more details.
Swift Extensions
- All of the public API from
FirebaseInAppMessagingSwift
can now be accessed through theFirebaseInAppMessaging
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 theFirebaseRemoteConfigSwift
extension SDK. See theFirebaseRemoteConfigSwift
release note from this release for more details.
Swift Extensions
- All of the public API from
FirebaseRemoteConfigSwift
can now be accessed through theFirebaseRemoteConfig
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 (