Drupal 9 will release on 3rd June 2020, which means it will be the end of announcements for Drupal 7 and Drupal 8. Drupal 9 will not be much of a change from Drupal 8. It will be an updated version of Drupal 8 with upgraded Symphony dependency and the removal of deprecated code.
Drupal 9 is not being built on a new core, but rather in Drupal 8 itself. This means that new functionality will be added as backward-compatible code and experimental features. Drupal 8's biggest dependency is Symfony 3, Drupal 9 will be released using Symfony 4 or 5. According to Dries Buytaert’s post "Plan for Drupal", the big deal about Drupal 9 is … that it should not be a big deal. The best way to be ready for Drupal 9 is to keep up with Drupal 8 updates.
The Upgrade to Drupal 9
Updating from Drupal 8 to Drupal 9 will include a regular check for updated and remove the use of deprecated code. When a code in Drupal is marked deprecated, it means it should no longer be used and should be replaced with an alternative better code.
Drupal 8 modules will continue to work in Drupal 9 unless it has some deprecated code.
Contrib module authors/maintainers will also have to start checking for deprecated code. According to the statistics, there are deprecation code warning for 56% of the contributed modules and the rest 44% can be used in Drupal 9. As long as modules and themes stay up-to-date with the latest Drupal 8 APIs, the upgrade to Drupal 9 should be easy. There are tools like Drupal-check and Upgrade Status for discovering deprecated code in our codebase. According to a tweet, PHPStan is quite efficient in finding deprecated code as well.
Migration from Drupal 7 can be done in two ways:
-
Wait for Drupal 9, and plan the migration later
-
Upgrade to Drupal 8 first, then to Drupal 9
Drupal 7 owners can either have two migrations one for Drupal 8 and another for Drupal 9 or can do the normal upgrade work for Drupal 7 and migrate it to Drupal 9.
The upgrade process from Drupal 7 to Drupal 8 is very well documented and has been improved a lot recently. Useful migration modules have become stable in Drupal 8 core, so it is much easier to migrate content and configuration. I would personally recommend to migrate to Drupal 8 first and then switch to Drupal 9.
Upgrading to Drupal 9 will also take care of the five most important aspects of a website:
Security
As mentioned earlier, Drupal 9 will be built on Symfony 4 framework which has more security. The framework components are supported with timely upgrades and enhancement of security. Here a more reasons to choose Symfony: https://hackernoon.com/7-good-reasons-to-use-symfony-framework-for-your-project-265f96dcf759
Performance
Drupal 9 encourages to remove all deprecated code, which helps us to deliver better performance. Using update modules and themes provides a better Drupal experience. Drupal 9 will be a cleaned-up version of Drupal 8. Drupal 9 will require at least PHP 7.2.
PHP 7.2 is considered the recent popular version with major updates such as security patches, better codability, deprecation of old PHP functions, and improved performance
Support
With the release of Drupal 9, the security updates and support will stop for Drupal 8 and 7. All support and security updates will be provided for Drupal 9.
Stability
Drupal 9 is here for the long run. It is a minor update from Drupal 8. Most of the custom and contributed code will work in Drupal 9. We just need to make sure there is no deprecated code.
Design
Web design is important because it impacts how your audience perceives your brand. We will get options to adopt new themes for our website with the release of Drupal 9. It will also provide a new admin theme. Here is the list of more cool features in Drupal 9: https://www.drupal.org/docs/9/how-drupal-9-is-made-and-what-is-included/what-are-the-new-features-of-drupal-9
We just need to make sure that we keeping updating our core and contrib modules and theme and remove all code deprecations. So, this is the time we plan and be ready for Drupal 9.