Skip to content

Version 10.0.0

Latest
Compare
Choose a tag to compare
@MrMatthewLayton MrMatthewLayton released this 16 Nov 00:16
· 0 commits to main since this release

ONIXLabs DotNET Library 10

We are excited to announce the release of ONIXLabs .NET Library version 10, now available on NuGet.

This release updates the library to use .NET 9.0 and utilizes new language features in C# 13.

All of the underlying NuGet dependencies have also been updated to the latest available versions, although this has zero impact on the libraries themselves as they are designed to be as lightweight as possible, and therefore dependency free. Notably, it's the test projects that require NuGet dependencies.

Core Updates

Collection initialiser functions now utilise params collections, so there is no longer a need to convert from an array to the desired type.

Breaking Changes

In a move towards immutable, safe code with fewer memory allocations, this release includes several breaking changes cascading from IBinaryConvertible. This interface no longer exposes a ToByteArray method. Instead, a new IMemoryBinaryConvertible interface exists which exposes an AsReadOnlyMemory method. Similarly, ISpanBinaryConvertible has been modified to align, so the method ToReadOnlySpan has been renamed to AsReadOnlySpan. IBinaryConvertible is now a composite of ISpanBinaryConvertible, and IMemoryBinaryConvertible.

Since the IBinaryConvertible and ISpanBinaryConvertible interfaces have changed, this has cascaded into several types in the OnixLabs.Core.Text, and OnixLabs.Security.Cryptography namespaces.

Obsolete APIs have also been removed in this release.