Releases: kreait/firebase-php
5.20.1
Fixed
- Restored broken support for Guzzle 6.x
5.20.0
Dropped support for unsupported PHP versions. Starting with this release, supported are PHP versions >=7.4.
5.19.0
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
Added support for more public keys from Google that ID Tokens could have been signed with.
5.17.1
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
Added
- Helper methods to specify a message priority (Documentation)
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. withcomposer require giggsey/libphonenumber-for-php:^8.9"
. (#577)
5.16.0
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
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: theKreait\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
5.14.1
5.14.0
Added
- Single reports of a
MulticastSendReport
now include the sent message, in addition to the response. - It is now possible to validate multiple messages at once by adding a parameter to the
send*
Methods (Documentation) - It is now possible to check a list of registration tokens whether they are valid and known, unknown, or invalid (Documentation)
- Added methods:
Kreait\Firebase\Messaging::validateRegistrationTokens($registrationTokenOrTokens)
Deprecated
Kreait\Firebase\Http\Requests::findBy()
Kreait\Firebase\Messaging\MulticastSendReport::withAdded()
Fixed
- 5.13 introduced a bug which caused expired ID tokens not to be rejected as invalid. #526