Home

>

Tools

>

Strapi

>

Releases

>

4.3.0-beta.1

Strapi Release: 4.3.0-beta.1

Pre Release

Tag Name: v4.3.0-beta.1

Release Date: 6/15/2022

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 v4.3.0-beta.1 introduces two major features: TypeScript support for enhanced developer experience and Media Library Folders for better asset organization. This release significantly improves the developer workflow with type safety and provides content managers with powerful tools to organize media assets in a hierarchical structure. These additions address long-requested features from the Strapi community and lay the groundwork for more robust applications.

Highlight of the Release

    • TypeScript support with improved developer experience and type safety
    • Media Library Folders for hierarchical organization of assets
    • Bulk actions for moving multiple assets between folders
    • Search functionality for folders and assets
    • Improved navigation in the Media Library with breadcrumbs and folder structure
    • Incremental builds by default for TypeScript projects

Migration Guide

Migration to TypeScript

  1. For New Projects:

    • Use the updated CLI commands to generate a TypeScript-based Strapi project.
    • The generated project will include the necessary TypeScript configuration.
  2. For Existing Projects:

    • Follow the TypeScript migration guide in the beta documentation.
    • Add TypeScript dependencies to your project.
    • Create a tsconfig.json file with the recommended settings.
    • Gradually convert your JavaScript files to TypeScript.

Using Media Library Folders

  1. Getting Started:

    • After upgrading to v4.3.0-beta.1, the Media Library will automatically support folders.
    • Create your first folder using the "Create folder" button in the Media Library.
  2. Organizing Assets:

    • Move existing assets to folders using drag and drop or the bulk move functionality.
    • When uploading new assets, you can select the target folder.
  3. Permissions:

    • Review and update your role permissions to ensure proper access to folder operations.

Upgrade Recommendations

As this is a beta release (v4.3.0-beta.1), it's recommended to:

  1. Test in a Non-Production Environment First: Install and test this version in a development or staging environment before considering it for production use.

  2. For TypeScript Users: This release provides significant benefits for developers wanting to use TypeScript with Strapi. If you've been waiting for TypeScript support, this beta is worth exploring.

  3. For Media Organization Needs: If better media asset organization is a priority for your project, this beta offers substantial improvements through the folder system.

  4. Backup Your Data: Always create a backup of your data before upgrading, especially with beta releases.

  5. Report Issues: As you test the new features, report any issues you encounter to help improve the stable release.

The upgrade process follows the standard Strapi version upgrade procedure, but extra caution is advised given the beta status.

Bug Fixes

  • Fixed issues with CLI commands when the TypeScript outDir is changed
  • Fixed notification wording and confirmation delete dialog for better user experience
  • Fixed error handling when the output directory doesn't exist
  • Fixed issues with uploading assets to specific folder locations
  • Fixed issues with folder pagination and navigation
  • Resolved problems with the Media Library dialog and modal interactions
  • Fixed focus management when editing folders and assets
  • Improved error messages for folder operations
  • Fixed issues with the folder structure display in the asset edit dialog
  • Resolved prop-type errors in various Media Library components
  • Fixed height consistency issues in the asset list view

New Features

TypeScript Support

  • Full TypeScript Integration: Strapi now supports TypeScript throughout the application, allowing developers to write type-safe code.
  • TypeScript Project Generation: New CLI commands to generate TypeScript-based Strapi projects and plugins.
  • Incremental Builds: TypeScript projects now use incremental builds by default for faster compilation times.
  • Enhanced Type Definitions: Improved type definitions for database queries, Strapi interfaces, and core components.
  • TypeScript Configuration: Generated tsconfig.json with optimized settings for Strapi projects.

Media Library Folders

  • Hierarchical Folder Structure: Organize media assets in a nested folder structure for better organization.
  • Folder Navigation: Navigate through folders with breadcrumb navigation and folder tree view.
  • Bulk Actions: Select multiple assets to move them between folders in a single operation.
  • Search Functionality: Search for folders and assets within the Media Library.
  • Folder Management: Create, rename, move, and delete folders with intuitive UI.
  • Asset Organization: Assign assets to specific folders during upload or move them later.
  • Edit Asset Location: Change an asset's folder location from the asset edit dialog.
  • Folder Permissions: Control access to folders based on user roles and permissions.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

  • Incremental TypeScript Builds: Added incremental build support by default in generated TypeScript projects, significantly reducing compilation times for large projects.
  • Optimized Folder Queries: Improved database queries for folder operations with better transaction handling.
  • Selective Loading: Media Library now skips loading folders when asset-only filters are applied, improving load times.
  • Transaction Support: Added database transaction support for folder operations to ensure data integrity and improve performance.
  • Refactored Components: Several Media Library components have been refactored for better performance and maintainability.
  • Improved Asset Loading: Better handling of asset loading states and pagination.

Impact Summary

Strapi v4.3.0-beta.1 represents a significant evolution with two major feature additions that impact both developers and content managers.

For developers, the introduction of TypeScript support is transformative, bringing type safety, better IDE integration, and improved code quality to Strapi projects. This has been one of the most requested features from the developer community and lays the foundation for more robust application development. The addition of incremental builds by default also improves the development workflow by reducing compilation times.

For content managers, the new Media Library Folders feature revolutionizes how media assets are organized within Strapi. Instead of a flat structure, users can now create a hierarchical organization system with nested folders, making it much easier to manage large collections of media assets. The addition of search functionality, bulk operations, and improved navigation enhances the overall user experience when working with media.

These features represent Strapi's commitment to improving both the developer experience and content management capabilities, addressing key pain points that users have expressed. While this is a beta release and caution is advised for production use, it provides a clear preview of important enhancements coming to the Strapi ecosystem.

Full Release Notes

Statistics:

File Changed300
Line Additions9,875
Line Deletions8,050
Line Changes17,925
Total Commits250

User Affected:

  • Can now use TypeScript for type safety and improved developer experience
  • Benefit from incremental builds by default in generated TypeScript projects
  • Have access to improved type definitions for database queries and Strapi interfaces
  • Can create TypeScript-based plugins and projects

Contributors:

petersg83ronronscelestesConvlyBassel17alexandrebodin