Drupal 9 is nearly here, with the promise of allowing the same contributed and custom code to work in both Drupal 8 and Drupal 9. This presentation will discuss some of the practical aspects of making that happen for custom and contributed code maintainers.
The session will begin with a very brief overview of the deprecation system in Drupal 8. It will then discuss current best practices (as of DrupalCon) on how to detect deprecated code usage in modules you maintain as well as in custom code and modules you may use in your websites.
The session will then discuss some practical aspects of making this happen. Drupal 8.8 deprecated a large amount of code, and the replacement code paths are not available in Drupal 8.7 which has security support up until the day Drupal 9 is released. We will discuss how developers can engage with maintainers of the modules they use to help prepare them for Drupal 9. We will look at specific deprecations from Drupal 8.8 and show ways to fix them while maintaining Drupal 8.7 compatibility to allow a single branch to work with Drupal 8.7, 8.8, 8.9, and 9.0.
We will then discuss changes to vendor dependencies in Drupal 9, particularly the change from Symfony 3 to Symfony 4, and how that might affect modules or custom code in certain cases and how to manage it.
Finally we will discuss options for contributed module and custom code management around the Drupal 9 release and beyond, weighing the pros and cons of the different ways to ensure your module and code will work across all needed versions of Drupal 9.
We will end with a discussion of what comes beyond Drupal 9, and how to manage support for security, stable and development minor version of Drupal long term, while addressing new deprecations in a timely manner.
There will be a follow-up BoF after the session to provide an opportunity for further discussion and a Q&A session.