⚠ BREAKING CHANGES
- node: drop Node 10 (#1919)
- implicitly private methods are now actually private
- deprecated reset() method is now private (call yargs() instead).
- yargs-factory: refactor yargs-factory to use class (#1895)
- .positional() now allowed at root level of yargs.
- coerce: coerce is now applied before validation.
- async: yargs now returns a promise if async or check are asynchronous.
- middleware: global middleware now applied when no command is configured.
- #1823 contains the following breaking API changes:
- now returns a promise if handler is async.
- onFinishCommand removed, in favor of being able to await promise.
- getCompletion now invokes callback with err and `completions, returns promise of completions.
Features
- add commands alias (similar to options function) (#1850) (00b74ad)
- add parseSync/parseAsync method (#1898) (6130ad8)
- add support for
showVersion
, similar toshowHelp
(#1831) (1a1e2d5) - adds support for async builder (#1888) (ade29b8), closes #1042
- allow calling standard completion function from custom one (#1855) (31765cb)
- allow default completion to be referenced and modified, in custom completion (#1878) (01619f6)
- async: add support for async check and coerce (#1872) (8b95f57)
- improve support for async/await (#1823) (169b815)
- locale: add Ukrainian locale (#1893) (c872dfc)
- middleware: async middleware can now be used before validation. (e0f9363)
- middleware: global middleware now applied when no command is configured. (e0f9363)
- node: drop Node 10 (#1919) (5edeb9e)
Bug Fixes
- always cache help message when running commands (#1865) (d57ca77), closes #1853
- async: don't call parse callback until async ops complete (#1896) (a93f5ff), closes #1888
- builder: apply default builder for showHelp/getHelp (#1913) (395bb67), closes #1912
- builder: nested builder is now awaited (#1925) (b5accd6)
- coerce: options using coerce now displayed in help (#1911) (d2128cc), closes #1909
- completion script name clashing on bash (#1903) (8f62d9a)
- deno: use actual names for keys instead of inferring (#1891) (b96ef01)
- exclude positionals from default completion (#1881) (0175677)
- #1841 (comment) (b96ef01)
- showHelp() and .getHelp() now return same output for commands as --help (#1826) (36abf26)
- zsh completion is now autoloadable (#1856) (d731f9f)