diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index 2708ae8f9f2..d41f75bfc72 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: operating-system: [ubuntu-latest] - php-versions: ['8.1', '8.4'] + php-versions: ['8.1', '8.5'] mysql-version: ['5.7', '8.0', '8.4'] services: diff --git a/.github/workflows/syntax-php.yml b/.github/workflows/syntax-php.yml index 3336b3fef95..1d51b0c6bb9 100644 --- a/.github/workflows/syntax-php.yml +++ b/.github/workflows/syntax-php.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: - php: ['8.1', '8.4'] + php: ['8.1', '8.5'] name: PHP Syntax ${{ matrix.php }} diff --git a/.phpstan.dist.neon b/.phpstan.dist.neon index ac155db64d8..5d3bdde6757 100644 --- a/.phpstan.dist.neon +++ b/.phpstan.dist.neon @@ -5,7 +5,7 @@ includes: parameters: phpVersion: min: 80100 - max: 80499 + max: 80599 magentoRootPath: %currentWorkingDirectory% fileExtensions: - php diff --git a/.rector.php b/.rector.php index b6bb7ea9530..501c46bbb78 100644 --- a/.rector.php +++ b/.rector.php @@ -18,6 +18,7 @@ use Rector\Php82\Rector as Php82; use Rector\Php83\Rector as Php83; use Rector\Php84\Rector as Php84; +use Rector\Php85\Rector as Php85; use Rector\PHPUnit\CodeQuality\Rector\Class_\PreferPHPUnitThisCallRector; use Rector\Privatization\Rector as Privatization; use Rector\Renaming\Rector as Renaming; @@ -39,6 +40,9 @@ __DIR__, ]) ->withSkipPath(__DIR__ . '/vendor') + ->withRules([ + Php85\ArrayDimFetch\ArrayFirstLastRector::class, + ]) ->withSkip([ CodeQuality\Assign\CombinedAssignRector::class, # todo: TMP CodeQuality\BooleanNot\SimplifyDeMorganBinaryRector::class, diff --git a/composer.json b/composer.json index a4e4f347552..0a7b11ef2c7 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,7 @@ ], "type": "magento-source", "require": { - "php": ">=8.1 <8.5", + "php": ">=8.1 <8.6", "ext-ctype": "*", "ext-curl": "*", "ext-dom": "*", @@ -41,9 +41,10 @@ "phpseclib/mcrypt_compat": "^2.0.3", "phpseclib/phpseclib": "^3.0.14", "shardj/zf1-future": "^1.24.1", - "symfony/polyfill-php82": "^1.31", - "symfony/polyfill-php83": "^1.31", - "symfony/polyfill-php84": "^1.31", + "symfony/polyfill-php82": "^1.32", + "symfony/polyfill-php83": "^1.32", + "symfony/polyfill-php84": "^1.32", + "symfony/polyfill-php85": "^1.32", "symfony/string": "^6.4", "symfony/translation-contracts": "^3.5", "tinymce/tinymce": "^7.5" diff --git a/composer.lock b/composer.lock index 6a6cc3e2a8d..4eee41b1815 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8634945a6a1545ffd5bc1c422faf4cc7", + "content-hash": "e7b046e38daf6230ed0bf3e747f92b4e", "packages": [ { "name": "carbonphp/carbon-doctrine-types", @@ -3752,6 +3752,82 @@ ], "time": "2025-02-20T12:04:08+00:00" }, + { + "name": "symfony/polyfill-php85", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "6fedf31ce4e3648f4ff5ca58bfd53127d38f05fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/6fedf31ce4e3648f4ff5ca58bfd53127d38f05fd", + "reference": "6fedf31ce4e3648f4ff5ca58bfd53127d38f05fd", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-05-02T08:40:52+00:00" + }, { "name": "symfony/process", "version": "v6.4.20", @@ -9261,7 +9337,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=8.1 <8.5", + "php": ">=8.1 <8.6", "ext-ctype": "*", "ext-curl": "*", "ext-dom": "*", diff --git a/docs/content/users/requirements.md b/docs/content/users/requirements.md index 376f3adf8e0..ab154de1127 100644 --- a/docs/content/users/requirements.md +++ b/docs/content/users/requirements.md @@ -8,7 +8,7 @@ tags: # Requirements - PHP 8.1+[^1] - - PHP 8.4 supported but some warnings may be shown/logged + - PHP 8.4/8.5 supported but some warnings may be shown/logged - MySQL 5.6+ (8.0+ recommended) or MariaDB - optional: Redis 5.x, 6.x and 7.0.x are supported