[IT9PE1-29241] Allow Symfony 8 - #94
Merged
Merged
Conversation
- AssoConnectValidatorExtension now extends the DependencyInjection Extension class: the HttpKernel one is removed in Symfony 8, and the DI one exists on Symfony 7 too. - FrenchRna, FrenchSiren and FrenchSiret no longer accept the legacy $options array (removed from Constraint/Luhn constructors in Symfony 8) and call their parent constructor with named arguments. - All constraints with a custom constructor are flagged with #[HasNamedArguments] so mapping loaders instantiate them without the deprecated options-array path. - composer.json: symfony/* widened to ^7.0|^8.0, doctrine-bundle to ^2.12|^3.0 (DoctrineBundle 2.x caps Symfony at 7, which would let the highest-deps CI silently test Symfony 7 only). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
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
Symfony 8 support — the only bundle of the wave needing real code changes:
AssoConnectValidatorExtensionnow extendsSymfony\Component\DependencyInjection\Extension\Extension: the HttpKernel variant is removed in Symfony 8, and the DI one exists on Symfony 7 too.FrenchRna,FrenchSiren,FrenchSiretno longer accept the legacy$optionsarray (that constructor path is removed fromConstraint/Luhnin Symfony 8) and call their parent constructors with named arguments. All in-repo and backend usages already use named arguments or no arguments — verified, none passes$options.#[HasNamedArguments](Email, FloatScale, Money, Postal, FrenchRna, FrenchSiren, FrenchSiret) so mapping loaders avoid the removed options-array path.symfony/*widened to^7.0|^8.0,doctrine/doctrine-bundleto^2.12|^3.0(DoctrineBundle 2.x caps Symfony at 7 — without this the highest-deps CI job would silently keep testing Symfony 7).$optionsparameter.Why
The backend upgrade to Symfony 8.1 needs every assoconnect bundle to accept Symfony 8. This bundle is the critical path: php-percent-bundle and php-date-bundle hard-require it and can only follow once it ships.
CI caveat — resolved ✅
The initial CI run was Symfony-8-blind:
assoconnect/absolute-percent-value-bundle ^1.5capped Symfony at 7 until its widened release existed. v1.6.0 was released on 2026-08-25 and the CI was re-run: all jobs green, and the highest job log confirms it now installssymfony/validator v8.1.5+absolute-percent-value-bundle v1.6.0— Symfony 8 is genuinely exercised.Test plan
--prefer-lowest): Symfony 7.0 + DoctrineBundle 2.12.0 — phpunit ✅ 295 testscomposer validate --strict✅Refs IT9PE1-29241
Shipping
Merging this PR ships nothing: it needs a semver tag / GitHub release, then a
composer require assoconnect/validator-bundle:^x.ybump PR in the backend. Two reviews total.Constructor signatures of FrenchRna/FrenchSiren/FrenchSiret changed (legacy
$optionsparameter dropped): flagging for the reviewer — all known consumers use named arguments, proposal is a minor release, consistent with Symfony 8 dropping the same path.