To review release notes for the Firebase console and for other Firebase platforms and related SDKs, refer to the Firebase Release Notes.
Version 7.1.0 - 31 July, 2025
Authentication
- Updated
ActionCodeSettingsto supportlink_domain, allowing you to customize the Firebase Hosting domain used in email action flows. As part of this change,dynamic_link_domainhas been deprecated. Thanks huwmartin for The contribution.
Version 7.0.0 - 17 July, 2025
- Dropped support for Python 3.7 and 3.8.
- Deprecated support for Python 3.9. Use Python 3.10 or higher when deploying the Admin SDK.
Removed the dependency on
google-api-python-clientgreatly reducing the SDK's bundle size.Upgraded
google-cloud-firestoredependency version to to 2.21.0+.Upgraded
google-cloud-storagedependency version to 3.1.1+.Upgraded
google-api-coredependency version to 2.25.1+.
Cloud Messaging
- Dropped support for
send_all()andsend_multicast()APIs. Usesend_each()andsend_each_for_multicast()APIs or their async counter partssend_each_async()andsend_each_for_multicast_async()APIs instead.
Firebase ML
- Dropped AutoML model support.
Cloud Functions
- Replaced usage of deprecated
datetime.utcnow()withdatetime.now(timezone.utc).
Version 6.9.0 - 05 June, 2025
Cloud Messaging
- Added support for
live_activity_tokenfield in FCMAPNSConfig. - Added
send_each_async()andsend_each_for_multicast_async()APIs with async and HTTP/2 support. - Optimized success count calculation in
BatchResponse. Thanks mingi3314 for the contribution.
Version 6.8.0 - 24 April, 2025
- Deprecated support for Python 3.8. Use Python 3.9 or higher when deploying the Admin SDK.
Cloud Messaging
- Added support for
proxyfield in FCMAndroidNotification.
Version 6.7.0 - 12 March, 2025
Remote Config
- Added support for configuring Remote Config server applications.
Realtime Database
- Fixed a bug that caused reference listeners to ignore the database name set when connected to the Realtime Database emulator. Thanks aiueo-1234 for the contribution.
Version 6.6.0 - 07 November, 2024
- Added support for passing
google.authtyped credentials directly intoinitialize_app().
Cloud Firestore
- Upgraded the
google-cloud-firestoredependency tov2.19.0. - Added support for multiple Cloud Firestore named databases.
Version 6.5.0 - 11 March, 2024
- Added new exceptions to handle rate limiting auth errors. Thanks skion for the contribution.
- Exported rate limiting auth errors types
TooManyAttemptsTryLaterErrorandResetPasswordExceedLimitError.
Cloud Functions
- Added an API to enqueue functions with Cloud Tasks.
Version 6.4.0 - 23 January, 2024
Cloud Messaging
- Exported
send_eachandsend_each_for_multicastAPIs from the Cloud Messaging module. Thanks MarcoTomasRodriguez for the contribution. - Enabled the
direct_boot_okparameter for FCM Android config.
Version 6.3.0 - 05 December, 2023
- Deprecated support for Python 3.7. Use Python 3.8 or higher when deploying the Admin SDK.
Authentication
Correctly catch
DefaultCredentialsErrorwhen looking upproject_id.Added optional
clock_skew_secondsparameter for token generation in theverify_id_token()andverify_session_cookie()APIs. Thanks stillmatic for the contribution.
App Check
- Add
PyJWKClientErrorto raised errors documentation and handle possible uncaught errors.
Version 6.2.0 - 22 June, 2023
Cloud Messaging
Added
send_each()andsend_each_for_multicast()APIs.send_all()andsend_multicast()APIs are now deprecated. Usesend_each()andsend_each_for_multicast()APIs instead.
Authentication
- Update Auth APIs to use
v2service endpoints.
Version 6.1.0 - 02 February, 2023
Cloud Firestore
- Upgraded the
google-cloud-firestoredependency tov2.9.1to support theCOUNTqueries API.
Firebase ML
- Deprecated AutoML model support. AutoML model support will be removed in the next major version.
Version 6.0.1 - 17 October, 2022
App Check
- Included
PyJWTdependency in the distribution artifacts.
Version 6.0.0 - 06 October, 2022
- Dropped support for Python 3.6. Developers should use Python 3.7 or higher with the Admin SDK.
App Check
- Added a new
app_check.verify_token()API to verify App Check tokens.
Version 5.4.0 - 22 September, 2022
- Deprecated support for Python 3.6. Developers are advised to use Python 3.7 or higher when deploying the Admin SDK.
Authentication
- Fixed an incorrect key used to set
memory_costconfig in theauth.UserImportHash.standard_scrypt()API.
Version 5.3.0 - 25 August, 2022
Cloud Firestore
- Added asynchronous support for Cloud Firestore APIs.
Version 5.2.0 - 15 December, 2021
Authentication
- Added support for configuring the authorization code flow for OIDC providers.
Version 5.1.0 - 04 November, 2021
Authentication
- Added the ability to delete providers from a user record by
passing a list of provider IDs to the
update_user()API. Thanks hardikns for the contribution.
Version 5.0.3 - 23 September, 2021
Authentication
- Improved the performance of the
list_users()API by reducing the amount of repeated processing that happens during pagination.
Version 5.0.2 - 13 August, 2021
Authentication
- When
check_revokedis set toTrue, theverify_id_token()andverify_session_cookie()APIs now throw an error if the user record is disabled.
Cloud Messaging
- Fixed a concurrency issue in the
send_all()andsend_multicast()APIs by instantiating a newgoogleapiclienttransport instance for each invocation of those functions.
Version 5.0.1 - 17 June, 2021
Authentication
- Added the missing
EMAIL_NOT_FOUNDerror code.
Version 5.0.0 - 28 April, 2021
- Dropped support for Python 3.5. Developers should use Python 3.6 or higher when deploying the Admin SDK.
- Upgraded
google-cloud-firestoredependency version to to 2.1.0. - Upgraded
google-cloud-storagedependency version to 1.37.1. - Upgraded
google-api-coredependency version to 1.22.1. - The SDK now accepts path-like objects in credential factory functions.
Authentication
- Added Authentication emulator support via the
FIREBASE_AUTH_EMULATOR_HOSTenvironment variable. Thanks muru for the contribution.
Version 4.5.3 - 18 March, 2021
Authentication
- The Authentication API now respects the
httpTimeoutset in app options. Thanks daniellehanks for the contribution.
Version 4.5.2 - 18 February, 2021
- Fixed a bug that prevented the proper operation of the SDK when used
with certain versions of the
urllib3package. Thanks xmo-odoo for the contribution.
Version 4.5.1 - 12 January, 2021
Realtime Database
- Added support for handling RTDB URLs that point to instances hosted in non-US regions.
Version 4.5.0 - 09 December, 2020
- Deprecated support for Python 3.5. Developers are advised to use Python 3.6 or higher when deploying the Admin SDK.
Cloud Messaging
- The SDK now correctly handles low-level runtime errors raised by the
googleapiclientpackage while sending batch requests.
Version 4.4.0 - 15 September, 2020
Firebase ML
- Added support for creating, updating, getting, listing, publishing, unpublishing, and deleting Firebase-hosted custom ML models created with AutoML.
Version 4.3.0 - 14 May, 2020
Authentication
- Added
get_users()anddelete_users()APIs for retrieving and deleting user accounts in bulk.
Version 4.2.0 - 30 April, 2020
Authentication
- Added a new
tenant_mgtmodule that provides APIs for creating, updating, retrieving, and deleting authentication tenants. - Added a new
tenant_mgt.auth_for_tenant()function that returns a client object scoped to a specific tenant for performing tenant-aware user management operations. - Added the
auth.OIDCProviderConfigtype and related functions to create, retrieve, update and delete OIDC auth provider configurations. - Added the
auth.SAMLProviderConfigtype and related functions to create, retrieve, update and delete SAML auth provider configurations.
Version 4.1.0 - 21 April, 2020
Firebase ML
- Added a new
mlmodule for creating, updating, getting, listing, publishing, unpublishing, and deleting Firebase-hosted custom ML models. See the Firebase documentation to learn more about how to use the Admin SDK to manage ML models.
Version 4.0.1 - 26 March, 2020
Cloud Messaging
- Returning more descriptive error messages from the topic management APIs.
Realtime Database
- Fixed a regression in the
listen()API that prevented its use in the v4.0.0 release.
Version 4.0.0 - 24 February, 2020
- Python 2 and 3.4 are no longer supported. Developers must use Python 3.5 or higher when using the Python Admin SDK.
- Upgraded the
cachecontroldependency to the latest available. - The Admin SDK now sets a default timeout of 120 seconds on all outgoing HTTP requests.
Cloud Messaging
- The
AndroidNotificationclass now correctly formats theevent_timefield sent to the Firebase Cloud Messaging service. - Fixed an incorrect error message logged by the
messagingmodule when calling the batch send APIs.
Version 3.2.1 - 11 December, 2019
Cloud Messaging
- Boolean parameters in
AndroidNotificationare now correctly encoded.
Version 3.2.0 - 13 November, 2019
Cloud Messaging
- Added a series of new parameters to the
AndroidNotificationclass that allow further customization of notifications that target Android devices. - Batch messaging APIs
send_all()andsend_multicast()now support sending up to 500 messages in a single call.
Version 3.1.0 - 23 October, 2019
Authentication
- Added
auth.InsufficientPermissionErrortype to represent operations that fail due to the credential lacking a required permission. - User management APIs now correctly raise
auth.EmailAlreadyExistsErrorwhen an already in-use email address is specified for a user.
Cloud Messaging
-
Messageclass now implements the__str__()contract which can be used to obtain a string representation of aMessageinstance.
Version 3.0.0 - 11 September, 2019
- Python 2.7 support is now deprecated. Developers are advised to use Python 3.4 or higher to run the Admin SDK.
- Removed old module-level exception types
auth.AuthError,db.ApiCallError,messaging.ApiCallError,instance_id.ApiCallErrorandproject_management.ApiCallError. - Added a new
exceptionsmodule that defines base exception types for the entire SDK. Public APIs now raise exceptions defined in the newexceptionsmodule (or subtypes of them). This facilitates implementing fine-grained error handling logic for a wide range of scenarios that was not supported before. See the migration guide for instructions on how to port your existing error handling code. - Upgraded
google-cloud-firestoredependency version to to 1.14.0. - Upgraded
google-cloud-storagedependency version to 1.18.0.
Project Management
-
IosApp,IosAppMetadataandShaCertificatetypes in theproject_managementmodule have been renamed toIOSApp,IOSAppMetadataandSHACertificaterespectively.
Authentication
- It is no longer possible to delete user properties with the
update_user()API by setting properties toNone. Setting properties toNoneleaves those properties unchanged. They must be explicitly set toauth.DELETE_ATTRIBUTEto delete them.
Cloud Messaging
Added support for sending an image URL in notifications. Thanks cchamm for the contribution.
The deprecated
WebpushFcmOptionstype has been removed. Developers must use the PEP8 compliant type nameWebpushFCMOptionsinstead.
Version 2.18.0 - 21 August, 2019
Cloud Messaging
The
WebpushFcmOptionstype is now deprecated. Developers should use the PEP8 compliant type nameWebpushFCMOptionsinstead.Added support for specifying the Analytics label for notifications. Thanks willawang8908 for the contribution.
Added support for arbitrary key-value pairs in
messaging.ApsAlert. Thanks viktorasl for the contribution.
Realtime Database
- Developers can now test Realtime Database API calls by directing
the SDK traffic to the RTDB emulator. Set the
FIREBASE_DATABASE_EMULATOR_HOSTenvironment variable to specify the emulator endpoint inhost:portformat.
Version 2.17.0 - May 23, 2019
Firebase Cloud Messaging
- A new
messaging.send_multicast()API for sending a message to a list of device registration tokens. Thanks ZachOrr for the contribution. - A new
messaging.send_all()API for sending a list of messages as a single batch.
Authentication
- A new
auth.DELETE_ATTRIBUTEconstant that can be used with theupdate_user()API to remove certain attributes from user accounts. This is now the preferred way to delete attributes likedisplay_name,photo_urlandcustom_claims.
Version 2.16.0 - February 21, 2019
- The Admin SDK now automatically retries HTTP requests on all 500 and 503 errors, regardless of the HTTP method.
- The Admin SDK no longer bundles the
integrationmodule into the release artifact.
Authentication
- Added the email action link generation APIs for creating links for password reset, email verification and email link sign-in. See documentation for more details and code samples. Thanks hardikns for the contribution.
- The user management API now uses the new Google Identity Toolkit REST API. Thanks hardikns for the contribution.
Version 2.15.1 - January 23, 2019
- Implemented HTTP retries. The SDK now automatically retries HTTP calls on low-level connection and socket read errors as well as HTTP 500 and 503 errors.
Version 2.15.0 - January 16, 2019
- Dropped support for Python 3.3. Developers on Python 3 must use 3.4 or higher. Support for Python 2.7 has not changed.
- Declared a direct dependency on
google-api-core[grpc]in order to resolve some long-standing Firestore installation problems.
Cloud Messaging
- The
messaging.Apsclass now supports configuring a critical alert sound. A newmessaging.CriticalSoundclass has been introduced for this purpose. -
messaging.WebpushConfigclass now supports configuring additional FCM options for the features supported by the Firebase web SDK. A newmessaging.WebpushFcmOptionsclass has been introduced for this purpose.
Version 2.14.0 - December 04, 2018
- A new
project_managementAPI for managing apps in a Firebase project. - New
list_android_apps()andlist_ios_apps()methods for listing the existing apps in a project. - New
create_android_app()andcreate_ios_app()methods for creating new apps in a project. - New
AndroidAppandIosAppAPIs for updating individual apps.
Realtime Database
- Fixed a performance issue in the
db.listen()API where it was taking a long time to process large RTDB nodes. - Fixed how the SDK handles special characters in node names.
Cloud Messaging
-
messaging.AndroidNotificationtype now supports specifying achannel_idwhen sending messages to Android O devices. Thanks chemidy for the contribution - Improved error handling by requesting a more verbose error response from the FCM backend service.
Authentication
- Fixed the property
UserRecord.tokens_valid_after_timeso that it always returns an integer, and never returnsNone.
Version 2.13.0 - August 21, 2018
Realtime Database
- The
db.Referencetype now provides alisten()API for receiving realtime update events from the Firebase Database. Thanks the-c0d3r and rizasif for the contributions. - The
db.reference()method now optionally takes a URL parameter. This can be used to access multiple Firebase Realtime Database instances in the same project more easily.
Cloud Messaging
- The
messaging.WebpushNotificationtype now supports additional parameters.
Version 2.12.0 - July 17, 2018
- The Admin SDK can now read the Firebase/Google Cloud Platform
project ID from both
GCLOUD_PROJECTandGOOGLE_CLOUD_PROJECTenvironment variables.
Authentication
- The Admin SDK can now create custom tokens without being initialized with service account credentials.
- The SDK now accepts a
serviceAccountIdapp option, which can be used to set just the client email of a service account. - When deployed in an environment managed by Google (e.g. Google App Engine), the SDK can auto discover a service account ID without any explicit configuration.
Version 2.11.0 - May 31, 2018
Authentication
- A new
import_users()method for importing users to Firebase Auth in bulk.
Realtime Database
- The
Reference.update()method can now be invoked with dictionaries containingNonevalues. Child keys withNonevalues are deleted from the database.
Version 2.10.0 - April 12, 2018
Authentication
- A new
create_session_cookie()method for creating a session cookie from a Firebase ID token. - A new
verify_session_cookie()method for validating a given session cookie string. - The
authmodule now caches the public key certificates used to verify ID tokens and session cookies, thus avoiding a network call everytime a credential needs to be verified.
Cloud Messaging
- Added the
mutable_contentoptional field to themessaging.Apstype. This can be used to set themutable-contentproperty when sending FCM messages to APNs targets. - Added support for specifying arbitrary key-value fields in the
messaging.Apstype.
Version 2.9.1 - March 15, 2018
Cloud Messaging
- Improved error handling in the
messaging.send()API. Exceptions raised by this API now contain the correct error codes as defined in the documentation. - The
messagingmodule now supports specifying an HTTP timeout for all egress requests. Pass thehttpTimeoutoption tofirebase_admin.initialize_app()before invoking any functions inmessaging. Thanks carsongee for the contribution.
Version 2.9.0 - February 14, 2018
Cloud Messaging
- A new
firebase_admin.messagingmodule for sending FCM messages and managing topic subscriptions. - A new
send()function for sending FCM messages. - A new
subscribe_to_topic()function for subscribing a list of device registration tokens to a FCM topic. - A new
unsubscribe_from_topic()function for unsubscribing a list of device registration tokens from a FCM topic.
Authentication
- The
verify_id_token()function now accepts an optionalcheck_revokedparameter. WhenTrue, an additional check is performed to see whether the token has been revoked. - A new
revoke_refresh_tokens()function to invalidate all tokens issued to a user. - A new
tokens_valid_after_timestampproperty has been added to theUserRecordclass to indicate the time before which tokens are not valid.
Version 2.8.0 - January 11, 2018
Initialization
- The
initialize_app()method can now be invoked without any arguments. This initializes an app using Google Application Default Credentials, and other options loaded from theFIREBASE_CONFIGenvironment variable.
Realtime Database
- The
db.Reference.get()method now accepts an optionalshallowargument. If set toTruethis causes the SDK to execute a shallow read, which does not retrieve the child node values of the current reference.
Version 2.7.0 - December 21, 2017
- A new
instance_idAPI that facilitates deleting instance IDs and associated user data from Firebase projects.
Version 2.6.0 - December 08, 2017
Authentication
- Added the
list_users()function to thefirebase_admin.authmodule. This function enables listing or iterating over all user accounts in a Firebase project. - Added the
set_custom_user_claims()function to thefirebase_admin.authmodule. This function enables setting custom claims on a Firebase user. The custom claims can be accessed via that user's ID token.
Realtime Database
- Updated the
start_at(),end_at()andequal_to()methods of thedb.Queryclass so they can accept empty string arguments.
Version 2.5.0 - November 07, 2017
- A new
FirestoreAPI that enables access to Cloud Firestore databases.
Version 2.4.0 - September 21, 2017
Realtime Database
- The
db.Referenceclass now has aget_if_changed()method, which retrieves a database value only if the value has changed since last read. - The options dictionary passed to
initialize_app()function can now contain anhttpTimeoutoption, which sets the timeout (in seconds) for outbound HTTP connections started by the SDK.
Version 2.3.0 - August 30, 2017
Realtime Database
- You can now get the ETag value of a database reference by passing
etag=Trueto theget()method of adb.Referenceobject. - The
db.Referenceclass now has aset_if_unchanged()method, which you can use to write to a database location only when the location has the ETag value you specify. - Fixed an issue with the
transaction()method that prevented you from updating scalar values in a transaction.
Version 2.2.0 - August 14, 2017
- A new Cloud Storage API
that facilitates accessing Google Cloud Storage buckets using the
google-cloud-storagelibrary.
Authentication
- A new user management API that allows provisioning and managing
Firebase users from Python applications. This API adds
get_user(),get_user_by_email(),get_user_by_phone_number(),create_user(),update_user()anddelete_dser()methods to thefirebase_admin.authmodule.
Realtime Database
- The
db.Referenceclass now exposes atransaction()method, which can be used to execute atomic updates on database references.
Version 2.1.1 - July 25, 2017
- Constructors of
CertificateandRefreshTokencredential types can now be invoked with either a file path or a parsed JSON object. This facilitates the consumption of service account credentials and refresh token credentials from sources other than the local file system. - Better integration with the
google-authlibrary for making authenticated HTTP requests from the SDK.
Version 2.1.0 - June 28, 2017
- A new database API that facilitates basic data manipulation operations (create, read, update and delete), and advanced queries. Currently, this API does not support realtime event listeners. See Add the Firebase Admin SDK to your Server to get started.
Version 2.0.0 - May 17, 2017
- This SDK has been migrated from
oauth2clientto the newgoogle-authlibrary.
Authentication
- This SDK now supports verifying ID tokens when initialized with application default credentials.
Version 1.0.0 - April 04, 2017
- Initial release of the Admin Python SDK. See Add the Firebase Admin SDK to your Server to get started.
Initialization
- Implemented the
firebase_adminmodule, which provides theinitialize_app()function for initializing the SDK with a credential. - Implemented the
firebase_admin.credentialsmodule, which contains constructors forCertificate,ApplicationDefaultandRefreshTokencredential types.
Authentication
- Implemented the
firebase_admin.authmodule, which providescreate_custom_token()andverify_id_token()functions for minting custom authentication tokens and verifying Firebase ID tokens.