After multiple months of development time, the next release of the Platform is finally complete.
The upgrade from Drupal 9 to Drupal 10 is very time involved, and the sheer amount of code changes means the risk of bugs being introduced is high. To minimise this risk, we're breaking down the process into multiple parts, each culminating in a release of the Platform. A slightly more exciting analogy is the "multiple camps" strategy for climbing Everest. The 1.21.1 release is the long slog up the majority of the mountain from base camp. We have one more scheduled stop in the 1.22.0 release before summiting with the 2.0.0 release.
For posterity, the contents of the 1.21.1 release is as follows:
- Upgrade 194 (yes, really!) community modules to their published Drupal 10 compatible version.
- Replace 7 deprecated Drupal 9 core modules with new Drupal 10 compatible community module equivalents.
- Manually create Drupal 10 compatible versions for 13 community modules that didn't have a published Drupal 10 compatible version.
- Manually create Drupal 10 compatible versions for 4 custom modules.
- Fix 256 code issues flagged by the Drupal 10 compatibility scanner in community modules that were marked as Drupal 10 compatible but actually had compatibility issues.
- Upgrade servers to use PHP 8.1 (required by Drupal 10) and refactor code to remove deprecation errors.
- Upgrade servers to use Drush 11 (required by Drupal 10).
- Rewrite our existing custom Drush functions so that they are compatible with Drush 11.
- Create automated configuration updates so that the release can be applied to existing sites using our "one click" deploy system.
- Testing of functionality and fixing of identified issues.
This release has been a thankless task, as the net output of it is that sites broadly function as they did previously, kudos to the developers involved for seeing it through. Two more releases and we'll hopefully have all subscriber sites running on Drupal 10!