github.com/awslabs/clencli@v0.0.0-20210514234156-7ecf17182a20/VERSIONING.md (about)

     1  ## Branching strategy
     2  This project has adopted [GitFlow](https://nvie.com/posts/a-successful-git-branching-model/) for its branching strategy model. 
     3  
     4  ## Release process
     5  This project has adopted [Nebula Release Plugin]() for the release process.
     6  
     7  ### Explanation
     8  
     9  `final` - Sets the version to the appropriate `<major>.<minor>.<patch>`, creates tag `v<major>.<minor>.<patch>`
    10  
    11  `candidate` - Sets the version to the appropriate `<major>.<minor>.<patch>-rc.#`, creates tag `v<major>.<minor>.<patch>-rc.#` where `#` is the number of release candidates for this version produced so far. 1st 1.0.0 will be 1.0.0-rc.1, 2nd 1.0.0-rc.2 and so on.
    12  
    13  `devSnapshot` - Sets the version to the appropriate `<major>.<minor>.<patch>-dev.#+<hash>`, does not create a tag. Where `#` is the number of commits since the last release and hash is the git hash of the current commit. If releasing a `devSnapshot` from a branch not listed in the releaseBranchPatterns and not excluded by excludeBranchPatterns the version will be `<major>.<minor>.<patch>-dev.#+<branchname>.<hash>`
    14  You can use nebula.release.features.replaceDevWithImmutableSnapshot=true in your gradle.properties file to change pattern of version to <major>.<minor>.<patch>-snapshot.<timestamp>+<hash>. Where timestamp is UTC time in YYYYMMddHHmm format, ex. 201907052105 and hash is the git hash of the current commit. If releasing a immutableSnapshot from a branch not listed in the releaseBranchPatterns and not excluded by excludeBranchPatterns the version will be `<major>.<minor>.<patch>-snapshot.<timestamp>+<branchname>.<hash>`