TL;DR
Strapi v4.20.0: Enhanced Content Releases with Single Type Support and Nested Lists
This release brings significant improvements to Strapi's content management capabilities. Content Releases now support single types, making content scheduling more versatile. The new nested list feature in Blocks enhances content formatting options. Several bug fixes improve stability across user management, content releases, and database transactions. The update also includes optimistic updates for content release actions and tracking capabilities.
Highlight of the Release
- Added support for single types in Content Releases
- Introduced nested lists feature in the Blocks editor
- Fixed database transaction handling for nested commits and rollbacks
- Improved Content Releases UI with standardized icons and better limit notifications
- Enhanced data transfer service with morphToOne relations support
Migration Guide
No specific migration steps are required for this release. As always, follow the general update procedure:
- Make a backup of your project before updating
- Update your package.json to use the new version (v4.20.0)
- Run
npm install or yarn install to update dependencies
- Restart your Strapi application
For detailed information, refer to the general update guide and migration guides in the Strapi documentation.
Upgrade Recommendations
This release contains important bug fixes and feature enhancements that improve the overall stability and functionality of Strapi. The addition of single type support for Content Releases and nested lists in the Blocks editor provides significant value for content editors.
Recommendation: All users should upgrade to v4.20.0, especially those who:
- Use Content Releases feature
- Work with the Blocks editor for content creation
- Have experienced issues with database transactions
- Use review workflows
The upgrade is straightforward with no breaking changes reported, making it a safe update for most installations.
Bug Fixes
User Management
- Fixed response management when creating users to ensure proper handling of user creation requests
Content Manager
- Fixed parameter passing for publish and unpublish POST requests
- Restored proper pagination object on relations response
Content Releases
- Fixed handling of cases where
release.createdBy is null
- Corrected wrong property name for the maximum number of pending releases limit
- Standardized icon sizes in the content releases interface
- Added disabled state to action radio buttons for better UX
Data Transfer
- Added support for morphToOne relations in the data transfer service
Database
- Fixed issues with nested transactions during commit and rollback operations
Review Workflows
- Fixed issues preventing creation or updating of workflows
- Corrected data invalidation for proper UI updates
- Fixed parameter passing (using data instead of body)
New Features
Nested Lists in Blocks Editor
The Blocks editor now supports nested lists, providing a more powerful content formatting experience. Content editors can:
- Create multi-level nested lists for better content organization
- Toggle between list types through toolbar buttons
- Shift list items under parent lists with double enter
- Handle deletion of both simple and nested list items properly
This feature includes accessibility improvements with proper ARIA labels for blocks input.
Single Type Support in Content Releases
Content Releases now support single types, expanding the capability of the feature to handle all content types in Strapi. This enhancement allows content editors to schedule changes to single types alongside collection types, providing a more comprehensive content scheduling solution.
Security Updates
No specific security fixes were mentioned in this release.
Performance Improvements
Optimistic Updates for Content Releases
The Content Releases feature now implements optimistic updates for actions, providing a more responsive user experience. This improvement allows the UI to update immediately when performing actions, without waiting for the server response, making the interface feel faster and more responsive.
Code Optimizations
Several code optimizations have been implemented across the codebase, particularly in the Blocks editor's list handling functionality, improving overall performance and reducing unnecessary code execution.
Impact Summary
Strapi v4.20.0 brings notable improvements to content management capabilities with the addition of single type support in Content Releases and nested lists in the Blocks editor. These features significantly enhance content creation and scheduling workflows for editorial teams.
The release addresses several important bugs, particularly in database transaction handling, user management, and the Content Releases feature. These fixes improve the overall stability and reliability of the platform.
UI improvements, including standardized icon sizes and better handling of limit notifications in Content Releases, enhance the user experience. The implementation of optimistic updates for Content Releases actions makes the interface more responsive.
For developers, the support for morphToOne relations in the data transfer service and fixes for parameter passing in various API endpoints provide more robust development capabilities.
Overall, this release represents a solid improvement in both features and stability, with particular benefits for content editors working with structured content and scheduled publishing.
Full Release Notes
🔥 Bug fix
- [core:admin] fix(users): adjust response management to create user (#19382) @davidpv1
- [core:content-manager] fix(cm): pass params to post requests for publish & unpublish (#19294) @joshuaellis
- [core:content-releases] fix(content-releases): handle release.createdBy is null (#19376) @markkaylor
- [core:content-releases] fix(content-releases): wrong value for the max number of pending releases limit (#19394) @simotae14
- [core:content-releases] fix(content-releases): standardize icons size (#19399) @simotae14
- [core:content-releases] fix(content-releases): add disabled state to action radio buttons (#19420) @simotae14
- [core:data-transfer] fix(dts): support morphToOne relations (#19381) @markkaylor
- [core:database] fix: nested on commit on rollback transactions (#19368) @Marc-Roig
💅 Enhancement
- [core:content-releases] fix(content-releases): Add single type to releases (#19332) @Feranchz
📚 Update and Migration Guides
- General update guide can be found here
- Migration guides can be found here 📚