Skip to content

Releases: kreait/firebase-php

7.0.0

20 Dec 17:07
f068f0b
Compare
Choose a tag to compare

The most notable change is that you need PHP 8.1/8.2 to use the new version. The language migration of the SDK introduces breaking changes concerning the strictness of parameter types almost everywhere in the SDK. However, this should not affect your project in most cases (unless you have used internal classes directly or by extension).

This release adds many more PHPDoc annotations to support the usage of Static Analysis Tools like PHPStan and Psalm and moves away from doing runtime checks. It is strongly recommended to use a Static Analysis Tool and ensure that input values are validated before handing them over to the SDK.

Added features

  • Added support for verifying Firebase App Check Tokens. (#747)

Notable changes

  • The ability to disable credentials auto-discovery has been removed. If you don't want a service account to be auto-discovered, provide it by using the withServiceAccount() method of the Factory or by setting the GOOGLE_APPLICATION_CREDENTIALS environment variable. Depending on the environment in which the SDK is running, credentials could be auto-discovered otherwise, for example, on GCP or GCE.

See UPGRADE-7.0 for more details on the changes between 6.x and 7.0.

6.9.3

03 Nov 23:39
7522705
Compare
Choose a tag to compare

Fixed

When no Service Account was provided, custom token were generated with a direct call to the Google Identity Toolkit, which could create invalid token signatures depending on the environment (e.g. GCE). Now, the provided credentials are used to sign custom tokens via the Kreait\Firebase\Auth\CustomTokenViaGoogleCredentials class. This is an internal class and should not be used directly. (#745)

Deprecated

Kreait\Firebase\Auth\CustomTokenViaGoogleIam (internal)

6.9.2

17 Oct 20:51
e827727
Compare
Choose a tag to compare

Fixed

Removed "replace": {"symfony/polyfill-mbstring": "*"} from composer.json because it made SDK updates uninstallable in projects that require other libraries needing it. (#742)

6.9.1

26 Sep 21:38
953f4ee
Compare
Choose a tag to compare

Added

  • Added Kreait\Firebase\RemoteConfig\Template::conditionNames() to return a list of condition names of a Remote Config template
  • Added Kreait\Firebase\RemoteConfig\Template::withRemovedCondition(string $name) to remove a condition from a Remote Config template by name

Fixed

  • HTTP Proxy settings were not applied to the Auth Token Handler. Because of this, outgoing, proxied requests couldn't be authenticated, effectively breaking the SDK. (#735)

6.9.0

15 Sep 23:18
8ae2e1a
Compare
Choose a tag to compare

Added

  • Added support for Remote Config Personalization (#731/#733)
    • Note: Personalization (currently) can not be added programmatically. The values can only be read and removed from a Remote Config Template. To add Personalization, use the Firebase Web Console.
  • Added Kreait\Firebase\RemoteConfig\Template::withRemovedParameter(string $name) to remove an existing parameter from a Remote Config Template
  • Added method Kreait\Firebase\RemoteConfig\Template::withRemovedParameterGroup(string $name) to remove an existing parameter group from a Remote Config Template
  • Added Kreait\Firebase\RemoteConfig\DefaultValue::useInAppDefault()

Deprecated

  • Kreait\Firebase\RemoteConfig\DefaultValue::IN_APP_DEFAULT_VALUE
  • Kreait\Firebase\RemoteConfig\DefaultValue::none()
  • Kreait\Firebase\RemoteConfig\DefaultValue::value()

6.8.0

21 Aug 22:59
3fd1fb2
Compare
Choose a tag to compare

Added

Added Auth::queryUsers() to process subsets of users with more parameters than Auth::listUsers(). listUsers() is a fast and memory-efficient way to process a large list of users. queryUsers() provides sorting and filtering by given fields and pagination. (#727/#728) (Documentation)

6.7.1

16 Aug 23:04
0a7c218
Compare
Choose a tag to compare

Fixed

  • Limits and filters were not applied to Realtime Database Queries (#725)

6.7.0

28 Jul 17:30
b091648
Compare
Choose a tag to compare

Added

Changed

  • The default HTTP Client options have been updated (#723)
    • Connect Timeout from ∞ to 15 seconds
    • Timeout from ∞ to 30 seconds

6.6.1

12 Jul 10:57
f9a9795
Compare
Choose a tag to compare

Fixed

  • The WebPushConfig class is now more lenient with TTL values, and urgencies are checked if they are valid (#716)
  • The AndroidConfig didn't allow the TTL to be null) (#719)

6.6.0

07 Jul 20:52
5725563
Compare
Choose a tag to compare

Fixed

  • The AndroidConfig class is now more lenient with TTL values (#713

Added

  • The maximum amount of messages that can be sent in batches can be accessed with Kreait\Firebase\Contract\Messaging::BATCH_MESSAGE_LIMIT