Our Tech Lead, Finn Lewis explains the work underway to update LGD to Drupal 10.
LocalGov Drupal currently instals on Drupal 9 by default. Drupal 10 was released in December 2022 and Drupal 9 is “end of life” in November 2023, so most existing installations of LocalGov Drupal are going to want to upgrade to Drupal 10 by November.
We started work on the Drupal 10 branches earlier this year and the Technical Group has been overseeing progress towards an alpha release of LocalGov Drupal supporting Drupal 10.
If you would like to keep an eye on progress, this is the main Github issue where coordination is discussed:
For LocalGov Drupal to support Drupal 10, all projects, modules and themes need to support Drupal 10. This includes contributed modules from Drupal.org and the 20+ projects we have on Github.
Aiming for a single release
Where possible we want to include support for Drupal 9 and 10 in a single release of a project. This makes it easier to maintain the project, with just a single branch to take care of, and easier to upgrade a site. In some cases this is not possible, and we end up with two branches, one that supports Drupal 9 and one for Drupal 10.
The architecture of the LocalGov Drupal distribution is such that most modules have a dependency on localgov_core. If we did need to make separate releases of localgov_core, for Drupal 9 and Drupal 10, we would need to make separate releases for all the modules that depend on localgov_core.
It is therefore desirable to have a release of localgov_core that supports both Drupal 9 and 10. This will involve a little re-architecting of permissions to support Drupal 10, as a few important permissions have changed.
The focus of our last session
We focussed on the Drupal 10 roadmap at last week’s Technical Group governance meeting and confirmed the way ahead. We are now aiming for an alpha release of LocalGov Drupal 3.0.0-alpha-1 in early July, so in the next 3-4 weeks.
This will involve more work fixing tests, reviewing pull requests (mostly at our Merge monday meetings) and coordinating releases to minimise the chance of any disruption to the Drupal 9 branches.
Once we have an alpha release, we will need all hands on deck to test it.
Firstly we will need to test a fresh installation and surface bugs or other issues.
Secondly we will want to test the upgrade process for an existing Drupal 9 LocalGov Drupal installation to Drupal 10.
This second part will almost certainly require some preparation steps for existing installations. For example, Drupal 10 comes with CKEditor 5, so sites still using CKEditor 4 in Drupal 9 will probably need to upgrade to CKEditor 5 in Drupal 9 before attempting the Drupal 10 upgrade.
A massive thanks to Stephen Cox (Agile Collective) and Ekes (Agile Collective) who have been doing the bulk of the work on this with help from Andy Broomfield (BHCC), Adnan (Croydon), Andrew (Waltham Forest) and others reviewing pull requests.
If you have questions or comments relating to the article you can contact Finn and the team via Slack.