Strapi v4 to Strapi 5 breaking changes
The present page lists all the breaking changes introduced in Strapi 5. Breaking changes are grouped into topic-related categories, and for each line in the following tables line you will find:
- a short description of the breaking change,
- and 2 other columns, "Affects plugins" and "Handled by codemods", that sum up whether the breaking change also affects plugins and whether the breaking change is automatically handled by a codemod from the upgrade CLI tool.
You can click on the description of any breaking change in the following tables to jump to the corresponding page with more details.
💡 Tips
- To view a full list of available codemods, run the
npx @strapi/upgrade codemods ls
command in your terminal. - To have a deeper look at the code executed by the codemods, head over to the list of codemods in the GitHub repository.
Database
Description | Affects plugins | Handled by codemods |
---|---|---|
Content types always have feature columns | Yes | No |
MySQL v5 is not supported anymore | No | No |
Database identifiers longer than 55 characters will be automatically shortened | Yes | ✅ Yes |
Only the better-sqlite3 package is supported for the SQLite client | No | ✅ Yes |
Only the mysql2 package is supported for the MySQL client | No | ✅ Yes |
Dependencies
Description | Affects plugins | Handled by codemods |
---|---|---|
The CLI default package manager is not yarn anymore | No | No |
Vite is the default bundler in Strapi 5 | Yes | No |
Strapi 5 uses react-router-dom v6 | Yes | ✅ Yes |
Strapi 5 uses koa-body v6 | Yes | No |
Webpack aliases are removed in Strapi 5 | Yes | No |
Apollo Server v3 upgraded to Apollo Server v4 | Yes | No |
Configuration
Strapi objects, methods, packages, and back-end customization
Description | Affects plugins | Handled by codemods |
---|---|---|
strapi.fetch uses the native fetch() API | Yes | No |
strapi factories import have changed | Yes | 👷 Partly |
The isSupportedImage method is removed in Strapi 5 | Yes | No |
strapi-utils has been refactored | Yes | ✅ Yes |
Core service methods use the Document Service API | Yes | No |
i18n is now part of the strapi core | Yes | ✅ Yes |