Drupal 9.0.0 was released on June 3, 2020. As major version updates in the past have been quite disruptive, this is the most straightforward update in Drupal’s history with no dramatic changes but minor changes or we can say change in approach. Drupal 9 is basically Drupal 8 minus the deprecated code plus updated third-party dependencies. The major difference between Drupal 9 and Drupal 8 is that Drupal 9 will be supported with security fixes after November 2021.
Some of the key benefits of Drupal 9:
Upgrading to Drupal 9 will be hassle free
Starting from Drupal 9 all the major software releases of CMS will be smooth and seamless unlike the past releases. As already mentioned Drupal 9 is nothing but Drupal 8 without its deprecated code, its better to remove the deprecated code from Drupal 8 website to ensure upgrading to Drupal 9 is easy and painless.
Deprecated code is any code that is flagged for future removal as it is no longer useful within the codebase generally because it has been superseded by a newer code but the deprecated code is not immediately removed from the codebase as it may cause regression errors and disrupt the working of existing code that relies on it.
Changes in third-party dependencies
- Shift from Symfony 3 to 4.4. Drupal 9 is updated to Symfony 4.4.
- Drupal 8 depends on Twig 1 but Drupal 9 depends on Twig 2.
- Dependency on JQuery UI is significantly reduced as most of the components are removed from the core but Drupal 9 still depends on JQuery itself.
- CKEditor 4 is included in both Drupal 8 and Drupal 9. However, incorporation of CKEditor 5 in future version of Drupal 9 is expected.
- Doctrine’s Simple Annotation Parser that is used by Drupal 8 has been deprecated and removed from future releases without any replacement.
- Drupal 9 is based on PHPUnit 8 but further update in Drupal 9’s PHPUnit compatibility is expected.
Inbuilt Backward Compatibility
Contributed modules will continue to work in Both Drupal 8 and Drupal 9. Drupal 8 modules will be fully compatible with new versions of Drupal 9. However, deprecated code in Drupal 8 will not be supported.
Panelizer Removed and Replaced by Layout Builder
Layout Builder along with Panelizer is present in Drupal 8 too but Drupal 9 only have Layout Builder.
Deprecated Modules
- Place Blocks and Simple Test Modules have been deprecated from the core and better solutions are available.
- Stable Themes from Drupal 8 version deprecated in Drupal 9 and will be removed from Drupal 10.
As Drupal Community is devoted to make it more flexible, inclusive, scalable and a headless CMS, these changes are likely to boost CMS performance, heighten development efficiency and improve security. In addition to this Drupal 9 is expected to make integration with other platforms buttery smooth and the path for new Drupal users easier.