-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Context
The LocalGov Drupal project maintains a Drupal quickstart project and profile that depends on specific versions of Drupal Core. As Drupal Core evolves, compatibility issues and patch differences arise that cannot be seamlessly managed through minor or patch versioning alone. Maintaining a single version stream would complicate dependency management, introduce instability during upgrades, and make it difficult to align contributed and custom module updates with their respective core compatibility.
A versioning strategy is required to align LocalGov Drupal releases with Drupal Core. Further info around patching difficult can be found here.
Decision
Major versions will be used for the LocalGov Drupal profile and project to correspond to the major versions of Drupal Core. Each major version of LocalGov Drupal will align with the equivalent major version of Drupal Core.
As implemented in #870 (comment) this will look like;
- LocalGov Drupal (project and profile) 3.x for Drupal Core 10
- LocalGov Drupal (project and profile) 4.x for Drupal Core 11
- LocalGov Drupal (project and profile) 5.x for breaking changes in LocalGov as well as supporting Drupal Core 11
This approach ensures that patches, dependencies, and configuration differences can be maintained separately without cross-contamination or complex conditional logic in the codebase.
Consequences
Adopting major version alignment with Drupal Core simplifies long-term maintenance and improves clarity for contributors and adopters. It enables clean separation of compatibility layers, facilitating a smoother upgrade process when transitioning between Drupal Core versions. However, it requires additional release management effort and clear documentation to guide users in upgrading between LocalGov Drupal major versions, as breaking changes may occur between each aligned release.
Side note
As part of this I'm currently writing a page for the documentation page that explains this further along wth support timelines