Drupal Semantic Versioning and breakdown of how to version your Drupal module releases
vips1802
234 views
7 slides
Aug 18, 2024
Slide 1 of 7
1
2
3
4
5
6
7
About This Presentation
Semantic Versioning (SemVer) is a versioning scheme for software that helps manage and communicate changes in a way that is predictable and understandable. For Drupal modules, following Semantic Versioning can be highly beneficial, as it provides clear expectations about the nature of updates and ch...
Semantic Versioning (SemVer) is a versioning scheme for software that helps manage and communicate changes in a way that is predictable and understandable. For Drupal modules, following Semantic Versioning can be highly beneficial, as it provides clear expectations about the nature of updates and changes.
Size: 292.1 KB
Language: en
Added: Aug 18, 2024
Slides: 7 pages
Slide Content
Semantic Versioning Semantic versioning for Drupal modules follows the same principles as semantic versioning(SemVer) in general, with some specific guidelines for Drupal
Semantic Versioning Basics PATCH Increment the PATCH version for backward-compatible bug fixes. These fixes address errors or issues without adding new features or altering existing functionality. MINOR Increment the MINOR version when you add new features or functionality in a backward-compatible manner. This means that existing functionality remains unchanged, but new features are introduced. MAJOR Increment the MAJOR version when you make incompatible changes or updates that break backward compatibility. For instance, if a module’s update requires changes to existing functionality or alters how users interact with it in a way that previous versions cannot handle, you should increment the MAJOR version.
Guidelines to follow Patch Version Fixing a bug that prevents the module from functioning correctly but does not alter how it interacts with other parts of the system would result in a PATCH version update. Minor V ersion Adding new configuration options or extending the module's capabilities without disrupting existing features would warrant a MINOR version increase. Major Version Changing a module's configuration settings or altering its API in a way that requires users to manually adjust their setups might necessitate a MAJOR version bump.
Guidelines to follow (Contd..) Pre-release Version Pre-release versions are denoted by appending a hyphen and an identifier (e.g., 1.0.0-alpha, 1.0.0-beta). These are used to indicate that the version is not yet stable or fully released. Build Metadata Build metadata can be appended with a plus sign (e.g., 1.0.0+build5678). This is often used to denote specific build information but does not affect version precedence.
Practical examples for Drupal modules
1.0.0 Initial release 1.0.1 Bug fix release (Patch version release) 1.1.0 New feature release (Minor version release) 2.0.0 Breaking API release (Major version release) 2.0.1 Security patch release (Patch version release)