TL;DR
Strapi v3.3.4 introduces a new Categories selector for dynamic zones, making component organization more intuitive. This release also adds Indonesian translations, fixes bugs in the content manager, and improves database support for Mongoose. The update enhances the developer experience with better UI organization and fixes issues with non-repeatable components.
Highlight of the Release
- New Categories selector for dynamic zones improves component organization
- Added Indonesian language translations
- Fixed click event handling on non-repeatable empty components
- Added support for columnType in Mongoose
- Documentation and example improvements
Migration Guide
No specific migration steps are required for this release. This is a minor update that should be compatible with existing Strapi v3.3.x installations.
For general migration information, refer to the Strapi Migration Guides.
Bug Fixes
Fixed Click Event on Non-repeatable Empty Components
Fixed an issue where clicking on non-repeatable empty components wasn't properly triggering the expected action. This bug was preventing users from effectively managing their content components in certain scenarios.
Updated .gitignore in Examples
The .gitignore file has been updated in both the example projects and the generate-new command. This ensures that the correct files are excluded from version control when creating new Strapi projects.
Documentation Fixes
- Removed unreachable code examples from documentation
- Fixed spelling of "Restaurant" in documentation examples
New Features
Categories Selector for Dynamic Zones
A significant UI enhancement has been added to the Content Manager with the introduction of a Categories selector for dynamic zones. This feature allows components to be organized into logical categories, making it easier to find and select the right components when building content. The implementation includes:
- Organized component selection interface with collapsible categories
- Improved UI with better spacing and margins
- Automatic opening of selector when only a single category is available
- Enhanced visual feedback during component selection
This feature was contributed by @Norbz and @misterdju from la chose.
Indonesian Language Support
Complete Indonesian language translations have been added across multiple Strapi areas:
- Admin interface
- Users & Permissions plugin
- Content Manager plugin
- Content Type Builder plugin
- Documentation plugin
- Email plugin
- Plugin generator
This enhancement makes Strapi more accessible to Indonesian-speaking users and developers.
Security Updates
This release includes a security update by bumping nodemailer from 6.3.0 to 6.4.16, addressing potential security vulnerabilities in the email sending functionality.
Performance Improvements
No specific performance improvements were mentioned in this release.
Impact Summary
Strapi v3.3.4 delivers meaningful improvements to the content editing experience through the new Categories selector for dynamic zones, making component organization more intuitive and efficient. This feature significantly enhances the usability of dynamic zones, which are a core part of Strapi's content modeling capabilities.
The addition of Indonesian language support expands Strapi's accessibility to a wider audience, continuing the CMS's commitment to internationalization.
For developers, the added support for columnType in Mongoose provides more flexibility when working with MongoDB databases, allowing for more precise control over data storage.
Bug fixes address important usability issues, particularly with non-repeatable components, ensuring a smoother content editing experience. The security update to nodemailer helps maintain the platform's security posture.
Overall, this release focuses on enhancing the user experience, expanding language support, and fixing specific issues that impact day-to-day usage of the CMS.
Full Release Notes
💅 Enhancement
🌏 Translation
🐛 Bug fix
- [core:cli] Update gitignore in example and in generate-new (#8707) @petersg83
- [plugin:content-manager] Fixed click event on non-repeatable empty component (#8679) @akhilmhdh
📚 Migration guides can be found here 📚