Drupal 10 Readiness

Daniel Lemon / May 27, 2021

Earlier this year I wrote about "End-of-Life Drupal 8 and the upgrade to Drupal 9", and now here we are, already looking ahead to Drupal 10!

Targeted for release in June 2022, a little over a year from now, here’s an update on the current state of development, what Drupal 10 means for your business and how you can get involved.

As Dries highlighted in the Driesnote at DrupalCon North America 2021, the Drupal 10 initiative is important to ensure that Drupal uses the latest and greatest components that we depend on; ensuring stability and security for all. Dries stressed the importance of maintaining the activity and momentum to push Drupal to be ready in time for the targeted release next year.

What will change?

Some of the third-party dependencies and system requirements will be upgraded to, ideally, their latest stable releases. Code deprecated throughout the Drupal 9 lifecycle will also be removed in the first release of Drupal 10.

  • CKEditor 4 will be replaced with CKEditor 5
  • Symfony 4 will be upgraded to Symfony 5 or Symfony 6
  • jQuery UI will be removed
  • PHP 8.0 will be required (up from PHP 7.3)
  • PostgreSQL 12 with pg_trgm will be required (up from PostgreSQL 10)

The Drupal stock themes “Seven” and “Bartik” will be replaced with “Claro” and “Olivero” respectively. A much needed and welcomed change is that Drupal core is dropping support for Internet Explorer 11 in Drupal 10. A high-level overview of all changes coming to Drupal 10 is listed on the drupal.org website.

We already know many of the deprecated APIs, some dating back to Drupal 8, which means module maintainers can start to update their code to rely on the newer APIs.

Current Tooling

To ease the process of upgrading from Drupal 9 to Drupal 10, there are a few tools in place. These tools were already developed to help aid in the upgrade of Drupal 8 to Drupal 9, so might be familiar to many.

  • The Drupal 10 Deprecation Status page shows Drupal 10 compatibility based on all currently confirmed deprecated API uses in Drupal 9 extensions.
  • The Upgrade Rector and the underlying drupal-rector project will be used to automate updates of deprecated code.
  • The Upgrade Status UI or CLI will check your Drupal 10 readiness on your Drupal 9 site (as much as already defined).

The best place to help with the upgrade path right now is updating drupal-rector. The rector 0.10 version update currently underway enables the tool to run on a modern setup. After that, [adding support for Drupal 9](Adding support for Drupal 9 "https://github.com/palantirnet/drupal-rector/pull/117") is key. Once that is in place, work on covering the top deprecated APIs can start.

The Drupal Project Update Bot also relies on Upgrade Status and drupal-rector to automatically post compatibility fixes to community projects. Automating as much as possible will streamline the upgrade process not only for Drupal core but for all contributed modules.

Get Involved

If you’re interested in helping to get Drupal ready for version 10, feel free to join the Drupal 10 Readiness initiative meetings, held every other Monday. The meetings are always open to all and held on the #d10readiness channel on Drupal Slack. The meetings are text-only, and transcripts of past meetings are available in the meeting archive.

While June 2022 might seem a way off and many website owners are still preparing for the shift to Drupal 9, version 10 will be here before you know it, so plan ahead and let our web development team help you make the move - get in touch with us today.