v1.2.0 - The completions release
π v1.2.0 - The completions release
Welcome to v1.2.0 of Cobra! This release focuses on code completions, several critical bug fixes, some documentation updates, and security bumps. Upgrading should be simple but please take note of the introduction of bash completions V2 and their default use. The v1 completions library is still available, but will be deprecated in the future. Please open an issue with any problems!
New Features
- Automatically adds a
completion
command for shell completions. If acompletion
command is already provided, uses that instead. This will automatically provide shell completions for bash, zsh, fish, and PowerShell #1192- Users can configure the command auto creation:
- disable the creation of the completion command
- disable completion descriptions
- disable the
--no-descriptions
flag for "always on" completion descriptions
- Users can configure the command auto creation:
- Introduction of bash completions V2, a uniform completion approach which include completion descriptions. The V1 bash completions are still available but will be deprecated in a later release - #1146
- Note that projects providing completion through a different command name (say a command named "complete") will continue to use v1 for their own command but will also provide cobra's implicit "completion" command which will use v2, unless of course, these projects take the time to disable the default "completion" command as noted above.
- Commands now support context being passed to completions - #1265
- An example can be found here: #1265 (comment)
- Removed dependency on
mitchellh/go-homedir
in favor of core Goos.UserHomeDir()
- 8eaca5f
Bug Fixes
- Fix trailing whitespace not being handled in powershell completion scripts #1342
- Bash completion variable leak fix #1352
- Fish shell completions correctly ignore trailing empty lines #1284
- PowerShell completions fix for "no file comp directive" - #1363
- Custom completions now correctly handle multiple shorthand flags together - #1258
- zsh completions now correctly handle
ShellDirectiveCompletionNoSpace
and file completion all the time - #1213 - Multiple fixes / improvements to the fish shell support - #1249
- Fix home directory config not loading correctly - #1282
- Fix for
RegisterFlagCompletionFunc
as a global var not working in multi-threaded programs: #1423 - Custom completions correctly do not complete flags after args when interspersed is false #1308
Testing
- Deprecated Travis CI. Now fully using Github Actions - d0f318d
- Added test cases and enhancements (thank you to everyone for taking the time to add tests to your PRs!)
- Shoutout to @marckhouzam and @Luap99 for their hard work on a cobra command completions testing library. Check out the repo here!
Security
- Bump viper to 1.8.1. This corrects several issues with vulnerabilities existing in the dependency tree - #1433
Other
- Add PR labeler with pull_request_target to enable tests to run from forks - #1338
- CI using MSYS2 windows machines pull latest - #1366
- Multiple small fixes to spelling / documentation - #1349 #1417 #1434
Thank you to all our amazing contributors ππ