All Versions
Latest Version
Avg Release Cycle
32 days
Latest Release

Changelog History
Page 3

  • v1.2 Changes

    May 11, 2020
    • โž• Added built-in Roslyn analyzers that help catch incorrect usage of the library. Currently, all analyzers report issues as warnings so as to not prevent the project from building. In the future that may change.
    • โž• Added an optional parameter to new CommandException(...) called showHelp which can be used to instruct CliFx to show help for the current command after printing the error. (Thanks @Domn Werner)
    • ๐Ÿ‘Œ Improved help text shown for enum options and parameters by providing the list of valid values that the enum can accept. (Thanks @Domn Werner)
    • ๐Ÿ›  Fixed an issue where it was possible to set an option without providing a value, while the option was marked as required.
    • ๐Ÿ›  Fixed an issue where it was possible to configure an option with an empty name or a name consisting of a single character. If you want to use a single character as a name, you should set the option's short name instead.
    • โž• Added CursorLeft and CursorTop properties to IConsole and its implementations. In VirtualConsole, these are just auto-properties.
    • ๐Ÿ‘Œ Improved exception messages.
    • ๐Ÿ‘Œ Improved exceptions related to user input by also showing help text after the error message. (Thanks @Domn Werner)
  • v1.1 Changes

    March 16, 2020
    • โšก๏ธ Changed IConsole interface (and as a result, SystemConsole and VirtualConsole) to support writing binary data. Instead of TextReader/TextWriter instances, the streams are now exposed as StreamReader/StreamWriter which provide the BaseStream property that allows raw access. Existing usages inside commands should remain the same because StreamReader/StreamWriter are compatible with their base classes TextReader/TextWriter, but if you were using VirtualConsole in tests, you may have to update it to the new API. Refer to the readme for more info.
    • ๐Ÿ”„ Changed argument binding behavior so that an error is produced if the user provides an argument that doesn't match with any parameter or option. This is done in order to improve user experience, as otherwise the user may make a typo without knowing that their input wasn't taken into account.
    • ๐Ÿ”„ Changed argument binding behavior so that options can be set to multiple argument values while specifying them with mixed naming. For example, --option value1 -o value2 --option value3 would result in the option being set to corresponding three values, assuming --option and -o match with the same option.
  • v1.0

    January 30, 2020
  • v0.0.8

    November 13, 2019
  • v0.0.7

    October 31, 2019
  • v0.0.6

    October 30, 2019
  • v0.0.5

    August 26, 2019
  • v0.0.4

    August 25, 2019
  • v0.0.3

    August 20, 2019
  • v0.0.2

    August 20, 2019