.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.
.NEXT provides Agent Skills 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 structuresdotnext-memory- allocation-free memory routines, buffer writers, memory pooling
To install:
Claude Code:
/plugin marketplace add dotnet/dotNext
/plugin install dotnext-skills@dotnextCodex:
codex plugin marketplace add dotnet/dotNext
codex plugin add dotnext-skills@dotnextAny agent supporting Agent Skills, via skills CLI:
npx skills add dotnet/dotNextAlternatively, copy the skill folders from 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.
Release Date: 10-26-2026
- Added
ApplicationLockclass that allows only one running instance of the application, based on the exclusively opened lock file Epochnow supports deferred release of unmanaged resources throughINativeResourceManagerinterface andRecycleBin.Defer(nuint)method, without extra allocations- Replaced
Epoch.UnsafeClearmethod with thread-safeTryClearandClearAsyncmethods Epoch.RecycleBinno longer allocates memory for the deferred actions- Added
Volatile.ReadandVolatile.Writestatic extension methods for pointer-to-pointer locations - Added
MemoryMarshal.AsReadOnlyBytesstatic extension method to represent a string as a span over bytes - Added
IEqualityComparer<ReadOnlySpan<byte>>.Defaultstatic extension property - Fixed memory leaks in
BufferWriterSlim<T>.DetachOrCopyBufferandBufferWriter<T>.DetachBuffermethods
DotNext.Metaprogramming 6.11.0
- Updated dependencies
- Introduced
Pointer<T>.IsStackAllocatedproperty
- Added
RandomAccessCache<TValue>, the unmanaged version of SIEVE-based cache with keys represented by bytes. Its entries are allocated in the native memory and reclaimed withEpoch - Added
AsyncParkingLotsynchronization primitive that represents a set of wait queues shared by many lightweight asynchronous locks RandomAccessCache<TKey, TValue>usesAsyncParkingLotinstead of per-bucket locks to reduce memory footprint. The concurrency level can be specified in the constructor- Fixed eviction state corruption in
RandomAccessCache<TKey, TValue> - Fixed lost promotion and race condition between the reader and the resize process in
RandomAccessCache<TKey, TValue> - Improved CPU cache locality of
RandomAccessCache<TKey, TValue> - Fixed 304
- Fixed potential race condition in
DiskSpacePoolthat could lead to returning the same segment twice - Removed
AppendAndCommitAsyncdefault method fromIAuditTrail<TEntry>interface
- Fixed 305
- Fixed 307
WriteAheadLognow produces checkpoint on every commit to ensure consistency.FlushIntervalandFlushOnCommitconfiguration properties are deprecated and have no effectWriteAheadLog.Options.Allocatorproperty returns default allocator if not specified explicitly
DotNext.AspNetCore.Cluster 6.11.0
- Fixed 305
DotNext.MaintenanceServices 1.11.0
CommandLineMaintenanceInterfaceHostnow supports custom Unix file mode for Unix Domain Socket pseudofile
Changelog for previous versions located here.
The libraries are versioned according to Semantic Versioning 2.0.
❌ - unsupported, ✅ - bug and security fixes only, ✔️ - active development
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
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.
