All Versions
Latest Version
Avg Release Cycle
54 days
Latest Release

Changelog History
Page 3

  • v2.2.1 Changes

    April 01, 2019
    • ExitCodeValidationException and StandardErrorValidationException now display both exit code and standard error inside the message. Useful when a process reported a non-zero exit code but the actual error message is in stderr.
    • โœ‚ Removed netcoreapp1.0 target.
  • v2.2 Changes

    December 20, 2018
    • โž• Added Cli.Wrap static method to replace new Cli() for a more fluent interface. This also makes it so you're dealing with ICli instead of Cli throughout the entire method chain.
    • 0๏ธโƒฃ Standard error validation is now disabled by default. This change was made because quite a few CLIs (e.g. git, ffmpeg) write progress to stderr.
    • ๐Ÿ”„ Changed Execute and ExecuteAsync to complete only after the process exits, regardless of cancellation. This fixes a problem where the underlying process could live for some brief moments after those methods returned, in case of cancellation.
    • If Execute or ExecuteAsync is canceled, the underlying process will now be killed without waiting for standard input to write completely.
    • ๐ŸŽ Reworked underlying process handling to improve performance and maintainability. The Execute and ExecuteAsync methods are now virtually the same in terms of code, unlike before, where they were considerably different.
  • v2.1 Changes

    October 14, 2018
    • โž• Added ExecutionResult to ExitCodeValidationException and StandardErrorValidationException. This way additional information can be inspected during debugging.
    • ExitCodeValidationException and StandardErrorValidationException are now derived from ExecutionResultValidationException.
    • ๐Ÿ‘Œ Improved cancellation handling in synchronous workflow.
    • Cancellation token is now used when writing stdin in asynchronous workflow.
  • v2.0.1 Changes

    September 17, 2018
    • Methods that used to return an instance of Cli now return ICli where applicable.
  • v2.0 Changes

    • โšก๏ธ Re-designed the API so that it follows the builder pattern. Execution parameters are now supplied using chainable methods on the Cli instead of via ExecutionInput. Things like BufferHandler and CancellationToken are now also configured in the same manner. Refer to the readme to see updated usage examples.
    • It is now also possible to pipe a raw stream to standard input, instead of just a text string.
    • โœ‚ Removed ExecutionInput, CliSettings, BufferHandler, EncodingSettings.
    • ๐Ÿ“‡ Renamed ExecutionOutput to ExecutionResult.
    • โœ‚ Removed ExecutionResult.HasError and ExecutionResult.ThrowIfError().
    • โž• Added an option to automatically throw an exception when the underlying process reports a non-zero exit code. Is enabled by default.
    • โž• Added an option to automatically throw an exception when the underlying process writes anything to standard error. Is enabled by default.
  • v1.8.5 Changes

    • ๐Ÿ›  Fixed exception messages not appearing in Visual Studio's exception popup.
  • v1.8.4 Changes

    • StandardErrorException now shows the value of StandardError in Message.
  • v1.8.3 Changes

    • โž• Added ICli to aid in testing.
  • v1.8.2 Changes

    • Made input model classes more accessible by removing immutability.
    • ๐Ÿ‘ป Cli now throws exception if used after getting disposed.
  • v1.8.1 Changes

    • ๐Ÿ›  Fixed another process leak when canceling synchronous Execute.