API Platform 3 end of life
API Platform maintains two minor versions at a time: at the moment 4.3 for bug fixes and 4.2 for security fixes. Every 3.x and 2.x release is unmaintained. Upgrading is not optional if you want fixes, and it is the part of a Symfony upgrade that Rector does not do.
What each major requires
| API Platform | Symfony | PHP | Status |
|---|---|---|---|
| 2.6 | 4.4, 5.x | 7.1+ | unmaintained |
| 2.7 | 4.4, 5.4, 6.x | 7.1+ | unmaintained, but the bridge: new metadata as opt-in, api:upgrade-resource |
| 3.4 | 6.4, 7.x | 8.1+ | unmaintained |
| 4.2 | 6.4, 7.x, 8.x | 8.2+ | security fixes |
| 4.3 | 6.4, 7.x, 8.x | 8.2+ | bug fixes, current |
Constraints taken from the packages' composer.json on Packagist. API Platform 3 and 4 cannot run on Symfony 5.4, which fixes the order below.
What changes, and why it is architecture work
- 2.x → 2.7/3:
@ApiResourceannotations become#[ApiResource]attributes with explicit operations.DataProviderInterfaceandDataPersisterInterfacebecomeProviderInterfaceandProcessorInterface. Item and collection operations are separate classes. Subresources are declared as URI templates. Filters, pagination and serializer group handling moved. - 3 → 4: the legacy metadata layer and the 2.x compatibility switches are gone, error handling is RFC 7807 by default, the Symfony bundle and the Laravel package were split, and several config keys were renamed. Doctrine ORM 3 is supported (avoid exactly 3.0.0).
- Tests:
ApiTestCaseassertions and the JSON-LD context of error responses changed; hydra:… keys are now plain keys by default in 4.
The order that works
- On Symfony 5.4: API Platform 2.6 → 2.7. Enable the new metadata system, run
api:upgrade-resource, migrate providers and persisters one resource at a time. Each resource is a PR. - Symfony 5.4 → 6.4 with API Platform 2.7 still in place.
- On 6.4: API Platform 2.7 → 3.4 → 4.3. PHP 8.2 or newer is required for 4.x.
- Then Symfony 6.4 → 7.4.
Standalone, an API Platform 2 or 3 to 4.3 migration is €4,000 to €9,000 fixed price; on top of a Symfony upgrade €3,000 to €6,000. See services and prices.
Where does your application stand?
Upload your composer.lock and get your upgrade path, the packages that block it, and a readiness score in seconds. Free, no account, no source code.
Dates verified 2026-09-09 against the official release pages. Other deadlines: Symfony 5.4 end of life · Doctrine ORM 2 end of life · Symfony 7.4 LTS support dates · all end-of-life dates. Also available in Deutsch Nederlands