6.2 released 30 November 2022, latest 6.2.14.
Symfony 6.2 reached end of life on 31 July 2023.
What changed
Symfony 6.2 continued the 6.x API line while requiring PHP 8.1 or later. It added the Clock component, providing native, monotonic, and controllable clocks so application code can depend on time through an interface and tests can advance time without relying on the system clock. The release also expanded support for lazy objects through the VarExporter component, enabling object initialization to be deferred without requiring a proxy generator. As with other Symfony minor releases, it introduced new APIs and deprecations while maintaining backward compatibility for supported 6.x usage patterns.
What staying costs
Symfony 6.2 has reached end of life. It no longer receives upstream security fixes, bug fixes, or compatibility work for newer PHP versions and supported versions of its ecosystem dependencies. A known issue may therefore require a local patch, a package-specific workaround, or an upgrade under pressure. Remaining on 6.2 also increases dependency-resolution risk: libraries may drop their Symfony 6.2 compatibility range, while packages retained for compatibility can prevent upgrades to supported PHP, Doctrine, PHPUnit, or framework tooling versions. The longer the application remains on this line, the more deprecated APIs and custom compatibility shims tend to accumulate before the eventual migration.
What to do
Inventory the installed Symfony packages with Composer and identify every direct dependency that constrains Symfony, PHP, Doctrine, testing tools, or framework bundles. Enable deprecation reporting in development and CI, exercise representative application paths, and treat each deprecation as migration work rather than suppressing it. Choose a currently supported Symfony target that is compatible with the team’s required PHP version and vendor packages; where a major-version jump is involved, first remove 6.2 deprecations and adopt the target version’s required PHP baseline. Upgrade Symfony packages as a coordinated set using Composer, update third-party bundles that block the target, and run unit, integration, security, console-command, cache, queue, and deployment tests against the new dependency lockfile. If an immediate migration is not possible, document the temporary exception, restrict exposure, monitor advisories for all retained packages, and plan a short, funded upgrade rather than treating 6.2 as a maintainable baseline.
We can tell you what moving off Symfony 6.2 involves.
What it takes to move off Symfony 6.2 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.
Not sure yet? Get my plan
