PHP 8.0 as the minimum version for all Spryker projects

Edit on GitHub

End of November 2022, Spryker will release a new version of its Demo Shops, which will require PHP 8.0 as their minimum PHP version. PHP 7.4 will no longer be supported. Spryker’s new module releases will only be compatible with PHP version 8.0 or later. See Supported versions of PHP for details about the supported PHP versions.

Impacts

Backwards compatibility remains unaffected. If your project followed our recommendations and requirements in the past twelve months, you will not experience any upgradeability issues.

Migration steps

To migrate your project to the 8.0 version of PHP, follow these steps:

  1. Update your modules manually in composer.json. Use the major lock ^ or the minor lock ~ if you have changes on the project level for respective module constraints.
spryker/cms-block-gui => 2.8.0
codeception/codeception => 4.1.24
codeception/lib-innerbrowser => 1.3.3
codeception/module-phpbrowser => 1.0.1
psalm/phar => 4.3.1
roave/better-reflection => 5.0.0
spryker-sdk/benchmark => 0.2.2
spryker-sdk/spryk => 0.3.4
spryker-sdk/spryk-gui => 0.2.2
  1. Change the PHP version in composer.json:

config.platform.php => 8.0

  1. Make sure there are no project-specific changes in the following repositories, and remove them from your composer.json:
"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/spryker-sdk/lib-innerbrowser.git"
  }
],
Project-specific changes

If you have project-specific changes in these repositories, consider either giving up the changes or copying them into the project code.

  1. Execute the following command:
composer update roave/better-reflection spryker-sdk/spryk
spryker-sdk/spryk-gui spryker/cms-block-gui spryker-sdk/benchmark
codeception/lib-innerbrowser codeception/module-phpbrowser psalm/phar
spryker-sdk/benchmark phpbench/phpbench jetbrains/phpstorm-stubs psalm/phar
phpbench/dom
  1. Run your end-to-end tests and make sure that the changes have not impacted your business functionalities.