Microsoft heeft .NET Core 1.1 uitgegeven. Dit is een modulair platform voor webappliacties dat draait op Linux, macOS en Windows. Het maakt natuurlijk gebruik van .NET en je kan het vergelijken met Node.js of Go. Het geheel wordt onder een mix van MIT-, Apache 2- en CC BY 4.0-licenties uitgegeven. De aankondiging van deze versie ziet er als volgt uit:
Announcing .NET Core 1.1
We are excited to announce the release of .NET Core 1.1 RTM, the first “Current” release. You can start creating .NET Core 1.1 apps, today, in Visual Studio 2015, Visual Studio 2017 RC, Visual Studio Code and Visual Studio for the Mac.
We used the 1.1 release to achieve the following improvements:You can see all the .NET Core changes in detail in the .NET Core 1.1 release notes. It’s a small delta on the .NET Core 1.1 Preview 1 release that we shipped 3 weeks ago.
- .NET Core: Add distros and improve performance.
- ASP.NET Core: Improve Kestrel, Azure support and productivity.
- EF Core: Azure and SQL 2016 support.
Distributions
Support for the following distributions was added:You can see the full list of supported distributions in the .NET Core 1.1 release notes.
- Linux Mint 18
- OpenSUSE 42.1
- macOS 10.12 (also added to .NET Core 1.0)
- Windows Server 2016 (also added to .NET Core 1.0)
Documentation
.NET Core documentation has been updated for the release and will continue to be updated. We are also in the process of making visual and content updates to the .NET Core docs to make the docs easier and more compelling to use.
The ASP.NET Core and Entity Framework, C# and VB docs were moved to docs.microsoft.com as part of this release. F# documentation was added a few months ago.
Documentation on docs.microsoft.com open source. You can help us make it better by filing issues and making contributions on GitHub. Best places to start are dotnet/docs and aspnet/docs.
Performance
We were recently informed by the fine folks at TechEmpower that ASP.NET Core 1.1 with Kestrel was ranked as the fastest mainstream fullstack web framework in the TechEmpower plaintext benchmark. That’s a great result, and the result of significant engineering effort.
We adopted a performance optimization for the CoreCLR runtime called Profile-Guided Optimization (PGO), for the .NET Core 1.1 Windows version. We’ve use this technique for the .NET Framework for many years, but had not yet used it for .NET Core. This improvement was not included in the earlier .NET Core 1.1 Preview 1 release.
PGO optimizes C++ compiler-generated binaries with information it records from apps it observes in our lab. We call this process “training”. It’s about as exciting as 6AM runs in the dark during the Winter. PGO records info about which codepaths are used in a binary and in what order. For this release, we used a simple “Hello World” app for training.
We saw a 15% improvement with the ASP.NET MusicStore app running with a PGO-optized CoreCLR in our lab and believe that these improvements will be representative to other Web applications. We hope to see greater improvements in the future as we increase the pool of apps we train with.
For Linux and macOS, we compile CoreCLR with Clang/LLVM. We intend to use the Clang version of PGO in the next release. Very preliminary scouting of Clang PGO suggests that we will see similar benefits.
APIs
There are 1380 new APIs in .NET Core 1.1. Many of the new APIs were added to support the product itself, include reading portable PDBs. .NET Core 1.1 supports .NET Standard 1.6.
.NET Standard 2.0 support is coming in an upcoming release (in 2017). It is not part of .NET Core 1.1.
Current Release
In the earlier .NET Core 1.1 blog post, I described that we have adopted the industry practice of differentiated releases, which we’ve called “Long-term Support (LTS)” and “Current”. .NET Core 1.1 is a Current release and also the first one. Once a given Current release has shipped, we expect very few updates, hopefully only security updates.
We recommend that most developers adopt LTS releases. It’s also the default experience we’ll include in Visual Studio. We do hope that some of you adopt Current releases to give us feedback, as well. It’s hard to quantify it, but we thinking an 80/20 split between LTS and Current across the entire .NET Core developer base would be about right.
Closing
Please try the new .NET Core release and give us feedback. There are a lot of key improvements across .NET Core 1.1, ASP.NET Core and EF Core that will make your apps better and faster. It’s the first Current release, providing you with feature faster, provided you are happy with updating .NET Core more quickly than the LTS multi-year supported releases.