chore: update plan for symfony 7.4 upgrade
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user