You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+49-1Lines changed: 49 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,54 @@
1
1
Release Notes
2
2
====
3
3
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.
* Introduced convenient operators to work with spans: `>>>` for safe copying and `%` for trimming
9
+
*`BufferWriterSlim<T>` now implements [IBufferWriter<T>](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
*`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
* 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
* 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
.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)|
|[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<byte>](https://github.com/dotnet/runtime/issues/37227)|[MemoryMappedFileExtensions](https://dotnet.github.io/dotNext/features/io/mmfile.html)|
19
-
|[Memory-mapped file as ReadOnlySequence<byte>](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)|
*[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)
.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:
* Low-level API to work with memory: [alignment detection](https://dotnet.github.io/dotNext/features/core/intrinsics.html), type-safe unmanaged allocators, [Span<T>](https://learn.microsoft.com/en-us/dotnet/api/system.span-1) manipulations
* 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)
* 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.
* Introduced convenient operators to work with spans: `>>>` for safe copying and `%` for trimming
40
+
*`BufferWriterSlim<T>` now implements [IBufferWriter<T>](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
*`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
* 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
0 commit comments