.NEXT
====
[](https://dev.azure.com/dotnet/dotNext/_build/latest?definitionId=1&branchName=master)
[](https://github.com/dotnet/dotNext/blob/master/LICENSE)

[](https://github.com/dotnet/dotNext/actions?query=workflow%3ACodeQL)
[](https://deepwiki.com/dotnet/dotNext)
.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](https://dotnet.github.io/dotNext/features/io/buffers.html)
* [String building](https://dotnet.github.io/dotNext/features/core/stringb.html)
* Monadic types
* Advanced [GC notifications](https://dotnet.github.io/dotNext/features/core/gcnotif.html)
* 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
* Base64 streaming [encoder/decoder](https://dotnet.github.io/dotNext/features/core/base64.html)
* Async-friendly [SIEVE cache](https://dotnet.github.io/dotNext/features/cache/index.html)
* [Async locks](https://dotnet.github.io/dotNext/features/threading/index.html)
* Extended LINQ Expression Trees and dynamic code generation tools with async lambdas for [metaprogramming](https://dotnet.github.io/dotNext/features/metaprogramming/index.html)
* [Raft Consensus Algorithm](https://dotnet.github.io/dotNext/features/cluster/raft.html) with extensions such as the failure detection
* Fast general-purpose [Write Ahead Log](https://dotnet.github.io/dotNext/features/cluster/wal.html)
* [TCP multiplexing](https://dotnet.github.io/dotNext/features/cluster/multiplex.html) protocol
* [HyParView protocol](https://dotnet.github.io/dotNext/features/cluster/gossip.html) implementation
All these things are implemented in 100% managed code on top of existing .NET API.
# Quick Links
* [Features](https://dotnet.github.io/dotNext/features/core/index.html)
* [API documentation](https://dotnet.github.io/dotNext/api/DotNext.html)
* [Benchmarks](https://dotnet.github.io/dotNext/benchmarks.html)
* [NuGet Packages](https://www.nuget.org/profiles/rvsakno)
# AI Agent Skills
.NEXT provides [Agent Skills](https://agentskills.io) that teach AI coding agents (Claude Code, Codex, GitHub Copilot, Cursor and others) how to use the libraries efficiently:
* `dotnext-core` - Optional and Result monads, timestamps, type maps, console app lifetime, etc.
* `dotnext-threading` - asynchronous programming, async locks, etc.
* `dotnext-concurrency` - concurrent data structures
* `dotnext-memory` - allocation-free memory routines, buffer writers, memory pooling
To install:
Claude Code:
```sh
/plugin marketplace add dotnet/dotNext
/plugin install dotnext-skills@dotnext
```
Codex:
```sh
codex plugin marketplace add dotnet/dotNext
codex plugin add dotnext-skills@dotnext
```
Any agent supporting Agent Skills, via [skills CLI](https://github.com/vercel-labs/skills):
```sh
npx skills add dotnet/dotNext
```
Alternatively, copy the skill folders from [ai/plugins/dotnext-skills/skills](ai/plugins/dotnext-skills/skills) to the skills directory of your agent, e.g. `.claude/skills/` for Claude Code, or `.agents/skills/` for Codex and GitHub Copilot.
# What's new
Release Date: 10-13-2026
A set of skills for AI agents has been released: skills explain how to use .NEXT libraries in a new project or migration scenarios.
<a href="https://www.nuget.org/packages/dotnext/6.10.0">DotNext 6.10.0</a>
* Added conversion from [TypedReference](https://learn.microsoft.com/en-us/dotnet/api/system.typedreference) to `Variant` data type
* Interpolation string handlers do not box enum values anymore
* `Optional<T>` and other monadic types don't box the underlying value on `ToString` call
* Fixed [303](https://github.com/dotnet/dotNext/issues/303)
* Added static extension method for on-stack string interpolation without converting the result to **string**. Instead, it can be consumed as [ReadOnlySpan<char>](https://learn.microsoft.com/en-us/dotnet/api/system.readonlyspan-1)
* Added [CompositeFormat](https://learn.microsoft.com/en-us/dotnet/api/system.text.compositeformat) interning: `IsInterned` or `Of` static extensions can return parsed template
<a href="https://www.nuget.org/packages/dotnext.metaprogramming/6.10.0">DotNext.Metaprogramming 6.10.0</a>
* Updated dependencies
<a href="https://www.nuget.org/packages/dotnext.unsafe/6.10.0">DotNext.Unsafe 6.10.0</a>
* Added `ExecutionStack` with extension properties and methods for execution stack inspection
<a href="https://www.nuget.org/packages/dotnext.threading/6.10.0">DotNext.Threading 6.10.0</a>
* `PersistentChannel` now uses system page size as default buffer size
* Improved performance of `CancellationTokenMultiplexer` class
<a href="https://www.nuget.org/packages/dotnext.io/6.10.0">DotNext.IO 6.10.0</a>
* `FileBufferingWriter` and `PoolingBufferedStream` now use system page size as default buffer size
* Introduced `ModernTextReader` and `ModernTextWriter` classes with all necessary overloads to implement text readers/writer
<a href="https://www.nuget.org/packages/dotnext.net.cluster/6.10.0">DotNext.Net.Cluster 6.10.0</a>
* Improved performance of `MessagingClient` and `MessageHandler` message dispatching
<a href="https://www.nuget.org/packages/dotnext.aspnetcore.cluster/6.10.0">DotNext.AspNetCore.Cluster 6.10.0</a>
* Updated dependencies
<a href="https://www.nuget.org/packages/dotnext.maintenanceservices/1.10.0">DotNext.MaintenanceServices 1.10.0</a>
* Updated dependencies
Changelog for previous versions located [here](./CHANGELOG.md).
# Release & Support Policy
The libraries are versioned according to [Semantic Versioning 2.0](https://semver.org/).
| 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:
1. All libraries in .NEXT family are available for various .NET form factors: Mono, WASM, NativeAOT
1. Minimal set of dependencies
1. Provide high-quality documentation
1. Stay cross-platform
1. Provide benchmarks
# 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](https://dotnetfoundation.org/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://www.contributor-covenant.org/faq/) or
contact [conduct@dotnetfoundation.org](mailto:conduct@dotnetfoundation.org) with any additional questions or comments.