Skip to content

fix(deps): update dependency kreait/firebase-php to v7 - autoclosed#35

Closed
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/kreait-firebase-php-7.x
Closed

fix(deps): update dependency kreait/firebase-php to v7 - autoclosed#35
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/kreait-firebase-php-7.x

Conversation

@renovate

@renovate renovate Bot commented May 24, 2024

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
kreait/firebase-php ^5.0 -> ^7.0 age confidence

Release Notes

kreait/firebase-php (kreait/firebase-php)

v7.21.1

Compare Source

Fixed
  • Removed the #[SensitiveParameter] attribute because it's not supported in PHP 8.1.

v7.21.0

Compare Source

Changed
  • This release introduces Valinor for type-safe object mapping. The first application is
    mapping a given service account file, JSON, or array to the newly added internal ServiceAccount class, with more
    to follow in future releases.

v7.20.0

Compare Source

Added
  • You can now get a user by their federated identity provider (e.g. Google, Facebook, etc.) UID with
    Kreait\Firebase\Auth::getUserByProviderUid(). (#​1000)
    Since this method couldn't be added to the Kreait\Firebase\Contract\Auth interface without causing a breaking
    change, a new transitional interface/contract named Kreait\Firebase\Contract\Transitional\FederatedUserFetcher
    was added. This interface will be removed in the next major version of the SDK.
    There are several ways to check if you can use the getUserByProviderUid() method:
    use Kreait\Firebase\Contract\Transitional\FederatedUserFetcher;
    use Kreait\Firebase\Factory;
    
    $auth = (new Factory())->createAuth();
    // The return type is Kreait\Firebase\Contract\Auth, which doesn't have the method
    
    if (method_exists($auth, 'getUserByProviderUid')) {
        $user = $auth->getUserByProviderUid('google.com', 'google-uid');
    }
    
    if ($auth instanceof \Kreait\Firebase\Auth) { // This is the implementation, not the interface
        $user = $auth->getUserByProviderUid('google.com', 'google-uid');
    }
    
    if ($auth instanceof FederatedUserFetcher) {
        $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

v7.19.0

Compare Source

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.18.0

Compare Source

Added
  • It is now possible to configure multi factor authentication for a user.

v7.17.0

Compare Source

Added
  • FCM Error responses with status code 502 are now caught and converted to ServerUnavailable exceptions.

v7.16.1

Compare Source

Fixed
  • It wasn't possible to upgrade the SDK to a newer version because it required a lcobucci/jwt release that doesn't
    support PHP 8.1 anymore. This was fixed by changing the version requirement from ^5.4.2 to ^5.3.

v7.16.0

Compare Source

Added
  • It is now possible to override the Guzzle HTTP handler by using the HttpClientOptions::withGuzzleHandler() method.
    (#​956)
Changed
  • The Messaging component doesn't rely on the CloudMessage class for message handling anymore. If you provide a
    message as an array and it has an error, the Firebase API will report it. You can still use the CloudMessage
    class as a message builder
  • Deprecated the CloudMessage::withTarget() method, use the new toToken(), toTopic() or toCondition() methods instead
Deprecated
  • Kreait\Firebase\Messaging\CloudMessage::withTarget()
  • Kreait\Firebase\Messaging\CloudMessage::withChangedTarget()
  • Kreait\Firebase\Messaging\CloudMessage::target()
  • Kreait\Firebase\Messaging\CloudMessage::hasTarget()

v7.15.0

Compare Source

Added
  • Added support for rollout parameter values
    in Remote Config Templates.
    (#​923), (#​927)
    • Please note that it's not (yet?) possible to create rollouts programmatically via the Firebase API. This means that
      you have to manually create a rollout in the Firebase console to be able to reference it in the Remote Config
      template. Rollout IDs are named rollout_<number>, and you can find the ID in the URL after clicking on a rollout in the list.

v7.14.0

Compare Source

Added
  • Added support for PHP 8.4.
    • Please note: While the SDK supports PHP 8.4, not all dependencies support it. If you want to use the SDK with
      PHP 8.4, you probably will need to ignore platform requirements when working with Composer, by setting the
      appropriate environment variables
      or composer CLI options when running composer install/update/require.
Deprecated
  • Firebase Dynamic Links is deprecated and should not be used in new projects. The service will shut down on
    August 25, 2025. The component will remain in the SDK until then, but as the Firebase service is deprecated,
    this component is also deprecated.
    (Dynamic Links Deprecation FAQ)

v7.13.1

Compare Source

Fixed
  • Requests to the FCM APIs will not use HTTP/2 if the environment doesn't support them
    (#​888, #​908)

v7.13.0

Compare Source

Changed
  • Service Account auto-discovery was done on instantiation of the Factory, causing it to fail when credentials weren't
    ready yet. It will now be done the first time a component is to be instantiated.

v7.12.0

Compare Source

Fixed
  • Fix WebPushNotification Shape
    (#​895)
  • Catch Throwable and let the exception converter handle details
    (#​896)

v7.11.0

Compare Source

Added
  • It is now possible to get a Remote Config template by its version number.
    (#​890)

v7.10.0

Compare Source

Changed
  • FCM Messages are now sent asynchronously using HTTP connection pooling with HTTP/2. This should improve performance
    when sending messages to many devices.
    (#​874)

v7.9.1

Compare Source

Changed
  • Re-enabled the use of psr/http-message v1.0
    (#​850)

v7.9.0

Compare Source

Added
  • Added support for PHP 8.3

v7.8.0

Compare Source

Added
  • Added Kreait\Firebase\Factory::withFirestoreClientConfig() to support setting additional options when
    creating the Firestore component.
    (Documentation)
  • Added Kreait\Firebase\Factory::withFirestoreDatabase() to specify the database used when creating the Firestore
    component.
    (Documentation)

v7.7.0

Compare Source

Changed
  • Required transitive dependencies directly (#​842)
{
  "require": {
    // ...
    "ext-filter": "*",
    "guzzlehttp/promises": "^2.0",
    "guzzlehttp/psr7": "^2.6",
    "psr/clock": "^1.0",
    "psr/http-client": "^1.0",
    "psr/http-factory": "^1.0",
    "psr/http-message": "^2.0",
  }
}

v7.6.0

Compare Source

Added
  • The Kreait\Firebase\Exception\Messaging\NotFound exception now exposes the token that hasn't been found
    with the token() method.
    (#​825)

v7.5.2

Compare Source

Added
  • Added FCM error handling to the documentation

v7.5.1

Compare Source

Fixed
  • The cached KeySet used by the AppCheck component didn't use the same Guzzle Config Options as the other clients
    (#​812)

v7.5.0

Compare Source

Changed
  • Replaced calls to deprecated FCM batch endpoints with asynchronous requests
    to the HTTP V1 API
    (#​804/#​805)
  • Removed message limit when sending multiple FCM messages
    • The message limit was needed when using the FCM batch endpoints because they used multipart requests and responses.
      The limit prevented these messages to become too large. Since we're now using asynchronous calls to send one
      request per message, this limitation is not needed anymore.
  • Simplified convoluted Dynamic Link operations
    (#​810)
Removed
  • Removed obsolete internal classes

    • Kreait\Firebase\Http\HasSubRequests
    • Kreait\Firebase\Http\HasSubResponses
    • Kreait\Firebase\Http\Requests
    • Kreait\Firebase\Http\RequestWithSubRequests
    • Kreait\Firebase\Http\Responses
    • Kreait\Firebase\Http\ResponseWithSubResponses
    • Kreait\Firebase\Http\WrappedPsr7Response
    • Kreait\Firebase\Http\WrappedPsr7Request
    • Kreait\Firebase\Messaging\Http\Request\MessageRequest
    • Kreait\Firebase\Messaging\Http\Request\SendMessage
    • Kreait\Firebase\Messaging\Http\Request\SendMessageToTokens
    • Kreait\Firebase\Messaging\Http\Request\SendMessages
  • Removed obsolete internal methods

    • Kreait\Firebase\Http\Middleware::responseWithSubResponses()
  • Removed obsolete Composer dependency riverline/multipart-parser

v7.4.0

Compare Source

Added
Deprecated
  • Kreait\Firebase\RemoteConfig\ExplicitValue is deprecated
  • Kreait\Firebase\RemoteConfig\DefaultValue should be regarded as deprecated, it is kept to not create a breaking changes

v7.3.1

Compare Source

Changed
  • Removed direct dependency to psr/http-message

v7.3.0

Compare Source

Added
  • It is now possible to add config options and middlewares to the Guzzle HTTP Client performing the HTTP Requests
    to the Firebase APIs through the HttpClientOptions class.
    (Documentation)

v7.2.1

Compare Source

Fixed
  • Fixed a user's MFA information not being correctly parsed
    (#​783)

v7.2.0

Compare Source

Added
  • Added support for the Firebase Auth Emulator when using lcobucci/jwt 5.*

v7.1.0

Compare Source

Added
  • Added support for lcobucci/jwt 5.*

v7.0.3

Compare Source

Fixed
  • Restored support for using a JSON string in the GOOGLE_APPLICATION_CREDENTIALS environment variable.
    (#​767)

v7.0.2

Compare Source

Fixed
  • Cloud Messaging: The APNS content-available payload field was not set correctly when a message contained
    message data at the root level, but not at the APNS config level.
    (#​762)

v7.0.1

Compare Source

Fixed
  • When trying to work with unknown FCM tokens, errors returned from the Messaging REST API were not passed to
    the NotFound exception, which prevented the inspection of further details.
    (#​760)

v7.0.0

Compare Source

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.

v6.9.6

Compare Source

Removed direct dependency to psr/http-message

v6.9.5

Compare Source

Fixed

Cloud Messaging: The APNS apns-push-type header and content-available payload field were not set correctly when a message contained message data at the root level, but not at the APNS config level. (#​762)

v6.9.4

Compare Source

Fixed
  • When trying to work with unknown FCM tokens, errors returned from the Messaging REST API were not passed to the NotFound exception, which prevented the inspection of further details. (backported from #​760)

v6.9.3

Compare Source

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)

v6.9.2

Compare Source

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

Compare Source

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

Compare Source

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

v6.8.0

Compare Source

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

Compare Source

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

v6.7.0

Compare Source

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

v6.6.1

Compare Source

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)

v6.6.0

Compare Source

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

v6.5.1

Compare Source

Keys in the data payload of an FCM message were always lower-cased, although they shouldn't have been. (#​709)

v6.5.0

Compare Source

Added
  • Problems while fetching Dynamic Link statistics now result in more helpful exception messages. (#​707)
Changed

v6.4.1

Compare Source

Fixed
  • Updating a Realtime Database Ruleset converted lists to objects with numeric keys. (#​707)

v6.4.0

Compare Source

Added
  • If not already set, APNs configs are enriched with the necessary headers and fields to ensure the delivery of iOS background messages and alerts.
    • The apns-push-type header is set to background or alert
    • The content-available field is set to 1 in case of a background message
  • FCM Messages are now annotated for better PHPStan/Psalm resolution
  • Added methods
    • \Kreait\Firebase\Messaging\AndroidConfig::withMinimalNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withLowNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withDefaultNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withHighNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withMaximalNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withUnspecifiedNotificationPriority()
    • \Kreait\Firebase\Messaging\AndroidConfig::withPrivateNotificationVisibility()
    • \Kreait\Firebase\Messaging\AndroidConfig::withPublicNotificationVisibility()
    • \Kreait\Firebase\Messaging\AndroidConfig::withSecretNotificationVisibility()
    • \Kreait\Firebase\Messaging\AndroidConfig::withNotificationVisibility()
    • \Kreait\Firebase\Messaging\ApnsConfig::data()
    • \Kreait\Firebase\Messaging\ApnsConfig::hasHeader()
    • \Kreait\Firebase\Messaging\ApnsConfig::isAlert()
    • \Kreait\Firebase\Messaging\ApnsConfig::toArray()
    • \Kreait\Firebase\Messaging\ApnsConfig::withApsField()
    • \Kreait\Firebase\Messaging\ApnsConfig::withDataField()
    • \Kreait\Firebase\Messaging\ApnsConfig::withHeader()
Changed
  • FCM notifications (Kreait\Firebase\Messaging\Notification) can now be created with null values. If a notification has only null values, the notification payload will be removed on serialization as if it wasn't provided at all.
  • Deprecations
    • \Kreait\Firebase\Messaging\AndroidConfig::withHighPriority(), use \Kreait\Firebase\Messaging\AndroidConfig::withHighMessagePriority() instead
    • \Kreait\Firebase\Messaging\AndroidConfig::withNormalPriority(), use \Kreait\Firebase\Messaging\AndroidConfig::withNormalMessagePriority() instead
    • \Kreait\Firebase\Messaging\AndroidConfig::withPriority(), use \Kreait\Firebase\Messaging\AndroidConfig::withMessagePriority() instead

v6.3.1

Compare Source

Fixed
  • Nested lists in custom user claims were not correctly encoded. (#​699)

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

v6.3.0

Compare Source

Added
  • Added support for the Firebase Auth Emulator. (#​692) (Documentation)
  • Tenant aware session cookie handling is now officially supported.

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

v6.2.0

Compare Source

Added
  • Cloud Messaging: Added support for APNS subtitles (supported by iOS 9+, silently ignored for others) (#​692)
  • Auth: In Auth::listUsers(), if the specified batch size exceeds the specified maximum number of to be returned users, the batch size will be reduced from the default 1000. As an example: previously, Auth::listUsers(2) would have downloaded 1000 accounts (the default batch size), but return only the first two. After the change, only two accounts will be downloaded.
  • Added methods
    • Kreait\Firebase\Messaging\ApnsConfig::withSubtitle()
Changed
  • Replaced internal JSON helper class with beste/json
  • Deprecated classes
    • Kreait\Firebase\Util\JSON

v6.1.0

Compare Source

Added
  • Added convenience method to bulk-remove multiple children of an RTDB Reference (#​686)
  • Added support for Session Cookie Verification.
    • Tenants don't seem to be supported at the moment (creating or verifying a Session Cookie with a tenant-enabled Firebase project yields an UNSUPPORTED_TENANT_OPERATION error), but once it is supported, the SDK will need no or just minimal updates. Integration tests are in place to checking for this error so that we know early on when it starts working.
  • Added methods:
    • Kreait\Firebase\Auth::verifySessionCookie()
    • Kreait\Firebase\Database\Reference::removeChildren()
Changed
  • Tenant-aware auth methods are now tested the same way as tenant-unaware methods. In order to achieve this, some internal implementations had to be changed, warranting this minor version bump. Please note that the tests uncovered that creating session tokens is currently not possible when working with tenants. (GitHub issue / Google Issue Tracker issue))
  • Deprecated classes
    • Kreait\Firebase\Auth\CreateActionLink\ApiRequest
    • Kreait\Firebase\Auth\CreateSessionCookie\ApiRequest
    • Kreait\Firebase\Auth\SendActionLink\ApiRequest

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

v6.0.1

Compare Source

Fixed
  • When signing in with IdP credentials a user's Firebase UID is retrieved from the returned localId field, if present

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

v6.0.0

Compare Source

This is a release with breaking changes.

Please review the Changelog and adapt your application where needed.


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

I will assist Sponsors (in a tier with access to my private Slack) hands-on with upgrading their codebase and will be available for individual questions as long as their sponsorship is active 🤗.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/kreait-firebase-php-7.x branch 4 times, most recently from 10deae0 to a644275 Compare May 25, 2024 01:01
@renovate renovate Bot force-pushed the renovate/kreait-firebase-php-7.x branch from a644275 to feaec33 Compare December 12, 2024 09:00
@renovate renovate Bot force-pushed the renovate/kreait-firebase-php-7.x branch from feaec33 to 1eaa375 Compare May 7, 2025 08:40
@renovate renovate Bot force-pushed the renovate/kreait-firebase-php-7.x branch 2 times, most recently from 30cbfb2 to a262e0e Compare July 24, 2025 14:43
@renovate renovate Bot force-pushed the renovate/kreait-firebase-php-7.x branch from a262e0e to f9f5297 Compare August 10, 2025 00:47
@renovate renovate Bot changed the title fix(deps): update dependency kreait/firebase-php to v7 fix(deps): update dependency kreait/firebase-php to v7 - autoclosed Aug 10, 2025
@renovate renovate Bot closed this Aug 10, 2025
@renovate renovate Bot deleted the renovate/kreait-firebase-php-7.x branch August 10, 2025 06:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants