Changelog History
Page 2
-
v7.20.0 Changes
July 17, 2025You 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
- Enable getting a user by their federated IdP UID by @jeromegamez in #1003
- ➕ Add and address PHPStan strict rules by @jeromegamez in #1006
- ➕ Add previous exceptions to api exceptions by @BackEndTea in #1008
🆕 New Contributors
- @BackEndTea made their first contribution in #1008
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()andKreait\Firebase\Http\HttpClientOptions::withGuzzleMiddlewares()now accept callable strings, in addition to callables. (#1004)
🗄 Deprecated
- ⏪
Kreait\Firebase\Factory::withFirestoreDatabase()
- ⏪ You can now save on method call by passing a custom Firestore database name to
-
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 theGOOGLE_APPLICATION_CREDENTIALSenvironment 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.
- 🚚 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
-
v6.9.2 Changes
October 17, 2022🛠 Fixed
- ✂ Removed
"replace": {"symfony/polyfill-mbstring": "*"}fromcomposer.jsonbecause it made SDK updates uninstallable in projects that require other libraries needing it. (#742
- ✂ Removed
-
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
- ➕ Added
-
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()
- ➕ Added support for Remote Config Personalization
(#731/#733)
-
v6.8.0 Changes
August 20, 2022➕ Added
- ➕ Added
Auth::queryUsers()to process subsets of users with more parameters thanAuth::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)
- ➕ Added
-
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