semantic-release plugin to create or update a changelog file.
Step | Description |
---|---|
verifyConditions |
Verify the changelogFile and changelogTitle options configuration. |
prepare |
Create or update a changelog file in the local project directory with the changelog content created in the generate notes step. |
$ npm install @semantic-release/changelog -D
The plugin can be configured in the semantic-release configuration file:
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@semantic-release/changelog",
{
"changelogFile": "docs/CHANGELOG.md"
}
],
[
"@semantic-release/git",
{
"assets": ["docs/CHANGELOG.md"]
}
]
]
}
With this example, for each release, a docs/CHANGELOG.md
will be created or updated.
Options | Description | Default |
---|---|---|
changelogFile |
File path of the changelog. See changelogFile. | CHANGELOG.md |
changelogTitle |
Title of the changelog file (first line of the file). | - |
The path to the changelog is generated with Lodash template. The following variables are available:
Parameter | Description |
---|---|
branch |
The branch from which the release is done. |
branch.name |
The branch name. |
branch.type |
The type of branch. |
branch.channel |
The distribution channel on which to publish releases from this branch. |
branch.range |
The range of semantic versions to support on this branch. |
branch.prerelease |
The pre-release detonation to append to semantic versions released from this branch. |
lastRelease |
Object with version , gitTag and gitHead of the last release. |
nextRelease |
Object with version , gitTag , gitHead and notes of the release being done. |
When used with the @semantic-release/git or @semantic-release/npm plugins the @semantic-release/changelog
plugin must be called first in order to update the changelog file so the @semantic-release/git and @semantic-release/npm plugins can include it in the release.
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git"
]
}