Home

>

Tools

>

Strapi

>

Releases

>

3.0.2

Strapi Release: 3.0.2

Tag Name: v3.0.2

Release Date: 6/15/2020

Strapi LogoStrapi

Open-source headless CMS built with Node.js. Provides developers with complete freedom in choosing their favorite tools and frameworks for frontend development.

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.

Upgrade Recommendations

This release contains important bug fixes and enhancements that improve the overall stability and user experience of Strapi. It's recommended for all users to upgrade to v3.0.2, especially if you:

  1. Use MongoDB as your database and rely on the password reset functionality
  2. Work with UID fields and need more control over slug generation
  3. Have international users who would benefit from the new translations
  4. Experienced issues with validation error messages on media fields

The upgrade process should be straightforward with minimal risk as this is primarily a maintenance release with no breaking changes. Simply update your dependencies in your package.json file and run your package manager's install command:

npm install [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

Or if using Yarn:

yarn upgrade [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

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:

  1. Enhanced UID field functionality with customizable slugify options, giving developers more control over how slugs are generated.

  2. Improved internationalization with new Japanese and Malay translations, updated Russian translations, and fixed Dutch translations, making Strapi more accessible to global users.

  3. Fixed critical bugs including MongoDB password reset functionality and user permission issues, improving security and reliability.

  4. Better error handling in the email plugin and validation error messages for media fields, enhancing the content editing experience.

  5. 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

Statistics:

File Changed170
Line Additions1,858
Line Deletions1,406
Line Changes3,264
Total Commits92

User Affected:

  • Benefit from improved documentation with fixed links and typos
  • Can now customize slugify options for UID fields
  • Better error handling in email plugin
  • Fixed MongoDB password reset functionality

Contributors:

rhnorskovqunabuverheyenkoenXAHTEP26giovannigiordanofiblanwillianjustenalexandrebodinderrickmehaffyabdonrdFroelundhenrych4hfitzwaterfabianmiellercwray-techsoupettetonoliazrikaharthiagoaugustodamtsnkffdiogotcorreiatudorilisoilauriejimLithrodrigojcmellohdeadmanadamgallthomaspockrandtpetersg83abelsoaresfadhilxdonuziummadxakash-gupta-146bazzou789simonschllngGomez23HichamELBSInikitasolcube-danreobin