This update includes a breaking change for version 5, versions will now be sorted using the version number rather than author date. This method should be more reliable overall for a large number of edge cases, however it comes with the caveat that if your tags are not in order for some reason, the "wrong" tag could be chosen. This change is part of a change to the method that fixes issues reported in issue 49, last version tag is incorrect where tags on commits immediately preceding merged branches were not detected.
This release also includes the additional metadata for issue #38.
Version 5.0.0
Version 5 is a full rewrite of semantic-version which restructures the action as a set of modular components, switching from JavaScript to TypeScript to make further development and extension easier by providing interfaces to implement distinct functions. This action started as a short, relatively opinionated script. As more features have been requested and added, this approach has proven insufficient. In version 5, functionality is implemented in three providers/resolvers that obtain the repository data, a classifier that interprets that data and produces the result data, and three formatters that transform the result into the version tag, the version string itself, and turns a list of commit authors into an output string. Overall this version is intended to be easier to extend, test, fork, and understand and contribute to.
Important Changes
A list of authors for a commit for a release are now included in the output, by default formatted as a CSV but JSON is also available, sorted in descending order of the number of commits they made since the last release. This can be useful to include in a release, for example as a Kubernetes annotation, to route alerts or allow a change author to be quickly contacted.
Commit message body can now be searched as well. This defaults to off right now to avoid breaking existing builds.
Short Tags support has been fully dropped. The tagging convention is not part of the semver spec and in retrospect I think I misunderstood how the most common conventions used. It may reappear in a future release. This is the only major breaking change.
This is an alpha release, feedback is appreciated.
Change Output Text
Output version will now be created from the supplied version template.
Allow Slashes in Tag Prefixes
This release fixes an issue with tag prefixes that prevented them from containing a forward slash.
Fix for Short Tags Disabled
This version fixes an issue where certain "full" tags were not recognized when the short_tags flag was disabled.
Deprecate Branch Option
This release (re)introduces support for HEAD as the branch parameter, which is now the default and recommended setting.
... (truncated)
Commits
5a79aff Do not limit the number of tags returned when finding previous version
02763ed Exclude pre-release tags from version consideration
ba6e71e Fix to provide correct previous version when the current commit is tagged.
92bc0a8 Add test coverage for previous_commit output
d2341ff Merge pull request #67 from dusda/set-output-fix
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps paulhatch/semantic-version from 3.2.1 to 5.0.0.
Release notes
Sourced from paulhatch/semantic-version's releases.
... (truncated)
Commits
5a79aff
Do not limit the number of tags returned when finding previous version02763ed
Exclude pre-release tags from version considerationba6e71e
Fix to provide correct previous version when the current commit is tagged.92bc0a8
Add test coverage for previous_commit outputd2341ff
Merge pull request #67 from dusda/set-output-fix239974c
Bump checkout action version8f63406
Update NPM packagesfc2c04b
Updates actions/core to 1.10.0.e1e99bd
Add version type as outputb505a7c
Merge pull request #65 from colas31/supportFlagsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)