July 4th, 2020

What's new in Drupal 9?

Drupal 8 saw a huge code modernization effort away from Drupal 7 code towards object-oriented code, based on the Symfony framework. Drupal 9 modernizes the Drupal codebase and APIs even further, removing some functionality from core and spinning it off as add-on modules instead. This allows Drupal to remain nimble and reduce bloat. These changes do mean that some Drupal 8 sites will need to install new modules in order to maintain certain functionality after moving to Drupal 9.

At a Glance:

  • Drupal 9 came out June 3rd, 2020
  • Drupal 7 and 8 both reach "end of life" November 2021
  • Production sites on Drupal 8 or 7 need to update to 9 before then.

Ready to Upgrade to Drupal 9?

First you will need to make sure your modules are ready for Drupal 9. The Upgrade Status and Upgrade Rector modules help with this. Here's the kind of useful information Upgrade Status can give you on your modules' Drupal 9 readiness:

Upgrade Rector is also useful, and gives more specific advice on getting your modules ready for Drupal 9. It does not cover all modules yet, but is still quite useful for developers. It can generate patches for your modules, to help you update them for Drupal 9.

When to Upgrade

The sooner the better, of course! However, many Drupal 8 sites will have certain modules that may not have Drupal 9 ready versions. In such cases there is a waiting game, as well as a cost/benefit analysis of continuing with certain modules vs. ditching them in favor of something else. 

Drupal 7 site owners will have a lot more work cut out for them in terms of upgrading to Drupal 9. For Drupal 7 sites, a full site migration is required, and this also entails a full redesign effort. The reason for the redesign effort is that Drupal 8 changed how Drupal themes are coded, requiring Twig templates, which Drupal 7 did not use. Converting Drupal 7 themes to Drupal 8 compatible themes is just about as much work as building a brand-new theme. For most Drupal 7 sites looking at the November 2021 EOL date, they are probably due for a redesign anyway, so we advise people in that situation to combine the D9 migration with a re-theming effort, for the most bang for your buck.

Drupal 7 and 8 Support Ends November 2021

Drupal 7 and 8 support will end in November 2021. The upgrade path from Drupal 8 to 9 is fairly seamless, but some add-on modules may not be quite ready. Drupal 8 themes will work on Drupal 9, as well. 

Drupal 7 sites, on the other hand, require much more effort to move to Drupal 9. The theme would need to be rebuilt as a Drupal 9 theme (with Twig support), and many modules would likely need to be replaced with Drupal 9 equivalents. Many Drupal 7 modules never got a Drupal 8 or 9 version.

A few examples: 

  • Nodequeue is a popular module in Drupal 6 and 7, but in Drupal 8/9 this would be handled by the Entityqueue module.
  • Field Collection is a widely used Drupal 7 module and has a Drupal 8 development version, but the path forward for this is to use the Paragraphs module.
  • Display Suite is a handy module for Drupal 7, but after recent API changes to Drupal 8 we no longer use it, and use Drupal's core functionality instead.

Key Takeaways

Drupal 7 site owners in particular need to pay attention to the timeline, and start planning now to move off of Drupal 7. A migration effort can take a few months. Some Drupal 7 site owners' web site requirements might also have changed since their sites were first built, so a reassessment is usually in order. That might result in needing to compare the pros and cons of Drupal 9 vs WordPress vs Django or other CMSes. We love Drupal, but work extensively with WordPress, too, and want to use the most cost-effective tool for the job.

0