All Versions
33
Latest Version
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 2

  • v2.4.1 Changes

    • ๐Ÿ›  Fix #277 - workaround a bug in NuGet's 'deterministic packaging' feature which causes issues based on your timezone
  • v2.4.0 Changes

    • ๐Ÿ›  Fix #227 by [@ejball] - ArgumentEscaper should escape empty string
    • PR #230 by [@IanG] - Attributes for files and directories that must not exist
    • ๐Ÿ›  Fix #221 by [@vpkopylov] - Use Pager for help text option only works on top-level help
    • PR #239 by [@vpkopylov] - Add check for subcommand cycle
    • ๐Ÿ‘Œ Support C# 8.0 and nullable reference types - #245
    • โž• Add async methods to CommandLineApplication
    • ๐Ÿ›  Fix #208 - make CommandLineApplication.ExecuteAsync actually asynchronous
    • ๐Ÿ›  Fix #153 - add async methods that accept cancellation tokens
    • ๐Ÿ›  Fix #111 - Handle CTRL+C by default
    • ๐Ÿ›  Fix #246 by [@kyle-rader] - Multi-line option descriptions do not indent correctly
    • ๐Ÿ›  Fix #253 - support calling CommandLineApplication.Execute multiple times
  • v2.3.4 Changes

    ๐Ÿ› Bugs fixed:

    • ๐Ÿ›  Fix #218: Handle options with multiple characters in the short option name when only specified in a subcommand
    • PR #224 by [@SteveBenz]: Rearrange the order that commands are listed in the USAGE block and list all the commands on the line
  • v2.3.3 Changes

    โœจ Enhancements:

    • [@mpipo]: add an API to disable the pager for help text (CommandLineApplication.UsePagerForHelpText) (#216)
  • v2.3.2 Changes

    โœจ Enhancements:

    • ๐Ÿ›  Fix #211 by [@rlvandaveer]: honor attributes on classes which implement ValidationAttribute

    ๐Ÿ› Bugs fixed:

    • ๐Ÿ›  Fix #207 by [@jcaillon]: Option for the case sensitivity of command names
  • v2.3.1 Changes

    ๐Ÿ› Bugs fixed:

    • ๐Ÿ›  Fix #203 - fix InvalidOperationException thrown during help text generation on Mono
  • v2.3.0 Changes

    Dec. 31, 2018

    โœจ Enhancements:

    • PR #192 by [@TheConstructor]: Add IUnhandledExceptionHandler

    ๐Ÿ› Bugs fixed:

    • ๐Ÿ›  Fix #195: don't use Task.Run in generic host
  • v2.3.0-rc Changes

    ๐Ÿ› Bugs fixed:

    • ๐Ÿ›  Fix #189 by [@TheConstructor]: fix inference about clustering options for sub-sub-commands

    โœจ Enhancements:

    • ๐Ÿ›  Fix #166 by [@TheConstructor]: make CommandLineApplication.GetValidationResult() public
    • PR #192 by [@TheConstructor]: improve error handling in generic host, and unwrap TargetInvocationException
  • v2.3.0-beta Changes

    ๐Ÿ› Bugs fixed:

    • ๐Ÿ›  Fix #86 by [@handcraftedsource]: handled nested HelpOptions. Fixes InvalidOperationException when multiple help options were defined.(#158)
    • ๐Ÿ›  Fix #163 - Obsolete CommandOption.Template and fix help text generation to accurately list available options
    • ๐Ÿ›  [@TheConstructor]: fixed a bug in ConstructorInjectionConvention (#181)

    โœจ Enhancements:

    • ๐Ÿ“œ [@jcaillon]: Add a new API UnrecognizedCommandParsingException which includes suggestions for similar options or commands. (#164)
    • โž• Add support counting of bool/flag variables using bool[]. (#143)
    • ๐Ÿ‘ป [@EricStG]: Add a new API MissingParameterlessConstructorException that includes the type causing the exception in the message. ([#148])
    • ๐Ÿ“œ [@atifaziz]: Add a new API ValueParser.Create which makes it easier to create implementations of IValueParser (#169)
    • ๐Ÿ‘ [@TheConstructor]: Support injection of IConsole and IConvention in generic host (#178)

    Other notes:

    • ๐Ÿš€ I adjusted some API released in the alpha - primarily, I removed ParserSettings.

    ๐Ÿ†• New package: McMaster.Extensions.Hosting.CommandLine

    ๐Ÿ“ฆ Thanks to [@lucastheisen] for writing a new package, McMaster.Extensions.Hosting.CommandLine (#167). This new package provides ๐Ÿ“„ integration with ASP.NET Core's "Generic Host" feature..

  • v2.3.0-alpha Changes

    โœจ Enhancements:

    • ๐Ÿ‘Œ Support the POSIX convention for cluster multiple options. For example, -ixd is treated the same as -i -x -d. Resolved #93.
    • ๐Ÿ‘ [@bjorg]: support SingleOrNoValue notation. --option[:value]
    • ๐Ÿ†• New type: Pager. Provides a simple interaction model for displaying console output in a pager.
    • ๐ŸŽ Display help text using the less pager on macOS/Linux.
    • ๐Ÿ‘‰ Make suggestions when invalid options or commands are used, but there is a valid one that is similar. (Thanks to [@MadbHatter] for doing the initial work on this.)
    • โž• Add support for subcommand aliases. Commands can be given multiple names.
      [Command("organization", "org", "o")]
      public class OrgCommand { }
    
    • Obsolete the constructor of [Subcommand] which takes a string.
    • Infer subcommand names from the type name ```c# [Subcommand(typeof(AddCommand))] public class Git { }

    public class AddCommand { } // subcommand name = "add"

    * 0๏ธโƒฃ [@lvermeulen]: Sort subcommands by name in help text. This can be disabled with `DefaultHelpTextGenerator.SortCommandsByName`.
    
    
    
    ๐Ÿ› Bugs fixed:
    
    * Duplicate subcommand names used to cause undefined behavior. Now, attempting to add a duplicate subcommand name or aliases will
      cause the library to throw before the app can execute.
    * ๐Ÿ›  Fix bug in subcommand name inference. When not specified, the subcommand always matched the entry assembly name.
      In this update, this convention only applies to the parent command.
    * ๐Ÿ›  Fix [#131](https://github.com/natemcmaster/CommandLineUtils/issues/131) - Add generic overloads of `.IsRequired()` for
     `CommandOption<T>` and `CommandArgument<T>`.
    
    Details:
    
    * **Clustering options:** I've added this behavior as the new default, but only if I think it won't interfere with existing apps.
      If it causes issues or you don't like clustering, you can disable this by setting
      `CommandLineApplication.ClusterOptions = false`.
      To preserve compatibility with existing apps, this behavior is off if you have configured options with short names with
      multiple characters. In a future version, this will cause an error unless you set `ClusterOptions = false`.
    
    * **Pager:** this is the new default for showing help text. The pager should have graceful fallback to regular stdout
      when there are issues launching `less`, or when stdout is redirected into a pipe.