1. @release-it/keep-a-changelog
Keep-a-changelog plugin for release-it
@release-it/keep-a-changelog
Package: @release-it/keep-a-changelog
Created by: release-it
Last modified: Sat, 11 Nov 2023 14:57:19 GMT
Version: 5.0.0
License: MIT
Downloads: 35,557
Repository: https://github.com/release-it/keep-a-changelog

Install

npm install @release-it/keep-a-changelog
yarn add @release-it/keep-a-changelog

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.
strictLatest true Entry of latest version must be present in order to get correct changelog. Set this option to false if you expect latest version without logs.
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.

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin