Upgrade guides
What actually changes, in which order to do it, and the code involved. Written from doing these upgrades, not from the changelogs alone.
Also in Deutsch
Step-by-step: PHP 8.1, deprecations to zero, the new security system instead of Guard, Swiftmailer to Mailer, annotations to attributes, and the 6.4 composer update itself.
14 min read · updated 2026-09-12
How to get a 6.4 application to 7.4 LTS in one release: deprecation hunting with the PHPUnit bridge, patching return types, what 7.0 removed, and the composer update.
11 min read · updated 2026-09-12
The 2.7 bridge release, api:upgrade-resource, explicit operations, state providers and processors, subresources as URI templates, and the filters that moved.
13 min read · updated 2026-09-12
Flip the 3.4 compatibility flags one at a time, move off the event listeners, adopt the new error format and the unprefixed Hydra keys, then bump to 4.x.
10 min read · updated 2026-09-12
Annotations to attributes, lazy ghosts instead of proxies, custom DBAL types, removed APIs, the DoctrineBundle flags to set first, and how to verify the schema did not change.
12 min read · updated 2026-09-12
What each abandoned bundle did, what replaces it in Symfony 6.4 and 7.4, and the code change involved, with before and after examples.
12 min read · updated 2026-09-12
Which guide applies to you?
Upload your composer.lock and the scan tells you your current Symfony, API Platform and Doctrine versions, the packages that block the next step, and the order to do it in.