June of 2020 will bring the planned release of Drupal 9. Kwall has you covered with the key information you need to know about the changes Drupal 9 will bring and what you will need to do.
The most important thing about Drupal 9, which should be a relief to everyone involved, is that Drupal 9 will not be a big deal. It will basically be just the next release after the final Drupal 8.x release. Drupal 8 was very much a complete rewrite of Drupal, from the ground up, so the migration from Drupal 7 to 8 has often meant completely rebuilding sites. In the case of Drupal 9, this will not be necessary. So if you already have a Drupal 8 site, and you've been diligent about keeping it up-to-date with the latest Drupal 8 core releases, the upgrade to Drupal 9 should not be much more complex than a minor Drupal 8 core upgrade.
As Drupal founder Dries Buytaert puts it "The big deal about Drupal 9 is .. that it should not be a big deal." Even though Drupal 9 will not be a complete rewrite of Drupal and you will not need to rebuild your Drupal 8 site, there are still some considerations to keep in mind. In fact, the seeds of Drupal 9 were planted even as Drupal 8 was developed and released. If we revisit some of the background of the Drupal 7 to 8 transition, we can understand Drupal 9 in a better context.
A key aspect of Drupal 8, versus Drupal 7, was moving away from the "not invented here" syndrome that periodically becomes a problem in large software projects. Drupal 8 was intentionally designed to leverage well-designed and well-supported components from the Symfony framework, CKEditor, jQuery, and the Twig templating language. Using these allows the Drupal community to avoid reinventing the wheel and leverage and even broader base of the open source community to evolve and improve Drupal. However, these third-party libraries have their own lifecycles and eventually become outdated and Drupal must keep up with this.
As software gets upgraded and moves forward, parts of it become out of date. Drupal 9 can also be described as a streamlined or "cleanup" version of Drupal 8. The rewrite of Drupal from versions 7 to 8 could not avoid including some hold-over code. So the theme of the upgrade to Drupal 9 is one of deprecation: of third-party dependencies that will no longer be supported, and legacy Drupal code that has been replaced and should be removed.
Will Drupal 9 have any major new feature changes? If you've followed the progress of Drupal 8, over the course of its development from it's release in 2014 to its current state, the product has been enhanced and functionality has grown. Drupal 9 will continue the progress on initiatives that have begun in Drupal 8. From the current releases of Drupal 8.8.x we will see continued improvement and enhancement of: Admin UI modernization, automatic updates, layout builder as the standard page layout tool, better and better media management, migration management and tools, and improved content workflows.
What you need to do.
What do you need to do to make sure your site is ready for Drupal 9? Since the theme of the transition from D8 to D9 will be ‘deprecation’ you just need to make sure your site and modules are upgraded to the point where they no longer rely on deprecated code. If you’ve kept your site and modules current and up to date, this should be a simple task and may not require much extra effort. Since Drupal 9 will not be a rewrite of 8, modules should not need to be completely rewritten. There is a chance, however, that existing Drupal 8 modules may contain code that will be deprecated and the module will need to be upgraded.
To check the status of your existing modules, install the ‘Upgrade Status’ module which will create and display a report for you of the status of all the modules installed on your site. It will also scan your custom modules and report on any that may have deprecated code that may need to be replaced or upgraded. With this baseline, you’ll have an idea of how much work will be involved in preparing your site for Drupal 9. If you’ve stuck with well-maintained and mainstream drupal modules, chances are they are already D9 ready, or a plan is in place to release a D9-ready version soon. Drupal.org has been updated to create a space on the page for each module where module maintainers can specify a D9 readiness plan for each module.
Finally, if you encounter any custom modules or custom code with deprecated code, there are a variety of tools for the community to quickly upgrade the code to D9-readiness.
Contact Kwall for any help you need with this process and we will get your site ready for a seamless transition to Drupal 9.