chore: update plan for symfony 7.4 upgrade

This commit is contained in:
Björn Fromme
2026-02-23 09:11:15 +01:00
parent ca34d4a4f3
commit bd488211bd
+21 -14
View File
@@ -1,9 +1,9 @@
# Symfony 7.4 Upgrade Plan # Symfony 7.4 Upgrade Plan
**Project:** MyEP Next Booking **Project:** MyEP Next Booking
**Current Version:** Symfony 6.4.31 **Current Version:** Symfony 6.4.x (6.4.33)
**Target Version:** Symfony 7.4 (LTS) **Target Version:** Symfony 7.4 (LTS)
**Date:** 2026-01-09 **Date:** 2026-02-23
**Status:** Ready for Upgrade **Status:** Ready for Upgrade
--- ---
@@ -18,16 +18,16 @@ The MyEP Next Booking application is well-positioned for a Symfony 7.4 upgrade.
**Key Facts:** **Key Facts:**
- Symfony 7.4 was released on November 27, 2025 - Symfony 7.4 was released on November 27, 2025
- Requires PHP 8.2.0+ (current: PHP 8.2.29) - Requires PHP 8.2.0+ (current: PHP 8.3.30)
- LTS version with bug fixes until November 2028, security fixes until November 2029 - LTS version with bug fixes until November 2028, security fixes until November 2029
- Symfony 8.0 = Symfony 7.4 minus deprecations (same features, PHP 8.4 required) - Symfony 8.0 = Symfony 7.4 minus deprecations (same features, PHP 8.4 required)
**Pre-Upgrade Status:** **Pre-Upgrade Status:**
- PHP version: 8.2.29 (compatible) - PHP version: 8.3.30 (compatible; Symfony 7.4 requires 8.2+)
- OAuth2 Server Bundle: 1.1.0 (compatible) - OAuth2 Server Bundle: 1.1.0 (compatible)
- Stimulus Bundle: 2.32.0 (compatible) - Stimulus Bundle: 2.32.0 (compatible)
- Doctrine ORM: 3.6.0 (compatible) - Doctrine ORM: 3.6.0 (compatible)
- All 326 tests passing - All 433 tests passing
- Email validation mode: Configured (html5) - Email validation mode: Configured (html5)
- 18 test-only deprecation warnings (cosmetic, do not affect runtime) - 18 test-only deprecation warnings (cosmetic, do not affect runtime)
@@ -54,8 +54,8 @@ The previous upgrade plan (dated 2025-12-06) has been updated. All pre-upgrade t
### PHP Version Compatibility ### PHP Version Compatibility
- **Current Runtime:** PHP 8.2.29 - **Current Runtime:** PHP 8.3.30
- **Composer Platform:** PHP 8.2.28 - **Composer Platform:** PHP 8.3.30
- **Symfony 7.4 Required:** PHP 8.2.0+ - **Symfony 7.4 Required:** PHP 8.2.0+
- **Status:** Compatible - **Status:** Compatible
@@ -79,6 +79,7 @@ All 33 Symfony packages currently at 6.4.x need version constraint updates to 7.
| `league/flysystem-sftp-v3` | 3.30.0 | Yes | | `league/flysystem-sftp-v3` | 3.30.0 | Yes |
| `nelexa/zip` | 4.0.2 | Yes (verify post-upgrade) | | `nelexa/zip` | 4.0.2 | Yes (verify post-upgrade) |
| `spatie/crypto` | 2.1.1 | Yes | | `spatie/crypto` | 2.1.1 | Yes |
| `easycorp/easyadmin-bundle` | 4.29.1 (^4.27) | Yes |
### Code Quality Assessment ### Code Quality Assessment
@@ -122,7 +123,7 @@ All Email constraints in the codebase also explicitly use `mode: 'strict'`:
**Impact:** These warnings are cosmetic and do not affect: **Impact:** These warnings are cosmetic and do not affect:
- Runtime behavior (all Email constraints use explicit `mode: 'strict'`) - Runtime behavior (all Email constraints use explicit `mode: 'strict'`)
- Symfony 7.4 compatibility (no code changes needed) - Symfony 7.4 compatibility (no code changes needed)
- Test results (all 326 tests pass) - Test results (all 433 tests pass)
**Note:** Warnings can be silenced with `SYMFONY_DEPRECATIONS_HELPER=disabled` if desired. **Note:** Warnings can be silenced with `SYMFONY_DEPRECATIONS_HELPER=disabled` if desired.
@@ -180,12 +181,16 @@ Update all packages from `6.4.*` to `7.4.*`:
"symfony/browser-kit": "7.4.*", "symfony/browser-kit": "7.4.*",
"symfony/css-selector": "7.4.*", "symfony/css-selector": "7.4.*",
"symfony/debug-bundle": "7.4.*", "symfony/debug-bundle": "7.4.*",
"symfony/maker-bundle": "^1.0",
"symfony/phpunit-bridge": "7.4.*",
"symfony/stopwatch": "7.4.*", "symfony/stopwatch": "7.4.*",
"symfony/web-profiler-bundle": "7.4.*" "symfony/web-profiler-bundle": "7.4.*"
} }
} }
``` ```
Keep `symfony/maker-bundle` at `^1.0` (compatible with Symfony 7.4).
### 2. Update Symfony Flex Configuration ### 2. Update Symfony Flex Configuration
**File:** `composer.json` **File:** `composer.json`
@@ -250,6 +255,7 @@ Deprecations accumulated in Symfony 7.1-7.4 will need review:
1. **Update composer.json** 1. **Update composer.json**
- Update all Symfony package constraints to `7.4.*` - Update all Symfony package constraints to `7.4.*`
- Update `extra.symfony.require` to `"7.4.*"` - Update `extra.symfony.require` to `"7.4.*"`
- Consider tightening `php` to `>=8.2` (Symfony 7.4 requires 8.2+; optional if already on 8.3)
2. **Run Composer Update** 2. **Run Composer Update**
```bash ```bash
@@ -303,6 +309,7 @@ Deprecations accumulated in Symfony 7.1-7.4 will need review:
- [ ] User registration - [ ] User registration
- [ ] Password reset - [ ] Password reset
- [ ] Personal data management - [ ] Personal data management
- [ ] EasyAdmin CRUD / admin panels
4. **Check Symfony Profiler** 4. **Check Symfony Profiler**
- Review deprecation warnings (should be minimal) - Review deprecation warnings (should be minimal)
@@ -388,7 +395,7 @@ ddev exec vendor/bin/dep rollback production
## Testing Checklist ## Testing Checklist
### Unit Tests ### Unit Tests
- [ ] All PHPUnit tests pass (326 tests) - [ ] All PHPUnit tests pass (433 tests)
- [ ] No new deprecation warnings - [ ] No new deprecation warnings
- [ ] Code coverage maintained - [ ] Code coverage maintained
@@ -444,7 +451,7 @@ Symfony 8.0 was released alongside 7.4 (November 2025) with identical features b
## Success Criteria ## Success Criteria
- [ ] All PHPUnit tests pass (326 tests) - [ ] All PHPUnit tests pass (433 tests)
- [ ] No deprecation warnings in Symfony Profiler - [ ] No deprecation warnings in Symfony Profiler
- [ ] All critical user flows functional - [ ] All critical user flows functional
- [ ] OAuth2 authentication working - [ ] OAuth2 authentication working
@@ -471,7 +478,7 @@ Symfony 8.0 was released alongside 7.4 (November 2025) with identical features b
--- ---
**Document Version:** 6.0 **Document Version:** 7.0
**Previous Version:** 5.0 (dated 2026-01-05) **Previous Version:** 6.0 (dated 2026-01-09)
**Last Updated:** 2026-01-09 **Last Updated:** 2026-02-23
**Status:** Ready for Symfony 7.4 Upgrade **Status:** Ready for Symfony 7.4 Upgrade (updated for current project state)