Semantic versioning
- Pipelines must be released with stable release tags.
- Releases must use GitHub releases and include a detailed changelog file.
- Release version tags must be numerical only (no
v
prefix) and should follow semantic versioning rules:[major].[minor].[patch]
Versioning Examples
Starting from release version 1.4.3
, bumping the version to:
1.4.4
: A patch release for minor fixes such as bug corrections that do not modify how the user interacts with the pipeline. Examples:- Inserting a missing argument to a process command line
- Updating a container build version of a tool that is otherwise the same version of the tool itself
- Fixing the logic of the pipeline operators to ensure correct inputs for a process
1.5.0
: A minor release that adds new features without changing existing functionality. Examples:- Adding a new parameter that adds new functionality/options to an existing module
- Add a new optional or default process that does not change the way the user interacts with previous steps of a pipeline
2.0.0
: A major release where execution interaction, inputs or result structures are no longer backwards compatible in terms of pipeline user interaction. Examples:- Renaming or deprecations of existing parameter(s)
- Change to input sample sheet specification (adding, dropping, renaming of mandatory columns) or change the input samplesheet specification
- Note that a major release DOES NOT necessarily require new functionality