Microsoft has announced the final version of .NET Standard 2.0 which includes over 32k APIs, a 140% increase over .NET Standard 1.6 and 400% compared to .NET Standard 1.0.
.NET Standard is Microsoft’s solution to provide .NET compatibility across multiple platforms, including .NET Framework, .NET Core, and Xamarin. In the near future, Unity will support .NET Standard when tooling will be brought in line with the latest version.
.NET Standard 2.0 is supported by .NET Framework 4.6.1, .NET Core 2.0, Mono 5.4, Xamarin.iOS 10.14, Xamarin.Mac 3.8, and Xamarin.Android 7.5. A new version of UWP will be made available later this year with support for the latest standard.
Because many NuGet packages were written for the .NET Framework, making them compatible with the standard is pretty hard, so Microsoft added a shim layer to help libraries work on multiple platforms even if they were not build against .NET Standard or PCL. Due to this compatibility feature, some 70% of NuGet packages are compatible with the standard.
.NET Standard 2.0 does not introduce any breaking change in the 1.x standard, being built on top of 1.6. Microsoft still decided to bump the version number to 2.0 because of the large number of APIs added and the compatibility layer introduced. The largest part of the new APIs introduced in 2.0 is coming from the .NET Framework, almost 15k of them. This made it easier to add support for the latest standard in .NET Framework 4.6.1, which is the most used version of the framework. The APIs are listed in raw form here, while the diff with 1.6 can be seen here.
One related nugget: the stable version of .NET Core 2.0 will be announced on September 18-19 at DEVintersection Europe.