All Versions
47
Latest Version
Avg Release Cycle
121 days
Latest Release
1308 days ago

Changelog History
Page 2

  • v1.22.3 Changes

    March 08, 2020

    ๐Ÿ›  Fixed

    • 0๏ธโƒฃ String flag no longer persists the default value if the flag is explicitly initialized in #981 via @asahasrabuddhe
    • context.IsSet() returns true or false correctly regardless of whether the short name or the full name of the flag is passed to it in #978 via @asahasrabuddhe
    • Hide version if the version is not set by the user in #954 via @asahasrabuddhe
  • v1.22.2 Changes

    November 21, 2019

    ๐Ÿ›  Fixed

    ๐Ÿ”„ Changed

  • v1.22.1 Changes

    September 11, 2019

    ๐Ÿš€ ๐Ÿšง Watch out! There's a known regression in this release! #850 ๐Ÿšง

    ๐Ÿ›  Fixed

    ๐Ÿ”„ Changed

  • v1.22.0 Changes

    September 07, 2019

    ๐Ÿš€ ๐Ÿšง Watch out! There's a known regression in this release! #850 ๐Ÿšง

    ๐Ÿ›  Fixed

    ๐Ÿ”„ Changed

    โž• Added

  • v1.21.0 Changes

    August 02, 2019

    ๐Ÿ›  Fixed

    ๐Ÿ”„ Changed

    โž• Added

  • v1.20.0 Changes

    August 11, 2017

    ๐Ÿ›  Fixed

    • HandleExitCoder is now correctly iterates over all errors in a MultiError. The exit code is the exit code of the last error or 1 if there are no ExitCoders in the MultiError.
    • ๐Ÿ›  Fixed YAML file loading on Windows (previously would fail validate the file path)
    • Subcommand Usage, Description, ArgsUsage, OnUsageError correctly propogated
    • ErrWriter is now passed downwards through command structure to avoid the need to redefine it
    • Pass Command context into OnUsageError rather than parent context so that all fields are avaiable
    • ๐Ÿ–จ Errors occuring in Before funcs are no longer double printed
    • ๐Ÿ‘‰ Use UsageText in the help templates for commands and subcommands if defined; otherwise build the usage as before (was previously ignoring this field)
    • IsSet and GlobalIsSet now correctly return whether a flag is set if a program calls Set or GlobalSet directly after flag parsing (would previously only return true if the flag was set during parsing)

    ๐Ÿ”„ Changed

    • No longer exit the program on command/subcommand error if the error raised is not an OsExiter. This exiting behavior was introduced in 1.19.0, but was determined to be a regression in functionality. See the PR for discussion.

    โž• Added

    • CommandsByName type was added to make it easy to sort Commands by name, alphabetically
    • altsrc now handles loading of string and int arrays from TOML
    • ๐Ÿ‘Œ Support for definition of custom help templates for App via CustomAppHelpTemplate
    • ๐Ÿ‘Œ Support for arbitrary key/value fields on App to be used with CustomAppHelpTemplate via ExtraInfo
    • HelpFlag, VersionFlag, and BashCompletionFlag changed to explictly be cli.Flags allowing for the use of custom flags satisfying the cli.Flag interface to be used.
  • v1.19.1 Changes

    November 22, 2016

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixes regression introduced in 1.19.0 where using an ActionFunc as the Action for a command would cause it to error rather than calling the function. Should not have a affected declarative cases using func(c *cli.Context) err).
    • Shell completion now handles the case where the user specifies --generate-bash-completion immediately after a flag that takes an argument. Previously it call the application with --generate-bash-completion as the flag value.
  • v1.19.0 Changes

    November 19, 2016

    โž• Added

    • FlagsByName was added to make it easy to sort flags (e.g. sort.Sort(cli.FlagsByName(app.Flags)))
    • A Description field was added to App for a more detailed description of
      the application (similar to the existing Description field on Command)
    • Flag type code generation via go generate
    • Write to stderr and exit 1 if action returns non-nil error
    • โž• Added support for TOML to the altsrc loader
    • SkipArgReorder was added to allow users to skip the argument reordering.
      This is useful if you want to consider all "flags" after an argument as
      0๏ธโƒฃ arguments rather than flags (the default behavior of the stdlib flag
      library). This is backported functionality from the removal of the flag
      ๐Ÿš€ reordering
      in the unreleased version
      2
    • For formatted errors (those implementing ErrorFormatter), the errors will
      be formatted during output. Compatible with pkg/errors.

    ๐Ÿ”„ Changed

    • โœ… Raise minimum tested/supported Go version to 1.2+

    ๐Ÿ›  Fixed

    • Consider empty environment variables as set (previously environment variables
      with the equivalent of "" would be skipped rather than their value used).
    • ๐Ÿ“œ Return an error if the value in a given environment variable cannot be parsed
      as the flag type. Previously these errors were silently swallowed.
    • ๐Ÿ–จ Print full error when an invalid flag is specified (which includes the invalid flag)
    • 0๏ธโƒฃ App.Writer defaults to stdout when nil
    • ๐Ÿ–จ If no action is specified on a command or app, the help is now printed instead of panicing
    • ๐Ÿ“‡ App.Metadata is initialized automatically now (previously was nil unless initialized)
    • Correctly show help message if -h is provided to a subcommand
    • context.(Global)IsSet now respects environment variables. Previously it
      would return false if a flag was specified in the environment rather than
      as an argument
    • โœ‚ Removed deprecation warnings to STDERR to avoid them leaking to the end-user
    • โšก๏ธ altsrcs import paths were updated to use gopkg.in/urfave/cli.v1. This
      ๐Ÿ›  fixes issues that occurred when gopkg.in/urfave/cli.v1 was imported as well
      as altsrc where Go would complain that the types didn't match
  • v1.18.1 Changes

    August 29, 2016

    ๐Ÿ›  Fixed

    • โœ‚ Removed deprecation warnings to STDERR to avoid them leaking to the end-user (backported)
  • v1.18.0 Changes

    June 28, 2016

    โž• Added

    • โœ… ./runtests test runner with coverage tracking by default
    • โœ… testing on OS X
    • ๐Ÿ testing on Windows
    • ๐Ÿ‘ UintFlag, Uint64Flag, and Int64Flag types and supporting code

    ๐Ÿ”„ Changed

    • ๐Ÿ‘‰ Use spaces for alignment in help/usage output instead of tabs, making the
      output alignment consistent regardless of tab width

    ๐Ÿ›  Fixed

    • ๐Ÿ–จ Printing of command aliases in help text
    • ๐Ÿ–จ Printing of visible flags for both struct and struct pointer flags
    • Display the help subcommand when using CommandCategories
    • No longer swallows panics that occur within the Actions themselves when
      detecting the signature of the Action field