News

.NET 5 Now 'Feature Complete' with Preview 8, Go Live Release Candidates Up Next

The milestone .NET 5.0 release is now feature complete with the new Preview 8, Microsoft announced, with a couple of go-live release candidates on tap ahead of the official November ship date.

.NET 5 was planned to be the culmination of Microsoft's transition from the old Windows-only .NET Framework to a cross-platform, open source offering intended to wrap up all .NET components into one package, so "there will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more."

.NET 5
[Click on image for larger view.] .NET 5 (source: Microsoft).

However, while that was Microsoft's original vision for .NET 5, it won't be realized completely with the November release as development delays have hampered the project such that some functionality has been put off until next year's .NET 6.0.

"Last year, we presented a vision of a unified .NET platform, with one set of libraries and tools for all .NET app types," said Richard Lander, program manager for the .NET team, in an Aug. 25 blog post.

"The benefits of this change are a single development experience for .NET, much higher compatibility between the various .NET app types and maintaining and improving just one code base. The change we made with WebAssembly, to use the .NET libraries, is a down-payment on that vision. We expect to deliver the rest of the vision, largely focused on Xamarin (iOS and Android), with .NET 6.0."

Lander's WebAssembly reference was in regard to .NET 5 supporting WebAssembly -- the foundation of the Blazor WebAssembly client-side component of Blazor -- with Mono runtimes and .NET libraries instead of Mono libraries, which were used in Blazor 3.2.

One factor that will cause .NET 5 to be incomplete, missing features that were originally planned, is the COVID-19 crisis.

"In the wake of the global health pandemic, we've had to adapt to the changing needs of our customers and provide the support needed to assist with their smooth operations," Lander said earlier. "Our efforts continue to be anchored in helping our customers address their most urgent needs. As a result, we expect these features to be available in preview by November 2020, but the unification will be truly completed with .NET 6, our Long-Term Support (LTS) release. Our vision hasn't changed, but our timeline has."

Another factor causing the delay were development problems with the aforementioned Blazor WebAssembly, which lagged behind the server-side Blazor Server component. Some of those problems could be attributed to the foundational WebAssembly project being quite new itself, not far removed from the experimental stage.

Yet another delaying factor was the "huge technical challenge" involved with transferring .NET Framework desktop components to the new cross-platform framework.

"We've made the relatively late decision to delay the Windows Desktop component (Windows Forms, WPF)," Lander said yesterday. "Windows Forms is near ready, but WPF is not, and we don't want to release only half the Windows Desktop component, in part because we don't test it in a split configuration. We hope to add the Windows Desktop component back as part of a 5.0 servicing update."

The .NET Schedule
[Click on image for larger view.] The .NET Schedule (source: Microsoft).

As for what did make it into .NET 5, Lander's post yesterday listed:

More about the above can be found in the blog post and .NET 5.0 Runtime Epics. Those are described as "a collection of features that together form a step-function level improvement in .NET, and typically requires the epic owner (a single developer or a small team) to go on a journey to satisfy the epic goals."

Going forward, Lander said, "The team is focused on closing out all of remaining 5.0 issues and getting the final bug fixes and improvements into the release. Even the 5.0 Runtime Epics issue has been closed.

"We're working on some deep-dive posts that we plan to publish before the final release on various topics. Look out for those. You can also expect an even longer post for the final release that covers a much broader set of improvements and features."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube