@release-it/keep-a-changelog

6.0.0last stable release 3 months ago
Complexity Score
Low
Open Issues
N/A
Dependent Projects
188
Weekly Downloadsglobal
6,481

License

  • MIT
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

Keep-a-changelog plugin for release-it

This release-it plugin maintains your CHANGELOG.md file according to the Keep A Changelog standards.

It updates the changelog automatically by:

  • replacing the ## [Unreleased] header with the current version and release date.
  • [optionally] adding a new ## [Unreleased] header as preparation for future changes.

It does not automatically populate the changelog with commit messages from the git history!

The idea and initial implementation comes from @eMarek.

npm install --save-dev @release-it/keep-a-changelog

In release-it config:

"plugins": {
  "@release-it/keep-a-changelog": {
    "filename": "CHANGELOG.md"
  }
}

Options

option default value description filename 'CHANGELOG.md' File with changelogs. addUnreleased false It leaves “Unreleased” title row if set to true. keepUnreleased false It leaves “Unreleased” title row unchanged if set to true. addVersionUrl false Links the version to the according changeset. Uses GitHub-compatible URLs by default, see other options to configure the URL format. versionUrlFormats See below. Determines the version URL format when addVersionUrl is set to true. Uses GitHub-compatible URLs by default. head 'HEAD' The git revision the new version tag is compared to in the Unreleased URL.

versionUrlFormats

The URL formats used when addVersionUrl is set to true. Example configuration for a repository in Azure DevOps:

"plugins": {
  "@release-it/keep-a-changelog": {
    "filename": "CHANGELOG.md",
    "head": "main",
    "addVersionUrl": true,
    "versionUrlFormats": {
      "repositoryUrl": "https://dev.azure.com/...",
      "unreleasedUrl": "{repositoryUrl}/branchCompare?baseVersion=GT{tagName}&targetVersion=GB{head}",
      "versionUrl": "{repositoryUrl}/branchCompare?baseVersion=GT{previousTag}&targetVersion=GT{tagName}",
      "firstVersionUrl": "{repositoryUrl}?version=GT{tagName}"
    }
  }
}
option default value description repositoryUrl 'https://{host}/{repository}' The format of the repository URL. unreleasedUrl '{repositoryUrl}/compare/{tagName}...{head}' The format of the [unreleased] section URL. versionUrl '{repositoryUrl}/compare/{previousTag}...{tagName}' The format of a release version URL. firstVersionUrl '{repositoryUrl}/releases/tag/{tagName}' The format of the first release version URL, i.e. when no previous tags have been released.

Dependencies

CVE IssuesActive
0
Scorecards Score
4.10
Test Coverage
No Data
Follows Semver
Yes
Github Stars
29
Dependenciestotal
8
DependenciesOutdated
0
DependenciesDeprecated
0
Threat Modelling
No Data
Repo Audits
No Data

Learn how to distribute @release-it/keep-a-changelog in your own private NPM registry

npm config set registry  https://npm.cloudsmith.com/owner/repo
Processing...
Done
npm install @release-it/keep-a-changelog
Processing...
Done

18 Releases

NPM on Cloudsmith

Getting started with NPM on Cloudsmith is fast and easy.