Home

>

Tools

>

Strapi

>

Releases

>

3.0.0-beta.20

Strapi Release: 3.0.0-beta.20

Tag Name: v3.0.0-beta.20

Release Date: 4/16/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.0-beta.20 introduces a major new feature: the Media Library, which provides a comprehensive solution for managing media assets. This release also includes several enhancements like RegExp validation for text fields, custom webpack configuration support, and improved database handling. Bug fixes address server crashes on database changes, GraphQL aggregation issues, and email confirmation redirects. Documentation has been expanded with deployment guides and clarifications.

Highlight of the Release

    • Introduction of the Media Library for comprehensive asset management
    • RegExp validation support for text fields
    • Custom webpack configuration support
    • Fixed server crashes on database changes
    • Improved GraphQL aggregations
    • Enhanced documentation with deployment guides

Migration Guide

Migration from beta.19.5 to beta.20

A comprehensive migration guide is available at https://strapi.io/documentation/3.0.0-beta.x/migration-guide/migration-guide-beta.19-to-beta.20.html

Key migration points:

  1. Media Library Integration: The new Media Library replaces the previous upload functionality. Your existing media files will be automatically migrated to the new system.

  2. Database Changes: If you've customized database configurations, review the changes related to connection handling, especially for components.

  3. Custom Webpack Configuration: If you need to customize the webpack configuration, you can now do so through the new API.

  4. RegExp Validation: If you want to use the new RegExp validation for text fields, you'll need to update your content type schemas.

  5. Default Values: The handling of default values for entity creation has been improved. Review any code that relies on specific default value behavior.

Upgrade Recommendations

This release introduces significant improvements, particularly the Media Library feature, which enhances content management capabilities. The bug fixes for database handling and GraphQL functionality also address important stability issues.

Recommendation: Upgrade is highly recommended for all users, especially those who work with media assets regularly or have experienced database-related issues.

Upgrade Process:

  1. Back up your database and project files
  2. Update your package.json to reference v3.0.0-beta.20
  3. Run npm install or yarn install to update dependencies
  4. Run npm run build or yarn build to rebuild the admin panel
  5. Restart your Strapi application

Testing: Thoroughly test your application after upgrading, particularly focusing on:

  • Media asset management functionality
  • Any custom database queries
  • GraphQL queries that use aggregations
  • User authentication flows

Bug Fixes

  • Server Stability: Fixed server crashes that occurred when changing database configurations (#3184)
  • Database Handling:
    • Updated SQLite table migration query to properly escape column names (#5746)
    • Removed auto-sync indexes for MongoDB in production environments to improve performance (#5754)
  • GraphQL Plugin:
    • Fixed incomplete GraphQL aggregations for required numeric fields (#5646)
    • Fixed issue where GraphQL Aggregation Bookshelf where conditions weren't applied to groupBy (#5657)
  • Users & Permissions: Fixed email confirmation redirect that was broken in a previous update (#5815)
  • UI Improvements:
    • Fixed various UI issues in the Media Library
    • Fixed toggle refetch functionality
    • Fixed pagination count in list views
    • Fixed thumbnail preview issues
    • Fixed input media delete functionality

New Features

Media Library

The standout feature of this release is the new Media Library, providing a comprehensive solution for managing media assets within Strapi. Key capabilities include:

  • Improved UI for browsing, selecting, and managing media files
  • Custom timestamps for media files
  • Advanced filtering options for finding assets
  • Better preview capabilities for different file types
  • Responsive design for the list view
  • Sorting options including by timestamps
  • Integration with WYSIWYG editor for easy media insertion
  • Proxy endpoint to fetch external files without CORS issues
  • Back button functionality for better navigation
  • Error states handling for better user experience

Security Updates

No specific security fixes were mentioned in this release. However, the improvements to database handling and configuration may indirectly enhance the security posture of Strapi applications.

Performance Improvements

  • MongoDB Optimization: Removed auto-sync indexes for MongoDB in production environments, which reduces unnecessary operations and improves startup time
  • Media Library:
    • Optimized file handling with better extension detection and mime-type processing
    • Improved pagination handling for better performance with large media collections
  • Database Queries: Enhanced database query handling, particularly for SQLite table migrations
  • UI Responsiveness: Improved list view responsiveness and rendering performance in the Media Library

Impact Summary

This release significantly enhances Strapi's media management capabilities with the introduction of the Media Library. Content managers will benefit from improved workflows for uploading, organizing, and using media assets throughout their Strapi applications.

Developers gain more flexibility with custom webpack configurations and RegExp validation for text fields. The fixes for database handling address critical stability issues, particularly when changing database configurations.

The GraphQL plugin improvements ensure more reliable and accurate data aggregation, which is essential for applications that rely on complex data queries.

Documentation enhancements, including deployment guides for Google App Engine and clarifications in the Quick Start Guide, make it easier for new users to get started with Strapi and deploy it to various environments.

Overall, this release represents a substantial improvement in both functionality and stability, with the Media Library being the standout feature that enhances the content management experience.

Full Release Notes

Migration Guide here

💅 Enhancement

🐛 Bug fix

  • [core:database] Fix/#3184/fix server crashs on database change (#5703) @Convly
  • [core:database] Update sqlite table migration query to escape column names (#5746) @alexandrebodin
  • [core:database] Remove auto-sync indexes for mongodb from production envs (#5754) @Convly
  • [core:framework] 💥 Add possibility to delete index.html + remove use of production.html (#5444) @petersg83
  • [plugin:graphql] Fix incomplete GraphQL aggregations (required numeric fields) (#5646) @Convly
  • [plugin:graphql] fix: GraphQL Aggregation Bookshelf where condition aren't applied to groupBy (#5657) @olragon
  • [plugin:users-permissions] Fix email confirmation redirect (#5815) @epegzz

🚀 New feature

  • [plugin:upload] 💥 Media library

Statistics:

File Changed300
Line Additions7,543
Line Deletions6,731
Line Changes14,274
Total Commits250

User Affected:

  • Benefit from the new Media Library for better asset management
  • Can now use custom timestamps for media files
  • Improved UI for file selection and management

Contributors:

HichamELBSIlauriejimsoupettevirginiekyalexandrebodindiogotcorreiayacirVasylRishkoConvlytimgates42derrickmehaffydsc8x