dev.club — where best developers and top companies connect.

dev.club — where best developers and top companies connect.Invite only

Request invite

changelogen

npm version npm downloads Codecov License

Generate Beautiful Changelogs using Conventional Commits

Quick Start

Generate a changelog in Markdown format and display in the console:

npx changelogen@latest

Generate a changelog, bump the version in package.json and update CHANGELOG.md (without commit):

npx changelogen@latest --bump

Bump the version, update CHANGELOG.md, make a git commit and tag, and sync a GitHub release (when the repo is on GitHub):

npx changelogen@latest --release

Without a GitHub token, changelogen opens a browser link so you can create the release manually. With a token (see changelogen gh release), the release is created automatically.

CLI Usage

npx changelogen@latest [...args] [--dir <dir>]

Arguments:

[!NOTE] Version numbers starting with 0. or 0.0. follow different rules.

In these cases, the second or third digit is treated as the major version. They use the formats 0.major.minor and 0.0.major instead of the standard major.minor.patch.

To ensure consistent semantic versioning, start version numbering at 1.0.0.

changelogen gh release

Changelogen has built-in functionality to sync with Github releases.

--release already runs this sync for the version it just bumped. Use changelogen gh release to sync releases manually (for example older versions from CHANGELOG.md) without bumping again.

In order to manually sync a release, you can use changelogen gh release. It will parse current CHANGELOG.md from current repository (local, then remote) and create or update releases.

Usage:

npx changelogen@latest gh release [all|versions...] [--dir] [--token]

To enable this integration, make sure there is a valid repository field in package.json or repo is set in .changelogenrc.

By default in unauthenticated mode, changelogen will open a browser link to make manual release. By providing github token, it can be automated.

Configuration

Configuration is loaded by unjs/c12 from cwd. You can use either changelog.config.json, changelog.config.{ts,js,mjs,cjs}, .changelogrc or use the changelog field in package.json.

See ./src/config.ts for available options and defaults.

💻 Development

License

Made with 💛

Published under MIT License.

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.