In v16, a JSON object stored in a Git note is used to keep track of the channels on which a version has been released, the @{channel} suffix is no longer necessary.
The tags formatted as v{version}@{channel} will now be ignored. If you have releases using this format you will have to upgrade them:
Find all the versions that have been released on a branch other than the default one by searching for all tags formatted as v{version}@{channel}
For each of those version:
Create a tag without the {@channel} if none doesn't already exists
Add a Git note to the tag without the {@channel} containing the channels on which the version was released formatted as {"channels":["channel1","channel2"]} and using null for the default channel (for example.{"channels":[null,"channel1","channel2"]})
Push the tags and notes
Update the GitHub releases that refer to a tag formatted as v{version}@{channel} to use the tag without it
Delete the tags formatted as v{version}@{channel}
Require Node.js >= 10.13
Git CLI version 2.7.1 or higher is now required: The --merge option of the git tag command has been added in Git version 2.7.1 and is now used by semantic-release
Regexp are not supported anymore for property matching in the releaseRules option.
Regex are replaced by globs. For example /core-.*/ should be changed to 'core-*'.
The branch option has been removed in favor of branches
The new branches option expect either an Array or a single branch definition. To migrate your configuration:
If you want to publish package from multiple branches, please see the configuration documentation
If you use the default configuration and want to publish only from master: nothing to change
If you use the branch configuration and want to publish only from one branch: replace branch with branches ("branch": "my-release-branch" => "branches": "my-release-branch")
Features
allow addChannel plugins to return false in order to signify no release was done (e1c7269)
allow publish plugins to return false in order to signify no release was done (47484f5)
allow to release any version on a branch if up to date with next branch (916c268)
support multiple branches and distribution channels (7b40524)
use Git notes to store the channels on which a version has been released (b2c1b2c)
package: update @semantic-release/commit-analyzer to version 7.0.0 (e63e753)
Performance Improvements
use git tag --merge <branch> to filter tags present in a branch history (cffe9a8)
... (truncated)
Commits
3739ab5 fix(package): update env-ci to version 5.0.0
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.
If all status checks pass Dependabot will automatically merge this pull request.
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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps semantic-release from 15.14.0 to 16.0.1.
Release notes
Sourced from semantic-release's releases.
Commits
3739ab5
fix(package): update env-ci to version 5.0.011665b2
chore(package): update dependencies0785a84
fix: update plugin versions152bf45
Merge remote-tracking branch 'origin/beta'3ba8f2a
Merge remote-tracking branch 'origin/master' into beta9772563
fix: look also for previous prerelease versions to determine the next one61665be
fix: correct log when adding channel to taga8747c4
fix: verify is branch is up to date by comparing remote and local HEAD9a1af4d
fix: remove unnecessaryawait
9ecc7a3
fix: increase next version on prerelease branch based on highest commit typeDependabot 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
.If all status checks pass Dependabot will automatically merge this pull request.
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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)