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.