Quick Links
May 7, 2026 ยท View on GitHub
.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:
- Buffer manipulations
- String building
- Monadic types
- Advanced GC notifications
- Low-level API to work with memory: alignment detection, type-safe unmanaged allocators, Span<T> manipulations
- Base64 streaming encoder/decoder
- Async-friendly SIEVE cache
- Async locks
- Extended LINQ Expression Trees and dynamic code generation tools with async lambdas for metaprogramming
- Raft Consensus Algorithm with extensions such as the failure detection
- Fast general-purpose Write Ahead Log
- TCP multiplexing protocol
- HyParView protocol implementation
All these things are implemented in 100% managed code on top of existing .NET API.
Quick Links
What's new
Release Date: 05-07-2026
This release contains major update of Raft implementation: leader can move forward to the next heartbeat round when the majority committed the log entry. Before 6.2.0, leader was able to commit the log entry when the majority confirmed the replication, however, for the next heartbeat round it had to wait all cluster members. The overall latency was impacted. Now, slow cluster member cannot impact the latency. The core of the replication is significantly modified to achieve this behavior:
- WAL binary format remains the same, so you can migrate existing data in the log smoothly
- Cluster configuration storage format is changed. It's not backward compatible
- Wire protocol for communication between cluster nodes is changed. It's not backward compatible
- Added
T.ZeroBytesstatic extension property which returns zero bytes for particular numeric type
- Updated dependencies
- Updated dependencies
- Increased chance of object reusability when it's rented from and returned to
BoundedObjectPool<T> - Added
CancellationToken.Combinestatic extension method which allows to combine multiple cancellation tokens withoutCancellationTokenMultiplexerinstance - Fixed documentation for SIEVE cache: 283
- Updated dependencies
- Major performance improvement: leader advances forward to the next heartbeat round when the majority is committed the log entry, without waiting for the rest of nodes
- Major performance improvement: AppendEntries RPC message doesn't carry cluster configuration data anymore, which reduces the network overhead
- Introduced different types of read barriers in Raft
- Cluster configuration system is now tightly integrated with WAL and replication mechanism
IRaftCluster.ReplicateAsyncmethod return type is changed fromValueTask<bool>toValueTaskfor simplicity- Smallish perf improvements of
WriteAheadLogclass
DotNext.AspNetCore.Cluster 6.2.0
- Updated dependencies
DotNext.MaintenanceServices 1.2.0
- Updated dependencies
Release & Support Policy
The libraries are versioned according to Semantic Versioning 2.0.
| Version | .NET compatibility | Support Level |
|---|---|---|
| 0.x | .NET Standard 2.0 | :x: |
| 1.x | .NET Standard 2.0 | :x: |
| 2.x | .NET Standard 2.1 | :x: |
| 3.x | .NET Standard 2.1, .NET 5 | :x: |
| 4.x | .NET 6 | :x: |
| 5.x | .NET 8 | :white_check_mark: |
| 6.x | .NET 10 | :heavy_check_mark: |
:x: - unsupported, :white_check_mark: - bug and security fixes only, :heavy_check_mark: - active development
Development Process
Philosophy of development process:
- All libraries in .NEXT family are available for various .NET form factors: Mono, WASM, NativeAOT
- Minimal set of dependencies
- Provide high-quality documentation
- Stay cross-platform
- Provide benchmarks
Users
.NEXT is used by several companies in their projects:
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the .NET Foundation Code of Conduct. For more information see the Code of Conduct FAQ or contact conduct@dotnetfoundation.org with any additional questions or comments.