Generate a changelog as part of the npm version command

Downloads in past


4972.2.02 years ago7 years agoMinified + gzip package size for @studio/changes in KB


Studio Changes

📦 Generate a changelog as part of the npm version command

<img src="https://img.shields.io/npm/v/@studio/changes.svg" alt="npm Version">
<img src="https://img.shields.io/:semver-%E2%9C%93-blue.svg" alt="SemVer">
<img src="https://github.com/mantoni/eslint_d.js/workflows/Build/badge.svg" alt="Build Status">
<img src="https://img.shields.io/badge/License-MIT-brightgreen.svg" alt="License">


  • Use npm version [patch|minor|major] to create a release
  • Your editor will open with a generated CHANGES.md file
  • When you're done writing the release notes, save and close the editor to
  • To abort the release, remove the heading with the new version number


❯ npm install @studio/changes --save-dev


❯ npx changes --init

This will add the following to your package.json:
  "scripts": {
    "preversion": "npm test",
    "version": "changes",
    "postversion": "git push --follow-tags && npm publish"


  • --help, -h: Display a help message.
  • --commits, -c: Generate links to commits using the given URL as base. If
no URL is given it defaults to ${homepage}/commit using the homepage configured in the package.json.
  • --footer: Generate a footer with the git author and release date. The
author name is taken from $GIT_AUTHOR_NAME and $GIT_AUTHOR_EMAIL is used to find the authors GitHub profile page.
  • --file, -f: Specify the name of the changelog file. Defaults to
  • --init: Add version lifecycle scripts to package.json. Can be combined
with --file and --commits to configure the changes invocation.
  • --tag: Use a custom git tag, supports simple replacement of package.json
fields. Defaults to v${version}.
Configure your preferred editor with the $EDITOR environment variable.

Preview next release

Preview the release notes for the next release by running:
❯ npx changes



Made with ❤️ on 🌍