Feat/symfony 6 php 8.3 8.5 - #26
Merged
Merged
Conversation
added 7 commits
April 12, 2026 07:43
- Widen all symfony/* constraints to ^5.4|^6.4 - Raise PHP floor to ^8.1 (required by Symfony 6.4, PHP 7.x EOL) - Remove symfony/polyfill-php80 (redundant at PHP 8.1+) - Bump phpunit/phpunit to ^9.6|^10.5 - Bump symfony/phpunit-bridge to ^5.4|^6.4 - Allow dms/phpunit-arraysubset-asserts ^0.5 (PHPUnit 10 support)
- Replace deprecated <filter><whitelist> with <source><include> - Drop <listeners> block (symfony/phpunit-bridge 5.4+ auto-registers) - Add xsi:noNamespaceSchemaLocation for schema validation
- Add PHP 8.3, 8.4, 8.5 to test matrix (drop PHP 7.2-8.0) - Add Symfony 6.4.* to matrix, drop 4.4.* - Mark PHP 8.5 rows continue-on-error until GA - Bump actions: checkout@v4, ramsey/composer-install@v3, action-junit-report@v4 - Switch to ubuntu-latest (ubuntu-20.04 retired) - Remove dead php-version != 7.1 guard
- VCRTestCaseTrait: replace removed getName() with name()/dataName() for PHPUnit 10+, keeping backwards-compat fallback for PHPUnit 9 - ConfigurationTest: create fresh unbooted kernel before calling buildContainer() to avoid SF 6.4 double-compilation error (FrameworkExtension forbids re-processing already-read config)
- phpunit.xml.dist: remove <source> element (PHPUnit 10+ only; causes validation warning with PHPUnit 9.6 and is unused without --coverage) - composer.json: bump php-vcr/php-vcr floor from ^1.5 to ^1.6; 1.5.x uses is_resource() on curl handle which always returns false on PHP 8+ where curl_init() returns a CurlHandle object instead of a resource
Contributor
Author
|
@K-Phoen please update packagist or add a packagist api-token to the repo. Thanks 🙏 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Symfony 6.4 and PHP 8.1–8.5 support
Why now?
Test matrix
Before:
After:
* PHP 8.5 rows use
continue-on-error: trueuntil GA.Changes
composer.jsonphp:^7.2|^8→^8.1symfony/*:^4|^5→^5.4|^6.4symfony/polyfill-php80(redundant at PHP 8.1+)phpunit/phpunit:^8.5|^9.5→^9.6|^10.5symfony/phpunit-bridge:^4.4|^5.4→^5.4|^6.4dms/phpunit-arraysubset-asserts: allow^0.5(PHPUnit 10 support)phpunit.xml.dist<filter><whitelist>with<source><include>(PHPUnit 10 schema)<listeners>block (symfony/phpunit-bridge5.4+ auto-registers via bootstrap).github/workflows/continuous-integration.ymlubuntu-20.04→ubuntu-latestactions/checkout@v2→@v4ramsey/composer-install@v1→@v3mikepenz/action-junit-report@v2→@v4src/Test/VCRTestCaseTrait.phpPHPUnit 10 removed
TestCase::getName(). Replaced withname()+dataName(),with a backwards-compatible fallback for PHPUnit 9:
tests/Functional/ConfigurationTest.phpSymfony 6.4's
FrameworkExtensionthrows whenbuildContainer()is called on analready-booted kernel, because the config has already been read and frozen during
the initial boot.
Before:
bootKernel()→ getstatic::$kernel→ callbuildContainer()again → errorAfter: create a fresh unbooted kernel →
initializeBundles()→buildContainer()Breaking change
This is a minimum-requirements bump. Consumers pinned to PHP 7.x or Symfony 4
should stay on
2.1.x. If you prefer to keepmasteron the old floor and shipthis as a
3.xbranch, I am happy to rebase.Checklist
composer updatewithSYMFONY_REQUIRE=6.4.*resolves cleanly