If your site is one of the > 600,000 live sites currently on Drupal, you are probably aware of the upcoming release of Drupal 9, scheduled for June 3. If you're not sure what we're talking about, check out our blog on what you need to know.
This latest release and the future end of life for Drupal 7 and 8 (November 2021) will evolve the Drupal platform to fully integrate with Symfony as the underlying framework, the first Drupal 9 release requires a more recent release of Symfony, version 4.4. This brings enhancements to the framework that Drupal code and module developers can leverage to advance and develop new features. Drupal 8 will reach end-of-life due to its dependence on Symfony 3.4, which is scheduled for the end of life in November 2021.
For sites currently on Drupal 8, our development team has detailed below what steps you need to know.
Resolve Errors and Warnings
Hopefully this step is unnecessary on your site - find any errors and warnings using Drupal’s status report and recent log entries, and resolve these as far as possible. This will prepare the site for updates and help prevent update issues.
Update to 8.8.x
To prepare a Drupal 8 site for update to Drupal 9, Drupal core should first be updated to the latest release of 8.8, currently 8.8.6, or 8.9.
Replace Deprecated Code, Ready Modules for D9
Several tools are available to help identify contributed code that is deprecated and needs to be updated to proceed with the ensuing steps. For example, the Deprecation Status tool provided by Acquia.Custom modules and themes also need to be updated to remove deprecated code identified by tools such as Drupal Rector.
If Modules are Not Ready
Roll up your sleeves...search Drupal.org for a potential patch from the module’s issue queue, or write and contribute a patch. If you're unsure on how to approach this, contact our team for advice.
Ensure the site is fully tested for any regressions as a result of the updates.
Update to Drupal 9
Update the core codebase to Drupal 9 and run updates.
Provided there are no major errors, it’s done!
For sites currently on Drupal 7, or earlier versions, the process for migrating to Drupal 9 will follow similar steps to those outlined above but will require a new site build, along with content, user, and data migration (if necessary) from the current site to the new site. If you are in this situation and are looking for advice on how to proceed, our team can help.
While updating from Drupal 7 or earlier to Drupal 8 could be seen as a revolution, updating to Drupal 9 and future releases are intended to be evolutions, no longer requiring wholesale rebuilds and migrations to properly update to new data structures.
We’re looking forward to what’s possible in this and future versions!