All Versions
Latest Version
Avg Release Cycle
54 days
Latest Release

Changelog History
Page 2

  • v3.0

    February 27, 2020
    • Complete rework of the library.
    • โž• Added extensive support for piping.
    • Multitude of improvements and breaking changes.

    โšก๏ธ Refer to the migration guide to see how you can update your old code to work with CliWrap v3.0.

    ๐Ÿ‘€ Check out the new readme to see the whole list of new features.

  • v2.5

    October 30, 2019
    • โž• Added callbacks that trigger when stdout/stderr streams are closed. (Thanks @Daniel15)
    • โž• Added an overload for SetCancellationToken that accepts killEntireProcessTree. Passing true to this option will make CliWrap attempt to kill the entire process tree when cancellation is requested, as opposed to only the parent process. Note, this option is only available on .NET Framework 4.5+ and .NET Core 3.0+. (Thanks @M-Patrone)
    • โœ‚ Removed ReSharper annotations.
  • v2.4

    October 03, 2019
    • โž• Added ProcessId property to Cli. You can use it to get the ID of the underlying process as soon as it's started.
  • v2.3.1

    July 10, 2019
    • ๐Ÿ›  Fixed an issue where Execute and ExecuteAsync didn't return immediately after the execution was canceled.
    • ๐Ÿ›  Fixed an issue where setting the same environment variable twice resulted in an error.
    • ๐Ÿ‘Œ Improved exception message in ExitCodeValidationException and StandardErrorValidationException.
  • v2.3

    May 28, 2019
    • โž• Added an overload for SetArguments that takes a list. You can pass multiple arguments and they will be automatically encoded to preserve whitespace and other special characters.
    • ๐Ÿ›  Fixed some typos in documentation.
  • v2.2.2

    May 10, 2019
    • ๐Ÿ›  Fixed an issue where ExecuteAndForget was throwing an exception if the underlying process outlived the execution of the method.
  • v2.2.1

    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

    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

    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

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