# What changed in @commitlint/cli

> 8 changes in @commitlint/cli 9 to 21 from its official release notes, upgrade guides and advisories: 1 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/npm/@commitlint/cli/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @commitlint/cli 21

### Breaking changes

- The minimum supported Node.js version is now 22, dropping support for Node.js 18 and 20. (21.0.0) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2100-2026-05-08)

### New APIs and options

- Adds a flag to lint without a config file. (21.1.0) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2110-2026-06-23)

### Behavior and default changes

- resolve-extends now resolves pure-ESM presets, including conventional-changelog v7, v9, and v10. (21.2.0) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2120-2026-06-30)

### Fixes and other changes

- Trailing whitespace is trimmed from the message handed to ignore matchers. (21.2.3) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2123-2026-09-19)
- Disallows using the same commit hash for --from and --to. (21.0.2) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2102-2026-05-29)

## @commitlint/cli 20

### Fixes and other changes

- Validates that the --cwd directory exists before execution. (20.5.0) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2050-2026-03-15)
- The footer parser now escapes special characters for regex. (20.4.3) — [release notes](https://github.com/conventional-changelog/commitlint/blob/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7/@commitlint/cli/CHANGELOG.md#2043-2026-03-03)

## @commitlint/cli 9

### Fixes and other changes

- Added the missing regenerator-runtime dependency to the CLI. (9.0.0) — [release notes](https://github.com/conventional-changelog/commitlint/blob/HEAD/@commitlint/cli/CHANGELOG.md)
