Skip to content

chore(deps): update module github.com/spf13/cobra to v1.5.0

jonas requested to merge renovate/github.com-spf13-cobra-1.x into main

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

Compare Source

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 👀

Documentation 📝

Testing & CI

Beep boop, bot commits 🤖

Misc 💭

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

Compare Source

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 📝

Other 💭

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

Compare Source

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 and insert-completions. These descriptions are now purposefully removed in support of this model. #​1509
  • Fix for invalid shell completions when using ~/.cobra.yaml. Log message Using 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 composing PositionalArgs #​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 🔏

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

Compare Source

Bug fixes

v1.2.0

Compare Source

🌠 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 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
  • 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
  • Removed dependency onmitchellh/go-homedir in favor of core Go os.UserHomeDir() - https://github.com/spf13/cobra/commit/8eaca5f0f49ad747a0722d39dca7a75c34abd21a

Bug Fixes

Testing

Security

Other

Thank you to all our amazing contributors :snake::rocket:

v1.1.3

Compare Source

  • Fix: release-branch.cobra1.1 only: Revert "Deprecate Go < 1.14" to maintain backward compatibility

v1.1.2

Compare Source

Notable Changes

v1.1.1

Compare Source

v1.1.0

Compare Source

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

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by jonas

Merge request reports