Skip to content

Preparing for Commander v14.0.0 #2366

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 16, 2025
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
<!-- markdownlint-disable MD024 -->
<!-- markdownlint-disable MD004 -->

## [14.0.0] (2025-05-16)

### Added

- support for groups of options and commands in the help using low-level `.helpGroup()` on `Option` and `Command`, and higher-level `.optionsGroup()` and `.commandsGroup()` which can be used in chaining way to specify group title for following options/commands ([#2328])
- support for unescaped negative numbers as option-arguments and command-arguments ([#2339])
- TypeScript: add `parseArg` property to `Argument` class ([#2359])

### Fixed

- remove bogus leading space in help when option has default value but not a description ([#2348])
- `.configureOutput()` now makes copy of settings instead of modifying in-place, fixing side-effects ([#2350])

### Changed

- *Breaking:* Commander 14 requires Node.js v20 or higher
- internal refactor of `Help` class adding `.formatItemList()` and `.groupItems()` methods ([#2328])

## [13.1.0] (2025-01-21)

### Added
Expand Down Expand Up @@ -1388,7 +1406,11 @@ program
[#2270]: https://github.com/tj/commander.js/pull/2270
[#2299]: https://github.com/tj/commander.js/pull/2299
[#2312]: https://github.com/tj/commander.js/pull/2312

[#2328]: https://github.com/tj/commander.js/pull/2328
[#2339]: https://github.com/tj/commander.js/pull/2339
[#2348]: https://github.com/tj/commander.js/pull/2348
[#2350]: https://github.com/tj/commander.js/pull/2350
[#2359]: https://github.com/tj/commander.js/pull/2359

<!-- Referenced in 5.x -->
[#1]: https://github.com/tj/commander.js/issues/1
Expand Down Expand Up @@ -1468,6 +1490,7 @@ program
[#1028]: https://github.com/tj/commander.js/pull/1028

[Unreleased]: https://github.com/tj/commander.js/compare/master...develop
[14.0.0]: https://github.com/tj/commander.js/compare/v13.1.0...v14.0.0
[13.1.0]: https://github.com/tj/commander.js/compare/v13.0.0...v13.1.0
[13.0.0]: https://github.com/tj/commander.js/compare/v12.1.0...v13.0.0
[13.0.0-0]: https://github.com/tj/commander.js/compare/v12.1.0...v13.0.0-0
Expand Down
2 changes: 1 addition & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -1138,7 +1138,7 @@ There is more information available about:

## Support

The current version of Commander is fully supported on Long Term Support versions of Node.js, and requires at least v18.
The current version of Commander is fully supported on Long Term Support versions of Node.js, and requires at least v20.
(For older versions of Node.js, use an older version of Commander.)

The main forum for free and community support is the project [Issues](https://github.com/tj/commander.js/issues) on GitHub.
Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "commander",
"version": "13.1.0",
"version": "14.0.0",
"description": "the complete solution for node.js command-line programs",
"keywords": [
"commander",
Expand Down Expand Up @@ -76,7 +76,7 @@
},
"types": "typings/index.d.ts",
"engines": {
"node": ">=18"
"node": ">=20"
},
"support": true
}