Powering nearly 2% of all websites and with a CMS market share of almost 3%, Drupal is the world’s most popular enterprise-class open source content management system and a competitor to WordPress. Built and maintained by the largest open source community of 1M+ passionate professionals, Drupal is best known for its flexibility, scalability, complexity, and rock-solid security that safeguards your websites and applications from hackers.
What contributed the most to the evolution of Drupal from a message board (an Internet forum) to full-fledged CMS is regular upgrades. The Drupal community keeps updating the CMS to make it even better, faster, and more secure. Taking the commitment to improve the CMS further, the next biggest upgrade, Drupal 9, has been announced to be released in mid-2020.
While there has already been quite a buzz in the Drupal community about the future version, the deadline for end-of-life (EOL) of Drupal 7 and 8 versions makes it imperative for everyone to take a closer look at version 9. Hence, in this article, we’ll go over everything you need to know about the next major release of Drupal, including new features, how it is different from Drupal 8, how you can prepare your site for upgrading to version 9 and more.
Let’s dig in!
In this article:
Why is Support to Drupal 7 & 8 Ending?
The biggest dependency of Drupal 7 & 8 is Symfony 3. According to the framework’s roadmap, Symfony 3 has an end-of-life date in November 2021. This means that after this deadline, no security bugs in Symfony 3 will get fixed.
Therefore, to keep Drupal sites secure and relevant, the Drupal core team must embrace Symfony 4 (and possibly even Symphony 5 as well) before the framework reaches end-of-life. The Symfony 3’s end of life is arguably the only thing that compelled the Drupal core team to release Drupal 9 and end support to Drupal 7 and 8 by November 2021.
What’s New Coming to Drupal 9?
The answer is a lot…and not that much!
Since Drupal 9 is mostly built on top of the same architecture as Drupal 8, you can’t expect too many new features from the upcoming version of Drupal. Unlike Drupal 8, which was focused on introducing new features every six months, the new version is more about code clean-up instead of just adding more features to the CMS. Being a cleaned-up version of Drupal 8, version 9 offers a couple of notable updates and improvements:
Built-in Backward Compatibility
Since Drupal 9 has not been built on a new core, it will quite be similar to Drupal 8. Offering built-in backward compatibility for previous Drupal 8 releases from day one, Drupal 9 will make it possible for all your Drupal 8 components to work with the new version seamlessly. This means, to keep the migration process easy, you would have to keep your core, themes, and modules up-to-date with the latest Drupal 8 release as well as get rid of deprecated codes as the new features get stable.
Update to Third-party Dependencies
As of now, Drupal extensively depends on third-party projects such as Symfony, Twig, Guzzle, and CKEditor. Since both Symfony and Twig are going to get their own upgrades soon, Drupal 9 ships with upgraded versions of these third-party dependencies, Symfony 4/5 and Twig 2, to keep the security and performance for the CMS intact.
A New Theme
Visually, Drupal 9 is going to receive a significant facelift. The current default theme Bartik, which has not been updated since the release of Drupal 7 in 2011, will be replaced by Olivero – the new default front-end theme for Drupal in 2020. As compared to the previous theme that looks out-of-fashion, the new default theme will be simple, modern, accessible, focused, and flexible.
The Key Differences Between Drupal 8 and Drupal 9
Although Drupal 9 has the same codebase and architecture as Drupal 8, there are two main differences between the two:
- The deprecated code will be removed before Drupal 9’s release.
- Dependencies will be updated to the latest versions so that they stay supported.
Other than these two things, Drupal 9 will remain the same as the last Drupal 8 release.
Needless to say that only these two major changes will make the migration a breeze for developers. Previously, if you had to migrate from one version of Drupal to another, it was just like moving from Drupal to just another CMS as it involved:
- Using a migration module to move data from the old version to the new one.
- Checking whether or not your modules were supported by the new version.
- Finding deprecated code in your source files and updating them accordingly.
Altogether, this was quite a cumbersome process. Thanks to Drupal 9 for making the process upgrade much easier and painless – just like WordPress.
To better understand, think of your website as a train in the above illustration. Starting Drupal 9, you don’t have to move your train to a different track entirely as you’ll get all the new major versions on the same track.
What Does Drupal 9 Mean…
For Core Contributors
You will have limited tasks to do before the release of Drupal 9. Eliminating the deprecated functionality and upgrading Drupal’s dependencies to their latest versions will make the release timing of version 9 more predictable and the release quality more robust.
For Contributed Module Authors
Similarly, contributed module authors can also start fixing the compatibility issues before Drupal 9 is released. Thankfully, their Drupal 8 expertise will still remain highly relevant as no dramatic change has been made to the Drupal core.
Drupal development experts working with Drupal 8 have an opportunity to explore Drupal 9 features right from the start, test their codes, and make necessary updates accordingly before the release of version 9. You can also upgrade your core or contributed modules. This is something that was not possible with past versions of Drupal!
For Drupal Site Owners
Site owners running Drupal 8 will get the greatest benefit from the release of version 9, as it would be much easier for them to upgrade to the newest version than it was to upgrade to the previous version. As long as your themes and modules are up-to-date with the latest Drupal 8 APIs, you’ll face no trouble upgrading to Drupal 9.
Why Should You Upgrade to Drupal 9?
If you still are not convinced why you should upgrade to Drupal 9, here are a few good reasons:
- Drupal 7 and Drupal 8 end-of-life (EOL) is around the corner.
- Due to discontinued security patches and support for older versions ended, you need to safeguard your Drupal site against potential security and compatibility issues.
- Take advantage of the latest features and usability enhancements to minimize the use of third-party dependencies, modules, and extensions.
- Simplify and clean up content to further improve user experience and design
When Do I Need to Upgrade to Drupal 9?
Since the day the announcement was made, almost everyone has doubts when they should upgrade to the upcoming Drupal version. Well, you have sufficient time.
Drupal 8.9.0 and Drupal 9.0.0 are set to release on June 3, 2020, having the same set of features with the only difference that Drupal will have deprecated code removed. Then the support for Drupal 8 will end in November 2021 as Symfony 3 reaches the end of life at the same time. Means, you have a Drupal 8 site up and running, you have a year and a half to upgrade to Drupal 9. No worries!
What Options Do I Have When Upgrading to Drupal 9?
Before you make your decision to migrate from Drupal 7 to Drupal 9, you have a couple of options at your disposal:
Skip Drupal 8, and Upgrade Directly to Drupal 9
Unless there’s a particular module or item that only Drupal 8 offers, you can go straight from Drupal 7 to Drupal 9. While skipping Drupal 8 seems the most cost-effective route, it is actually not a practical option as it can cause you maintenance trouble in the long run.
Upgrade from Drupal 7 to Drupal 8 to Drupal 9
Since Drupal 9 is designed from the ground up to be backward compatible with Drupal 8, it is recommended you first upgrade to Drupal 8 and then switch from Drupal 8 to Drupal 9. Ideally, it is the most efficient, practical, and smooth way to upgrade to the upcoming version of Drupal.
Starting Over with another CMS
Finally, if you think Drupal 9 isn’t the right platform for your business anymore, you can switch to another CMS that best suits your needs. In this case, you will need help from the expert of that particular platform. For instance, if you’re planning to migrate from Drupal to WordPress, you’ll have to hire WordPress development experts to make the migration a success.
What If You’re Still on Drupal 6?
At the time of this writing, over 35K+ sites are running on Drupal 6. If you’re also still on Drupal 6, you should keep in mind that Drupal 9 will not support a migration path from Drupal 6. Consequently, migrating to the future version of Drupal from Drupal 6 will undoubtedly be exceptionally harder. Hence, try to upgrade your site to Drupal 8 as quickly as possible.
How to Prepare Your Website for Drupal 9?
Regardless of whether you’re migrating your site from Drupal 7 to Drupal 9 or Drupal 8 to Drupal 9, here are some practical tips to make the upgrading process smoother:
Keep the Drupal Core Up to Date
This is probably the most important aspect of preparing your site for Drupal 9. Keep your website’s core is up-to-date as doing so will remove all the deprecated codes from your site, making the transition from the latest Drupal 8 to Drupal 9 easier and smoother.
Detect and Fix the Deprecated Code
If any of your custom modules or themes have deprecated code, make sure to update it before the Drupal 9 release. If you’re a developer, run drupal-check, and if you’re a site owner, use the Upgrade Status module to find and eliminate deprecated code.
Keep Your Modules Up-to-Date
Just like keeping the Core up-to-date, be sure to keep your active module up-to-date as well. This will ensure that you won’t lose your active modules when Drupal 9 releases. You can find the modules which might be deprecated here.
Keep the Contributed Modules Up to Date
If you have any contributed modules with deprecated code, provide a patch to fix the deprecation code prior to the release of version 9. Otherwise, they will stop working!
Check Your Custom Code
If you have any custom code on your site, make sure to identify and remove or update the deprecated code to ensure the full compatibility with the future version of Drupal.
Don’t Hesitate to Automate
Automate all the updates associated with your Drupal site. The more you can automate, the less trouble you will likely to face when updates arrive.
Review the Release Notes
Be sure to review the release notes for Drupal 9 as well. This will give you essential insight into the newest version of Drupal and what aspects of your code you need to change, remove, or improve.
Get in Touch with Us
Lastly, if you face any problems upgrading your site to Drupal 9, feel free to contact us.