- [changed] Improved error handling in FCM by mapping more server-side errors to client-side error codes.
- [feature] Added the
firebase_admin.messaging
module for sending Firebase notifications and managing topic subscriptions.
- [added] The 'verify_id_token()'
function now accepts an optional
check_revoked
parameter. WhenTrue
, an additional check is performed to see whether the token has been revoked. - [added] A new 'auth.revoke_refresh_tokens(uid)' function has been added to invalidate all tokens issued to a user.
- [added] A new
tokens_valid_after_timestamp
property has been added to the
'UserRecord', class indicating the time before which tokens are not valid.
- [added] 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_CONFIG
environment variable.
- [added] The
db.Reference.get()
method now accepts an optionalshallow
argument. If set toTrue
this causes the SDK to execute a shallow read, which does not retrieve the child node values of the current reference.
- [added] A new
instance_id
API that facilitates deleting instance IDs and associated user data from Firebase projects.
- [added] Added the
list_users()
function to thefirebase_admin.auth
module. This function enables listing or iterating over all user accounts in a Firebase project. - [added] Added the
set_custom_user_claims()
function to thefirebase_admin.auth
module. This function enables setting custom claims on a Firebase user. The custom claims can be accessed via that user's ID token.
- [changed] Updated the
start_at()
,end_at()
andequal_to()
methods of thedb.Query
class so they can accept empty string arguments.
- [added] A new
Firestore
API that enables access to Cloud Firestore databases.
- [added] The
db.Reference
class now has aget_if_changed()
method, which retrieves a database value only if the value has changed since last read. - [added] The options dictionary passed to
initialize_app()
function can now contain anhttpTimeout
option, which sets the timeout (in seconds) for outbound HTTP connections started by the SDK.
- [added] You can now get the ETag value of a database reference by passing
etag=True
to theget()
method of adb.Reference
object. - [added] The
db.Reference
class 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. - [changed] Fixed an issue with the
transaction()
method that prevented you from updating scalar values in a transaction.
- [added] A new Cloud Storage API
that facilitates accessing Google Cloud Storage buckets using the
google-cloud-storage
library.
- [added] 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.auth
module.
- [added] The
db.Reference
class now exposes atransaction()
method, which can be used to execute atomic updates on database references.
- [changed] Constructors of
Certificate
andRefreshToken
credential 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. - [changed] Better integration with the
google-auth
library for making authenticated HTTP requests from the SDK.
- [added] 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.
- [changed] This SDK has been migrated from
oauth2client
to the newgoogle-auth
library.
- [changed] This SDK now supports verifying ID tokens when initialized with application default credentials.
- [added] Initial release of the Admin Python SDK. See Add the Firebase Admin SDK to your Server to get started.
- [added] Implemented the
firebase_admin
module, which provides theinitialize_app()
function for initializing the SDK with a credential. - [added] Implemented the
firebase_admin.credentials
module, which contains constructors forCertificate
,ApplicationDefault
andRefreshToken
credential types.
- [added] Implemented the
firebase_admin.auth
module, which providescreate_custom_token()
andverify_id_token()
functions for minting custom authentication tokens and verifying Firebase ID tokens.