Compared with 10.12.5: `analytics:setCurrentScreen`, `analytics:Promotion`, `firestore:enableIndexedDbPersistence`, `firestore:enableMultiTabIndexedDbPersistence`, `firestore:setIndexConfiguration`, and 23 more. 5 newly deprecated.
firebase 10.12.5 → 13.1.0: deprecates 28 API(s): from its source to your code
analytics:setCurrentScreen: Use gtag `config` command to set `screen_name`. Use {@link (logEvent:1) | logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. See {@link https://firebase.google.com/docs/analytics/screenviews Track Screenviews}.
analytics:Promotion: Field previously used by some Google Analytics events. Use `Item` instead.
firestore:enableIndexedDbPersistence: Attempts to enable persistent storage, if possible. On failure, `enableIndexedDbPersistence()` will reject the promise or throw an exception. There are several reasons why this can fail, which can be identified by the `code` on the error. * failed-precondition: The app is already open in another browser tab. * unimplemented: The browser is incompatible with the offline persistence implementation. Note that even after a failure, the {@link Firestore} instance will remain usable, however offline persistence will be disabled. Note: `enableIndexedDbPersistence()` must be called before any other fu
firestore:enableMultiTabIndexedDbPersistence: Attempts to enable multi-tab persistent storage, if possible. If enabled across all tabs, all operations share access to local persistence, including shared execution of queries and latency-compensated local document updates across all connected instances. On failure, `enableMultiTabIndexedDbPersistence()` will reject the promise or throw an exception. There are several reasons why this can fail, which can be identified by the `code` on the error. * failed-precondition: The app is already open in another browser tab and multi-tab is not enabled. * unimplemented: The browser is incompatible wit
firestore:setIndexConfiguration: Configures indexing for local query execution. Any previous index configuration is overridden. The `Promise` resolves once the index configuration has been persisted. The index entries themselves are created asynchronously. You can continue to use queries that require indexing even if the indices are not yet available. Query execution will automatically start using the index once the index entries have been written. Indexes are only supported with IndexedDb persistence. If IndexedDb is not enabled, any index configuration is ignored. Configures indexing for local query execution. Any previous
firestore:Index: The SDK definition of a Firestore index. Instead of creating cache indexes manually, consider using `enablePersistentCacheIndexAutoCreation()` to let the SDK decide whether to create cache indexes for queries running locally.
firestore:IndexConfiguration: A list of Firestore indexes to speed up local query execution. See {@link https://firebase.google.com/docs/reference/firestore/indexes/#json_format JSON Format} for a description of the format of the index definition. Instead of creating cache indexes manually, consider using `enablePersistentCacheIndexAutoCreation()` to let the SDK decide whether to create cache indexes for queries running locally.
firestore:IndexField: A single field element in an index configuration. Instead of creating cache indexes manually, consider using `enablePersistentCacheIndexAutoCreation()` to let the SDK decide whether to create cache indexes for queries running locally.
messaging:deleteToken: Deletes the registration token associated with this {@link Messaging} instance and unsubscribes the {@link Messaging} instance from the push subscription. If there is no legacy registration token but the client has FID-based registration metadata (from {@link register}), this deletes that registration on the server, clears local metadata, and invokes {@link onUnregistered} with the removed FID when successful. Use {@link onUnregistered} to observe when the client is no longer registered and update your backend accordingly, instead of explicitly deleting the registration token with this API.
messaging:getToken: Subscribes the {@link Messaging} instance to push notifications. Returns a Firebase Cloud Messaging registration token that can be used to send push messages to that {@link Messaging} instance. If notification permission isn't already granted, this method asks the user for permission. The returned promise rejects if the user does not allow the app to show notifications. Use {@link register} together with {@link onRegistered} for Firebase Installation ID-based messaging instead of retrieving an FCM registration token with this API.
analytics:Item.brand: Use item_brand instead.
analytics:Item.category: Use item_category instead.
analytics:Item.id: Use item_id instead.
analytics:Item.name: Use item_name instead.
auth:ActionCodeSettings.dynamicLinkDomain: When multiple custom dynamic link domains are defined for a project, specify which one to use when the link is to be opened via a specified mobile app (for example, `example.page.link`). Firebase Dynamic Links is deprecated and will be shut down as early as August 2025. Instead, use {@link ActionCodeSettings.linkDomain} to set a custom domain for mobile links. Learn more in the {@link https://firebase.google.com/support/dynamic-links-faq Dynamic Links deprecation FAQ}.
auth/cordova:ActionCodeSettings.dynamicLinkDomain: When multiple custom dynamic link domains are defined for a project, specify which one to use when the link is to be opened via a specified mobile app (for example, `example.page.link`). Firebase Dynamic Links is deprecated and will be shut down as early as August 2025. Instead, use {@link ActionCodeSettings.linkDomain} to set a custom domain for mobile links. Learn more in the {@link https://firebase.google.com/support/dynamic-links-faq Dynamic Links deprecation FAQ}.
auth/web-extension:ActionCodeSettings.dynamicLinkDomain: When multiple custom dynamic link domains are defined for a project, specify which one to use when the link is to be opened via a specified mobile app (for example, `example.page.link`). Firebase Dynamic Links is deprecated and will be shut down as early as August 2025. Instead, use {@link ActionCodeSettings.linkDomain} to set a custom domain for mobile links. Learn more in the {@link https://firebase.google.com/support/dynamic-links-faq Dynamic Links deprecation FAQ}.
compat/app:firebase.analytics.Promotion: Use Item instead.
compat/app:firebase.User.linkAndRetrieveDataWithCredential: Links the user account with the given credentials and returns any available additional user information, such as user name. <h4>Error Codes</h4> <dl> <dt>auth/provider-already-linked</dt> <dd>Thrown if the provider has already been linked to the user. This error is thrown even if this is not the same provider's account that is currently linked to the user.</dd> <dt>auth/invalid-credential</dt> <dd>Thrown if the provider's credential is not valid. This can happen if it has already expired when calling link, or if it used invalid token(s). See the Firebase documentation for your provider, and ma
compat/app:firebase.User.reauthenticateAndRetrieveDataWithCredential: Re-authenticates a user using a fresh credential, and returns any available additional user information, such as user name. Use before operations such as {@link firebase.User.updatePassword} that require tokens from recent sign-in attempts. <h4>Error Codes</h4> <dl> <dt>auth/user-mismatch</dt> <dd>Thrown if the credential given does not correspond to the user.</dd> <dt>auth/user-not-found</dt> <dd>Thrown if the credential given does not correspond to any existing user. </dd> <dt>auth/invalid-credential</dt> <dd>Thrown if the provider's credential is not valid. This can happen if it has already
compat/app:firebase.auth.Auth.signInAndRetrieveDataWithCredential: Asynchronously signs in with the given credentials, and returns any available additional user information, such as user name. <h4>Error Codes</h4> <dl> <dt>auth/account-exists-with-different-credential</dt> <dd>Thrown if there already exists an account with the email address asserted by the credential. Resolve this by calling {@link firebase.auth.Auth.fetchSignInMethodsForEmail} and then asking the user to sign in using one of the returned providers. Once the user is signed in, the original credential can be linked to the user with {@link firebase.User.linkWithCredential}.</dd> <dt>auth/invali
compat/app:firebase.functions.Functions.useFunctionsEmulator: Changes this instance to point to a Cloud Functions emulator running locally. See https://firebase.google.com/docs/functions/local-emulator Prefer the useEmulator(host, port) method.
compat/app:firebase.analytics.Analytics.setCurrentScreen: Use gtag 'config' command to set 'screen_name'. Use {@link logEvent} with `eventName` as 'screen_view' and add relevant `eventParams`. See {@link https://firebase.google.com/docs/analytics/screenviews Track Screenviews}.
compat/app:firebase.analytics.Item.brand: Use item_brand instead.
compat/app:firebase.analytics.Item.category: Use item_category instead.
compat/app:firebase.analytics.Item.id: Use item_id instead.
compat/app:firebase.analytics.Item.name: Use item_name instead.
compat/app:firebase.auth.ActionCodeInfo.data.fromEmail: This field is deprecated in favor of previousEmail.