Add Symfony 8 support - #51
Merged
Merged
Conversation
77 tasks
alexander-schranz
approved these changes
Sep 8, 2026
Member
|
@Amoifr Thank you! |
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.
What's in this PR?
Adds Symfony 8 support. This library needed no code change, its extensions already work with Symfony 8, so the whole PR is about the constraints and about making sure something actually exercises them.
The
conflictblock.symfony/intlandsymfony/property-accesswere pinned to< 8.0, which is what blocks Symfony 8 for anyone depending on this library. Following what #50 did when adding Symfony 7 support, where the same two entries went from>=7.0to>=8.0, they now go to>=9.0.require-dev.
symfony/property-accessgains^8.0, andsymfony/intlgains both^7.0and^8.0, since it had never been widened past^6.0.PHPUnit and the CI matrix. These two go together and are the reason the PR is not a no-op. The matrix stopped at PHP 8.3, which cannot install Symfony 8 at all, so widening the constraints alone would have changed nothing that CI can see. A PHP 8.4
highestjob is added, andphpunit/phpunitis widened to^7.5 || ^8.5 || ^9.6, because the pinned^7.5 || ^8.5cannot run on PHP 8.4. Since the constraints are only widened, the PHP 7.1lowestjob keeps resolving exactly what it resolves today.Testing
conflict, I checked the two Symfony APIs the code uses:PropertyAccess::createPropertyAccessor()is unchanged, andSymfony\Component\Intl\Intlstill exists in 8.x. TheIntl::getRegionBundle()call inIntlExtensionis behind aclass_exists(Countries::class)guard, so it is only reachable on Symfony older than 4.3 and never on 8.lowestjob on PHP 7.1. My attempt ran PHPUnit 8.5 on PHP 8.4, a combination that does not exist in CI, and it hung. The resolution itself is fine though,--prefer-loweststill pickssymfony/intl2.8.31 andsymfony/property-access2.8.0.