Drupal launched the latest version Drupal 10 on 15th December 2022. Upgrading to Drupal 10 will bring new features, better security, and performance boost to the project.
The Drupal release cycle
Drupal 10 is available now for sites that wish to upgrade to the latest and greatest version. Drupal 9 will be supported through to November 2023 so sites have one year to make the transition.
- Drupal core does monthly Patch releases (9.0.1, 9.0.2, etc.) which address bugs to be fixed.
- Drupal core releases scheduled minor releases (9.2.0, 9.3.0, etc.) approximately every six months, and will incorporate new features and deprecate the existing code. See Drupal core deprecation policy.
- Drupal core released a new major release (e.g. 10.0.0) alongside a final scheduled minor release of the previous major version (e.g. 9.5.0) that has the same stable (non-deprecated) API.
Drupal 9 has been around for 2 years. It reaches end-of-life due to its dependency on Symfony 4. See life cycle of Symfony 4.4. Drupal 10 will last at least four years before the next major version is released based on the Symfony 6 release cycle.
What’s new for Editors?
Editors will enjoy upgrades to the WYSIWYG editor as well as have access to new core themes for frontend and back end administration.
CKEditor
Drupal 10 ships with CKEditor 5, a new content editor with New better UI, Improved UX, for example, Media widgets with dedicated toolbar, Tables with a dedicated dropdown, the linking experience is much smoother, uploading images is much faster, etc. Read to know more how CKEditor5 takes the editing experience to the next level. CKEditor 5 will replace CKEditor 4.
Olivero
The new front end theme, Olivero, provides the modern experience of the website to the users. It comes with the modern best practices of responsive grids, listings, etc.
Claro
The new administration theme, Claro, with a clean, accessible and powerful Drupal administration interface for site management. It provides a completely modern look and feel for the Drupal administration UI.
What’s new for Developers?
Starter Kit themes
The Classy theme has now been replaced by the new Starter Kit theme generator. The Starterkit theme generator is the recommended way to create new themes, instead of setting a theme's base theme to a theme such as classy. Classy was moved to the contributed project.
Symfony
Drupal 10 requires Symfony 6.2, PHP 8.1 or higher which provides long term support as per Symfony release cycle.
Views Responsive Grid
A new “Views Responsive Grid” format has been added to Drupal 10 core which provides responsive grid out of the box. Checkout the drupal issue for technical details.
PHPStan
The static analyzer tool PHPStan with level 0 has been added to Drupal Core to find bugs in code without having to write tests. See the change record to view the technical details to include it in your project
VarDumper
Improved Dumping of Twig Variables with Symfony VarDumper when available. Look at https://www.drupal.org/node/3306989 for tech behind it.
Template suggestions
New |add_suggestion Twig Filter Added to create a new template suggestion based on the value passed in. This new suggestion will have the highest priority. Look at the example here.
What has been removed?
Drupal 10 brings improvements but there has also been some tidy up of things which are no longer required or are not being used by large numbers of sites.
- Internet Explorer 11 is not supported in Drupal 10. See the list of supported browsers
- The Quick Edit, Aggregator, HAL, RDF and Color modules have been removed from Drupal core but they are still available as a contributed modules.
- The Bartik, Classy, Seven, and Stable theme has been removed from Drupal core but it’s still available as a contributed theme.
Upgrade path from Drupal 9 to Drupal 10
The upgrade to Drupal 10 will be smooth as both of the versions share the same architecture under the hood. The upgrade from 9.4.9 to Drupal 10 is the same as its switching to Drupal 9.5.0.
Prerequisites
- PHP requirements of Drupal 10 should be met on the web server.
- The Database version supported by Drupal 10 should be supported on the Database server.
- Drupal 10 recommends Composer version 2.3.6 or higher
- Update to the latest Drupal 9.x version
- Update all contributed projects and check they are compatible with Drupal 10
- Update all custom projects to make them D10 compatible and remove deprecated code.
Execute the composer commands to require the latest 10.0.0 version which will update the drupal core and run update.php. See the composer commands which I have executed for one of the projects.
$ composer require drupal/core-composer-scaffold:^10.0 drupal/core-recommended:^10.0 --no-update
$ composer update --with-all-dependencies
Benefits for Future
The release cycle of Drupal is now more incremental with new features being released in point releses. The release of Drupal 10 can be seen as a release which keeps Drupal up to speed with developments in in core components such as Symfony, CKEditor and PHP. This ensures that developments in these dependencies flow through to benefit developers and editors alike.
The performance improvements with Drupal 10 with the updates to database drivers along with performance improvements in PHP 8.1
The power of CKeditor 5 to the content editors empowers with the new features out of the box.
At Morpht we are looking forward to updating our starter distribution, Convivial CXP, to take advantage of these new features. Clients who are based on teh GovCMS platform will also automatically benefit when the platform is updated in early 2023.