Popularity
4.4
Growing
Activity
9.9
Growing
378
27
32

Description

.NEXT (dotNext) is a set of powerful libaries 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:

Programming language: C#
License: MIT License
Tags: Misc     Threading     Unsafe    
Latest version: v2.2.0

.NEXT alternatives and similar packages

Based on the "Misc" category.
Alternatively, view .NEXT alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of .NEXT or a related project?

Add another 'Misc' Package

README

.NEXT

Build Status License Test Coverage

.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:

Proposal Implementation
Static Delegates Value Delegates
Operators for IntPtr and UIntPtr Extension methods for arithmetic, bitwise and comparison operations
Enum API Documentation
Check if an instance of T is a default(T) IsDefault() method
Concept Types Documentation
Expression Trees covering additional language constructs, i.e. foreach, await, patterns, multi-line lambda expressions Metaprogramming
Async Locks Documentation
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:

All these things are implemented in 100% managed code on top of existing .NET Standard stack without modifications of Roslyn compiler or CoreFX libraries.

Documentation for older versions:

What's new

Release Date: 09-29-2020

DotNext 2.10.1

  • Fixed correctness of Clear(bool) method overridden by PooledArrayBufferWriter<T> and PooledBufferWriter<T> classes
  • Added RemoveLast and RemoveFirst methods to PooledArrayBufferWriter<T> class
  • Optional<T> type distinguishes null and undefined value
  • DotNext.Sequence class is now deprecated and replaced with DotNext.Collections.Generic.Sequence class. It's binary compatible but source incompatible change
  • Added new API for writing resource string readers. It utilizes Caller Info feature in C# to resolve resource entry name using accessor method or property
  • Introduced BufferWriterSlim<T> type as lightweight and stackalloc-friendly version of PooledBufferWriter<T> type
  • Introduced SpanReader<T> and SpanWriter<T> types that can be used for sequential access to the elements in the memory span
  • Removed unused resource strings
  • Updated dependencies

DotNext.Metaprogramming 2.10.1

DotNext.Reflection 2.10.1

  • Removed unused resource strings
  • Updated dependencies

DotNext.Threading 2.10.1

DotNext.Unsafe 2.10.1

DotNext.Net.Cluster 2.10.1

  • Removed unused resource strings
  • Updated dependencies shipped with .NET Core 3.1.8

DotNext.AspNetCore.Cluster 2.10.1

  • Removed unused resource strings
  • Updated dependencies shipped with .NET Core 3.1.8

Changelog for previous versions located [here](./CHANGELOG.md).

Release Policy

  • The libraries are versioned according with Semantic Versioning 2.0.
  • Version 0.x and 1.x relies on .NET Standard 2.0
  • Version 2.x relies on .NET Standard 2.1

Support Policy

Version .NET compatibility Support Level
0.x .NET Standard 2.0 Not Supported
1.x .NET Standard 2.0 Maintenance
2.x .NET Standard 2.1 Active Development

Maintenance support level means that new releases will contain bug fixes only.

DotNext.AspNetCore.Cluster of version 1.x is no longer supported because of ASP.NET Core 2.2 end-of-life.

DotNext.Net.Cluster of version 1.x is no longer supported due to few reasons:

  1. Underlying implementation for ASP.NET Core is no longer supported
  2. Raft implementation is incomplete

Development Process

Philosophy of development process:

  1. All libraries in .NEXT family based on .NET Standard to be available for wide range of .NET implementations: Mono, Xamarin, .NET Core
  2. Compatibility with AOT compiler should be checked for every release
  3. Minimize set of dependencies
  4. Rely on .NET Standard specification
  5. Provide high-quality documentation
  6. Stay cross-platform
  7. Provide benchmarks


*Note that all licence references and agreements mentioned in the .NEXT README section above are relevant to that project's source code only.