node package manager


Studio Changes

ūüď¶ Generate a changelog as part of the npm version command.


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


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


Add this to your package.json:

  "scripts": {
    "preversion": "npm test",
    "version": "changes",
    "postversion": "git push --follow-tags && npm publish"
  "devDependencies": {
    "@studio/changes": "^1.0.0"

The scripts can also be added with changes --init, if they do not exist yet:

$ node_modules/.bin/changes --init

Or with npx:

$ npx changes --init

If the "version" script already exists, this has no effect. Existing file indentation style will be preserved.


  • --help, -h: Display a help message.
  • --file, -f: Specify the name of the changelog file. Defaults to
  • --init: Add version lifecycle scripts to package.json.
  • --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 changes for next release

If the current version in your package.json is already in the changelog, the changes command aborts and shows the unreleased commits. Preview the release notes for the next release like this:

$ node_modules/.bin/changes

Or with npx:

$ npx changes



Made with ‚̧ԳŹ on ūüĆć