Skip to content

v1.6.122

Latest
Compare
Choose a tag to compare
@ap0llo ap0llo released this 08 Jan 20:27

New Features

Bug Fixes

Build System and Dependency Changes

Breaking Changes

Details

Make ConfigurationBuilderExtensions.IsSupportedPropertyType() method public

Add ILogger implementation

Add SimpleConsoleLogger, an implementation of Microsoft.Extensions.Logging.ILogger that supports colored console output

Add .ToString() override to TemporaryDirectory

Add 'ComputeHash()' and 'ComputeHashString()' extension methods

Add 'StringExtensions.ComputeHash()' extension method that computes the hash of a string and 'StringExtensions.ComputeHashString()' that computes the hash and converts the value to a hex-encoded string.

Add support for arrays and enumerables to object configuration provider

Add support for IEnumerables and arrays of supported types to ConfigurationBuilderExtensions.AddObject().
Properties of collection types are mapped to multiple entries in the configuration system and will use the ":x" suffix as settings key.

For example, a property of type 'string[]' with two elements and a "ConfigurationValue" attribute specifying a key of "setting1" will be mapped to two configuration values: "setting1:0" and "setting1:1"

In TemporaryDirectory fix deletion of directory if it contains read-only files

Delete temporary directory when disposing TemporaryDirectory instances, even if the directory contains read-only files.

Allow TemporaryDirectory to be disposed multiple times

Drop support for .NET Core 2.x

Breaking Change: .NET Core 2.0 and .NET Core 2.1 are no longer supported. Projects targeting these projects might encounter conflicts between extensions methods provided by this library and extension methods provided by the .NET Core Base Class Library.

Remove build targets for .NET Core 2.0 and 2.1 and target .NET Core 3.1 instead.
Since the library still targets .NET Standard 2.0, too, it continues to be usable from .NET Core 2.x, however, there might be build errors because some extension methods exist in both this library as well as in the .NET Core 2 base class library.