- The configuration properties tag-* or -tag were renamed to label- or *-label (tag-pre-release-weight, tag-prefix, continuous-delivery-fallback-tag, tag-number-pattern, tag)
- When using a commit message that matches both
*-version-bump-messageandno-bump-message, there is no increment for that commit. In other words,no-bump-messagenow takes precedence over*-version-bump-message. - The fallback version strategy now returns
0.0.0and is flagged withShouldIncrementequal totrue. This yields the version0.1.0on thedevelopbranch (IncrementStrategy.Minorby default) and0.0.1on themainbranch (IncremetnStrategy.Patchby default). - The current branch (child) inherits its configuration from the source (parent) branch if the
incrementstrategy is set toInherit. This makes branch configuration recursive, simpler, more intuitive, more flexible, and more robust. - Instead of having a single effective configuration, we now have one effective configuration per branch where the increment strategy is not set to
inherit. - The new implementation of the branch configuration inheritance affects per default only the pull-requests, hotfix and feature branches. In this case the next version will be generated like the child branch is not existing and the commits have been made on the source branch.
- The following example illustrates this behavior. On the feature branch the semantic version
1.1.0-just-a-test.1+2will now be generated instead of version1.0.0-just-a-test.1+3previously:
* 1f1cfb4 52 minutes ago (HEAD -> feature/just-a-test) * 1f9654d 54 minutes ago (release/1.1.0) * be72411 56 minutes ago (develop) * 14800ff 58 minutes ago (tag: 1.0.0, main) - The following example illustrates this behavior. On the feature branch the semantic version
- Version numbers in branches other than
releasebranches are no longer considered as a version source by default. Implemented in #1541. - #1581 folds
GitTools.Coreback into GitVersion to make maintaining GitVersion easier.
When using GitFlow, a few things have changed. Hopefully the new settings just work for you
develophas pre-release tag ofalphanow, not unstable.developwill bump as soon as areleasebranch is created.- Look at the GitFlow examples for details of how it works now.
GitVersionConfig.yamlis deprecated in favor ofGitVersion.yml.- Regular expressions are no longer used as keys in branch config
- We have named branches, and introduced a
regexconfig which you can override. - The default keys are:
master,develop,feature,release,pull-request,hotfixandsupport - Just run
GitVersion.exein your project directory and it will tell you what to change your config keys to - For example,
dev(elop)?(ment)?$is now justdevelop, we suggest not overring regular expressions unless you really want to use a different convention.
- We have named branches, and introduced a
source-branchesadded as a configuration option for branches, it helps GitVersion pick the correct source branch
- NextVersion.txt has been deprecated, only
GitVersionConfig.yamlis supported AssemblyFileSemVervariable removed,AssemblyVersioningSchemeconfiguration value makes this variable obsolete- Variables
ClassicVersionandClassicVersionWithTagremoved - MSBuild task arguments (
AssemblyVersioningScheme,DevelopBranchTag,ReleaseBranchTag,TagPrefix,NextVersion) have been removed, useGitVersionConfig.yamlinstead - GitVersionTask's
ReleaseDateAttributeno longer exists