Skip to content

Introduction

Conventional Changelog generates a CHANGELOG.md from your git metadata. You write commit messages that follow a convention — most commonly Conventional Commits — and the tooling parses that history, groups the commits into sections like Features and Bug Fixes, and links every entry back to its commit and release.

It is not a single package but a family of them: a command-line tool and JS API for the common case, the presets that encode each commit convention, and the smaller building blocks (a parser, a filter, a writer, a git client) that everything else is composed from.

Decide the next version

conventional-recommended-bump reads the commits since your last tag and tells you whether the next release is a major, minor, or patch.

Conventional Changelog handles the changelog and the version recommendation. To automate the whole release — bumping the version, tagging, and publishing — combine it with simple-release, or its ready-made GitHub Action, simple-release-action: version bumps, changelog generation, and releases with first-class monorepo support, built on this project.

And to keep the commit history itself clean, Commitlint lints messages against the convention, while Commitizen offers an interactive prompt for writing them.

PackageWhat it does
conventional-changelogGenerate a changelog from git metadata — CLI and JS API.
standard-changelogconventional-changelog with the Angular preset built in.
conventional-recommended-bumpRecommend the next semver bump from your commits.

The lower-level packages the tools are composed from. You only need these when building custom release tooling.

PackageWhat it does
conventional-commits-parserParse raw commit messages into structured objects.
conventional-commits-filterDrop reverted (and reverting) commits.
conventional-changelog-writerRender parsed commits into changelog Markdown.
conventional-changelog-preset-loaderResolve and load presets by name.
@conventional-changelog/git-clientPromise- and stream-based git client.
@conventional-changelog/templateShared changelog template helpers.