chore(deps): update module github.com/spf13/cobra to v1.5.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
github.com/spf13/cobra | require | minor |
v1.0.0 -> v1.5.0
|
Release Notes
spf13/cobra
v1.5.0
🌥 ️
Spring 2022 Release Hello everyone! Welcome to another release of cobra. Completions continue to get better and better. This release adds a few really cool new features. We also continue to patch versions of our dependencies as they become available via dependabot. Happy coding!
👐🏼
Active help Shout out to @marckhouzam for a big value add: Active Help https://github.com/spf13/cobra/pull/1482. With active help, a program can provide some inline warnings or hints for users as they hit tab. Now, your CLIs can be even more intuitive to use!
Currently active help is only supported for bash V2 and zsh. Marc wrote a whole guide on how to do this, so make sure to give it a good read to learn how you can add this to your cobra code! https://github.com/spf13/cobra/blob/master/active_help.md
🏼 🤝 🧑🏼
Group flags 🧑Cobra now has the ability to mark flags as required or exclusive as a group. Shout out to our newest maintainer @johnSchnake for this! https://github.com/spf13/cobra/pull/1654 Let's say you have a username
flag that MUST be partnered with a password
flag. Well, now, you can enforce those as being required together:
rootCmd.Flags().StringVarP(&u, "username", "u", "", "Username (required if password is set)")
rootCmd.Flags().StringVarP(&pw, "password", "p", "", "Password (required if username is set)")
rootCmd.MarkFlagsRequiredTogether("username", "password")
Flags may also be marked as "mutally exclusive" with the MarkFlagsMutuallyExclusive(string, string ... )
command API. Refer to our user guide documentation for further info!
👀
Completions - Add backwards-compatibility tests for legacyArgs() by @marckhouzam in https://github.com/spf13/cobra/pull/1547
- feat: Add how to load completions in your current zsh session by @ondrejsika in https://github.com/spf13/cobra/pull/1608
- Introduce FixedCompletions by @emersion in https://github.com/spf13/cobra/pull/1574
- Add shell completion to flag groups by @marckhouzam in https://github.com/spf13/cobra/pull/1659
- Modify brew prefix path in macOS system by @imxw in https://github.com/spf13/cobra/pull/1719
- perf(bash-v2): use backslash escape string expansion for tab by @scop in https://github.com/spf13/cobra/pull/1682
- style(bash-v2): out is not an array variable, do not refer to it as such by @scop in https://github.com/spf13/cobra/pull/1681
- perf(bash-v2): standard completion optimizations by @scop in https://github.com/spf13/cobra/pull/1683
- style(bash): out is not an array variable, do not refer to it as such by @scop in https://github.com/spf13/cobra/pull/1684
- perf(bash-v2): short-circuit descriptionless candidate lists by @scop in https://github.com/spf13/cobra/pull/1686
- perf(bash-v2): speed up filtering entries with descriptions by @scop in https://github.com/spf13/cobra/pull/1689
- perf(bash-v2): speed up filtering menu-complete descriptions by @scop in https://github.com/spf13/cobra/pull/1692
- fix(bash-v2): skip empty completions when filtering descriptions by @scop in https://github.com/spf13/cobra/pull/1691
- perf(bash-v2): read directly to COMMREPLY on descriptionless short circuit by @scop in https://github.com/spf13/cobra/pull/1700
- fix: Don't complete _command on zsh by @twpayne in https://github.com/spf13/cobra/pull/1690
- Improve fish_completions code quality by @t29kida in https://github.com/spf13/cobra/pull/1515
- Fix handling of descriptions for bash v3 by @marckhouzam in https://github.com/spf13/cobra/pull/1735
- undefined or nil Args default to ArbitraryArgs by @umarcor in https://github.com/spf13/cobra/pull/1612
- Add Command.SetContext by @joshcarp in https://github.com/spf13/cobra/pull/1551
- Wrap printf tab with quotes by @PapaCharlie in https://github.com/spf13/cobra/pull/1665
📝
Documentation - Fixed typos in completions docs - @cuishuang https://github.com/spf13/cobra/pull/1625
- Removed
CHANGELOG.md
as it isn't updated - @johnSchnake https://github.com/spf13/cobra/pull/1634 - Minor typo fix in
shell_completion.md
- @danieldn https://github.com/spf13/cobra/pull/1678 - Changed branch name in the cobra generator link to 'main' - @skywalker2909 https://github.com/spf13/cobra/pull/1645
- Fix Command.Context comment by @katexochen in https://github.com/spf13/cobra/pull/1639
- Change appropriate links from http:// to https:// where applicable - @deining https://github.com/spf13/cobra/pull/1695
⚙ ️
Testing & CI - Test on Golang 1.18 - @umarcor https://github.com/spf13/cobra/pull/1635
- Use
RICHGO_FORCE_COLOR
- @umarcor https://github.com/spf13/cobra/pull/1647 - Adds size labeler GitHub action by @jpmcb in https://github.com/spf13/cobra/pull/1610
- Update
stale-bot
settings - @jpmcb https://github.com/spf13/cobra/pull/1609
🤖
Beep boop, bot commits - Bumped golangci/golangci-lint-action from 3.1.0 to 3.2.0 - @dependabot https://github.com/spf13/cobra/pull/1697
- Bump codelytv/pr-size-labeler from 1.8.0 to 1.8.1 - @dependabot https://github.com/spf13/cobra/pull/1661
- Bump actions/stale from 1 to 5 by @dependabot in https://github.com/spf13/cobra/pull/1618
- Bump actions/cache from 2 to 3 by @dependabot in https://github.com/spf13/cobra/pull/1640
- Bump actions/labeler from 3 to 4 by @dependabot in https://github.com/spf13/cobra/pull/1620
- Bump golangci/golangci-lint-action from 2 to 3.1.0 by @dependabot in https://github.com/spf13/cobra/pull/1615
- Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/spf13/cobra/pull/1619
- Bump github.com/cpuguy83/go-md2man/v2 from 2.0.1 to 2.0.2 by @dependabot in https://github.com/spf13/cobra/pull/1688
- Bump actions/setup-go from 2 to 3 by @dependabot in https://github.com/spf13/cobra/pull/1660
💭
Misc - Use
errors.Is()
to check for errors - @Luap99 https://github.com/spf13/cobra/pull/1730 - Prefer ReplaceAll instead of Replace(..., -1) by @WhyNotHugo in https://github.com/spf13/cobra/pull/1530
- Add Kubescape to projects - @avinashupadhya99 https://github.com/spf13/cobra/pull/1642
- Add Pulumi as a project using cobra by @iwahbe in https://github.com/spf13/cobra/pull/1720
- Add Polygon Edge as a project using Cobra by @zivkovicmilos in https://github.com/spf13/cobra/pull/1672
Shoutout to ALL our contributors (and all the new first time contributors!!) - great work everyone!! Cobra and it's huge impact wouldn't be possible without you
Full Changelog: https://github.com/spf13/cobra/compare/v1.4.0...v1.5.0
v1.4.0
❄ ️
Winter 2022 Release Another season, another release!
🐍 🚀
Goodbye viper! The core Cobra library no longer requires Viper and all of its indirect dependencies. This means that Cobra's dependency tree has been drastically thinned! The Viper dependency was included because of the cobra
CLI generation tool. This tool has migrated to spf13/cobra-cli
.
It's pretty unlikely you were importing and using the bootstrapping CLI tool as part of your application (after all, it's just a tool to get going with core cobra
).
But if you were, replace occurrences of
"github.com/spf13/cobra/cobra"
with
"github.com/spf13/cobra-cli"
And in your go.mod
, you'll want to also include this dependency:
github.com/spf13/cobra-cli v1.3.0
Again, the maintainers do not anticipate this being a breaking change to users of the core cobra
library, so minimal work should be required for users to integrate with this new release. Moreover, this means the dependency tree for your application using Cobra should no longer require dependencies that were inherited from Viper. Huzzah! 🥳
If you'd like to read more
📝
Documentation - Update Go Doc link and badge in README: https://github.com/spf13/cobra/pull/1593
- Fix to install command, now targets
@latest
: https://github.com/spf13/cobra/pull/1576 - Added MAINTAINERS file: https://github.com/spf13/cobra/pull/1545
💭
Other - Bumped license year to 2022 in golden files: https://github.com/spf13/cobra/pull/1575
- Added Pixie to projects: https://github.com/spf13/cobra/pull/1581
- Updated labeler for new labeling scheme: https://github.com/spf13/cobra/pull/1613 & syntax fix: https://github.com/spf13/cobra/pull/1624
Shoutout to our awesome contributors helping to make this cobra release possible!! @spf13 @marckhouzam @johnSchnake @jpmcb @liggitt @umarcor @hiljusti @marians @shyim @htroisi
v1.3.0
🍁
v1.3.0 - The Fall 2021 release
💇🏼
Completion fixes & enhancements In v1.2.0
, we introduced a new model for completions. Thanks to everyone for trying it, giving feedback, and providing numerous fixes! Continue to work with the new model as the old one (as noted in code comments) will be deprecated in a coming release.
-
DisableFlagParsing
now triggers custom completions for flag names #1161 - Fixed unbound variables in bash completions causing edge case errors #1321
-
help
completion formatting improvements & fixes #1444 - All completions now follow the
help
example: short desc are now capitalized and removes extra spacing from long description #1455 - Typo fixes in bash & zsh completions #1459
- Fixed mixed tab/spaces indentation in completion scripts. Now just 4 spaces #1473
- Support for different bash completion options. Bash completions v2 supports descriptions and requires descriptions to be removed for
menu-complete
,menu-complete-backward
andinsert-completions
. These descriptions are now purposefully removed in support of this model. #1509 - Fix for invalid shell completions when using
~/.cobra.yaml
. Log messageUsing config file: ~/.cobra.yaml
now printed to stderr #1510 - Removes unnecessary trailing spaces from completion command descriptions #1520
- Option to hide default
completion
command #1541 - Remove
__complete
command for programs without subcommands #1563
⚙ ️
Generator changes Thanks to @spf13 for providing a number of changes to the Cobra generator tool, streamlining it for new users!
- The Cobra generator now won't automatically include Viper and cleans up a number of unused imports when not using Viper.
- The Cobra generator's default license is now
none
- The Cobra generator now works with Go modules
- Documentation to reflect these changes
⭐
New Features - License can be specified by their SPDX identifiers #1159
-
MatchAll
allows combining several PositionalArgs to work in concert. This now allows for enabling composingPositionalArgs
#896
🐛
Bug Fixes
👀
Testing - Now testing golang 1.16.x and 1.17.x in CI #1425
- Fix for running diff test to ignore CR for windows #949
- Added helper functions and reduced code reproduction in
args_test
#1426 - Now using official
golangci-lint
github action #1477
🔏
Security - Added GitHub dependabot #1427
- Now using Viper
v1.10.0
- There is a known CVE in an indirect dependency from
viper
: https://github.com/spf13/cobra/issues/1538. This will be patched in a future release
- There is a known CVE in an indirect dependency from
📝
Documentation - Multiple projects added to the
projects_using_cobra.md
file: #1377 #1501 #1454 - Removed ToC from main readme file as it is now automagically displayed by GitHub #1429
- Documentation correct for when the
--author
flag is specified #1009 -
shell_completions.md
has an easier to use snippet for copying and pasting shell completions #1372
💭
Other - Bump version of
cpuguy83/go-md2man
to v2.0.1 #1460 - Removed
lesser
typo from the GPL-2.0 license #880 - Fixed spelling errors #1514
Thank you to all our amazing contributors
v1.2.1
Bug fixes
- Quickfix for https://github.com/spf13/cobra/issues/1437 after v1.2.0 where parallel use of the
cmd.RegisterFlagCompletionFunc()
(and subsequent map) now works correctly and flag completions now work again
v1.2.0
🌠 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 https://github.com/spf13/cobra/pull/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 - https://github.com/spf13/cobra/pull/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 - https://github.com/spf13/cobra/pull/1265
- An example can be found here: https://github.com/spf13/cobra/pull/1265#issuecomment-734551031
- Removed dependency on
mitchellh/go-homedir
in favor of core Goos.UserHomeDir()
- https://github.com/spf13/cobra/commit/8eaca5f0f49ad747a0722d39dca7a75c34abd21a
Bug Fixes
- Fix trailing whitespace not being handled in powershell completion scripts https://github.com/spf13/cobra/pull/1342
- Bash completion variable leak fix https://github.com/spf13/cobra/pull/1352
- Fish shell completions correctly ignore trailing empty lines https://github.com/spf13/cobra/pull/1284
- PowerShell completions fix for "no file comp directive" - https://github.com/spf13/cobra/pull/1363
- Custom completions now correctly handle multiple shorthand flags together - https://github.com/spf13/cobra/pull/1258
- zsh completions now correctly handle
ShellDirectiveCompletionNoSpace
and file completion all the time - https://github.com/spf13/cobra/pull/1213 - Multiple fixes / improvements to the fish shell support - https://github.com/spf13/cobra/pull/1249
- Fix home directory config not loading correctly - https://github.com/spf13/cobra/pull/1282
- Fix for
RegisterFlagCompletionFunc
as a global var not working in multi-threaded programs: https://github.com/spf13/cobra/pull/1423 - Custom completions correctly do not complete flags after args when interspersed is false #1308
Testing
- Deprecated Travis CI. Now fully using Github Actions - https://github.com/spf13/cobra/commit/d0f318d45bdb46e3c1bc314c6096674426f1a620
- Added test cases and enhancements (thank you to everyone for taking the time to add tests to your MRs!)
- 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 - https://github.com/spf13/cobra/pull/1433
Other
- Add MR labeler with pull_request_target to enable tests to run from forks - https://github.com/spf13/cobra/pull/1338
- CI using MSYS2 windows machines pull latest - https://github.com/spf13/cobra/pull/1366
- Multiple small fixes to spelling / documentation - https://github.com/spf13/cobra/pull/1349 https://github.com/spf13/cobra/pull/1417 https://github.com/spf13/cobra/pull/1434
Thank you to all our amazing contributors :snake::rocket:
v1.1.3
-
Fix:
release-branch.cobra1.1
only: Revert "Deprecate Go < 1.14" to maintain backward compatibility
v1.1.2
Notable Changes
- Bump license year to 2021 in golden files (#1309) @Bowbaq
- Enhance PowerShell completion with custom comp (#1208) @Luap99
- Update gopkg.in/yaml.v2 to v2.4.0: The previous breaking change in yaml.v2 v2.3.0 has been reverted, see go-yaml/yaml#670
- Documentation readability improvements (#1228 etc.) @zaataylor etc.
- Use golangci-lint: Repair warnings and errors resulting from linting (#1044) @umarcor
v1.1.1
- Fix: yaml.v2 2.3.0 contained a unintended breaking change. This release reverts to yaml.v2 v2.2.8 which has recent critical CVE fixes, but does not have the breaking changes. See https://github.com/spf13/cobra/pull/1259 for context.
- Fix: correct internal formatting for go-md2man v2 (which caused man page generation to be broken). See https://github.com/spf13/cobra/issues/1049 for context.
v1.1.0
Notable Changes
- Extend Go completions and revamp zsh comp (#1070)
- Fix man page doc generation - no auto generated tag when
cmd.DisableAutoGenTag = true
(#1104) - Add completion for help command (#1136)
- Complete subcommands when TraverseChildren is set (#1171)
- Fix stderr printing functions (#894)
- fix: fish output redirection (#1247)
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.