-
Notifications
You must be signed in to change notification settings - Fork 18
Versioning and releases
Following the new Drupal version release policy LocalGov Drupal uses Semantic Versioning.
{major}.{minor}.{patch}
- {major} => Full release with potentially breaking changes
- {minor} => New features with non-breaking changes
- {patch} => Bug fix
Practically speaking, all releases are made by:
- making a documented Merge Request from the main development branch (1.x, 2.x...) into the relevant release branch
- receiving approval from at least one other contributor from another organisation
- merging the approved changes to the release branch
- tagging the release branch with the new release tag
We name release branches in line with the main branch to which they pertain.
- For a 1.x branch, the release branch will be called
release-1.x
- For a 2.x branch, the release branch will be called
release-2.x
Some releases will involve the discussion with the Product Group as well as the Technical Group. Major releases will defintely require discusison between the Product Group and Techincal Group to co-ordinate and notify as many stakeholders as possible. Minor releases may or may not require discussion with the Product Group.
Each project or module maintains its own version number, including major and minor, independently of each other and independently of the installation profile as appropriate, depending on changes made to that project.
When code is accepted into the profile, and so used in production, even when still in 'beta' or development, straight Semantic Versioning will be used without pre-release identifiers, so production sites can manage their updates using composer correctly.
See also https://github.com/localgovdrupal/localgov/wiki/Testing-branches-and-PRs
The localgov_project and localgov_profile projects have two main branches:
- 1.x branch that continues to support Drupal 8
- 2.x branch that support Drupal 9
There is now a 2.0.0 release at https://github.com/localgovdrupal/localgov/releases/tag/2.0.0 and https://github.com/localgovdrupal/localgov_project/releases/tag/2.0.0. Running the composer install will default to Drupal 9.
Some projects will support both Drupal 8 and Drupal 9 on their main 1.x branch. For example https://github.com/localgovdrupal/localgov_alert_banner
Other projects required different dependencies and patches to support Drupal 9, and have a 2.x branch that supports Drupal 9 and a 1.x branch that supports Drupal 8. For example https://github.com/localgovdrupal/localgov_events/tree/2.x for Drupal 9 and https://github.com/localgovdrupal/localgov_events/tree/1.x for Drupal 8.