Skip to content

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

License

Notifications You must be signed in to change notification settings

semantic-release/changelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1c48000 Â· Sep 13, 2024
Jul 9, 2024
Jul 28, 2022
Jul 28, 2022
Nov 20, 2020
Dec 17, 2017
Apr 13, 2024
Jul 28, 2022
Sep 13, 2024
Sep 13, 2024

Repository files navigation

@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"
  ]
}