TL;DR
Strapi v3.0.2 is a maintenance release that brings numerous documentation improvements, translation updates, and bug fixes. Key highlights include new slugify options for UID fields, improved error handling in emails, and fixes for user permissions and MongoDB password reset functionality. This release enhances the developer experience with better documentation and more robust functionality without introducing breaking changes.
Highlight of the Release
- Added slugify options for UID fields
- Added Japanese and Malay translations
- Fixed MongoDB password reset functionality
- Improved error handling in email plugin
- Fixed validation error messages on media fields
- Added reserved names for attributes to prevent conflicts
Migration Guide
No significant migration steps are required for this release as it primarily consists of bug fixes and enhancements.
If you're using the UID field type and want to take advantage of the new slugify options, you can update your model configuration to include these options. For example:
{
attributes: {
slug: {
type: 'uid',
targetField: 'title',
options: {
lowercase: true,
separator: '-'
}
},
title: {
type: 'string'
}
}
}
If you were experiencing issues with MongoDB password reset functionality, this should now work correctly without any changes required on your part.
Bug Fixes
Fixed MongoDB password reset functionality
The forgot/reset password functionality has been fixed for MongoDB by ensuring only mandatory fields are updated during the process, preventing potential data loss or corruption.
Fixed validation error messages on media fields
Media fields now properly display validation error messages, improving the content editing experience and making it clearer when requirements aren't met.
Fixed user permission issues
Several security-related issues with user permissions have been addressed, ensuring proper access control throughout the application.
Fixed GraphQL singularName resolver
The GraphQL findOne resolver now correctly uses singularName instead of pluralName, fixing potential issues with GraphQL queries.
Database connection improvements
- Removed options pool for non-sqlite3 clients to prevent connection issues
- Fixed database configuration examples in documentation
Fixed plugin uninstallation messages
Improved the clarity of messages displayed when uninstalling plugins, making the process more user-friendly.
New Features
Added slugify options for UID fields
The UID field type now supports customizable slugify options, allowing developers to configure how slugs are generated. This provides more flexibility when creating URL-friendly identifiers from content.
Added new translations
- Added complete Malay (ms.json) translations for the admin panel and plugins
- Added Japanese translations for better internationalization support
- Updated Russian translations for the admin panel
Added guide on unit testing
A new comprehensive guide on unit testing for v3.x has been added to the documentation, helping developers implement proper testing strategies for their Strapi applications.
Security Updates
User permissions fixes
Security issues related to user permissions have been addressed, ensuring that proper access control is maintained throughout the application. This prevents potential unauthorized access to protected resources.
Load Sentry as first middleware
Sentry error tracking is now loaded as the first middleware, ensuring that all errors are properly captured, including those that might occur in other middleware components.
Performance Improvements
Removed unused dependencies
Cypress testing framework dependencies were removed as they were not being used, reducing the package size and potential security vulnerabilities.
Improved error handling
Better error handling in the email plugin ensures more reliable email delivery and clearer error messages when issues occur, preventing silent failures.
Impact Summary
Strapi v3.0.2 is a maintenance release that focuses on improving documentation, fixing bugs, and enhancing the user experience. The most significant improvements include:
-
Enhanced UID field functionality with customizable slugify options, giving developers more control over how slugs are generated.
-
Improved internationalization with new Japanese and Malay translations, updated Russian translations, and fixed Dutch translations, making Strapi more accessible to global users.
-
Fixed critical bugs including MongoDB password reset functionality and user permission issues, improving security and reliability.
-
Better error handling in the email plugin and validation error messages for media fields, enhancing the content editing experience.
-
Documentation improvements with numerous typo fixes, updated links, and new guides including unit testing for v3.x.
This release doesn't introduce any breaking changes, making it a safe upgrade for all users. The improvements primarily benefit developers through better documentation and more robust functionality, while content editors will appreciate the improved validation messages and UI fixes.
Full Release Notes
💅 Enhancement
🐛 Bug fix
- [core:database] Remove options pool for non sqlite3 clients (#6469) @abelsoares
- [core:framework] Remove cypress because it is not used (#6557) @hdeadman
- [plugin:content-type-builder] Add reserved names for attributes (Enum and Relations) (#6620) @HichamELBSI
- [plugin:email] better error handling in email (#6599) @petersg83
- [plugin:graphql] Fix singularName resolver for GraphQL findOne action (#6574) @thomaspockrandt
- [plugin:users-permissions] 🚑 Forgot/Reset password fix for MongoDB - only update mandatory fields (#6327) @damtsnkff
- [plugin:users-permissions] Remove platform check (#6546) @Gomez23