.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:
|Interop between function pointer and delegate||DelegateHelpers factory methods|
|Check if an instance of T is default(T)||IsDefault() method|
Expression Trees covering additional language constructs, i.e.
|High-performance general purpose Write-Ahead Log||Persistent Log|
|Memory-mapped file as Memory<byte>||MemoryMappedFileExtensions|
|Memory-mapped file as ReadOnlySequence<byte>||ReadOnlySequenceAccessor|
Quick overview of additional features:
FromHexmethods from Span static class
ReaderWriterLockSlimand other synchronization primitives now have their asynchronous versions
All these things are implemented in 100% managed code on top of existing .NET API without modifications of Roslyn compiler or CoreFX libraries.
Documentation for older versions:
Release Date: 07-XX-2021
ValueTypeExtensions.Normalizeextension methods that allow to normalize numbers of different types
CodeGenerator.Statementstatic method to simplify migration from pure Expression Trees
ValueTaskCompletionSource<T>as reusable source of tasks suitable for pooling
ReadOnlySequence<T>now ensures that the buffer tail is flushed to the disk
FileBufferingWriter.FlushAsyncmethods ensure that the buffer tail is flushed to the disk
MessageHandlerclasses for more information
Changelog for previous versions located here.
The libraries are versioned according with Semantic Versioning 2.0.
|Version||.NET compatibility||Support Level|
|0.x||.NET Standard 2.0||Not Supported|
|1.x||.NET Standard 2.0||Not Supported|
|2.x||.NET Standard 2.1||Not Supported|
|3.x||.NET Standard 2.1, .NET 5||Active Development|
Maintenance support level means that new releases will contain bug fixes only.
Philosophy of development process:
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.