Skip to content

Commit c722891

Browse files
committed
Updated release notes
1 parent d6f1b0c commit c722891

2 files changed

Lines changed: 111 additions & 34 deletions

File tree

CHANGELOG.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,54 @@
11
Release Notes
22
====
33

4+
# 03-09-2026
5+
.NEXT 6.0.0 has been released! Migration guide is [here](https://dotnet.github.io/dotNext/migration/4.html). All changes are mostly driven by [Extension Members](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-14#extension-members) feature in C# 14. Most of the things in .NEXT now expressed naturally as extensions for existing .NET classes.
6+
7+
<a href="https://www.nuget.org/packages/dotnext/6.0.0">DotNext 6.0.0</a>
8+
* Introduced convenient operators to work with spans: `>>>` for safe copying and `%` for trimming
9+
* `BufferWriterSlim<T>` now implements [IBufferWriter&lt;T&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.buffers.ibufferwriter-1) interface which allows to use it in generic scenarios
10+
* Greatly improved performance of bit vector conversion methods exposed by `Number` class
11+
* Removed memory allocation caused by `Bind` extension methods
12+
* Added convenient static extension methods to [Stream](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream) class
13+
* Improved AOT compatibility
14+
* Introduced `Variant` type that represents the functionality similar to [TypedReference](https://learn.microsoft.com/en-us/dotnet/api/system.typedreference) but without related compiler restrictions
15+
* Added **allows ref struct** anti-constraint to many parts of the library
16+
* Improved performance of `ConcurrentTypeMap` class
17+
* Built-in delegate types from .NET are extended with static extension methods
18+
* Added static extensions to [ArgumentOutOfRangeException](https://learn.microsoft.com/en-us/dotnet/api/system.argumentoutofrangeexception) class to cover more validation scenarios
19+
* Introduced `Enum<T>` to enable the power of the Generic Math when working with enums
20+
* All zero-alloc and encoding interpolation string handlers now in one place: `DotNext.Text` namespace
21+
* Added `+=` operator overloading to `SpanWriter<T>` and `BufferWriterSlim<T>` types
22+
* Added cancellation token support to [Lock](https://learn.microsoft.com/en-us/dotnet/api/system.threading.lock) and [Thread](https://learn.microsoft.com/en-us/dotnet/api/system.threading.thread) classes
23+
24+
<a href="https://www.nuget.org/packages/dotnext.metaprogramming/6.0.0">DotNext.Metaprogramming 6.0.0</a>
25+
* Expression nodes can be combined with built-in operators: `+`, `-`, `/`, etc.
26+
27+
<a href="https://www.nuget.org/packages/dotnext.unsafe/6.0.0">DotNext.Unsafe 6.0.0</a>
28+
* `OpaqueValue<T>` type is introduced to unify the way of passing value types and reference types to unmanaged code. It's especially useful for passing .NET data types to the unmanaged callbacks implemented in C#
29+
* Added static extension properties to `MemoryAllocator<T>` delegate to expose unmanaged memory allocators
30+
31+
<a href="https://www.nuget.org/packages/dotnext.threading/6.0.0">DotNext.Threading 6.0.0</a>
32+
* `CancellationTokenMultiplexer` has improved CTS pooling mechanism
33+
* Introduced fast bounded object pool
34+
* Significantly reduced contention overhead in async locks
35+
36+
<a href="https://www.nuget.org/packages/dotnext.io/6.0.0">DotNext.IO 6.0.0</a>
37+
* Added static extension methods to [Stream](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream) class
38+
* Improved integration between `IJsonSerializable<T>` interface and JSON serialization infrastructure in .NET
39+
40+
<a href="https://www.nuget.org/packages/dotnext.net.cluster/6.0.0">DotNext.Net.Cluster 6.0.0</a>
41+
* Old WAL implementation represented by `MemoryBasedStateMachine` and `DiskBasedStateMachine` classes is completely removed in favor of `WriteAheadLog` class
42+
* Improved performance of the log entry serialization
43+
* Improved AOT compatibility
44+
45+
<a href="https://www.nuget.org/packages/dotnext.aspnetcore.cluster/6.0.0">DotNext.AspNetCore.Cluster 6.0.0</a>
46+
* Improved AOT compatibility
47+
48+
<a href="https://www.nuget.org/packages/dotnext.maintenanceservices/1.0.0">DotNext.MaintenanceServices 1.0.0</a>
49+
* Upgrade to `System.CommandLine` stable release
50+
* Stabilized public API surface
51+
452
# 02-10-2026
553
<a href="https://www.nuget.org/packages/dotnext.io/5.26.3">DotNext.IO 5.26.3</a>
654
* Fixed incorrect position adjustment in `PoolingBufferedStream` class if internal buffer is not empty and flush is called
@@ -74,7 +122,7 @@ Release Notes
74122
* Updated dependencies
75123

76124
<a href="https://www.nuget.org/packages/dotnext.threading/5.26.0">DotNext.Threading 5.26.0</a>
77-
* Improved support of timeouts in `CancellationTokenMultiplexer`. The scope object now has explicit property to detect whether the multiplexed token source is cancelled due to timeout
125+
* Improved support of timeouts in `CancellationTokenMultiplexer`. The scope object now has explicit property to detect whether the multiplexed token source is canceled due to timeout
78126

79127
<a href="https://www.nuget.org/packages/dotnext.io/5.26.0">DotNext.IO 5.26.0</a>
80128
* Migration to `ModernStream` class

README.md

Lines changed: 62 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,20 @@
66
[![CodeQL](https://github.com/dotnet/dotNext/workflows/CodeQL/badge.svg)](https://github.com/dotnet/dotNext/actions?query=workflow%3ACodeQL)
77
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/dotnet/dotNext)
88

9-
.NEXT (dotNext) is a set of powerful libraries aimed to improve development productivity and extend .NET API with unique features. Some of these features are planned in future releases of .NET platform but already implemented in the library:
10-
11-
| Proposal | Implementation |
12-
| ---- | ---- |
13-
| [Interop between function pointer and delegate](https://github.com/dotnet/csharplang/discussions/3680) | [DelegateHelpers](https://dotnet.github.io/dotNext/api/DotNext.DelegateHelpers.html) factory methods |
14-
| [Check if an instance of T is default(T)](https://github.com/dotnet/corefx/issues/16209) | [IsDefault() method](https://dotnet.github.io/dotNext/api/DotNext.Runtime.Intrinsics.html) |
15-
| [Expression Trees covering additional language constructs](https://github.com/dotnet/csharplang/issues/158), e.g. `foreach`, `await`, patterns, multi-line lambda expressions | [Metaprogramming](https://dotnet.github.io/dotNext/features/metaprogramming/index.html) |
16-
| [Async Locks](https://github.com/dotnet/corefx/issues/34073) | [Documentation](https://dotnet.github.io/dotNext/features/threading/index.html) |
17-
| [High-performance general purpose Write-Ahead Log](https://github.com/dotnet/corefx/issues/25034) | [Persistent Log](https://dotnet.github.io/dotNext/features/cluster/wal.html) |
18-
| [Memory-mapped file as Memory&lt;byte&gt;](https://github.com/dotnet/runtime/issues/37227) | [MemoryMappedFileExtensions](https://dotnet.github.io/dotNext/features/io/mmfile.html) |
19-
| [Memory-mapped file as ReadOnlySequence&lt;byte&gt;](https://github.com/dotnet/runtime/issues/24805) | [ReadOnlySequenceAccessor](https://dotnet.github.io/dotNext/api/DotNext.IO.MemoryMappedFiles.ReadOnlySequenceAccessor.html) |
20-
| [A dictionary where the keys are represented by generic arguments](https://github.com/dotnet/runtime/issues/59718) | [Documentation](https://dotnet.github.io/dotNext/features/core/typem.html) |
21-
| [Process asynchronous tasks as they complete](https://github.com/dotnet/runtime/issues/61959) | [Documentation](https://dotnet.github.io/dotNext/features/threading/taskpipe.html) |
22-
| [Soft References](https://github.com/dotnet/runtime/issues/63113) | [Documentation](https://dotnet.github.io/dotNext/features/core/softref.html) |
23-
24-
Quick overview of additional features:
25-
26-
* [Attachment of user data to an arbitrary objects](https://dotnet.github.io/dotNext/features/core/userdata.html)
27-
* Extended set of [atomic operations](https://dotnet.github.io/dotNext/features/core/atomic.html)
28-
* Fast conversion of bytes to hexadecimal representation and vice versa with [Hex](https://dotnet.github.io/dotNext/api/DotNext.Buffers.Text.Hex.html) class
29-
* `ManualResetEvent`, `ReaderWriterLockSlim` and other synchronization primitives now have their [asynchronous versions](https://dotnet.github.io/dotNext/features/threading/rwlock.html)
30-
* [Atomic](https://dotnet.github.io/dotNext/features/core/atomic.html) memory access operations for arbitrary value types
31-
* [PipeExtensions](https://dotnet.github.io/dotNext/api/DotNext.IO.Pipelines.PipeExtensions.html) provides high-level I/O operations for pipelines such as string encoding and decoding
32-
* A rich set of high-performance [memory buffers](https://dotnet.github.io/dotNext/features/io/buffers.html) for efficient I/O
33-
* String formatting, encoding and decoding with low GC pressure: [dynamic char buffers](https://dotnet.github.io/dotNext/features/io/buffers.html#char-buffer)
34-
* Fully-featured [Raft implementation](https://github.com/dotnet/dotNext/tree/master/src/cluster#raft)
35-
* Fully-featured [HyParView implementation](https://github.com/dotnet/dotNext/tree/master/src/cluster#hyparview)
9+
.NEXT (dotNext) is a set of powerful libraries designed for high-performance scenarios when your application expects near zero memory allocation and high flexibility. It is aimed to high-load microservices, database engines, actors, and various types of distributed applications. The feature list includes a rich set of efficient tools with low overhead:
10+
* [Buffer manipulations](https://dotnet.github.io/dotNext/features/io/buffers.html)
11+
* [String building](https://dotnet.github.io/dotNext/features/core/stringb.html)
12+
* Monadic types
13+
* Advanced [GC notifications](https://dotnet.github.io/dotNext/features/core/gcnotif.html)
14+
* Low-level API to work with memory: [alignment detection](https://dotnet.github.io/dotNext/features/core/intrinsics.html), type-safe unmanaged allocators, [Span&lt;T&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.span-1) manipulations
15+
* Base64 streaming [encoder/decoder](https://dotnet.github.io/dotNext/features/core/base64.html)
16+
* Async-friendly [SIEVE cache](https://dotnet.github.io/dotNext/features/cache/index.html)
17+
* [Async locks](https://dotnet.github.io/dotNext/features/threading/index.html)
18+
* Extended LINQ Expression Trees and dynamic code generation tools with async lambdas for [metaprogramming](https://dotnet.github.io/dotNext/features/metaprogramming/index.html)
19+
* [Raft Consensus Algorithm](https://dotnet.github.io/dotNext/features/cluster/raft.html) with extensions such as the failure detection
20+
* Fast general-purpose [Write Ahead Log](https://dotnet.github.io/dotNext/features/cluster/wal.html)
21+
* [TCP multiplexing](https://dotnet.github.io/dotNext/features/cluster/multiplex.html) protocol
22+
* [HyParView protocol](https://dotnet.github.io/dotNext/features/cluster/gossip.html) implementation
3623

3724
All these things are implemented in 100% managed code on top of existing .NET API.
3825

@@ -44,12 +31,54 @@ All these things are implemented in 100% managed code on top of existing .NET AP
4431
* [NuGet Packages](https://www.nuget.org/profiles/rvsakno)
4532

4633
# What's new
47-
Release Date: 01-14-2026
48-
49-
<a href="https://www.nuget.org/packages/dotnext.io/5.26.3">DotNext.IO 5.26.3</a>
50-
* Fixed incorrect position adjustment in `PoolingBufferedStream` class if internal buffer is not empty and flush is called
51-
52-
Changelog for previous versions located [here](./CHANGELOG.md).
34+
Release Date: 03-09-2026
35+
36+
.NEXT 6.0.0 has been released! Migration guide is [here](https://dotnet.github.io/dotNext/migration/4.html). All changes are mostly driven by [Extension Members](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-14#extension-members) feature in C# 14. Most of the things in .NEXT now expressed naturally as extensions for existing .NET classes.
37+
38+
<a href="https://www.nuget.org/packages/dotnext/6.0.0">DotNext 6.0.0</a>
39+
* Introduced convenient operators to work with spans: `>>>` for safe copying and `%` for trimming
40+
* `BufferWriterSlim<T>` now implements [IBufferWriter&lt;T&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.buffers.ibufferwriter-1) interface which allows to use it in generic scenarios
41+
* Greatly improved performance of bit vector conversion methods exposed by `Number` class
42+
* Removed memory allocation caused by `Bind` extension methods
43+
* Added convenient static extension methods to [Stream](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream) class
44+
* Improved AOT compatibility
45+
* Introduced `Variant` type that represents the functionality similar to [TypedReference](https://learn.microsoft.com/en-us/dotnet/api/system.typedreference) but without related compiler restrictions
46+
* Added **allows ref struct** anti-constraint to many parts of the library
47+
* Improved performance of `ConcurrentTypeMap` class
48+
* Built-in delegate types from .NET are extended with static extension methods
49+
* Added static extensions to [ArgumentOutOfRangeException](https://learn.microsoft.com/en-us/dotnet/api/system.argumentoutofrangeexception) class to cover more validation scenarios
50+
* Introduced `Enum<T>` to enable the power of the Generic Math when working with enums
51+
* All zero-alloc and encoding interpolation string handlers now in one place: `DotNext.Text` namespace
52+
* Added `+=` operator overloading to `SpanWriter<T>` and `BufferWriterSlim<T>` types
53+
* Added cancellation token support to [Lock](https://learn.microsoft.com/en-us/dotnet/api/system.threading.lock) and [Thread](https://learn.microsoft.com/en-us/dotnet/api/system.threading.thread) classes
54+
55+
<a href="https://www.nuget.org/packages/dotnext.metaprogramming/6.0.0">DotNext.Metaprogramming 6.0.0</a>
56+
* Expression nodes can be combined with built-in operators: `+`, `-`, `/`, etc.
57+
58+
<a href="https://www.nuget.org/packages/dotnext.unsafe/6.0.0">DotNext.Unsafe 6.0.0</a>
59+
* `OpaqueValue<T>` type is introduced to unify the way of passing value types and reference types to unmanaged code. It's especially useful for passing .NET data types to the unmanaged callbacks implemented in C#
60+
* Added static extension properties to `MemoryAllocator<T>` delegate to expose unmanaged memory allocators
61+
62+
<a href="https://www.nuget.org/packages/dotnext.threading/6.0.0">DotNext.Threading 6.0.0</a>
63+
* `CancellationTokenMultiplexer` has improved CTS pooling mechanism
64+
* Introduced fast bounded object pool
65+
* Significantly reduced contention overhead in async locks
66+
67+
<a href="https://www.nuget.org/packages/dotnext.io/5.26.0">DotNext.IO 5.26.0</a>
68+
* Added static extension methods to [Stream](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream) class
69+
* Improved integration between `IJsonSerializable<T>` interface and JSON serialization infrastructure in .NET
70+
71+
<a href="https://www.nuget.org/packages/dotnext.net.cluster/6.0.0">DotNext.Net.Cluster 6.0.0</a>
72+
* Old WAL implementation represented by `MemoryBasedStateMachine` and `DiskBasedStateMachine` classes is completely removed in favor of `WriteAheadLog` class
73+
* Improved performance of the log entry serialization
74+
* Improved AOT compatibility
75+
76+
<a href="https://www.nuget.org/packages/dotnext.aspnetcore.cluster/6.0.0">DotNext.AspNetCore.Cluster 6.0.0</a>
77+
* Improved AOT compatibility
78+
79+
<a href="https://www.nuget.org/packages/dotnext.maintenanceservices/1.0.0">DotNext.MaintenanceServices 1.0.0</a>
80+
* Upgrade to `System.CommandLine` stable release
81+
* Stabilized public API surface
5382

5483
# Release & Support Policy
5584
The libraries are versioned according to [Semantic Versioning 2.0](https://semver.org/).

0 commit comments

Comments
 (0)