Home

>

Tools

>

Strapi

>

Releases

>

4.15.0

Strapi Release: 4.15.0

Tag Name: v4.15.0

Release Date: 10/25/2023

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.15.0 introduces several notable features including the Blocks Editor now being marked as stable, system theme synchronization, and a new plugin:watch command. The update also brings UI improvements to the Blocks Editor, fixes for GraphQL blocks fields, and continues the TypeScript migration with numerous components converted. This release enhances developer experience while addressing several bugs in the content manager and blocks editor.

Highlight of the Release

    • Blocks Editor is now marked as stable
    • System theme synchronization for the admin panel
    • New plugin:watch command for improved plugin development workflow
    • Fixed blocks fields not working in GraphQL
    • Continued TypeScript migration with many admin components converted
    • Enterprise Edition features are now promoted in Community Edition projects by default

Migration Guide

Node.js Version Update

This release drops support for Node.js 16 and updates all static tests to Node.js 20. If you're still using Node.js 16, you should upgrade to a supported version (Node.js 18 or 20) before updating to Strapi v4.15.0.

Package Updates

The Sharp package has been updated to version 0.32.6 in the upload plugin. If you have custom code that depends on specific Sharp functionality, you may need to review the Sharp changelog for any breaking changes.

Design System Update

The Design System has been updated to version 1.13.0. If you're using Design System components directly in your custom code, review the Design System changelog for any breaking changes.

No specific database migrations or configuration changes are required for this update.

Upgrade Recommendations

This release is recommended for all users, especially those who:

  1. Use the Blocks Editor for content creation, as it's now marked as stable
  2. Want to benefit from system theme synchronization
  3. Develop Strapi plugins and would benefit from the new plugin:watch command
  4. Use GraphQL with blocks fields

Before upgrading:

  • Ensure you're running on Node.js 18 or 20, as Node.js 16 support has been dropped
  • Back up your database and project files
  • Review the full changelog for any changes that might affect your custom code

The upgrade process follows the standard Strapi update procedure:

  1. Update your dependencies in package.json
  2. Run yarn install or npm install
  3. Restart your Strapi application

No specific configuration changes are required for this update.

Bug Fixes

Blocks Editor Fixes

  • Fixed weird behavior when trying to delete content inside a list, where dropdown options would appear empty
  • Fixed an issue that prevented creating images inside a list
  • Improved the style of delete and edit buttons inside the Link Popover

Content Manager Fixes

  • Fixed action buttons not triggering in the content manager
  • Fixed checkbox causing scroll issues in tables
  • Fixed advanced settings DatePickers crash when encountering empty strings

GraphQL Fix

  • Fixed blocks fields not working properly in GraphQL, ensuring that content created with the Blocks Editor can be properly queried through the GraphQL API

New Features

Blocks Editor Now Stable

The Blocks Editor, which provides a rich content editing experience, is now marked as stable with the addition of a stable release badge. This indicates that the feature is production-ready and fully supported.

System Theme Synchronization

The admin panel now supports synchronizing with your system theme preference. This means the UI will automatically switch between light and dark mode based on your operating system settings, providing a more consistent experience across applications.

New Plugin:Watch Command

A new plugin:watch command has been added to Strapi, allowing developers to watch for changes in their plugins during development. This improves the development workflow by automatically rebuilding plugins when changes are detected.

Enterprise Features Promotion in CE Projects

Enterprise Edition features are now promoted by default in Community Edition projects. This helps users discover premium features that might benefit their projects, with clear indications of which features require an Enterprise Edition license.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

This release doesn't include specific performance improvements highlighted in the changelog. However, the TypeScript conversion of many admin components may indirectly improve performance through better code quality and fewer runtime errors.

Impact Summary

Strapi v4.15.0 brings several important improvements that enhance both developer and content editor experiences. The most significant change is that the Blocks Editor is now marked as stable, indicating it's ready for production use. This is complemented by several bug fixes in the Blocks Editor, improving the content editing experience.

For developers, the new plugin:watch command streamlines plugin development, while the continued TypeScript migration improves code quality and maintainability. The fix for blocks fields in GraphQL ensures that content created with the Blocks Editor can be properly accessed through the API.

The system theme synchronization feature improves the user experience by automatically adapting the admin panel to match the user's system preferences. Additionally, Enterprise Edition features are now promoted in Community Edition projects by default, helping users discover premium features that might benefit their projects.

This release also drops support for Node.js 16, so users still on this version will need to upgrade to Node.js 18 or 20.

Overall, this is a solid feature release that continues Strapi's focus on improving the content editing experience while also enhancing developer tooling.

Full Release Notes

🚀 New feature

💅 Enhancement

  • [core:admin] Add: promoting EE features in CE projects by default (#18179) @Mcastres
  • [core:admin] [Blocks editor] Fix - Change delete and edit buttons style inside the Link Popover (#18421) @simotae14
  • [utils:pack-up] feat(pack-up): add the ability to pass plugins via the config (#18486) @joshuaellis

🔥 Bug fix

  • [core:admin] fix(blocks): fix weird behaviour when try to delete content inside a list (dropdown option empty) (#18521) @simotae14
  • [core:content-manager] fix: content manager action buttons not triggering and checkbox causing scroll (#18182) @amerikan
  • [core:content-type-builder] fix(ctb): advanced settings DatePickers crash with empty string (#18506) @joshuaellis
  • [plugin:graphql] fix: blocks fields not working in GraphQL (#18485) @remidej
  • [tooling] fix(workflow): re-add build step for linting because it's required (#18489) @joshuaellis

⚙️ Chore

  • [core:admin] chore(admin): convert utils to TS (#18452) @gu-stav
  • [core:admin] chore(admin): convert layouts to TS (#18456) @gu-stav
  • [core:admin] chore(admin): convert GuidedTour to TS (#18461) @joshuaellis
  • [core:admin] chore(admin): move and combine various constants into a single TS file (#18472) @gu-stav
  • [core:admin] refactor(admin): convert rest of components to TS (#18473) @joshuaellis
  • [core:admin] chore(admin): convert ApiTokenPermissions to TS (#18476) @gu-stav
  • [core:admin] chore(admin): convert UseCasePage to TS (#18477) @gu-stav
  • [core:admin] chore(admin): convert InternalErrorPage to TS (#18478) @gu-stav
  • [core:admin] chore(admin): convert NotFoundPage to TS (#18482) @gu-stav
  • [core:admin] chore(admin): move LanguageProvider mock file to TS (#18533) @gu-stav
  • [core:admin] chore(admin): convert useContentTypes to TS (#18536) @gu-stav
  • [dependencies] chore(plugin-upload) - update sharp to 0.32.6 (#18480) @vojthor
  • [dependencies] chore(deps): update design-system to 1.13.0 (#18538) @remidej
  • [tooling] Run nx repair to correct nx configuration (#18446) @smorimoto

📚 Update and Migration Guides

  • General update guide can be found here
  • Migration guides can be found here 📚

Statistics:

File Changed300
Line Additions3,889
Line Deletions7,609
Line Changes11,498
Total Commits71

User Affected:

  • Can now use the new `plugin:watch` command for improved plugin development workflow
  • Benefit from TypeScript conversion of many admin components for better type safety
  • Can use plugins via the config in pack-up
  • Need to be aware that Node.js 16 support has been dropped

Contributors:

derrickmehaffyalexandrebodininnerdvationssmorimotoamerikanjoshuaellisvojtech-p5simotae14vojthorBoegie19remidejMarc-RoigmarkkaylormadhurisandbhorMcastres