It is hard to believe that almost 6 years passed since Drupal 8.0.0's release on November 19th 2015. What feels like it was just yesterday, Drupal 8 brought lots of amazing new things to the platform. Near and dear to my heart was full multilingual support that I worked on with over 1600 people for several years. Also stars of the Drupal 8 show were content authoring with the bundled CKEditor, the vastly improved configuration management system, Views in core, built-in web service support, more semantic markup, in-place editing, PHPUnit integration, better caching, improved accessibility, even aural announcements for page changes, and so on and on. Drupal 8 embraced collaboration within the PHP ecosystem and beyond with our use of Symfony, Twig, Guzzle and gradually embraced application of Composer.
But I think even more profound was the change of innovation models, where Drupal 8 started to allow feature additions in a backwards compatible manner and thus the inclusion of amazing new features like Layout Builder, Media Library, BigPipe, Settings Tray, Content Moderation, Inline form errors, JSON:API and even the Umami demo all after Drupal 8.0.0 shipped. Some of these were developed in stages thanks to the possibility to include experimental projects in core as well. This allowed us to make Drupal 8 itself much better without needing to do a new major version. In fact the major version bump turned to be a technicality where being on Drupal 8.9 or 9.0 was not giving you shiny benefits anymore, other than keeping you on the train of innovation.
So today Drupal 8's life ends as innovation continues on the Drupal 9 train.
In the past 8 days I did a countdown post series to give short tips for dealing with this end of life. I suggest you look back if you did not read them yet:
- Adoption drive to get projects new maintainers that did not yet update to Drupal 9. If you can adopt a project or two, that would be greatly appreciated!
- Use composer to at least check for Drupal 9 compatibility, ideally convert your site to it. If you did not try composer recently, version 2 is leaps and bounds ahead of version 1 and its worth a try!
- For modules that are not compatible you still need to use workarounds. The recently introduced lenient composer endpoint provides the most consistent solution for all projects.
- For your own code and your drupal.org projects, automated code fixes are the way to go towards Drupal 9. No need to find and fix problems manually when you can automate most of it.
- If you need to use an older MySQL/Percona/MariaDB database, there is a way. This should make it easier to adopt Drupal 9 if you were holding off updating your database backend.
- If you are on Drupal 8.8 or before, you are already on end of life software. The key to a fast Drupal 8 to 9 upgrade is to keep your Drupal 8 site up to date.
- How soon do you need to do this update again? Drupal 9 end of life is in 2023. And Drupal 10 end of life will depend on its componens' end of lives as well.
- So you are still on Drupal 8, what happens now? Nothing will break immediately, but its best to keep moving forward on your upgrade plans.
I hope this series of tips were useful to read. It was certainly an eventful 8 days to write and post them. See you on Drupal 9!