.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:
Quick overview of additional features:
ToHex
and FromHex
methods from Span static classManualResetEvent
, ReaderWriterLockSlim
and other synchronization primitives now have their asynchronous versionsAll these things are implemented in 100% managed code on top of existing .NET API without modifications of Roslyn compiler or CoreFX libraries.
Release Date: 02-01-2022
UserDataStorage
and UserDataSlot<T>
types. The improvement works better in high workloads without the risk of lock contention but requires a bit more CPU cycles to obtain the data attached to the objectTypeMap<T>
or ConcurrentTypeMap<T>
UserDataStorage
typeDictionary.Empty
static method that allows to obtain a singleton of empty IReadOnlyDictionary<TKey, TValue>Base64Decoder
typeBase64Encoder
type for fast encoding of large binary dataSequence.FirstOrEmpty
extension methods in favor of Sequence.FirstOrNone
PooledBufferWriter
and PooledArrayBufferWriter
with parameters are obsolete in favor of init-only propertiesTimeout
, Optional<T>
, Result<T>
and Result<T, TError>
typesDotNext.Runtime.SoftReference
data type in addition to WeakReference from .NETUserDataStorage
is usedUserDataStorage
is usedCreateTask
overloads declared in ValueTaskCompletionSource
and ValueTaskCompletionSource<T>
classesAsyncCounter
classReset()
method to TaskCompletionPipe<T>
that allows to reuse the pipeFileWriter
now implements IBufferWriter<byte>DotNext.AspNetCore.Cluster 4.2.0
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 | Maintenance |
4.x | .NET 6 | 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.
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.