The third feature release of Drupal 9 introduces experimental support for CKEditor 5, makes the Olivero theme stable and introduces various content editor and developer improvements.
The Olivero frontend theme is now stable!
The new Olivero frontend theme was added in Drupal 9.1.0 and thanks to various contributors since then is now stable. A modern and clear theme, Olivero is planned to become the new default Drupal theme later (replacing Bartik). Subtheming Olivero is currently not supported, but formal support may be included in the future.
The theme is named after Rachel Olivero (1982-2019). She was the head of the organizational technology group at the National Federation of the Blind, a well-known accessibility expert, a Drupal community contributor, and a friend to many.
New experimental support for CKEditor 5
A new beta experimental CKEditor 5 module is included with Drupal 9.3.0. Version 5 of CKEditor is an entirely new editor with visual and architectural improvements. While building the integration, the team worked hard with CKSource to implement functionality crucial for Drupal sites, such as General HTML Support and ways to dynamically load CKEditor plugins, so the visual web based setup of the editor is still available in Drupal. Also special care was given to providing a fluid upgrade path from CKEditor 4 configurations.
Drupal extensions that integrate with CKEditor 4 still need to be updated for CKEditor 5, however the plan is to remove CKEditor 4 support in Drupal 10, so we encourage everyone to try the new module on non-production environments.
New content editor role
A new dedicated Content Editor role was added to the standard profile with content editing, media management, translation, content workflow and revision handling permissions enabled by default.
Various developer improvements
Entity bundles can now declare their own class, encapsulating the required business logic. A bundle class must be a subclass of the base entity class, such as
\Drupal\node\Entity\Node. Encapsulating all the required logic for each bundle into its own subclass opens up many possibilities for making more clear, simple, maintainable, and testable code.
Each user role now depends on the modules that provide the role’s permissions, which means that permissions will be automatically cleaned up when a module is uninstalled.
PHP 8.1.0 was recently released and Drupal 9.3.0 comes with full support for the new version. The recommended PHP version to install Drupal 9.3.0 is PHP 8, but PHP 7.3+ support is kept.
Read the 9.3.0 release notes for more information on developer improvements and changes.
What Does This Mean for Me?
Drupal 9 site owners
Update to 9.3.0 to continue receiving bug fixes and prepare for 10.0.0 (or 9.4.0). The next bug-fix release (9.3.1) is scheduled for January 5, 2022. (See the release schedule overview for more information.) As of this release, sites on Drupal 9.1 will no longer receive security coverage. (Drupal 9.2 will continue receiving security fixes until June 15, 2022.)
Updating your site from 9.2.10 to 9.3.0 with
update.php is exactly the same as updating from 9.2.9 to 9.2.10. Drupal 9.3.0 also has updates to several dependencies. Modules, themes, and translations may need updates for these and other changes in this minor release, so test the update carefully before updating your production site. Read the 9.3.0 release notes for a full list of changes that may affect your site.
Drupal 8 site owners
Drupal 8 is end of life as of November 17, 2021. To continue receving security coverage upgrade from Drupal 8 to Drupal 9.2x at least as soon as possible to continue receiving security coverage. Upgrading is supported directly from 8.8.x and 8.9.x. 99% of the top 1000 most used drupal.org projects are updated for Drupal 9, so the modules and themes you rely on are most likely compatible.
Drupal 7 site owners
Drupal 7 is supported until November 28, 2022, and will continue to receive bug and security fixes throughout this time. From November 2022 until at least November 2025, the Drupal 7 Vendor Extended Support program will be offered by vendors.
On the other hand, the migration path for Drupal 7 sites to Drupal 9 is stable. Read more about the migration to Drupal 9.
Translation, module, and theme contributors
Minor releases like Drupal 9.3.0 include backwards-compatible API additions for developers as well as new features.
Since minor releases are backwards-compatible, modules, themes, and translations that supported Drupal 9.2.x and earlier will be compatible with 9.3.x as well. However, the new version does include some changes to strings, user interfaces, internal APIs and API deprecations. This means that some small updates may be required for your translations, modules, and themes. Read the 9.3.0 release notes for a full list of changes that may affect your modules and themes.
This release has further advanced the Drupal project and represents the efforts of hundreds of volunteers and contributors from various organizations. Thank you to everyone who contributed to Drupal 9.3.0!