Still on Strapi v4? Planning the move to v5
Strapi v5 changes the content API response format, the Document Service and the plugin system. Here's how to scope the upgrade without breaking your front end.
A good share of the self-hosted Strapi installs we look at are still on v4. That made sense while v5 was settling down. Now it means running a major version that receives less attention every month, with plugins steadily dropping v4 support.
Moving from v4 to v5 is a real upgrade, not a version bump. The good news is that the work is predictable once it's properly scoped.
What changes
- A flattened REST response format: attributes are no longer nested under data.attributes
- Documents identified by a string documentId rather than a numeric id
- The Entity Service replaced by the Document Service, with draft and published versions handled as one document
- Plugin APIs updated, so custom and community plugins need checking or porting
The front end is the real work
Strapi provides codemods for the backend, and they handle a lot of it. The bigger effort is usually in the consuming applications. Every Next.js page, mobile app or integration that reads data.attributes or stores numeric ids needs updating. If several front ends share one Strapi instance, they all have to move together, or you need a compatibility layer while they move.
How we scope it
- Inventory every consumer of the API, including the ones nobody remembers building
- Check each custom and community plugin for a v5-compatible release
- Run the upgrade tool and codemods against a copy of the project and database
- Use the v4 compatibility response header during the transition so front ends can migrate one at a time
- Rehearse the database migration on a production-sized copy before the real cutover
We scope and deliver Strapi v4 to v5 upgrades, including the front-end changes and custom plugin ports that the upgrade tool doesn't cover.
See Strapi support →Related articles
PHP 8.2 reaches end of life in December. Is your Drupal or WordPress site ready?
PHP 8.2 stops receiving security fixes on 31 December 2026. Here's what that means for Drupal and WordPress sites, and how to plan an upgrade that doesn't break custom code.
20 Oct 2026 · 4 min readPlatform updatesShopify's legacy checkout customisations are gone. Check what stopped working
With the last legacy Thank you and Order status page scripts switched off, some stores have lost tracking, upsells and post-purchase integrations without noticing. Here's what to check.
6 Oct 2026 · 4 min readPlatform updatesDrupal's Experience Builder goes stable — what changes for content teams
Drupal 11.2 ships Experience Builder as a stable, default-on visual page-building layer. Here's what it actually changes for editors, and what site builders need to configure first.
14 Aug 2026 · 5 min readStay ahead of the next release
Security alerts, platform updates and industry analysis — straight to your inbox.