You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move to PHP versions 8.X (dropped all 7.X ones) (#345)
BREAKING CHANGE
This pull request drops support for PHP 7.1 and 7.4, raising the minimum required PHP version to 8.1. It updates the SDK and its dependencies accordingly, simplifies the Composer and CI workflows, and updates documentation to reflect these changes.
**PHP version and dependency requirements:**
* Updated `composer.json` to require `php: >=8.1.0`, `guzzlehttp/guzzle: ^7.4`, and `monolog/monolog: ^2.4 || ^3.0.0`; dropped support for older versions and removed compatibility with PHP 7.x and Guzzle 6.x. Updated dev dependencies to require `phpunit/phpunit: ^9.0` only.
* Updated `README.md` to state that as of v5.0.0, the SDK requires PHP 8.1 or newer, and to explain the rationale for dropping PHP 7.x support. Updated Composer example accordingly.
**Continuous Integration (CI) and workflow changes:**
* Removed all references to PHP 7.1 and 7.4 from GitHub Actions workflows (`build-master.yml`, `build-pull-request.yml`, `build-release.yml`), so CI now only tests PHP 8.1 and 8.4 on supported OSes. Simplified installation and Composer steps accordingly. [[1]](diffhunk://#diff-53f6a76fa86b1994f9da743d84e130a48058a0d0657949c412c203d5f0aedfe8L17-R22) [[2]](diffhunk://#diff-53f6a76fa86b1994f9da743d84e130a48058a0d0657949c412c203d5f0aedfe8L46-L61) [[3]](diffhunk://#diff-53f6a76fa86b1994f9da743d84e130a48058a0d0657949c412c203d5f0aedfe8L84-L85) [[4]](diffhunk://#diff-53f6a76fa86b1994f9da743d84e130a48058a0d0657949c412c203d5f0aedfe8L113-L118) [[5]](diffhunk://#diff-53f6a76fa86b1994f9da743d84e130a48058a0d0657949c412c203d5f0aedfe8L130-R110) [[6]](diffhunk://#diff-104c03339b92a1f7faaf8f4d9cb603bdf4765f6f6281cee6ece6cab1331aee30L18-R32) [[7]](diffhunk://#diff-4d14704b6b88fb06db888f96c03a8e9b3a5e07a4ee566d97d4111b2c05210e84L17-R17) [[8]](diffhunk://#diff-4d14704b6b88fb06db888f96c03a8e9b3a5e07a4ee566d97d4111b2c05210e84L28-R29)
**Version bump:**
* Bumped the SDK version to 5.0.0 in `CheckoutUtils.php` and `version.json`. [[1]](diffhunk://#diff-41a1ea107378546a36c289e74fe7f821e2b15dd7f6b7527843468464d76be602L12-R12) [[2]](diffhunk://#diff-093664cc0c7cf4a76165141e93265eeb139f655bbee8105ed3ee2534a612354cL2-R2)
This change is required because the SDK now depends on `guzzlehttp/guzzle:^7.4` (and `guzzlehttp/promises:^2.0`), which require PHP 8.0+. Older Guzzle and PHPUnit releases that supported PHP 7.x are affected by security advisories that make them unsuitable for a payment SDK.
57
41
58
-
These updates ensure compatibility with modern PHP versions but drop support for PHP 7.1.
42
+
If you are still on PHP 7.x, remain on the latest `4.x` release until you can upgrade your runtime to PHP 8.1+.
0 commit comments