Since Drupal 8, upgrades to the subsequent versions are meant to be way easier than in the past. And by all accounts, that’s been accomplished! Even though Drupal 8 to Drupal 9 is a major release and upgrade, it almost feels like a minor release upgrade. There’s no rebuild that needs to be done when updating from Drupal 8.9 to Drupal 9.0 because they are almost the same. Only deprecated code should be removed and dependency libraries (Symfony, PHP, etc.) should be upgraded to the latest version.
If you’re looking for a quick, no-frills checklist article to guide you through your Drupal 8 to Drupal 9 upgrade, you have arrived just at the right place. Take a look!
Tools you will need for an effective upgrade
- Upgrade Status: Install tools like Upgrade Status will give you a list of modules and themes that need to be worked on or are up-to-date.
- Drupal-Check: This one’s a very useful analysis tool that checks for the correctness of classes and reports errors found in deprecated core or contributed modules.
- Upgrade Rector: Install the Upgrade Rector modules as it helps in fixing deprecation errors for the modules installed. It provides code fix suggestions and makes it easy to generate patches for them.
A Compatible Hosting Environment
Now here’s what you need for a compatible hosting environment to welcome your brand new Drupal 9 site:
- Apache version must be 2.4.7
- Php version should be 7.4 or 8
- MySQL version should be 5.7.8+
Using the Upgrade Status Module
Using the Upgrade status module, you can find out what changes you need to make to make your website compatible with Drupal 9.
Go to Admin -> Reports -> Upgrade status. Now select the modules/themes and click on the Scan selected button.
Checklist for a Quick Drupal 8 to 9 Upgrade
- Make sure the current core version of your website is updated. It should be 8.8.x or 8.9.x.
- Document the libraries and themes installed on the website. List all the contributed and custom themes that are installed on the website.
- Document contributed and custom modules installed on the website. The Upgrade Status module can assist in identifying the modules. This module inspects the website, gives information about the modules compatible with Drupal 9, and suggests updating them to the latest version if any of them have been released. Upgrade Status also suggests removing modules that have been disabled.
- Identify deprecated code. The Drupal-check module can be used to identify the deprecations for modules and themes.
- Update the contributed modules. Update contributed modules to the latest compatible version of Drupal 9.
- Update the custom modules. You will need to manually update the code to make custom modules compatible with Drupal 9. Add the core version requirement key in info.yml file.
- Update the contributed themes. Update contributed themes to the latest compatible version of Drupal 9.
- Update the custom themes. To make custom themes compatible with Drupal 9, any deprecation code needs to be removed/updated. Add the core version requirement key in info.yml file.
- Make sure that the libraries are compatible with Drupal 9. For example, if your website is using the jquery timepicker library then it should be upgraded to the latest version which is 1.14.0 in the composer.json file.
- Make sure that the unused modules are uninstalled. Remove unused modules using composer.
- Update the core codebase to Drupal 9. Once all the modules, themes and libraries are compatible with Drupal 9, add drupal/core-composer-scaffold, drupal/core-recommended specifying the Drupal version in composer.json and run the composer update.
"drupal/core-composer-scaffold" : "^9.2" , "drupal/core-recommended" : "^9.2" ,
And that’s it! You have successfully upgraded your Drupal 8 website to Drupal 9. Wasn’t that easy? If you’re looking for further assistance with your Drupal site, talk to our Drupal experts today.