unstale

npm / commander

commander

What changed in commander 14 to 15, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

4 breaking1 deprecations2 behavior and defaults1 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

commander 156 changes

Breaking changes 4

  • Commander 15 is ESM only, which may require configuration for tooling that does not support importing ESM from CommonJS.

    15.0.0release notes

  • The deprecated commander/esm.mjs export has been removed.

    15.0.0release notes

  • Only a lone negative option sets the default option value to true; defining both positive and negative options in either order no longer implicitly sets a default.

    15.0.0release notes

  • Commander 15 requires Node.js v22.12.0 or higher.

    15.0.0release notes

Deprecations 1

  • Commander 14 moves into maintenance and will receive security updates through May 2027, which may inform upgrade timing.

    15.0.0release notes

Behavior and default changes 1

  • Error messages now show excess command arguments, helping developers identify arguments that were not expected.

    15.0.0release notes

commander 142 changes

Behavior and default changes 1

  • Old major versions are supported for 12 months instead of only the previous major version, giving developers a more predictable end-of-life.

    14.0.3release notes

Fixes and other changes 1

  • The typing for the deprecated callback parameter to .outputHelp() is clarified.

    14.0.3release notes