Skip to content

[IT9PE1-32062] Require Symfony 7.4 or later - #44

Merged
fguimier merged 2 commits into
mainfrom
florian_IT9PE1-32062_symfony-7.4-floor
Sep 29, 2026
Merged

fguimier merged 2 commits into
mainfrom
florian_IT9PE1-32062_symfony-7.4-floor

Conversation

@fguimier

@fguimier fguimier commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Refs IT9PE1-32062

  • Raise every symfony/* constraint from ^7.0|^8.0 to ^7.4|^8.0: 7.0 to 7.3 are no longer maintained, and 7.4 is the LTS line.
  • Symfony 7.4 as the lowest set exposes three lowest-only breakages, so their floors go up too:
    • symfony/config ^7.4.1|^8.0, now an explicit requirement since the bundle builds its configuration tree with it: 7.4.0 ships TreeBuilder generics PHPStan rejects;
    • phpstan/phpstan-symfony ^2.0.9: earlier releases cannot read those generics;
    • symfony/polyfill-php85 ^1.33 (dev): 1.32 lacks array_last(), which the latest Rector calls on PHP 8.4.
  • Prerequisite for the next PR, which passes requireTld explicitly on the Url constraint of Log::$requestUrl: that option only exists since symfony/validator 7.1.

Test plan

  • Fully covered by automated tests: the CI lowest job replayed locally (lowest set, then the latest phpstan/rector/phpunit/phpcs) passes phpcs, phpstan, rector and phpunit, as does highest (PHP 8.4)

Shipping

Merging this PR ships nothing: it needs a semver tag / GitHub release, then a
composer require assoconnect/log-bundle:^x.y bump PR in the backend. Two reviews total. The release is meant to go out together with the requireTld fix.

🤖 Generated with Claude Code

Drops Symfony 7.0 to 7.3, which are no longer maintained. It also
unlocks the requireTld option of the Url constraint, added in 7.1.

Refs IT9PE1-32062

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With Symfony 7.4 as the lowest set, three versions break the lowest CI:
- symfony/config 7.4.0 ships TreeBuilder generics that PHPStan rejects,
  fixed in 7.4.1;
- phpstan/phpstan-symfony below 2.0.9 cannot read them;
- symfony/polyfill-php85 below 1.33 lacks array_last(), which the latest
  Rector calls on PHP 8.4.

symfony/config becomes an explicit requirement: the bundle builds its
configuration tree with it.

Refs IT9PE1-32062

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@fguimier

Copy link
Copy Markdown
Contributor Author

🤖 Review gate — 0 error / 0 warning / 1 info

Human review needed: no — dependency constraints only: every symfony/* floor moves to 7.4, and the three lowest-only tooling breakages it exposed get their own floor (symfony/config ^7.4.1, phpstan/phpstan-symfony ^2.0.9, symfony/polyfill-php85 ^1.33). No runtime behaviour change; the lowest and highest CI jobs cover it. Can be merged without a peer review.

🧪 Coverage: 0/0 behavior changes — every change is a dependency constraint
🎯 Hotspot thresholds: none (fewer than 100 files touched in 12 months)

⚠️ Self-review by the author is mandatory before merging, regardless of this verdict.

@fguimier
fguimier merged commit f08b1b9 into main Sep 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant