Skip to content

Releases: kreait/firebase-php

5.22.0

30 Jul 23:25
e3fd9a2
Compare
Choose a tag to compare

Added

  • Added support for Realtime Database Auth Variable Overrides (#625) (Documentation)
  • Added support for linking IdP credentials to an existing account (#635) (Documentation)

Changes

  • Database Rules are now uploaded as pretty-printed JSON to improve readability when viewing them in the Firebase Console.

Notes

  • Remote Config templates now support up to 3000 parameters (instead of up to 2000 parameters)

If you or your team rely on this project and me maintaining it, please consider becoming a Sponsor 🙏

5.21.0

16 Jul 00:41
4ffd194
Compare
Choose a tag to compare

Added

Changes

  • Bumped kreait/firebase-tokens to ^1.16
  • Updated version constraints of psr/cache to allow newer releases
  • Updated version constraints of psr/log to allow newer releases

5.20.1

12 May 13:45
5c5c8f3
Compare
Choose a tag to compare

Fixed

  • Restored broken support for Guzzle 6.x

5.20.0

11 May 16:29
8f1ee07
Compare
Choose a tag to compare

Dropped support for unsupported PHP versions. Starting with this release, supported are PHP versions >=7.4.

5.19.0

08 May 22:16
3e056f7
Compare
Choose a tag to compare

Added

Added the startAfter and endBefore filters for the Realtime Database. At the moment they don't seem to have an effect on the returned results (just as if they didn't exist); it's unclear if the implementation is incorrect or if the REST API doesn't support the new
filters yet. If you see why it's not working or if it does work for you, please let me know.

Changed

CloudMessage::withData() allowed the message data to be empty, resulting in the Firebase API rejecting the message. If the message data is empty, the field is now removed before sending the message. (#591)

5.18.0

19 Apr 00:44
2fb3778
Compare
Choose a tag to compare

Added support for more public keys from Google that ID Tokens could have been signed with.

5.17.1

13 Apr 21:24
b8cf375
Compare
Choose a tag to compare

Fixed

5.16.0 introduced a check for reserved words and prefixes in FCM Data Payloads - although stated otherwise in the official documentation, the keyword notification is not be rejected by the Firebase API, causing projects to break that used it and updated the SDK. This release removes the check for this key.

5.17.0

21 Mar 20:08
c2fae94
Compare
Choose a tag to compare

Added

Changed

  • giggsey/libphonenumber-for-php is now an optional dependency instead of a required one. It can be used to validate a phone number before sending it to the Firebase Servers, where an invalid phone number will be rejected anyway. If you want to continue using the "pre"-validation, please add the library to your project's direct dependencies, e.g. with composer require giggsey/libphonenumber-for-php:^8.9". (#577)

5.16.0

06 Mar 23:47
f94113d
Compare
Choose a tag to compare

Fixed

  • It was not possible to send password reset emails to users belonging to a tenant. (#573)

Changed

  • FCM Data Payloads are now checked for reserved words and prefixes, according to the FCM Data Messages Documentation. Reserved words include "from", "notification," "message_type", or any word starting with "google" or "gcm." Instead of throwing an exception after the FCM API has rejected a message, the exception will no be thrown before sending the message. (#574)

5.15.0

01 Mar 01:07
2732040
Compare
Choose a tag to compare

Added

  • All main components of the SDK are now based on Interfaces in the Kreait\Firebase\Contract namespace. This should enable projects implementing the SDK to mock the components more easily (Note: the Kreait\Firebase\Factory class is not provided as a contract, and you should not rely on it in your tests).

    The added contracts are:

    • \Kreait\Firebase\Contract\Auth
    • \Kreait\Firebase\Contract\Database
    • \Kreait\Firebase\Contract\DynamicLinks
    • \Kreait\Firebase\Contract\Firestore
    • \Kreait\Firebase\Contract\RemoteConfig
    • \Kreait\Firebase\Contract\Storage

Changed

  • More explanatory error messages when
    • a requested Realtime Database instance could not be reached
      rtdb

    • an FCM target device is not known to the current project
      messaging