Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 8.1 | Composer: update OAuth2-Client + underlying dependencies #17891

Merged
merged 3 commits into from
Dec 28, 2021

Conversation

jrfnl
Copy link
Contributor

@jrfnl jrfnl commented Dec 23, 2021

Context

  • Updates external dependencies

Summary

This PR can be summarized in the following changelog entry:

  • Updates external dependencies to improve PHP 8.1 compatibility

Relevant technical choices:

Composer: update OAuth2-Client

The league/oauth2-client package has released a new version, which includes a PHP 8.1 fix we need.

This commit just updates that package, without updating the underlying dependencies.

Based on the changelog, this should be a safe update.

Ref: https://github.com/thephpleague/oauth2-client/releases

PHP 8.0/8.1 | Update OAuth PHP Scoper config

PHP Scoper is prefixing the attribute use statement that will need to be pulled into the TheLeague OAuth Client implementation of the JSONSerializable interface.
See thephpleague/oauth2-client#919

This change removes the prefix from the use statement.

PHP Scoper was updated to 0.15.0 during investigation of this issue and it still does not work as desired on the newer version. Bumping the version in this commit seemed out of scope.

PHP 8.1 compatibility for PHP Scoper is being tracked in the following ticket: humbug/php-scoper#539

Composer: controlled update of underlying dependencies

This updates the underlying dependencies of the league/oauth2-client package to more recent versions which still support PHP 5.6.

This has been done as a controlled update, locking at specific versions.

Refs:

Test instructions

Test instructions for the acceptance test before the PR gets merged

This PR can be acceptance tested by following these steps:

  • On a clean install you should be able to connect to both Wincher and SEMRush.
  • On an existing installation your connection with both Wincher and SEMRush should stay enabled.

Test instructions for QA when the code is in the RC

  • QA should use the same steps as above.

Impact check

This PR affects the following parts of the plugin, which may require extra testing:

  • The connection with both Wincher and SEMRush.

jrfnl and others added 3 commits December 23, 2021 16:41
The `league/oauth2-client` package has released a new version, which includes a PHP 8.1 fix we need.

This commit just updates that package, without updating the underlying dependencies.

Based on the changelog, this should be a safe update.

Ref: https://github.com/thephpleague/oauth2-client/releases
PHP Scoper is prefixing the attribute use statement that will need to be pulled into the TheLeague OAuth Client implementation of the `JSONSerializable` interface.
See thephpleague/oauth2-client#919

This change removes the prefix from the use statement.

PHP Scoper was updated to 0.15.0 during investigation of this issue and it still does not work as desired on the newer version. Bumping the version in this commit seemed out of scope.

PHP 8.1 compatibility for PHP Scoper is being tracked in the following ticket: humbug/php-scoper#539
This updates the underlying dependencies of the `league/oauth2-client` package to more recent versions which still support PHP 5.6.

This has been done as a controlled update, locking at specific versions.

Refs:
* https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md
* https://github.com/guzzle/promises/blob/master/CHANGELOG.md
* https://github.com/guzzle/psr7/blob/2.1.0/CHANGELOG.md
* No changelog available for getallheaders, but not concerned about it as that package does not get prefixed anyway.
@jrfnl jrfnl added yoast cs/qa changelog: other Needs to be included in the 'Other' category in the changelog labels Dec 23, 2021
@jrfnl jrfnl added this to the 18.0 milestone Dec 23, 2021
@private-packagist
Copy link

composer.lock

Dev Package changes

Package Operation From To Changes
guzzlehttp/guzzle upgrade 6.3.3 6.5.2 diff
guzzlehttp/promises upgrade v1.3.1 1.5.1 diff
guzzlehttp/psr7 upgrade 1.5.2 1.8.3 diff
league/oauth2-client upgrade 2.4.1 2.6.1 diff
ralouphie/getallheaders upgrade 2.0.5 3.0.3 diff

Settings · Docs · Powered by Private Packagist

@increddibelly increddibelly added changelog: non-user-facing Needs to be included in the 'Non-userfacing' category in the changelog and removed changelog: other Needs to be included in the 'Other' category in the changelog labels Dec 28, 2021
@increddibelly increddibelly merged commit 9bfe6c4 into trunk Dec 28, 2021
@increddibelly increddibelly deleted the JRF/php-8.1/composer-update-oauth-client branch December 28, 2021 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: non-user-facing Needs to be included in the 'Non-userfacing' category in the changelog yoast cs/qa
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants