Releases: draconware-dev/SpanExtensions.Net
v1.5.1
Version 1.5.1 is out to fix incorrect ranges being returned by some custom MemoryExtensions.Split methods.
The custom MemoryExtensions has also been moved from System
to SpanExtensions
.
Issues fixed:
- #25 by @laicasaane
Full Changelog: https://github.com/draconware-dev/SpanExtensions.Net/blob/main/Changelog.md
v1.5
Version 1.5 is out with many adjustments made to integrate as flawlessly as possible with .Net 9.
Due to the introduction of variable-length Split methods in .Net 9, our custom Split methods have been replaced as the default by the new versions.
This applies to all .Net versions as for versions prior to .Net 9 a custom implementation approximating the behaviour of the new methods has been provided by this package to ensure a smooth transition.
This decision helps maintain compatibility across .Net versions.
The old Split implementations are however still available as static methods on the ReadOnlySpanExtensions
and SpanExtensions
classes for ReadOnlySpan<T>
and Span<T>
respectively.
They provide a richer set of features with overloads for taking a number of splits and specifiyng a behaviour for when that count is reached.
Uprading Guide:
If you're upgrading from a version earlier than 1.5, beware that in order to access the old implementations you've been using an explicit reference to the class is needed.
So
span.Split('.');
becomes
ReadOnlySpanExtensions.Split(span, '.');
Span.Split() refers to the new built-in implementations for which a compatibility layer will be provided for versions before .Net 9 so that their use in your codebase can be facilitated across versions.
The ReadOnlyspanExtensions methods are supported in this version, but will be deprecated as soon as the .Net 9 versions catch up in features.
Full Changelog: https://github.com/draconware-dev/SpanExtensions.Net/blob/main/Changelog.md
v1.4.2
Many (Readonly-)Span.Count(...) overloads matching these introduced in .Net 8 have been added to all versions before .Net 8.
Additionally, compilation on .Net 9 has been blocked temporarily due to known incompatibilities.
Full Changelog: https://github.com/draconware-dev/SpanExtensions.Net/blob/main/Changelog.md
v1.4.1
Due to an issue in Version 1.4 there exists a collision between the Span<T>.Replace
method provided by SpanExtensions and the one newly provided by .Net 8.
To circumvent an error, we have decided to exclude Span<T>.Replace
from any .Net Version beyond .Net 7 moving forward to allow the built-in method to take precedence.
It is still included for any target below version .Net 8 though to ensure backwards-compatibility.
Full Changelog: https://github.com/draconware-dev/SpanExtensions.Net/blob/main/Changelog.md
v1.4.0
Version 1.4 is out with a strong focus on stability.
There are only minimal new additions like finstance the Linq Count
method for Span.
The update contais a whole lot of bugfixes and minor performance improvements.
Therefore an extensive test-suite and reference benchmarks have been added and a lot of other maintenance related work went into this update to guarantee a high level of stability, performance and security as well as to facilitate and speed up the developement of future updates.
Thanks to everyone who made this possible.
Contributions
Full Changelog: https://github.com/draconware-dev/SpanExtensions.Net/blob/main/Changelog.md
v1.3.0
Version 1.3 is out with as many new features as never before.
Thanks to everyone who made this possible.
Contributions
Full Changelog: https://github.com/draconware-dev/SpanExtensions.Net/blob/main/Changelog.md