All Versions
39
Latest Version
3.5
Avg Release Cycle
54 days
Latest Release
-

Changelog History
Page 2

  • v3.2.4 Changes

    • ๐Ÿ›  Fixed an issue where PipeTarget.ToDelegate(...), as well as execution models that depend on it (i.e. observable and async streams), didn't treat standalone \r character as a valid linebreak. (Thanks @koryphaee)
  • v3.2.3 Changes

    • ๐Ÿ›  Fixed an issue where Command.ExecuteAsync(...) sometimes threw InvalidOperationException indicating that the process has already exited. This problem only happened on Linux and macOS when the process exited too quickly.
    • ๐Ÿ‘Œ Improved performance and memory usage in async event stream execution model.
  • v3.2.2 Changes

    • ๐Ÿ›  Fixed an issue where Command.ExecuteAsync(...) sometimes returned before the process actually exited, in case cancellation was requested. Now, this method only returns when the process has fully terminated or if the termination has failed for whatever reason.
    • ๐Ÿ›  Fixed an issue where specifying password without also specifying domain resulted in the password being incorrectly ignored.
  • v3.2.1 Changes

    • ๐Ÿ‘Œ Improved performance and memory usage in all execution models. (Thanks @Maarten Balliauw and @Miha Zupan)
    • โž• Added optimization for PipeTarget.Merge(...) that flattens inner targets in case they also represent merged targets.
    • โž• Added CommandTask.ConfigureAwait(...) as a shorthand for CommandTask.Task.ConfigureAwait(...).
  • v3.2 Changes

    • โž• Added support for specifying user credentials when you want to run a command as a different user. This can be done by calling cmd.WithCredentials(...). Domain and password options are only supported on Windows, while username can be set on any operating system. (Thanks @Michi)
  • v3.1.1 Changes

    • ๐Ÿ›  Fixed an issue where PipeTarget.Merge(...) worked incorrectly when processing large stdout written in a single operation (more than 81920 bytes at a time). (Thanks @Tom Paลพourek)
    • Replaced [DebuggerDisplay] attribute with an implementation of ToString() on types deriving from CommandEvent. Calling commandEvent.ToString() now yields an informative string that can be useful in debugging. This change shouldn't have any unwanted side-effects.
  • v3.1 Changes

    • โž• Added an option to disable automatic argument escaping to cmd.WithArguments(string[]) as well as builder.Add(...). You can use it to escape the arguments yourself if the application requires it.
    • โž• Added an option to enable or disable auto-flushing for PipeTarget.ToStream(...) and PipeSource.FromStream(...). If enabled, data will be copied as soon as it's available instead of waiting for the buffer to fill up. This is enabled by default, which is different from the previous behavior, although this change is not breaking for most scenarios.
    • ๐Ÿ›  Fixed an issue where command execution threw an exception if the wrapped application didn't read stdin completely. The exception is now caught and ignored as it's not really an exceptional situation if the stdin contains excess data which is discarded by the wrapped application.
    • ๐Ÿ›  Fixed an issue where command execution waited for piped stdin to resolve next bytes, even if the wrapped application didn't try to read them. This avoids unnecessary delay (which can be infinite if the stream never resolves) when the wrapped application doesn't need the rest of the stdin to complete execution.
    • ๐Ÿ›  Fixed an issue where PipeTarget.Merge(...) worked incorrectly when used with PipeTarget.ToDelegate(...), causing the latter to yield lines even where there were no line breaks.
  • v3.0.3 Changes

    • โž• Added error handling for when the internal call to Process.Start() returns false. This will now throw a more descriptive exception than it did previously.
  • v3.0.2 Changes

    April 28, 2020
    • ๐Ÿ›  Fixed an issue where piping stdin to an executable that also writes stdout caused a deadlock when the stdout was beyond a certain size.
  • v3.0.1 Changes

    April 26, 2020
    • ๐ŸŽ Slightly improved performance by using TaskCreationOptions.RunContinuationsAsynchronously where appropriate. (Thanks @Georg Jung)
    • โž• Added DebuggerDisplay attribute to derivatives of CommandEvent to aid in debugging. (Thanks @Zoltรกn Lehรณczky)