Git Product home page Git Product logo

dotnext's Introduction

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

Quick Links

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.

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

dotnext's People

Contributors

augustoproiete avatar gerardsmit avatar sakno avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.