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

comments powered by Disqus

Featured

  • See Prompts Microsoft Engineers Use for Bleeding-Edge Multimodal RAG AI Research

    Vision-centric queries show how front-line experts are prompting LLMs these days.

  • AI Explains Expressions in Update to Java on VS Code

    "The Spring Tools now show code lenses above these expressions that allow you to quickly let GitHub Copilot explain those statements for you."

  • Microsoft Eases Integration with Semantic Kernel AI SDK

    The basic idea is to provide unified API abstractions, especially for idiomatic C# code, to help platform developers and others work with any provider with standard implementations for caching, telemetry, tool calling and other common tasks.

  • Final .NET 9 Preview Ships with Go-Live License

    Visual Studio developers can now download the SDK for .NET 9 Release Candidate 2 with a go-live license, meaning devs get Microsoft support for production applications even before the framework reaches general availability next month.

Subscribe on YouTube