The next major version of Drupal is targeted to be released on June 3, 2020. Instead of building a radically new version of Drupal in a separate codebase, Drupal 9 is being built in Drupal 8. This means the upgrade experience will be smoother for core contributors, module authors, and site owners. But what does this mean for your site? Drupal 8 is the first major release to rely on significant third-party PHP dependencies. These dependencies, such as Symfony, Twig and Guzzle each have their own release and support cycles. As time goes on, our third party dependencies are gradually going to drop security support for the versions we rely on, and we'll then be faced with either forking the version we use to provide security coverage ourselves, or updating to the newer versions.
When Do I Need To Upgrade To Drupal 9?
Drupal 8.8 is set to be released in December 2019 and will be the last minor release with features. Drupal 8.9 and 9.0 will be released in June 2020 and will contain the same features. The difference will be that Drupal 9 will have deprecated code removed. Drupal 8 will reach the end of life at the same time as Symfony 3 which will be November 2021. Existing Drupal 8 sites will have a year and a half to upgrade to Drupal 9.
How to Prepare for Drupal 8 Upgrade?
Upgrading to the latest Drupal core was just part of the process. Most sites use contributed modules and themes and those modules and themes needed to be upgraded to be compatible. Many of these contributed modules lagged for years (if they were ever ported) providing uncertainty if your site depended on those modules. You also needed to migrate the content to the new version of Drupal.
If you are running Drupal 8 already, the best way to prepare is to keep your site up to date. Essentially, Drupal 9 will become the latest version of Drupal 8 with updates for third-party dependencies and deprecated code removed. When Drupal 8.7 is released in December 2019, it will optionally support Twig 2 so developers can begin testing their code against this version of Twig. Drupal 8.8 will optionally support the latest version of Symfony. Ideally, the Drupal community would like to release Drupal 9 with support for Symfony 5 which will be released in November 2019.
When can I start updating my code?
Drupal 8 will be end-of-life by November 2021. I encourage you to start today. When you update your Drupal 8 code to use the latest and greatest APIs, you can benefit from those improvements immediately. There is no reason to wait until Drupal 9 is released.
What about Drupal 7 EOL?
While the migration path is rapidly approaching stability, upgrading from Drupal 7 to Drupal 8 is not yet fully supported. The earliest we'll have an officially supported stable migration path from Drupal 7 to Drupal 8 will be in Drupal 8.6.0 in the second half of 2018, with some contributed modules following after that.
Points to ponder
If you are still using Drupal 7 and are wondering what to do, you currently have two options:
- Stay on Drupal 7 while also updating your PHP version. If you stay on Drupal 7 until after 2021, you can either engage a vendor for a long term support contract, or migrate to Drupal 9.
- Migrate to Drupal 8 by 2020, so that it's easier to update to Drupal 9 when it is released.