Start preparing for Drupal 9 EOL on November 1, 2023

07 November 2022
5 minutes

During the Drupal TechTalk the October 20, I discussed the urgency that comes with upgrading to Drupal 10. Because Drupal 9 will be End-Of-Life (EOL) on november 1, 2023 and that is much sooner than most people expect! I argued why it is important to start thinking and planning as soon as possible.

Drupal 9 will be EOL on November 1, 2023. This date will not and cannot be extended, like Drupal project is doing with Drupal 7. The problem is that Drupal 9 is built on Symfony 4, and support will end on November 1, 2023. As the Drupal project cannot offer support for a version that has dependencies that are EOL, the result is that the Drupal project must make that version EOL.

As we are still waiting for Drupal 10 to be released on December 14 of this year, most people have not started planning to upgrade their Drupal 9 sites. Drupal 9 will be EOL in 10½ months after the release of Drupal 10 and only 12 months from now!

A lot of people tend to wait 6 months or longer for contributed modules and themes to be compatible with the new major version, before thinking about upgrading to the latest version. However, by then it will be the start of the summer of 2023. Getting major upgrades done, will for Drupal agencies involve the participations of clients (budget, planning & testing). It is very tempting to wait untill the end of the summer when everybody is back from their summer holidays. By then it will be September and only 2 months will remain until the EOL of Drupal 9.

The time remaining until the EOL of Drupal 9 will be gone faster than we are expecting. The upgrades will take developer and administrator time. This needs to be scheduled. It is very tempting to score a big and exciting new project that fills a lot of the developer/administrator time. My advice is to start preparing your Drupal 10 upgrades NOW and do as much as you can as soon as possible.

What to do now?

What can you do now to prepare for Drupal 9 EOL:

  1. Start running your Drupal 9 sites with PHP 8.1. It might not sound particularly important, only Drupal 10 will have PHP 8.1 as a minimum requirement. Every new version of PHP has some backward incompatible changes. By starting to use PHP 8.1 we will find out and can fix the backward incompatible changes in our Drupal 9 site. For more information: Migrade to PHP 7.4, Migrade to PHP 8.0 and Migrade to PHP 8.1
  2. Make a list of contributed modules and themes that your Drupal 9 site is using. Check if they all have a Drupal 10 compatible release. Consider helping out to get those modules and themes to getting a Drupal 10 compatible release. The module Upgrade status gives a great overview of what needs to be done.
  3. Replace all the deprecated code in your Drupal 9 site custom code. The package Drupal check is immensely helpful in listing a lot of your deprecated code use. Most deprecated code use is easily replaced by non-deprecated code. Most of it can be done by a junior Drupal developer.
  4. A few Drupal 9 sites will have the problem of being dependent on code from Symfony 4 that is deprecated in Symfony 5 and removed in Symfony 6. As Drupal 10 is released with Symfony 6, that code will be removed. It is not very likely, but it can happen.

I hope this information will help you understand the urgency to prepare the upgrade of your Drupal 9 sites as soon as possible. Not only does the upgrade process of the websites take time, but the client must be ready for it too. In that way there will be enough time for everything to be done in time. 

A bit of history

The Drupal project would very much like to do major releases with a time interval of something like 3 to 5 years.

All versions of Drupal until version 7 are without major dependencies. Drupal 8 and newer versions are, however using a lot of dependencies and those dependencies like to have a shorter time between major releases. More like something of 2 years. Developers of open source projects like to work on new features and not supporting older software. 

The problem for Drupal 9 is that it had to be released with Symfony 4, as Symfony 5 was not available at the time.  

The future of the Drupal release schema

The new release cycle for the Drupal project will be a new major release every 2 years. Just like Drupal's most important dependency, Symfony. In June of every even-numbered year the Drupal project will do a new major release. Every 6 months a new minor version will be released. The last minor release will be number 4 and will be released a couple of months earlier in March. That minor version will also be the Long-Term-Support (LTS) version. The LTS version will go EOL 2½ years later. 

Drupal site owners will have 2 possible support routes that they can follow:

  1. The first is to start using the new version of a major release as soon as it is released. After that they will need to upgrade to every minor version. Those site owners will be using all the latest software with the newest features.
  2. The second is to upgrade from LTS version to LTS version. Like from Drupal 10.4 to Drupal 11.4. A new LTS version is released in March of an even-numbered year and the old LTS will go EOL in September of the same year. That gives site owners a 6 month period to upgrade to the new LTS version. The major advantage is that site owners only have to upgrade every 2 years. The major disadvantage is that they will have to wait for new features to become available to them.

More articles