Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@firefoxic/update-changelog

firefoxic1.5kMITdeprecated2.0.2

Instead, use @firefoxic/release-it

CLI utility for automatic update of CHANGELOG.md

changelog, cli, prepare, update

readme

@firefoxic/update-changelog

License: MIT Changelog NPM version Test Status

CLI utility for automatic update of CHANGELOG.md.

Purpose

Increasing the version of a package usually requires creating a commit (extra for history) with a message something like Prepare release. This commit should manually add a header to CHANGELOG.md with the new version and the release date, and change the links to the comparison at the bottom of the file.

The update-changelog utility gets rid of this chore, random typos, and an unnecessary commit.

Installation

pnpm add -D @firefoxic/update-changelog

Usage

When creating a new version, simply do not create the Prepare release commit. Just run update-changelog directly after the pnpm version <release_type> command.

You can use it in your CI pipeline. See the release.yaml file for an example.

Some restrictions

The update-changelog expects the following:

  • The name of the changelog file is CHANGELOG.md.
  • The format of the changelog is consistent with Keep a changelog.
  • Descriptions of all user-important changes are already in the changelog under the heading [Unreleased]. Ideally, you should commit them along with the changes themselves.
  • If this is the first release of a package, there should be only one reference for [Unreleased] at the end of the changelog in the following format for correct reference updating:

      [Unreleased]: https://github.com/<user-name>/<project-name>/compare/v0.0.1...HEAD

    Example: the state of this project's changelog before the first release.

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

3.0.0 — 2025–09–24

Changed

  • The project has been renamed to @firefoxic/release-it.
  • The launch command for local installation has been renamed to release-it.
  • The tool now not only updates the changelog, but also performs all other steps before and after that are necessary to publish a new version of the package. This means that you need to remove the commands and logic for raising the version and publishing it from the pipeline and scripts.

Added

  • Pre-release versions are now possible, and their names are determined based on the branch name.
  • Before updating the changelog, the package version is now raised according to the version type (still selected based on the changelog content) and possible pre-release status.
  • The package with the new version is now built and published to npm with the appropriate authentication — NPM_TOKEN for CI or OTP for local execution.
  • A release of the published version is now automatically created on GitHub.

2.0.2 — 2025–09–24

Fixed

  • URLs for links are now generated correctly.

2.0.1 — 2025–09–23

Fixed

  • The description in the README.md file has now been corrected.

2.0.0 — 2025–09–23

Changed

  • The update-changelog command should now be called not in the version script of the package.json file, but immediately after the pnpm version <release_type> command.

Added

  • The project has been rewritten in bash and now does not depend on node.js or npm packages.

1.0.0 — 2024–10–30

Changed

  • The minimum required node.js version has been increased to 20.12.0, except for version 21.

0.2.1 — 2024–09–25

Fixed

  • The space before the dash in the version heading is now non-breaking. This hardly affects anything, but for consistency of typography it should be like this everywhere.

0.2.0 — 2024–07–30

Added

  • The update-changelog utility now automatically stages CHANGELOG.md in git. You can remove && git add CHANGELOG.md from your version hook and leave only update-changelog in it.

0.1.0 — 2024–05–09

Added

  • The basic functionality of the update-changelog CLI utility.