A version number is a promise about what will hold still, not a claim that the work is finished. The hard part of a first stable release is choosing what to leave out and saying so plainly.
What was in .NET Core 1.0?
According to a trade report, Microsoft announced the release of .NET Core 1.0 and ASP.NET Core 1.0, the open source, cross-platform fork of the .NET Framework, at the Red Hat DevNation summit in San Francisco. The engineering team's announcement, dated June 27, 2016, said .NET Core 1.0 was available on Windows, OS X and Linux, and that the release includes the .NET Core runtime, libraries and tools and the ASP.NET Core libraries. The team traced the project to requests from some ASP.NET customers about two years earlier, and said it changed the name, shape and experience of the product a few times along the way. It also said nearly 10k developers contributed to .NET Core 1.0, and that nearly half of all pull requests for .NET Core related projects come from the community.
What did 1.0 leave out?
According to the same report, only a subset of the .NET Framework is included, essentially for console or web applications. It noted that the tooling both for Visual Studio and the command line is still in preview, and that the ASP.NET Web Forms framework is not implemented. The report quoted Microsoft's Jeffrey Fritz saying that even for an application already built on ASP.NET MVC, porting will be more "a rewrite instead of a migration". The report added that version 1.0 of .NET Core will be supported by Microsoft for three years, since it is classed as a Long Term Support (LTS) release.
Why publish the gaps?
A stable release that lists its gaps gives users something to plan against. Fixing the runtime and a support window, while openly leaving tooling in preview, separates the parts that teams can build on from the parts that may still move. The useful artifact of a first release is often not the feature list but the exclusion list, written early enough that nobody has to discover it in production.
Sources
- Announcing .NET Core 1.0 - Microsoft .NET Blog, official blog, June 27, 2016 (archived copy captured 2016-06-28)
- Microsoft releases cross-platform .NET Core 1.0 at Linux event - The Register, news, June 28, 2016 (archived copy captured 2016-06-29)
