Releases: alastairlundy/CliInvoke
Releases · alastairlundy/CliInvoke
1.0.0
Changes since 1.0.0 RC 2
🚀 Features
- Add DocFx documentation @alastairlundy (#17)
Other changes
- Corrected xml doc comment issues
1.0.0 RC 2
Changes since 1.0.0 RC 1
- Renamed
ProcessCreator
andIProcessCreator
toCommandProcessFactory
andICommandProcessFactory
respectively - Updated ProcessExtensions requirement from 1.2.0 to 1.2.1
- Improved ArgumentsBuilder handling of IFormattable
1.0.0 RC 1
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
andCliCommand
intoCliCommandConfiguration
. - Renamed
ICliCommandBuilder
toICliCommandConfigurationBuilder
- Renamed
CliCommandBuilder
toCliCommandConfigurationBuilder
- Renamed
CliCommandRunner
toCliCommandInvoker
- Renamed
ICliCommandRunner
toICliCommandInvoker
- Renamed
CommandNotSuccessfulException
toCliCommandNotSuccessfulException
- Renamed
ProcessCreator
andIProcessCreator
toProcessFactory
andIProcessFactory
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
Changes
- Renamed
Command
toCliCommand
- Renamed
CommandBuilder
toCliCommandBuilder
- Renamed
ICommandBuider
toICliCommandBuilder
- Renamed
ICommandConfiguration
toICliCommandConfiguration
1.0.0 Beta 2
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
1.0.0 Beta 1
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 toSetResourcePolicy
- 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
andFilePathResolver
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
Changes since 1.0.0 Alpha 3
Breaking Changes
- Renamed
CommandResult
toProcessResult
- Renamed
BufferedCommandResult
toBufferedProcessResult
- Renamed
CommandResultValidation
toProcessResultValidation
- Removed
ICommandPipeHandler
andCommandPipeHandler
- Removed
ToCommandResult
extension methods
Non-Breaking Changes
- Updated CollectionsExtensions from 6.0.0 Alpha 2 to 6.0.0 RC 1
- Added
IProcessPipeHandler
andProcessPipeHandler
- This is mainly meant to be used by CommandRunner - Added
IPipedProcessRunner
andPipedProcessRunner
- This is mainly meant to be used by CommandRunner - Added
IProcessRunner
andProcessRunner
- Closing #9 - Added
IProcessRunnerUtility
andProcessRunnerUtility
- Updated
CommandRunner
to useIProcessPipeHandler
andIPipedProcessRunner
- Updated Dependency Injection Extensions
1.0.0 Alpha 3
Changes since 1.0.0 Alpha 2
Breaking Changes
- Replaced
ProcessorAffinity
property and usage withinCommand
,ICommandConfiguration
,ICommandBuilder
, andCommandBuilder
withProcessResourcePolicy
- Renamed
WithCredentials
method inCommandBuilder
andICommandBuilder
toWithCredential
- Moved Process Extensions to a new namespace
- Renamed
ArgumentsBuilder
'sBuild
method toToString
Non-Breaking Changes
- Added
ProcessResourcePolicy
model class - Added
ProcessResourcePolicyBuilder
andIProcessResourcePolicyBuilder
to fluently buildProcessResourcePolicy
instances. - Added
UserCredentialBuilder
andIUserCredentialBuilder
for fluently buildingUserCredential
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
Changes since 1.0.0 Alpha 1
Breaking Changes
- Moved
ICommandBuilder
to theCliRunner.Builders.Abstractions
namespace (and corresponding folder) fromCliRunner.Abstractions
namespace. - Renamed
ICommandBuilder
andCommandBuilder
WithCredentials
builder method toWithCredential
- Renamed
Credentials
property name toCredential
in relevant classes - Changed
ArgumentsBuilder
methods to returnIArgumentsBuilder
instead ofArgumentsBuilder
- Changed
EnvironmentVariablesBuilder
methods to returnIEnvironmentVariablesBuilder
instead ofEnvironmentVariablesBuilder
- Removed
WithArgumentValidation
method fromArgumentsBuilder
- Argument Validation must now be set when instantiating theArgumentsBuilder
. - Renamed
Escape
staticArgumentsBuilder
method toEscapeSpecialChars
- Removed builder interfaces from dependency injection extension method since it's setup is unnecessary.
Non-breaking Changes
- Added
IArgumentsBuilder
interface thatArgumentsBuilder
now inherits from - No new methods have been added toArgumentsBuilder
. - Added
IEnvironmentVariablesBuilder
interface thatEnvironmentVariablesBuilder
now inherits from - No new methods have been added toEnvironmentVariablesBuilder
- Simplified OS Polyfill usage code
- Added
AddUserCredential
ProcessStartInfo and Process extension methods - This is now used withinProcessCreator
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 byProcessCreator
ifLoadUserProfile
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
Changes since 0.12.0
Breaking Changes
- Renamed
CredentialsBuilder
toUserCredentialBuilder
- Moved Process Creation code out of
CommandRunner
andICommandRunner
to a new class and interface respectively (ProcessCreator
andIProcessCreator
) - Renamed
CommandBuilder
'sToCommand
method toBuild
- Renamed
CommandBuilder
'sToConfiguration
method toBuildConfiguration
Non-Breaking Changes
- Added missing xml doc comments
- Made
BufferedCommandResult
implementIEquatable<T>
- Tweaked
UserCredentialBuilder
to internally useUserCredential
model rather than separated components ofUserCredential
- 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 ifUseShellExecution
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