Skip to content

v1.2.0 - The completions release

Compare
Choose a tag to compare
@jpmcb jpmcb released this 01 Jul 17:41
07861c8

🌠 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 a completion 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
  • 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
  • Removed dependency onmitchellh/go-homedir in favor of core Go os.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 πŸπŸš€