Version 10.0.0
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.