Skip to content

Upgrade PHP to >=8.2, Symfony to ^6.4 || ^7.4, dev tooling to code-quality-pack ^3.2#27

Merged
loevgaard merged 10 commits into3.xfrom
upgrade-php-tooling-symfony
Apr 13, 2026
Merged

Upgrade PHP to >=8.2, Symfony to ^6.4 || ^7.4, dev tooling to code-quality-pack ^3.2#27
loevgaard merged 10 commits into3.xfrom
upgrade-php-tooling-symfony

Conversation

@loevgaard
Copy link
Copy Markdown
Member

Summary

  • BREAKING: Raise minimum PHP from 8.1 to 8.2, narrow Symfony to ^6.4 || ^7.4 (drop 7.0–7.3), narrow Twig to ^3.0
  • Migrate static analysis from Psalm to PHPStan (level max) with Symfony, PHPUnit, Prophecy, and WebmozartAssert extensions
  • Upgrade dev tooling via setono/code-quality-pack ^3.2: PHPUnit 11, Rector 2, shipmonk/composer-dependency-analyser (replaces composer-require-checker + composer-unused)
  • Apply Rector readonly class upgrades to 5 source files
  • Fix Twig IntegrationTestCase for PHPUnit 11 static data provider requirement
  • Update CI matrix: PHP 8.2–8.4, Symfony 6.4/7.4

Test plan

  • composer phpunit — all tests pass
  • composer analyse — PHPStan level max, zero errors
  • composer check-style — ECS clean
  • vendor/bin/rector --dry-run — no remaining changes
  • CI passes on GitHub Actions

…e-quality-pack ^3.2

- Raise minimum PHP from 8.1 to 8.2 and narrow Symfony support to 6.4/7.4 LTS
- Narrow Twig support from ^2.0 || ^3.0 to ^3.0 only
- Migrate static analysis from Psalm to PHPStan (level max) with Symfony, PHPUnit, Prophecy, and WebmozartAssert extensions
- Upgrade PHPUnit from ^10.5 to ^11.5 (via code-quality-pack)
- Replace composer-require-checker + composer-unused with shipmonk/composer-dependency-analyser
- Upgrade Rector from ^1 to ^2 targeting PHP 8.2
- Apply Rector readonly class upgrades to source files
- Fix Twig IntegrationTestCase for PHPUnit 11 static data provider requirement
- Update CI matrix: PHP 8.2–8.4, Symfony 6.4/7.4
- Add CLAUDE.md for Claude Code guidance
…ct rules

- Upgrade code-quality-pack to ^3.3 which includes phpstan/extension-installer
  for automatic PHPStan extension discovery
- Remove manual includes from phpstan.neon (now auto-loaded)
- Allow phpstan/extension-installer plugin in composer.json
- Fix $this->assertX() → self::assertX() calls flagged by phpstan-strict-rules
- Revert phpunit.xml.dist schema to local vendor path
- Add .claude/settings.local.json to .gitignore
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 13, 2026

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 67.70%. Comparing base (bef6a28) to head (6a85b88).
⚠️ Report is 11 commits behind head on 3.x.

Files with missing lines Patch % Lines
src/Renderer/TwigRenderer.php 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##                3.x      #27      +/-   ##
============================================
+ Coverage     66.66%   67.70%   +1.04%     
  Complexity       38       38              
============================================
  Files            10       10              
  Lines            96       96              
============================================
+ Hits             64       65       +1     
+ Misses           32       31       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@loevgaard loevgaard merged commit 82440e6 into 3.x Apr 13, 2026
35 checks passed
@loevgaard loevgaard deleted the upgrade-php-tooling-symfony branch April 13, 2026 09:22
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