@semantic-release/release-notes-generator

semantic-release plugin to generate changelog content with conventional-changelog
- Static
- Latest Patch
- Latest Minor
- Latest Major
- 14.0.3
- 14.0.2
- 14.0.1
- 14.0.0
- 13.0.0
- 12.1.0
- 12.0.1
- 12.0.0
- 11.0.7
- 11.0.6
- 11.0.5
- 11.0.4
- 11.0.3
- 11.0.2
- 11.0.1
- 11.0.0
- 10.0.3
- 10.0.2
- 10.0.1
- 10.0.0
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.0.0
- 7.3.5
- 7.3.4
- 7.3.3
- 7.3.2
- 7.3.1
- 7.3.0
- 7.2.1
- 7.2.0
- 7.1.7
- 7.1.6
- 7.1.5
- 7.1.4
- 7.1.3
- 7.1.2
- 7.1.1
- 7.1.0
- 7.0.2
- 7.0.1
- 7.0.0
- 6.1.1
- 6.1.0
- 6.0.12
- 6.0.11
- 6.0.10
- 6.0.9
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.1.1
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.1
- 3.0.0
- 2.0.0
- 1.0.0
- 14.0.0-beta.1
- 12.0.0-beta.3
- 12.0.0-beta.2
- 12.0.0-beta.1
- 10.0.0-beta.2
- 10.0.0-beta.1
release-notes-generator
semantic-release plugin to generate changelog content with conventional-changelog
Step | Description |
---|---|
generateNotes |
Generate release notes for the commits added since the last release with conventional-changelog. |
Install
$ npm install @semantic-release/release-notes-generator -D
Usage
The plugin can be configured in the semantic-release configuration file:
{
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "angular",
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
}
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "angular",
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
},
"writerOpts": {
"commitsSort": ["subject", "scope"]
}
}
]
]
}
With this example:
- the commits that contains
BREAKING CHANGE
,BREAKING CHANGES
orBREAKING
in their body will be considered breaking changes (by default the angular preset checks only forBREAKING CHANGE
andBREAKING CHANGES
) - the commits will be sorted in the changelog by
subject
thenscope
(by default the angular preset sort the commits in the changelog byscope
thensubject
)
Configuration
Options
Option | Description | Default |
---|---|---|
preset |
conventional-changelog preset (possible values: angular , atom , codemirror , ember , eslint , express , jquery , jshint , conventionalcommits ). |
angular |
config |
NPM package name of a custom conventional-changelog preset. | - |
parserOpts |
Additional conventional-commits-parser options that will extends the ones loaded by preset or config . This is convenient to use a conventional-changelog preset with some customizations without having to create a new module. |
- |
writerOpts |
Additional conventional-commits-writer options that will extends the ones loaded by preset or config . This is convenient to use a conventional-changelog preset with some customizations without having to create a new module. |
- |
host |
The host used to generate links to issues and commits. See conventional-changelog-writer#host. | The host from the repositoryurl option. |
linkCompare |
Whether to include a link to compare changes since previous release in the release note. | true |
linkReferences |
Whether to include a link to issues and commits in the release note. See conventional-changelog-writer#linkreferences. | true |
commit |
Keyword used to generate commit links (formatted as <host>/<owner>/<repository>/<commit>/<commit_sha> ). See conventional-changelog-writer#commit. |
commits for Bitbucket repositories, commit otherwise |
issue |
Keyword used to generate issue links (formatted as <host>/<owner>/<repository>/<issue>/<issue_number> ). See conventional-changelog-writer#issue. |
issue for Bitbucket repositories, issues otherwise |
presetConfig |
Additional configuration passed to the conventional-changelog preset. Used for example with conventional-changelog-conventionalcommits. | - |
Notes: in order to use a preset
it must be installed (for example to use the eslint preset you must install it with npm install conventional-changelog-eslint -D
)
Note: config
will be overwritten by the values of preset
. You should use either preset
or config
, but not both.
Note: Individual properties of parserOpts
and writerOpts
will override ones loaded with an explicitly set preset
or config
. If preset
or config
are not set, only the properties set in parserOpts
and writerOpts
will be used.
Note: For presets that expects a configuration object, such as conventionalcommits
, the presetConfig
option must be set.