Releases: firebase/firebase-admin-python
Releases · firebase/firebase-admin-python
Firebase Admin Python SDK v4.0.0
Breaking Changes
Bug Fixes
- fix(fcm): Passing params as keyword arguments to googleapiclient (#414)
- fix(fcm): Convert event_time to UTC (#403)
- fix: Setting a default timeout on all HTTP connections (#397)
Miscellaneous
- [chore] Release 4.0.0 (#415)
- chore: Implementing Pypi publish and Tweet steps (#410)
- Updated release trigger mechanisms (#409)
- chore: Making the separation between staging and publishing explicit (#407)
- chore: Running integration tests in release workflow (#406)
- chore: Installing wheel package during build staging (#405)
- chore: Experimental GitHub Actions based workflow for publishing releases (#402)
- Removing universal flag from binary dist configuration (#404)
- Defined linter as a separate job (#398)
- Fix send_all & send_multicast snippet comment to match implementation (#376)
- chore: Dropped the dependency on six (#385)
- Speeding up the HTTPClient tests by reusing the test server instance (#387)
- Create a GitHub Actions based CI Pipeline (#386)
- Upgraded to pylint 2.x (#384)
- Upgraded cachecontrol to latest (#378)
Firebase Admin Python SDK v3.2.1
Cloud Messaging
- [Fixed] Boolean parameters in
AndroidNotificationare now correctly encoded.
Firebase Admin Python SDK v3.2.0
Cloud Messaging
- [Feature] Added a series of new parameters to the
AndroidNotificationclass
that allow further customization of notifications that target Android devices. - [Fixed] Batch messaging APIs
send_all()andsend_multicast()now support
sending up to 500 messages in a single call.
Firebase Admin Python SDK v3.1.0
Authentication
- [Fixed] User management APIs now correctly raise
auth.EmailAlreadyExistsErrorwhen an already in-use email address is specified for a user. - [Feature] Added
auth.InsufficientPermissionErrortype to represent operations that fail due to the credential lacking a required permission.
Cloud Messaging
- [Fixed]
Messageclass now implements the__str__()contract which can be used to obtain a string representation of aMessageinstance.
Firebase Admin Python SDK v3.0.0
Note: This is a major release with breaking changes. Refer to the migration guide for details on how to port your code to the new API.
- [Changed] Python 2.7 support is now deprecated. Developers are advised to use Python 3.4 or higher to run the Admin SDK.
- [Changed] Removed old module-level exception types
auth.AuthError,db.ApiCallError,messaging.ApiCallError,instance_id.ApiCallErrorandproject_management.ApiCallError. - [Changed] 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. - [Fixed] Upgraded
google-cloud-firestoredependency version to to 1.14.0. - [Fixed] Upgraded
google-cloud-storagedependency version to 1.18.0.
Project Management
- [Changed]
IosApp,IosAppMetadataandShaCertificatetypes in theproject_managementmodule have been renamed toIOSApp,IOSAppMetadataandSHACertificaterespectively.
Authentication
- [Changed] 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
- [Feature] Added support for sending an image URL in notifications. Thanks cchamm for the contribution.
- [Changed] The deprecated
WebpushFcmOptionstype has been removed. Developers must use the PEP8 compliant type nameWebpushFCMOptionsinstead.
Firebase Admin Python SDK v2.18.0
Cloud Messaging
- [Feature] Added support for specifying the analytics label for notifications. Thanks willawang8908 for the contribution.
- [Feature] Added support for arbitrary key-value pairs in
messaging.ApsAlert. Thanks viktorasl for the contribution. - [Fixed] The
WebpushFcmOptionstype is now deprecated. Developers should use the PEP8 compliant type nameWebpushFCMOptionsinstead.
Realtime Database
- [Feature] Developers can now test their {{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.
Firebase Admin Python SDK v2.17.0
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.
Firebase Auth
- 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.
Firebase Admin Python SDK v2.16.0
- Added
generate_password_reset_link(),generate_email_verification_link()andgenerate_sign_in_with_email_link()methods to theauthAPI. - Migrated the
authuser management API to the new Identity Toolkit endpoint. - Extending HTTP retries to more HTTP methods like POST and PATCH.
Firebase Admin Python SDK v2.15.1
- Implemented HTTP retries. The SDK now retries HTTP calls on low-level connection and socket read errors, as well as HTTP 500 and 503 errors.
Firebase Admin Python SDK v2.15.0
- 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.
Firebase 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.