TL;DR
Strapi v5.0.0-beta.6 brings several important improvements to the beta version of Strapi v5. This release includes UI enhancements to the main navigation with a new Home icon, improved history functionality that now displays hidden fields, and fixes for MySQL document ID migration. Package dependencies have been updated, core packages have been renamed for better clarity, and the document service API has been made more consistent. The release also removes deprecated options from the mailgun provider and the verbose option from TypeScript type generation.
Highlight of the Release
- Main navigation UI refactoring with new Home icon
- Enhanced history functionality now displays hidden fields
- Fixed MySQL document ID migration issues
- Renamed core packages for better clarity (removed 'plugin-' prefix)
- Improved document service API consistency
- Added TypeScript type system cheat sheet for contributors
Migration Guide
Breaking Changes
Removed Deprecated Verbose Option from ts:generate-types
The deprecated verbose option has been removed from the ts:generate-types command. If you were still using this option, you'll need to remove it from your scripts.
Core Package Renaming
Core packages have been renamed to remove the 'plugin-' prefix:
@strapi/plugin-content-manager → @strapi/content-manager
@strapi/plugin-upload → @strapi/upload
@strapi/plugin-email → @strapi/email
@strapi/plugin-content-type-builder → @strapi/content-type-builder
@strapi/plugin-i18n → @strapi/i18n
If you have direct dependencies on these packages, you'll need to update your package.json files and import statements.
Mailgun Provider Updates
The Mailgun provider has been upgraded and deprecated options have been removed. If you're using the Mailgun provider with deprecated options, you'll need to update your configuration to use the current options.
Upgrade Recommendations
This is a beta release (v5.0.0-beta.6) and is not recommended for production environments. It's suitable for testing and development purposes to prepare for the upcoming Strapi v5 stable release.
If you're already using v5.0.0-beta.5, upgrading to beta.6 is recommended to benefit from the bug fixes and improvements. Pay special attention to the breaking changes, particularly the core package renaming and the removal of deprecated options.
Before upgrading:
- Back up your database and project files
- Review the breaking changes section
- Update any direct dependencies on renamed core packages
- Test thoroughly in a development environment before considering for any pre-production testing
For projects on Strapi v4, it's recommended to wait for the stable release of v5 before planning migration.
Bug Fixes
MySQL Document ID Migration Fix
Fixed an issue with document ID migration specifically for MySQL databases. The fix includes a MySQL subquery implementation to ensure proper migration of document IDs.
Safe Loading of Content Type Names
Fixed an issue with loading content type names that match JavaScript reserved words such as then. This ensures that content types with special names are handled correctly.
History API Sanitization
Fixed sanitization handling when fetching versions in the history API, ensuring that content history is properly sanitized and displayed.
History API Tests
Updated history API tests to use created IDs, improving test reliability and accuracy.
New Features
Main Navigation Refactoring with Home Icon
The main navigation has been refactored and now includes a Home icon, improving the overall user experience and navigation flow. This change includes replacing the Design System NavLink with the admin NavLink for better integration.
Show Hidden Fields in History Frontend
The history feature has been enhanced to display fields that aren't in the layout. This improvement allows users to see all changes made to content, including those in hidden fields, providing a more comprehensive view of content history. The implementation includes support for components and repeatable components.
TypeScript Type System Cheat Sheet
A new TypeScript type system cheat sheet has been added to the contributor documentation, making it easier for developers to understand and work with Strapi's type system.
Security Updates
No specific security fixes were mentioned in this release. However, the dependency updates, particularly the upgrade of Sentry and other packages, may include security patches that weren't explicitly called out in the release notes.
Performance Improvements
Dependency Updates
Multiple dependencies have been updated to their latest versions, which may include performance improvements:
- Updated Design System to version 2.0.0-beta.2
- Upgraded Sentry for better error tracking
- Updated GraphQL tools
- Upgraded HTTP-errors
- Updated various utility dependencies and GitHub Actions dependencies
Document Service API Consistency
The document service API has been made more consistent, which should lead to more predictable behavior and potentially better performance.
Impact Summary
Strapi v5.0.0-beta.6 represents an incremental improvement to the v5 beta series with several notable enhancements and fixes. The UI improvements to the main navigation and history functionality will provide a better experience for content editors. Developers will need to adapt to some breaking changes, particularly the renaming of core packages and removal of deprecated options.
The MySQL document ID migration fix addresses an important database-specific issue that could affect migrations. The improved document service API consistency and dependency updates contribute to a more robust and maintainable codebase.
This release continues to refine the v5 experience, with particular attention to the history feature, which now shows hidden fields for a more comprehensive view of content changes. The TypeScript type system cheat sheet is a valuable addition for contributors and developers working with Strapi's codebase.
Overall, this beta release brings Strapi v5 closer to stability with important refinements to both the developer and user experience.