Skip to content

Releases: alastairlundy/CliInvoke

1.0.0

02 Mar 19:24
Compare
Choose a tag to compare

Changes since 1.0.0 RC 2

🚀 Features

Other changes

  • Corrected xml doc comment issues

1.0.0 RC 2

02 Mar 15:15
Compare
Choose a tag to compare
1.0.0 RC 2 Pre-release
Pre-release

Changes since 1.0.0 RC 1

  • Renamed ProcessCreator and IProcessCreator to CommandProcessFactory and ICommandProcessFactory respectively
  • Updated ProcessExtensions requirement from 1.2.0 to 1.2.1
  • Improved ArgumentsBuilder handling of IFormattable

1.0.0 RC 1

27 Feb 16:17
Compare
Choose a tag to compare
1.0.0 RC 1 Pre-release
Pre-release

Changes since 1.0.0 Beta 3

  • Renamed library to CliInvoke to avoid confusion and affiliation with other projects named "CliRunner"
  • Adjusted namespaces to reflect library name change.
  • Merged ICommandConfiguration and CliCommand into CliCommandConfiguration.
  • Renamed ICliCommandBuilder to ICliCommandConfigurationBuilder
  • Renamed CliCommandBuilder to CliCommandConfigurationBuilder
  • Renamed CliCommandRunner to CliCommandInvoker
  • Renamed ICliCommandRunner to ICliCommandInvoker
  • Renamed CommandNotSuccessfulException to CliCommandNotSuccessfulException
  • Renamed ProcessCreator and IProcessCreator to ProcessFactory and IProcessFactory respectively.
  • Updated Polyfill requirement from 7.18.0 to 7.20.0
  • Updated ProcessExtensions requirement from 1.1.0 to 1.2.0

1.0.0 Beta 3

20 Feb 15:36
Compare
Choose a tag to compare
1.0.0 Beta 3 Pre-release
Pre-release

Changes

  • Renamed Command to CliCommand
  • Renamed CommandBuilder to CliCommandBuilder
  • Renamed ICommandBuider to ICliCommandBuilder
  • Renamed ICommandConfiguration to ICliCommandConfiguration

1.0.0 Beta 2

18 Feb 16:46
Compare
Choose a tag to compare
1.0.0 Beta 2 Pre-release
Pre-release

Changes since 1.0.0 Beta 1

Added

  • add description to DI extensions readme in 2a6872e
  • add Nuget info badges to DI extensions Readme in 6ae2490
  • add executableFilePath in 123c8d8
  • add localization and clean up process running in 03aadca
  • add xml doc comments in d00b0ad

Changed

  • Update Collection Extensions dependency from 6.0.0 RC 1 to 6.0.0
  • Add dependency on System Extensions 6.0.0
  • Update SPECIALIZATIONS_README.md in 37bd8c7
  • move file resolver path helpers in 7f2113f
  • Update CommandBuilder.cs in 915235f
  • cleanup code in e9f99a8
  • move extensions to SystemExtensions in af6e2c0

Removed

  • remove redundant SourceLink package reference in 775188c

Fixed

  • rework file path resolving logic in 37e18ee
  • fix DI extensions readme issue in 29aeb8a
  • fix build issue in 7cdff75

1.0.0 Beta 1

14 Feb 23:44
Compare
Choose a tag to compare
1.0.0 Beta 1 Pre-release
Pre-release

Changes since 1.0.0 Alpha 4

Final Breaking Changes before 1.0

  • Moved Dependency Injection extensions to a separate library.
  • Renamed UseResourcePolicy extension method to SetResourcePolicy
  • Changed Process Running classes to make use of ProcessResourcePolicy

Non-Breaking Changes

  • Added HasStarted() Process extension method
  • Added support for CliRunnert to resolve Target Files set to PATH variable file paths.
  • Added IFilePathResolver and FilePathResolver

Bug Fixes

  • Fixed a bug that would throw an exception due to setting ProcessResourcePolicy objects to Processes before they were started
  • Fixed a bug that would throw an exception due to Standard Input attempting to be redirected when nulll.
  • Fixed a bug where the default ProcessorAffinity for a ProcessResourcePolicy would be an invalid value.
  • Fixed a bug where ProcessPipeHandler would cause an exception

1.0.0 Alpha 4

13 Feb 21:06
Compare
Choose a tag to compare
1.0.0 Alpha 4 Pre-release
Pre-release

Changes since 1.0.0 Alpha 3

Breaking Changes

  • Renamed CommandResult to ProcessResult
  • Renamed BufferedCommandResult to BufferedProcessResult
  • Renamed CommandResultValidation to ProcessResultValidation
  • Removed ICommandPipeHandler and CommandPipeHandler
  • Removed ToCommandResult extension methods

