# conventional-changelog

> Generate a changelog from git metadata.

Latest version **8.1.3** (published 2026-08-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install conventional-changelog
pnpm add conventional-changelog
yarn add conventional-changelog
bun add conventional-changelog
```

Provides the command `conventional-changelog`.

## Health

**Score 63/100 (C)** — status: active.

Positive: has types package; esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 8.1.3 |
| Published | 2026-08-12 |
| First published | 2014-01-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/conventional-changelog) |
| Module format | ESM |
| Node | >=22 |
| Dependencies | 9 |
| Unpacked size | 83.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8506 |
| Author | Steve Mao |
| Maintainers | bcoe, oss-bot, dangreen, andytjoslin, stevemao, marionebl, tapppi |
| Keywords | conventional-changelog, conventional, changelog, log, cli |

## Links

- npm: https://www.npmjs.com/package/conventional-changelog
- Repository: https://github.com/conventional-changelog/conventional-changelog
- Homepage: https://conventional-changelog.js.org/conventional-changelog/
- Issues: https://github.com/conventional-changelog/conventional-changelog/issues
- npm.io page: https://npm.io/package/conventional-changelog

## Dependencies (9)

- [argue-cli](https://npm.io/package/argue-cli.md) ^3.1.0
- [fd-package-json](https://npm.io/package/fd-package-json.md) ^2.0.0
- [conventional-commits-filter](https://npm.io/package/conventional-commits-filter.md) ^6.0.1
- [conventional-commits-parser](https://npm.io/package/conventional-commits-parser.md) ^7.1.2
- [@simple-libs/hosted-git-info](https://npm.io/package/@simple-libs/hosted-git-info.md) ^2.0.0
- [conventional-changelog-writer](https://npm.io/package/conventional-changelog-writer.md) ^9.2.1
- [@conventional-changelog/git-client](https://npm.io/package/@conventional-changelog/git-client.md) ^3.1.2
- [@simple-libs/normalize-package-data](https://npm.io/package/@simple-libs/normalize-package-data.md) ^1.0.0
- [conventional-changelog-preset-loader](https://npm.io/package/conventional-changelog-preset-loader.md) ^6.0.1

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 8.1.3 (latest) — 2026-08-12
- 3.1.24 (next) — 2020-11-05
- 8.1.2 — 2026-08-10
- 8.1.1 — 2026-08-06
- 8.1.0 — 2026-07-09
- 8.0.1 — 2026-07-04
- 8.0.0 — 2026-06-26
- 7.2.1 — 2026-06-22
- 7.2.0 — 2026-03-01
- 7.1.1 — 2025-07-10
- 7.1.0 — 2025-06-07
- 7.0.2 — 2025-05-22
- 7.0.1 — 2025-05-19
- 7.0.0 — 2025-05-19
- 6.0.0 — 2024-05-03
- … 99 more at https://npm.io/package/conventional-changelog/versions

## README

# conventional-changelog

[![ESM-only package][package]][package-url]
[![NPM version][npm]][npm-url]
[![Node version][node]][node-url]
[![Dependencies status][deps]][deps-url]
[![Install size][size]][size-url]
[![Build status][build]][build-url]
[![Coverage status][coverage]][coverage-url]

[package]: https://img.shields.io/badge/package-ESM--only-ffe536.svg
[package-url]: https://nodejs.org/api/esm.html

[npm]: https://img.shields.io/npm/v/conventional-changelog.svg
[npm-url]: https://npmjs.com/package/conventional-changelog

[node]: https://img.shields.io/node/v/conventional-changelog.svg
[node-url]: https://nodejs.org

[deps]: https://img.shields.io/librariesio/release/npm/conventional-changelog
[deps-url]: https://libraries.io/npm/conventional-changelog

[size]: https://packagephobia.com/badge?p=conventional-changelog
[size-url]: https://packagephobia.com/result?p=conventional-changelog

[build]: https://img.shields.io/github/actions/workflow/status/conventional-changelog/conventional-changelog/tests.yaml?branch=master
[build-url]: https://github.com/conventional-changelog/conventional-changelog/actions

[coverage]: https://coveralls.io/repos/github/conventional-changelog/conventional-changelog/badge.svg?branch=master
[coverage-url]: https://coveralls.io/github/conventional-changelog/conventional-changelog?branch=master

Generate a changelog from git metadata.

*[Changelog?](https://speakerdeck.com/stevemao/compose-a-changelog)*

> [!NOTE]
> You don't have to use the angular commit convention. For the best result of the tool to tokenize your commit and produce flexible output, it's recommended to use a commit convention.

## Install

Install `conventional-changelog` along with the preset you want to use, for example `angular`:

```bash
# pnpm
pnpm add conventional-changelog conventional-changelog-angular
# yarn
yarn add conventional-changelog conventional-changelog-angular
# npm
npm i conventional-changelog conventional-changelog-angular
```

## Usage

Pass the preset name with `-p`:

```sh
conventional-changelog -p angular
```

This will *not* overwrite any previous changelogs. The above generates a changelog based on commits since the last semver tag that matches the pattern of "Feature", "Fix", "Performance Improvement" or "Breaking Changes".

All available command line parameters can be listed using CLI: `conventional-changelog --help`.

JS API is also available:

```js
import { ConventionalChangelog } from 'conventional-changelog'

const generator = new ConventionalChangelog()
  .readPackage()
  .loadPreset('angular')

generator
  .writeStream()
  .pipe(process.stdout)
```

## Documentation

For comprehensive guides, CLI options, and API reference, visit the [documentation website](https://conventional-changelog.js.org/conventional-changelog/).

## License

MIT

---
_Source: https://npm.io/package/conventional-changelog · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
