semantic-release / changelog

:blue_book: semantic-release plugin to create or update a changelog file
MIT License
304 stars 28 forks source link
changelog conventional-changelog release semantic-release version

@semantic-release/changelog

semantic-release plugin to create or update a changelog file.

[!WARNING] Please consider whether committing release notes to a file is worth the added complexity compared to other available options for capturing release notes.

Build Status npm latest version npm next version

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.

Install

$ npm install @semantic-release/changelog -D

Usage

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.

Configuration

Options

Options Description Default
changelogFile File path of the changelog. CHANGELOG.md
changelogTitle Title of the changelog file (first line of the file). -

Examples

When used with the @semantic-release/git or @semantic-release/npm plugins the @semantic-release/changelog plugin must be called before those plugins 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"
  ]
}