Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

# <a href="https://www.github.com/yargs/yargs/compare/v15.3.1...v15.4.0">15.4.0</a> (2020-06-30)

## Features

- adds deprecation option for commands (027a636)
- support array of examples (#1682) (225ab82)

## Bug Fixes

- docs: describe usage of `.check()` in more detail (932cd11)
- i18n: Japanese translation phrasing (#1619) (0894175)
- strict mode: report default command unknown arguments (#1626) (69f29a9)
- usage: translate 'options' group only when displaying help (#1600) (e60b39b)

## Reverts

- Revert "chore(deps): update dependency eslint to v7 (#1656)" (#1673) (34949f8), closes #1656 #1673

## <a href="https://www.github.com/yargs/yargs/compare/v15.3.0...v15.3.1">15.3.1</a> (2020-03-16)

## Bug Fixes

- __proto__ will now be replaced with ___proto___ in parse (#258), patching a potential prototype pollution vulnerability. This was reported by the Snyk Security Research Team. (63810ca)

# <a href="https://www.github.com/yargs/yargs/compare/v15.2.0...v15.3.0">15.3.0</a> (2020-03-08)

## Features

- yargs-parser: introduce single-digit boolean aliases (#1576) (3af7f04)
- add usage for single-digit boolean aliases (#1580) (6014e39)

## Bug Fixes

- address ambiguity between nargs of 1 and requiresArg (#1572) (a5edc32)

# <a href="https://www.github.com/yargs/yargs/compare/v15.1.0...v15.2.0">15.2.0</a> (2020-03-01)

## ⚠ BREAKING CHANGES

- deps: yargs-parser@17.0.0 no longer implicitly creates arrays out of boolean arguments when duplicates are provided

## Features

- completion: takes negated flags into account when boolean-negation is set (#1509) (7293ad5)
- deps: pull in yargs-parser@17.0.0 (#1553) (b9409da)
- deprecateOption (#1559) (8aae333)
- display appropriate $0 for electron apps (#1536) (d0e4379)
- introduces strictCommands() subset of strict mode (#1540) (1d4cca3)
- deps: yargs-parser with 'greedy-array' configuration (#1569) (a03a320)

## Bug Fixes

- help always displayed for the first command parsed having an async handler (#1535) (d585b30)
- deps: fix enumeration for normalized path arguments (#1567) (0b5b1b0)
- locales: only translate default option group name (acc16de)
- locales: remove extra space in French for 'default' (#1564) (ecfc2c4)
- translations: add French translation for unknown command (#1563) (18b0b75)
- translations: fix pluralization in error messages. (#1557) (94fa38c)
- yargs: correct support of bundled electron apps (#1554) (a0b61ac)

# <a href="https://www.github.com/yargs/yargs/compare/v15.0.2...v15.1.0">15.1.0</a> (2020-01-02)

## Features

- lang: add Finnish localization (language code fi) (222c8fe)
- complete short options with a single dash (#1507) (99011ab)
- onFinishCommand handler (#1473) (fe380cd)

## Bug Fixes

- getCompletion() was not working for options (#1495) (463feb2)
- misspelling of package.json `engines` field (0891d0e)
- populate positionals when unknown-options-as-args is set (#1508) (bb0f2eb), closes #1444
- show 2 dashes on help for single digit option key or alias (#1493) (63b3dd3)
- docs: use recommended cjs import syntax for ts examples (#1513) (f9a18bf)

## <a href="https://www.github.com/yargs/yargs/compare/v15.0.1...v15.0.2">15.0.2</a> (2019-11-19)

## Bug Fixes

- temporary fix for libraries that call Object.freeze() (#1483) (99c2dc8)

## <a href="https://www.github.com/yargs/yargs/compare/v15.0.0...v15.0.1">15.0.1</a> (2019-11-16)

## Bug Fixes

- deps: cliui, find-up, and string-width, all drop Node 6 support (#1479) (6a9ebe2)

# <a href="https://www.github.com/yargs/yargs/compare/v14.2.0...v15.0.0">15.0.0</a> (2019-11-10)

## ⚠ BREAKING CHANGES

- deps: yargs-parser now throws on invalid combinations of config (#1470)
- yargs-parser@16.0.0 drops support for Node 6
- drop Node 6 support (#1461)
- remove package.json-based parserConfiguration (#1460)

## Features

- deps: yargs-parser now throws on invalid combinations of config (#1470) (c10c38c)
- expose `Parser` from ‘require('yargs/yargs’)` (#1477) (1840ba2)

## Bug Fixes

- docs: TypeScript import to prevent a future major release warning (#1441) (b1b156a)
- stop-parse was not being respected by commands (#1459) (12c82e6)
- update to yargs-parser with fix for array default values (#1463) (ebee59d)
- docs: update boolean description and examples in docs (#1474) (afd5b48)

## Miscellaneous Chores

- drop Node 6 support (#1461) (2ba8ce0)

## Code Refactoring

- remove package.json-based parserConfiguration (#1460) (0d3642b)

# <a href="https://github.com/yargs/yargs/compare/v14.1.0...v14.2.0">14.2.0</a> (2019-10-07)

## Bug Fixes

- async middleware was called twice (#1422) (9a42b63)
- fix promise check to accept any spec conform object (#1424) (0be43d2)
- groups were not being maintained for nested commands (#1430) (d38650e)
- docs: broken markdown link (#1426) (236e24e)
- support merging deeply nested configuration (#1423) (bae66fe)

## Features

- deps: introduce yargs-parser with support for unknown-options-as-args (#1440) (4d21520)

# <a href="https://github.com/yargs/yargs/compare/v14.0.0...v14.1.0">14.1.0</a> (2019-09-06)

## Bug Fixes

- docs: fix incorrect parserConfiguration documentation (2a99124)
- detect zsh when zsh isnt run as a login prompt (#1395) (8792d13)
- populate correct value on yargs.parsed and stop warning on access (#1412) (bb0eb52)
- showCompletionScript was logging script twice (#1388) (07c8537)
- strict() should not ignore hyphenated arguments (#1414) (b774b5e)
- docs: formalize existing callback argument to showHelp (#1386) (d217764)

## Features

- make it possible to merge configurations when extending other config. (#1411) (5d7ad98)

# <a href="https://github.com/yargs/yargs/compare/v13.3.0...v14.0.0">14.0.0</a> (2019-07-30)

## ⚠ BREAKING CHANGES

- we now only officially support yargs.$0 parameter and discourage direct access to yargs.parsed
- previously to this fix methods like `yargs.getOptions()` contained the state of the last command to execute.
- do not allow additional positionals in strict mode

## Bug Fixes

- calling parse multiple times now appropriately maintains state (#1137) (#1369) (026b151)
- prefer user supplied script name in usage (#1383) (28c74b9)
- deps: use decamelize from npm instead of vendored copy (#1377) (015eeb9)
- examples: fix usage-options.js to reflect current API (#1375) (6e5b76b)
- do not allow additional positionals in strict mode (35d777c)
- properties accessed on singleton now reflect current state of instance (#1366) (409d35b)
- tolerate null prototype for config objects with `extends` (#1376) (3d26d11), closes #1372
- yargs.parsed now populated before returning, when yargs.parse() called with no args (#1382) (e3981fd), closes #1382

## Features

- adds support for multiple epilog messages (#1384) (07a5554)
- allow completionCommand to be set via showCompletionScript (#1385) (5562853)

# <a href="https://www.github.com/yargs/yargs/compare/v13.2.4...v13.3.0">13.3.0</a> (2019-06-10)

## Bug Fixes

- deps: yargs-parser update addressing several parsing bugs (#1357) (e230d5b)

## Features

- i18n: swap out os-locale dependency for simple inline implementation (#1356) (4dfa19b)
- support defaultDescription for positional arguments (812048c)

## <a href="https://github.com/yargs/yargs/compare/v13.2.3...v13.2.4">13.2.4</a> (2019-05-13)

## Bug Fixes

- i18n: rename unclear 'implication failed' to 'missing dependent arguments' (#1317) (bf46813)

## <a href="https://github.com/yargs/yargs/compare/v13.2.2...v13.2.3">13.2.3</a> (2019-05-05)

## Bug Fixes

- deps: upgrade cliui for compatibility with latest chalk. (#1330) (b20db65)
- address issues with dutch translation (#1316) (0295132)

## Tests

- accept differently formatted output (#1327) (c294d1b)

# <a href="https://github.com/yargs/yargs/compare/v13.2.1...v13.2.2">13.2.2</a> (2019-03-06)

# <a href="https://github.com/yargs/yargs/compare/v13.2.0...v13.2.1">13.2.1</a> (2019-02-18)

## Bug Fixes

- add zsh script to files array (3180224)
- support options/sub-commands in zsh completion (0a96394)

# <a href="https://github.com/yargs/yargs/compare/v13.1.0...v13.2.0">13.2.0</a> (2019-02-15)

### Features

- zsh auto completion (#1292) (16c5d25), closes #1156

# <a href="https://github.com/yargs/yargs/compare/v13.0.0...v13.1.0">13.1.0</a> (2019-02-12)

### Features

- add applyBeforeValidation, for applying sync middleware before validation (5be206a)

# <a href="https://github.com/yargs/yargs/compare/v12.0.5...v13.0.0">13.0.0</a> (2019-02-02)

### Bug Fixes

- deps: Update os-locale to avoid security vulnerability (#1270) (27bf739)
- validation: Use the error as a message when none exists otherwise (#1268) (0510fe6)
- better bash path completion (#1272) (da75ea2)
- middleware added multiple times due to reference bug (#1282) (64af518)

### Chores

- ~drop Node 6 from testing matrix (#1287) (ef16792)~
  - opting to not drop Node 6 support until April, see.
- update dependencies (#1284) (f25de4f)

### Features

- Add `.parserConfiguration()` method, deprecating package.json config (#1262) (3c6869a)
- adds config option for sorting command output (#1256) (6916ce9)
- options/positionals with leading '+' and '0' no longer parse as numbers (#1286) (e9dc3aa)
- support promises in middleware (f3a4e4f)

### BREAKING CHANGES

- options with leading '+' or '0' now parse as strings
- dropping Node 6 which hits end of life in April 2019
- see yargs-parser@12.0.0 CHANGELOG
- we now warn if the yargs stanza package.json is used.

## <a href="https://github.com/yargs/yargs/compare/v12.0.4...v12.0.5">12.0.5</a> (2018-11-19)

### Bug Fixes

- allows camel-case, variadic arguments, and strict mode to be combined (#1247) (eacc035)

## <a href="https://github.com/yargs/yargs/compare/v12.0.3...v12.0.4">12.0.4</a> (2018-11-10)

### Bug Fixes

- don't load config when processing positionals (5d0dc92)

## <a href="https://github.com/yargs/yargs/compare/v12.0.2...v12.0.3">12.0.3</a> (2018-10-06)

### Bug Fixes

- $0 contains first arg in bundled electron apps (#1206) (567820b)
- accept single function for middleware (66fd6f7), closes #1214 #1214
- hide `hidden` options from help output even if they are in a group (#1221) (da54028)
- improve Norwegian Bokmål translations (#1208) (a458fa4)
- improve Norwegian Nynorsk translations (#1207) (d422eb5)

## <a href="https://github.com/yargs/yargs/compare/v12.0.1...v12.0.2">12.0.2</a> (2018-09-04)

### Bug Fixes

- middleware should work regardless of when method is called (664b265), closes #1178
- translation not working when using __ with a single parameter (#1183) (f449aea)
- upgrade os-locale to version that addresses license issue (#1195) (efc0970)

## <a href="https://github.com/yargs/yargs/compare/v12.0.0...v12.0.1">12.0.1</a> (2018-06-29)

# <a href="https://github.com/yargs/yargs/compare/v11.1.0...v12.0.0">12.0.0</a> (2018-06-26)

### Bug Fixes

- .argv and .parse() now invoke identical code path (#1126) (f13ebf4)
- remove the trailing white spaces from the help output (#1090) (3f0746c)
- completion: Avoid default command and recommendations during completion (#1123) (036e7c5)

### Chores

- test Node.js 6, 8 and 10 (#1160) (84f9d2b)
- upgrade to version of yargs-parser that does not populate value for unset boolean (#1104) (d4705f4)

### Features

- add support for global middleware, useful for shared tasks like metrics (#1119) (9d71ac7)
- allow setting scriptName $0 (#1143) (a2f2eae)
- remove `setPlaceholderKeys` (#1105) (6ee2c82)

### BREAKING CHANGES

- Options absent from `argv` (not set via CLI argument) are now absent from the parsed result object rather than being set with `undefined`
- drop Node 4 from testing matrix, such that we'll gradually start drifting away from supporting Node 4.
- yargs-parser does not populate 'false' when boolean flag is not passed
- tests that assert against help output will need to be updated

# <a href="https://github.com/yargs/yargs/compare/v11.0.0...v11.1.0">11.1.0</a> (2018-03-04)

### Bug Fixes

- choose correct config directory when require.main does not exist (#1056) (a04678c)

### Features

- allow hidden options to be displayed with –show-hidden (#1061) (ea862ae)
- extend *.rc files in addition to json (#1080) (11691a6)

# <a href="https://github.com/yargs/yargs/compare/v10.1.2...v11.0.0">11.0.0</a> (2018-01-22)

### Bug Fixes

- Set implicit nargs=1 when type=number requiresArg=true (#1050) (2b56812)

### Features

- requiresArg is now simply an alias for nargs(1) (#1054) (a3ddacc)

### BREAKING CHANGES

- requiresArg now has significantly different error output, matching nargs.

Historical Versions