All Versions
175
Latest Version
Avg Release Cycle
22 days
Latest Release
132 days ago

Changelog History
Page 2

  • v7.20.0 Changes

    July 17, 2025
    • You can now get a user by their federated identity provider (e.g. Google, Facebook, etc.) UID with Kreait\Firebase\Auth::getUserByProviderUid(). (#1000).

      useKreait\Firebase\Contract\Transitional\FederatedUserFetcher;useKreait\Firebase\Factory;$auth= (newFactory())->createAuth();// The return type is Kreait\Firebase\Contract\Auth, which doesn't have the methodif(method_exists($auth,'getUserByProviderUid')) {$user=$auth->getUserByProviderUid('google.com','google-uid'); }if($authinstanceof\Kreait\Firebase\Auth) {// This is the implementation, not the interface$user=$auth->getUserByProviderUid('google.com','google-uid'); }if($authinstanceofFederatedUserFetcher) {$user=$auth->getUserByProviderUid('google.com','google-uid'); }

    • 📚 The new method Kreait\Firebase\Factory::withDefaultCache() allows you to set a default cache implementation for the SDK. This is useful if you want to use one cache implementation for all components that support caching. (Documentation)

    🗄 Deprecated

    • Kreait\Firebase\Factory::getDebugInfo

    What's Changed

    🆕 New Contributors

    Full Changelog : 7.19.0...7.20.0

  • v7.19.0 Changes

    June 14, 2025

    ➕ Added

    • ⏪ You can now save on method call by passing a custom Firestore database name to Kreait\Firebase\Factory::createFirestore($databaseName) instead of having to chain ::withFirestoreDatabase($databaseName)->createFirestore()
    • 📄 It is now possible to set live activity tokens in Apns configs.
    • Kreait\Firebase\Http\HttpClientOptions::withGuzzleMiddleware() and Kreait\Firebase\Http\HttpClientOptions::withGuzzleMiddlewares() now accept callable strings, in addition to callables. (#1004)

    🗄 Deprecated

    • Kreait\Firebase\Factory::withFirestoreDatabase()
  • v7.0.0 Changes

    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.

    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](UPGRADE-7.0.md) for more details on the changes between 6.x and 7.0.

  • v6.9.2 Changes

    October 17, 2022

    🛠 Fixed

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

    September 26, 2022

    ➕ 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
  • v6.9.0 Changes

    September 16, 2022

    ➕ 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
    • 0️⃣ Kreait\Firebase\RemoteConfig\DefaultValue::none()
    • 0️⃣ Kreait\Firebase\RemoteConfig\DefaultValue::value()
  • v6.8.0 Changes

    August 20, 2022

    ➕ 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)
  • v6.7.1 Changes

    August 17, 2022

    🛠 Fixed

    • Limits and filters were not applied to Realtime Database Queries (#725)
  • v6.7.0 Changes

    July 28, 2022

    ➕ Added

    • ➕ Added support for the Firebase Realtime Database Emulator. (#722) (Documentation)

    🔄 Changed

    • ⚡️ The default HTTP Client options have been updated (#723)
      • Connect Timeout from ∞ to 15 seconds
      • Timeout from ∞ to 30 seconds
  • v6.6.1 Changes

    July 12, 2022

    🛠 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)