Sourced from commander's releases.
v15.0.0
Commander 15 is ESM only. This is expected to be seamless for ESM consumers, but some CommonJS consumers may hit issues with tooling requiring configuration for ESM-only dependencies. See Migration Tips below.
The release of Commander 15 moves Commander 14 into maintenance. Commander 14 will get security updates for 12 months (to May 2027). For more info see Release Policy.
Added
- show excess command-arguments in error message (#2384)
Fixed
- Breaking: only lone
--no-*option sets default option value totrue, default not implicitly set when define both positive and negative option in either order (#2405)- update example to use compatible character for MINGW64 (#2475)
Changed
- Breaking: migrated Commander implementation from CommonJS to ESM (#2464)
- Breaking: Commander 15 requires Node.js v22.12.0 or higher (for
require(esm)).- dev: switch tests from Jest to
node:testtest runner (#2463)Deleted
- Breaking: removed deprecated export of
commander/esm.mjs(#2464)Migration Tips
Commander 15 is ESM only, but this does not mean you need to migrate to ESM to use it. Importing ESM from CommonJS is supported by Node.js, and Bun, and Deno. Hopefully it Just Works for you! However, you may be using a different runtime or some other part of your setup that may not yet natively support importing ESM from CommonJS, such as your testing framework or bundler.
If you have problems using Commander 15 in your environment, one option is stay on Commander 14 for now. Commander 14 will get security updates until May 2027 and things will hopefully improve for your setup in the meantime.
v15.0.0-0
Commander 15 is ESM only. This is expected to be seamless for ESM consumers, but some CommonJS consumers may hit issues with tooling requiring configuration for ESM-only dependencies. See Migration Tips below.
The release of Commander 15 in May 2026 will move Commander 14 into maintenance. Commander 14 will get security updates for 12 months (to May 2027). For more info see Release Policy.
Added
- show excess command-arguments in error message (#2384)
Fixed
... (truncated)
Sourced from commander's changelog.
[15.0.0] (2026-05-29)
Commander 15 is ESM only. This is expected to be seamless for ESM consumers, but some CommonJS consumers may hit issues with tooling requiring configuration for ESM-only dependencies. See Migration Tips below.
The release of Commander 15 moves Commander 14 into maintenance. Commander 14 will get security updates for 12 months (to May 2027). For more info see Release Policy.
Added
- show excess command-arguments in error message (#2384)
Fixed
- Breaking: only lone
--no-*option sets default option value totrue, default not implicitly set when define both positive and negative option in either order (#2405)- update example to use compatible character for MINGW64 (#2475)
Changed
- Breaking: migrated Commander implementation from CommonJS to ESM (#2464)
- Breaking: Commander 15 requires Node.js v22.12.0 or higher (for
require(esm)).- dev: switch tests from Jest to
node:testtest runner (#2463)Deleted
- Breaking: removed deprecated export of
commander/esm.mjs(#2464)Migration Tips
Commander 15 is ESM only, but this does not mean you need to migrate to ESM to use it. Importing ESM from CommonJS is supported by Node.js, and Bun, and Deno. Hopefully it Just Works for you! However, you may be using a different runtime or some other part of your setup that may not yet natively support importing ESM from CommonJS, such as your testing framework or bundler.
If you have problems using Commander 15 in your environment, one option is stay on Commander 14 for now. Commander 14 will get security updates until May 2027 and things will hopefully improve for your setup in the meantime.
[15.0.0-0] (2026-02-22)
(Released as 15.0.0)
[14.0.3] (2026-01-31)
Added
- Release Policy document (#2462)
Changes
... (truncated)
ba6d13d
Fix release dates in changelog (#2523)a752ed9
Pin GitHub actions with hash (#2521)74d5dfe
Drop EOL node 20 from test matrix, and add node 26 (#2520)6df9b68
Update details for 15.0.0 release (#2519)01ce5d0
Remove jest esm examples (#2517)d785d8b
Update dependencies (#2518)9098b48
Update dependencies (#2506)373f660
Use node:util stripVTControlCharacters instead of own code (#2486)987f289
Use simple match in test (to avoid warning about expensive regex) (#2485)0ea3bb3
Update dependecies and lint (#2489)