diff --git a/.github/workflows/.utils.sh b/.github/workflows/.utils.sh index 582a3bc7bd2..f7421f361f4 100644 --- a/.github/workflows/.utils.sh +++ b/.github/workflows/.utils.sh @@ -31,16 +31,20 @@ export -f _run_task install_property_info_for_version() { local php_version="$1" - local min_stability="$2" + local symfony_version="$2" + local min_stability="$3" - if [ "$php_version" = "8.2" ]; then + if [ "$php_version" = "8.2" ] || [ "$symfony_version" = "6.4.*" ]; then + # Prevent usage of TypeInfo, required to test support of LegacyLivePropMetadata + composer require symfony/property-info:6.4.* + elif [ "$php_version" = "8.3" ] ; then composer require symfony/property-info:7.1.* symfony/type-info:7.2.* - elif [ "$php_version" = "8.3" ]; then + elif [ "$php_version" = "8.4" ]; then composer require symfony/property-info:7.2.* symfony/type-info:7.2.* - elif [ "$php_version" = "8.4" ] && [ "$min_stability" = "stable" ]; then + elif [ "$php_version" = "8.5" ] && [ "$min_stability" = "stable" ]; then composer require symfony/property-info:7.3.* symfony/type-info:7.3.* - elif [ "$php_version" = "8.4" ] && [ "$min_stability" = "dev" ]; then - composer require symfony/property-info:>=7.3 symfony/type-info:>=7.3 + elif [ "$php_version" = "8.5" ] && [ "$min_stability" = "dev" ]; then + composer require symfony/property-info:8.0.x-dev symfony/type-info:8.0.x-dev fi } export -f install_property_info_for_version diff --git a/.github/workflows/code-quality.yaml b/.github/workflows/code-quality.yaml index 9c1dc53e0a9..1813ae8a83b 100644 --- a/.github/workflows/code-quality.yaml +++ b/.github/workflows/code-quality.yaml @@ -42,7 +42,7 @@ jobs: strategy: fail-fast: false matrix: - php-version: ['8.1'] + php-version: ['8.2'] dependency-version: [''] symfony-version: [''] minimum-stability: ['stable'] @@ -75,7 +75,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.1 + php-version: '8.2' tools: flex - name: Get composer cache directory diff --git a/.github/workflows/functional-tests.yml b/.github/workflows/functional-tests.yml index e07ff96a566..cfaf7d2a9e8 100644 --- a/.github/workflows/functional-tests.yml +++ b/.github/workflows/functional-tests.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - php-version: ['8.1', '8.2', '8.3', '8.4', '8.5'] + php-version: ['8.2', '8.3', '8.4', '8.5'] dependency-version: [''] symfony-version: [''] minimum-stability: ['stable'] @@ -31,10 +31,10 @@ jobs: - minimum-stability: 'dev' php-version: '8.5' # lowest deps - - php-version: '8.1' + - php-version: '8.2' dependency-version: 'lowest' # LTS version of Symfony - - php-version: '8.1' + - php-version: '8.2' symfony-version: '6.4.*' env: SYMFONY_REQUIRE: ${{ matrix.symfony-version || '>=5.4' }} diff --git a/.github/workflows/toolkit-kits-lint.yaml b/.github/workflows/toolkit-kits-lint.yaml index e6708b56451..9e4fd2b26ca 100644 --- a/.github/workflows/toolkit-kits-lint.yaml +++ b/.github/workflows/toolkit-kits-lint.yaml @@ -38,7 +38,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.1 + php-version: '8.2' - name: Install composer packages uses: ramsey/composer-install@v3 diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 4fab652cda8..3eff30c69c8 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - php-version: ['8.1', '8.2', '8.3', '8.4', '8.5'] + php-version: ['8.2', '8.3', '8.4', '8.5'] dependency-version: [''] symfony-version: [''] minimum-stability: ['stable'] @@ -38,19 +38,21 @@ jobs: - minimum-stability: 'dev' php-version: '8.5' # lowest deps - - php-version: '8.1' + - php-version: '8.2' dependency-version: 'lowest' - # LTS version of Symfony - - php-version: '8.1' - symfony-version: '6.4.*' - - php-version: '8.1' - symfony-version: '6.4.*' - os: 'windows-latest' - # Explicit Symfony versions - - php-version: '8.1' + + # oldest LTS + - php-version: '8.2' symfony-version: '6.4.*' + + # oldest LTS + Windows + - php-version: '8.2' + symfony-version: '6.4.*' + os: 'windows-latest' + - php-version: '8.2' symfony-version: '7.4.x-dev' # TODO: change to '7.4' when Symfony 7.4 is released + - php-version: '8.5' symfony-version: '8.0.x-dev' # TODO: change to '8.0' when Symfony 8.0 is released minimum-stability: 'dev' # TODO: remove when Symfony 8.0 is released @@ -79,7 +81,7 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} - extensions: ${{ matrix.os == 'windows-latest' && 'pdo_sqlite,sqlite3,fileinfo,gd' || '' }} + extensions: ${{ matrix.os == 'windows-latest' && 'pdo_sqlite,sqlite3,fileinfo,gd,zip' || '' }} tools: flex - name: Get composer cache directory @@ -111,7 +113,7 @@ jobs: '(cd src/{} \ && $COMPOSER_MIN_STAB \ && $COMPOSER_UP \ - && if [ {} = LiveComponent ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.minimum-stability }}\"; fi \ + && if [ {} = LiveComponent ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.symfony-version }}\" \"${{ matrix.minimum-stability }}\"; fi \ && $PHPUNIT)'" - name: Run packages tests (Windows) @@ -126,7 +128,7 @@ jobs: '(cd src/$PACKAGE \ && $COMPOSER_MIN_STAB \ && $COMPOSER_UP \ - && if [ "$PACKAGE" = "LiveComponent" ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.minimum-stability }}\"; fi \ + && if [ "$PACKAGE" = "LiveComponent" ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.symfony-version }}\" \"${{ matrix.minimum-stability }}\"; fi \ && $PHPUNIT)'; then FAILED_PACKAGES="$FAILED_PACKAGES $PACKAGE" fi diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db85e4a8c4e..f9b5d1ee389 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,7 +37,7 @@ $ git remote add upstream git@github.com:symfony/ux.git To set up the development environment, you need the following tools: -- [PHP](https://www.php.net/downloads.php) 8.1 or higher +- [PHP](https://www.php.net/downloads.php) 8.2 or higher - [Composer](https://getcomposer.org/download/) - [Node.js](https://nodejs.org/en/download/package-manager) 22.18 or higher - [Corepack](https://github.com/nodejs/corepack) diff --git a/composer.json b/composer.json index 4a24cfc1386..df205e7dd1b 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "dev" ], "require-dev": { - "php": ">=8.1", + "php": ">=8.2", "symfony/filesystem": "^6.4|^7.0", "symfony/finder": "^6.4|^7.0", "php-cs-fixer/shim": "^3.62" diff --git a/src/Autocomplete/CHANGELOG.md b/src/Autocomplete/CHANGELOG.md index 124d1ce1084..5a10b6d5d69 100644 --- a/src/Autocomplete/CHANGELOG.md +++ b/src/Autocomplete/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Autocomplete/composer.json b/src/Autocomplete/composer.json index dafef28c349..1fe9dc79988 100644 --- a/src/Autocomplete/composer.json +++ b/src/Autocomplete/composer.json @@ -24,7 +24,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/dependency-injection": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-foundation": "^6.4|^7.0|^8.0", diff --git a/src/Chartjs/CHANGELOG.md b/src/Chartjs/CHANGELOG.md index 32509462f08..a70200c51c3 100644 --- a/src/Chartjs/CHANGELOG.md +++ b/src/Chartjs/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Chartjs/composer.json b/src/Chartjs/composer.json index 77363cd77e1..5d4b8304efe 100644 --- a/src/Chartjs/composer.json +++ b/src/Chartjs/composer.json @@ -28,7 +28,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/config": "^6.4|^7.0|^8.0", "symfony/dependency-injection": "^6.4|^7.0|^8.0", "symfony/http-kernel": "^6.4|^7.0|^8.0", diff --git a/src/Cropperjs/CHANGELOG.md b/src/Cropperjs/CHANGELOG.md index 945a883c88e..cc34828309d 100644 --- a/src/Cropperjs/CHANGELOG.md +++ b/src/Cropperjs/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Cropperjs/composer.json b/src/Cropperjs/composer.json index 229546b3249..2531243b0ed 100644 --- a/src/Cropperjs/composer.json +++ b/src/Cropperjs/composer.json @@ -28,7 +28,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "intervention/image": "^2.5", "symfony/config": "^6.4|^7.0|^8.0", "symfony/dependency-injection": "^6.4|^7.0|^8.0", diff --git a/src/Dropzone/CHANGELOG.md b/src/Dropzone/CHANGELOG.md index 5efecbe927d..a32745bf481 100644 --- a/src/Dropzone/CHANGELOG.md +++ b/src/Dropzone/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Dropzone/composer.json b/src/Dropzone/composer.json index a28cf12f6f9..2231ff87ad0 100644 --- a/src/Dropzone/composer.json +++ b/src/Dropzone/composer.json @@ -28,7 +28,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/config": "^6.4|^7.0|^8.0", "symfony/dependency-injection": "^6.4|^7.0|^8.0", "symfony/form": "^6.4|^7.0|^8.0", diff --git a/src/Icons/CHANGELOG.md b/src/Icons/CHANGELOG.md index b76774d012a..6203c4f5994 100644 --- a/src/Icons/CHANGELOG.md +++ b/src/Icons/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Icons/composer.json b/src/Icons/composer.json index 9c332139e71..98d669959a0 100644 --- a/src/Icons/composer.json +++ b/src/Icons/composer.json @@ -35,7 +35,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/framework-bundle": "^6.4|^7.0|^8.0", "symfony/twig-bundle": "^6.4|^7.0|^8.0" }, diff --git a/src/LiveComponent/CHANGELOG.md b/src/LiveComponent/CHANGELOG.md index 302d41f6acf..31b06baa07e 100644 --- a/src/LiveComponent/CHANGELOG.md +++ b/src/LiveComponent/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/LiveComponent/composer.json b/src/LiveComponent/composer.json index 31b3dd85d14..12ae7b081f4 100644 --- a/src/LiveComponent/composer.json +++ b/src/LiveComponent/composer.json @@ -26,7 +26,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/property-access": "^6.4|^7.0|^8.0", "symfony/property-info": "^6.4|^7.0|^8.0", diff --git a/src/Map/CHANGELOG.md b/src/Map/CHANGELOG.md index 80849197475..fdfca7ea6df 100644 --- a/src/Map/CHANGELOG.md +++ b/src/Map/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Map/composer.json b/src/Map/composer.json index 635ac9638ff..663b76e45cc 100644 --- a/src/Map/composer.json +++ b/src/Map/composer.json @@ -32,7 +32,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.18.1" }, "require-dev": { diff --git a/src/Map/src/Bridge/Google/CHANGELOG.md b/src/Map/src/Bridge/Google/CHANGELOG.md index a51dccfed3f..fc260ca4202 100644 --- a/src/Map/src/Bridge/Google/CHANGELOG.md +++ b/src/Map/src/Bridge/Google/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Map/src/Bridge/Google/composer.json b/src/Map/src/Bridge/Google/composer.json index a6fd6d1b71d..509ddcf8344 100644 --- a/src/Map/src/Bridge/Google/composer.json +++ b/src/Map/src/Bridge/Google/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.18.1", "symfony/ux-map": "^2.19" }, diff --git a/src/Map/src/Bridge/Leaflet/CHANGELOG.md b/src/Map/src/Bridge/Leaflet/CHANGELOG.md index a8458456c30..f90119a3fad 100644 --- a/src/Map/src/Bridge/Leaflet/CHANGELOG.md +++ b/src/Map/src/Bridge/Leaflet/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Map/src/Bridge/Leaflet/composer.json b/src/Map/src/Bridge/Leaflet/composer.json index 7b7bba54c5c..b407f888d26 100644 --- a/src/Map/src/Bridge/Leaflet/composer.json +++ b/src/Map/src/Bridge/Leaflet/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.18.1", "symfony/ux-map": "^2.19" }, diff --git a/src/Notify/CHANGELOG.md b/src/Notify/CHANGELOG.md index 389e0d41a54..94daeddf3ff 100644 --- a/src/Notify/CHANGELOG.md +++ b/src/Notify/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Notify/composer.json b/src/Notify/composer.json index f8efcbbed42..651ed19ba9f 100644 --- a/src/Notify/composer.json +++ b/src/Notify/composer.json @@ -28,7 +28,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/config": "^6.4|^7.0|^8.0", "symfony/dependency-injection": "^6.4|^7.0|^8.0", "symfony/http-kernel": "^6.4|^7.0|^8.0", diff --git a/src/React/CHANGELOG.md b/src/React/CHANGELOG.md index b3b72b27193..6a615a52bd0 100644 --- a/src/React/CHANGELOG.md +++ b/src/React/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/React/composer.json b/src/React/composer.json index f32ee730ef6..3a7aff73124 100644 --- a/src/React/composer.json +++ b/src/React/composer.json @@ -28,7 +28,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { diff --git a/src/StimulusBundle/CHANGELOG.md b/src/StimulusBundle/CHANGELOG.md index 8ab1cb251e8..86c465e16a5 100644 --- a/src/StimulusBundle/CHANGELOG.md +++ b/src/StimulusBundle/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/StimulusBundle/composer.json b/src/StimulusBundle/composer.json index 63d90b4ff92..3043f6a8c84 100644 --- a/src/StimulusBundle/composer.json +++ b/src/StimulusBundle/composer.json @@ -13,7 +13,7 @@ } ], "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/config": "^6.4|^7.0|^8.0", "symfony/dependency-injection": "^6.4|^7.0|^8.0", "symfony/finder": "^6.4|^7.0|^8.0", diff --git a/src/Svelte/CHANGELOG.md b/src/Svelte/CHANGELOG.md index 175921068a2..7f8ef8c5219 100644 --- a/src/Svelte/CHANGELOG.md +++ b/src/Svelte/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Svelte/composer.json b/src/Svelte/composer.json index 729b33024db..3cb44abe061 100644 --- a/src/Svelte/composer.json +++ b/src/Svelte/composer.json @@ -32,7 +32,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { diff --git a/src/Toolkit/CHANGELOG.md b/src/Toolkit/CHANGELOG.md index abddd2eea8f..11877536fb7 100644 --- a/src/Toolkit/CHANGELOG.md +++ b/src/Toolkit/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 # 2.29.0 diff --git a/src/Toolkit/composer.json b/src/Toolkit/composer.json index b8b991a7f83..f6b44736c8e 100644 --- a/src/Toolkit/composer.json +++ b/src/Toolkit/composer.json @@ -28,7 +28,7 @@ } ], "require": { - "php": ">=8.1", + "php": ">=8.2", "twig/twig": "^3.0", "symfony/console": "^6.4|^7.0|^8.0", "symfony/filesystem": "^6.4|^7.0|^8.0", diff --git a/src/Translator/CHANGELOG.md b/src/Translator/CHANGELOG.md index f19cd7faaf5..371c4bc38f3 100644 --- a/src/Translator/CHANGELOG.md +++ b/src/Translator/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Translator/composer.json b/src/Translator/composer.json index 1800f05e214..f690f450380 100644 --- a/src/Translator/composer.json +++ b/src/Translator/composer.json @@ -28,7 +28,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/console": "^6.4|^7.0|^8.0", "symfony/filesystem": "^6.4|^7.0|^8.0", "symfony/string": "^6.4|^7.0|^8.0", diff --git a/src/Turbo/CHANGELOG.md b/src/Turbo/CHANGELOG.md index 425a51093d3..0491d04e0d3 100644 --- a/src/Turbo/CHANGELOG.md +++ b/src/Turbo/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Turbo/composer.json b/src/Turbo/composer.json index ac10ace36f9..8cd1523dcb7 100644 --- a/src/Turbo/composer.json +++ b/src/Turbo/composer.json @@ -34,7 +34,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { diff --git a/src/TwigComponent/CHANGELOG.md b/src/TwigComponent/CHANGELOG.md index fc6325d0e7a..eec75c7adb7 100644 --- a/src/TwigComponent/CHANGELOG.md +++ b/src/TwigComponent/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/TwigComponent/composer.json b/src/TwigComponent/composer.json index d7c3c63cf1b..bd3b19f6fc4 100644 --- a/src/TwigComponent/composer.json +++ b/src/TwigComponent/composer.json @@ -26,7 +26,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/dependency-injection": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.2|^3.0", "symfony/event-dispatcher": "^6.4|^7.0|^8.0", diff --git a/src/Vue/CHANGELOG.md b/src/Vue/CHANGELOG.md index 8e579a7a453..aad361bd000 100644 --- a/src/Vue/CHANGELOG.md +++ b/src/Vue/CHANGELOG.md @@ -3,6 +3,7 @@ ## 3.0.0 - Minimum required Symfony version is now 6.4 +- Minimum required PHP version is now 8.2 ## 2.30 diff --git a/src/Vue/composer.json b/src/Vue/composer.json index 506781d8db0..61550c467d6 100644 --- a/src/Vue/composer.json +++ b/src/Vue/composer.json @@ -32,7 +32,7 @@ } }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": {