Skip to content

Add Symfony 8 support - #51

Merged
alexander-schranz merged 1 commit into
sulu:2.6from
Amoifr:feat-8216-symfony-8-support
Sep 8, 2026
Merged

alexander-schranz merged 1 commit into
sulu:2.6from
Amoifr:feat-8216-symfony-8-support

Conversation

@Amoifr

@Amoifr Amoifr commented Aug 28, 2026

Copy link
Copy Markdown
Contributor
Q A
Bug fix? no
New feature? no
BC breaks? no
Deprecations? no
Fixed tickets
Related issues/PRs sulu/sulu#8216
License MIT

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 conflict block. symfony/intl and symfony/property-access were 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.0 to >=8.0, they now go to >=9.0.

require-dev. symfony/property-access gains ^8.0, and symfony/intl gains both ^7.0 and ^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 highest job is added, and phpunit/phpunit is widened to ^7.5 || ^8.5 || ^9.6, because the pinned ^7.5 || ^8.5 cannot run on PHP 8.4. Since the constraints are only widened, the PHP 7.1 lowest job keeps resolving exactly what it resolves today.

Testing

  • Symfony 8.1.5 and property-access 8.1.4 on PHP 8.4, with PHPUnit 9.6: 129 tests, 183 assertions, 2 skipped, green. php-cs-fixer reports 0 of 20 and PHPStan is clean.
  • Before touching the conflict, I checked the two Symfony APIs the code uses: PropertyAccess::createPropertyAccessor() is unchanged, and Symfony\Component\Intl\Intl still exists in 8.x. The Intl::getRegionBundle() call in IntlExtension is behind a class_exists(Countries::class) guard, so it is only reachable on Symfony older than 4.3 and never on 8.
  • One thing I could not verify locally: the lowest job 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-lowest still picks symfony/intl 2.8.31 and symfony/property-access 2.8.0.

@alexander-schranz

Copy link
Copy Markdown
Member

@Amoifr Thank you!

@alexander-schranz
alexander-schranz merged commit b5f675d into sulu:2.6 Sep 8, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants