Skip to main content

Release Scope

Release scope attributes

The following attributes are children of the releaseScope element:

NameTypeValues
releaseScope/commitslistThe commits in the release scope
releaseScope/finalCommitstringThe last commit in the release scope
releaseScope/initialCommitstringThe first commit in the release scope
releaseScope/previousVersionstringThe previous version
releaseScope/previousVersionCommitstringThe previous version commit
releaseScope/primeVersionstringThe prime version
releaseScope/primeVersionCommitstringThe prime version commit
releaseScope/significantCommitslistThe significant commits

Commits

NamereleaseScope/commits
Typelist
Related configuration options
Initialized by task

The ordered list of all commits in the release scope. The list is reverse ordered, so the newest commit appears as the first element in the list, while the oldest is the last in the list.

This value may remain undefined when inference is skipped because the user overrides the version.

Furthermore this attribute may be changed by the mark task in case a new commit is added (i.e. to include generated release artifacts).

Final commit

NamereleaseScope/finalCommit
Typestring
Related configuration options
Initialized by task

The last commit in the release scope, which is to say the commit to be tagged upon release, the latest commit in the current branch (HEAD). This is the first element of the commits list.

This value may remain undefined when inference is skipped because the user overrides the version or if there is no further commits after the previous version.

Furthermore this attribute may be changed by the mark task in case a new commit is added (i.e. to include generated release artifacts).

Initial commit

NamereleaseScope/initialCommit
Typestring
Related configuration options
Initialized by task

The commit that became right after the releaseScope/previousVersionCommit, so the first commit in the range of commits belonging to the release being prepared. This is the last element of the commits list.

This value may remain undefined when inference is skipped because the user overrides the version or if there is no further commits after the previous version.

If no releaseScope/previousVersion is detected this value will be the root commit in the Git repository.

Previous version

NamereleaseScope/previousVersion
Typestring
Related configuration options
Initialized by task

The version that was released before the one being created. This is the value of the version tag applied to the releaseScope/previousVersionCommit and is found by browsing the commit history backward (in Git's natural order) until this tag that successfully matches the release types filter is found. Upon merge commits only the first parent is considered. The search stops at the first tag that is valid according to:

This value remains undefined when inference is skipped because the user overrides the version.

Previous version commit

NamereleaseScope/previousVersionCommit
Typestring
Related configuration options
Initialized by task

The commit that the previousVersion tag points to.

This value remains undefined when no previous version can be found in the commit history or inference is skipped because the user overrides the version.

Prime version

NamereleaseScope/primeVersion
Typestring
Related configuration options
Initialized by task

The version that is used as the baseline when bumping version numbers when the release type uses collapsed versioning (the pre-release versioning).

This is the first version tag that is encountered browsing the commit history backwards that only has core identifiers. It is also the value of the version tag applied to the releaseScope/primeVersionCommit. Upon merge commits only the first parent is considered. The search stops at the first tag that is valid according to:

This value remains undefined when inference is skipped because the user overrides the version. It also remains undefined when not using collapsed versioning.

Also see this F.A.Q. and this post for more on the previous and prime versions.

Prime version commit

NamereleaseScope/primeVersionCommit
Typestring
Related configuration options
Initialized by task

The commit that the primeVersion tag points to.

This value remains undefined when no previous or prime version can be found in the commit history or inference is skipped because the user overrides the version. It also remains undefined when not using collapsed versioning.

Significant commits

NamereleaseScope/significantCommits
Typelist
Related configuration options
Initialized by task

The ordered list of all significant commits in the release scope, considering commits to be significant when they bring information about some version identifier to bump, according to commitMessageConventions/<ID>/bumpExpressions. The list is reverse ordered, so the newest commit appears as the first element in the list, while the oldest is the last in the list.

When the current release type uses collapsed versioning significant commits may also include commits up to the prime version commit.

When this list is empty the scope has no new commits at all or the commits that have been found do not yield to a new version.

This value may remain undefined when inference is skipped because the user overrides the version.

Commit objects

Each commit in the release scope has the following properties:

NameTypeValues
shastringThe SHA-1 identifier of the commit
dateintegerThe integer representing the commit timestamp
parentslistThe list of SHA-1 identifiers of parent commits
authorActionobjectThe container for the commit author fields (see below)
authorAction/identityobjectThe container for the commit author identity fields (see below)
authorAction/identity/namestringThe commit author name
authorAction/identity/emailstringThe commit author email (optional)
authorAction/timeStampobjectThe commit author timestamp (optional)
authorAction/timeStamp/timeStampdateThe actual commit author timestamp
authorAction/timeStamp/timeZonestringThe commit author time zone (optional)
commitActionobjectThe container for the committer fields (see below)
commitAction/identityobjectThe container for the committer identity fields (see below)
commitAction/identity/namestringThe committer name
commitAction/identity/emailstringThe committer email (optional)
commitAction/timeStampobjectThe committer timestamp (optional)
commitAction/timeStamp/timeStampdateThe actual committer timestamp
commitAction/timeStamp/timeZonestringThe committer time zone (optional)
messageobjectThe container for the commit message (see below)
message/fullMessagestringThe entire commit message
message/shortMessagestringThe first line of the commit message
message/footersmapThe commit footers, each modelled as a name and value pair
tagslistThe list of tags applied to the commit