Non-Breaking Changes

  • Updated CollectionsExtensions from 6.0.0 Alpha 2 to 6.0.0 RC 1
  • Added IProcessPipeHandler and ProcessPipeHandler - This is mainly meant to be used by CommandRunner
  • Added IPipedProcessRunner and PipedProcessRunner - This is mainly meant to be used by CommandRunner
  • Added IProcessRunner and ProcessRunner - Closing #9
  • Added IProcessRunnerUtility and ProcessRunnerUtility
  • Updated CommandRunner to use IProcessPipeHandler and IPipedProcessRunner
  • Updated Dependency Injection Extensions

1.0.0 Alpha 3

10 Feb 13:06
Compare
Choose a tag to compare
1.0.0 Alpha 3 Pre-release
Pre-release

Changes since 1.0.0 Alpha 2

Breaking Changes

  • Replaced ProcessorAffinity property and usage within Command, ICommandConfiguration, ICommandBuilder, and CommandBuilder with ProcessResourcePolicy
  • Renamed WithCredentials method in CommandBuilder and ICommandBuilder to WithCredential
  • Moved Process Extensions to a new namespace
  • Renamed ArgumentsBuilder's Build method to ToString

Non-Breaking Changes

  • Added ProcessResourcePolicy model class
  • Added ProcessResourcePolicyBuilder and IProcessResourcePolicyBuilder to fluently build ProcessResourcePolicy instances.
  • Added UserCredentialBuilder and IUserCredentialBuilder for fluently building UserCredential instances.

Bug Fixes

  • Fixed a potential issue where ArgumentsBuilder wouldn't check size of internal StringBuilder buffer before adding to it.
  • Fixed a bug where ArgumentsBuilder wouldn't add a space between arguments
  • Fixed a bug where ArgumentsBuilder would duplicate arguments to be added
  • Fixed a bug where ProcessCreator would allow null working directory path to be added to ProcessStartInfo
  • Fixed a bug where ProcessCreator would erroneously override whether to Redirect Standard Input, Standard Output, and Standard Error.

1.0.0 Alpha 2

09 Feb 15:09
Compare
Choose a tag to compare
1.0.0 Alpha 2 Pre-release
Pre-release

Changes since 1.0.0 Alpha 1

Breaking Changes

  • Moved ICommandBuilder to the CliRunner.Builders.Abstractions namespace (and corresponding folder) from CliRunner.Abstractions namespace.
  • Renamed ICommandBuilder and CommandBuilder WithCredentials builder method to WithCredential
  • Renamed Credentials property name to Credential in relevant classes
  • Changed ArgumentsBuilder methods to return IArgumentsBuilder instead of ArgumentsBuilder
  • Changed EnvironmentVariablesBuilder methods to return IEnvironmentVariablesBuilder instead of EnvironmentVariablesBuilder
  • Removed WithArgumentValidation method from ArgumentsBuilder - Argument Validation must now be set when instantiating the ArgumentsBuilder.
  • Renamed Escape static ArgumentsBuilder method to EscapeSpecialChars
  • Removed builder interfaces from dependency injection extension method since it's setup is unnecessary.

Non-breaking Changes

  • Added IArgumentsBuilder interface that ArgumentsBuilder now inherits from - No new methods have been added to ArgumentsBuilder.
  • Added IEnvironmentVariablesBuilder interface that EnvironmentVariablesBuilder now inherits from - No new methods have been added to EnvironmentVariablesBuilder
  • Simplified OS Polyfill usage code
  • Added AddUserCredential ProcessStartInfo and Process extension methods - This is now used within ProcessCreator to pass a UserCredential to the process start info if it is not null
  • Renamed parameters in ArgumentsBuilder regarding escaping special characters

Bug Fixes

  • Fixed an issue where a UserCredential wasn't loaded by ProcessCreator if LoadUserProfile was set to false.
  • Fixed an issue where Argument Validation logic wasn't passed as a parameter in returned new ArgumentsBuilder instances in builder methods.

1.0.0 Alpha 1

06 Feb 15:56
Compare
Choose a tag to compare
1.0.0 Alpha 1 Pre-release
Pre-release

Changes since 0.12.0

Breaking Changes

  • Renamed CredentialsBuilder to UserCredentialBuilder
  • Moved Process Creation code out of CommandRunner and ICommandRunner to a new class and interface respectively (ProcessCreator and IProcessCreator)
  • Renamed CommandBuilder's ToCommand method to Build
  • Renamed CommandBuilder's ToConfiguration method to BuildConfiguration

Non-Breaking Changes

  • Added missing xml doc comments
  • Made BufferedCommandResult implement IEquatable<T>
  • Tweaked UserCredentialBuilder to internally use UserCredential model rather than separated components of UserCredential
  • Improved robustness of Target File Path checks during Process creation
  • Added the ability for ArgumentsBuilder to use argument validation logic to determine whether to add arguments or not - This can be configured from the constructor and is optional
  • CommandBuilder now throws an exception if UseShellExecution is set to true AND Standard Input, Standard Output, or Standard Error are set to a non-null value.

Bug Fixes

  • Fixed Process not being disposed of properly by CommandRunner after Command execution