It’s a simple enough fact, but the timeline of Drupal 8’s retirement is a bit more confusing in context:
Drupal 7 reaches its end of life in November of 2022, almost a year after Drupal 8. In June 2022, Drupal 10 is set to be released. Meaning there will be a moment when Drupal 7, 9 and 10 are supported while Drupal 8 won’t be (and it’ll have been that way for over half a year!).
This is happening because of Symfony: Drupal 8 is the first version of Drupal to incorporate Symfony, an open-source PHP framework. More specifically, Drupal 8 is built on Symfony 3, which reaches its end of life in 2021 – essentially taking Drupal 8 with it.
Drupal 7, on the other hand, uses a PHP framework developed by the Drupal community.
What Happens in the Move from Drupal 8 to Drupal 9?
Organizations running Drupal 8 have a little over a half a year to move to Drupal 9.
Fortunately, the move to D9 from D8 should be much easier than the move from 7 to 8. Previous Drupal migrations have felt like a re-platforming or moving to a whole new CMS. By adopting the Symfony framework in Drupal 8 and beyond, Drupal migrations will feel more like small upgrades.
Drupal version 8.9.x should be almost the same as D9.
There are only two major differences between D8 and D9: deprecated code and updated dependencies.
Removal of Deprecated Code
Deprecated code is essentially code that will soon be obsolete – often because there is a better alternative out there. In Drupal 8, deprecated code is usually functionality from previous versions of Drupal.
In a move to D9, and in every new version of Drupal, deprecated code will have to be refactored and removed.
Drupal uses backend and frontend libraries. In fact, it’s depending on them (they are dependencies!).
Symfony is one of these dependencies. Drupal 8 relies on Symfony 3.3 which reaches its end of life in 2021. Drupal 9 uses Symfony 4.
Another example is Twig. D8 depends on Twig 1 and, while there is no end-of-life date for Twig 1, Twig 2 has been out for a while. Drupal 9 uses Twig 2.
Other dependencies, like Doctrine Simple Annotation Parser, will eventually be removed. Though, some of the code will be forked and included in Drupal’s core.
Migrating to Drupal 9 is Critical (and Easier Than Past Migrations)
Even though the differences between Drupal 8 and 9 are small – it is still important to make the move.
Your D8 site won’t cease to exist after November of 2021. But it will be much more difficult to maintain or change your site.
Drupal 7 and 8 will no longer receive updates or security alerts after their end of life date. This puts D7 and D8 sites and their users at risk of cyber attacks. Vulnerabilities will no longer receive patches.
In addition to this, a site running an unsupported version of Drupal will have difficulty with third party integrations and even finding hosting, because the site will be flagged as not secure or will not have the latest versions of dependencies. If something breaks on that site – specifically a Drupal 7 site – it could become expensive to fix because there will be fewer Drupal 7 developers available to help.
There is really no reason why you wouldn’t move to Drupal 9, especially if you’re already in Drupal 8. Moving from 8 to 9 is the easiest migration for Drupal in at least a decade. And, while you don’t get a whole new site, you do stay on the Drupal track for easier future migrations and a more secure site.