What's New in .NET Core 3.0? A Landmark Release is Here

An overview of the official release of .NET Core 3.0. We explore the final features of this landmark release, including support for WPF and Windows Forms, C# 8.0 with nullable reference types, and first-class support for gRPC.

Today is a massive day for the .NET community: .NET Core 3.0 is now officially released! This is without a doubt one of the most significant and feature-packed releases in the history of .NET. It dramatically expands the capabilities of the platform, bringing desktop development into the .NET Core family and introducing powerful new C# language features.

.NET Core 3.0 solidifies the platform's position as a top-tier, modern framework for building any type of application.

The Major Highlights of .NET Core 3.0

1. Windows Desktop Support (WPF & Windows Forms)

This is the headline feature. .NET Core 3.0 now officially supports building Windows desktop applications using WPF and Windows Forms. This allows developers to migrate their existing desktop applications to .NET Core to take advantage of its improved performance, side-by-side deployment, and access to the latest C# features. You can now build a modern desktop app with the power of .NET Core under the hood.

2. C# 8.0 is Here

.NET Core 3.0 ships with C# 8.0, which brings several major new language features:

  • Nullable Reference Types: The most important feature, aimed at eliminating NullReferenceException. When enabled, this feature forces you to be explicit about where null is and is not allowed in your code, with the compiler providing warnings to help you write safer code.
  • Async Streams (IAsyncEnumerable<T>): A new, elegant way to work with asynchronous streams of data using await foreach.
  • Default Interface Methods: You can now add implementations to methods in an interface, which is a powerful tool for evolving APIs without breaking existing implementers.
  • Ranges and Indices: A new, concise syntax for accessing ranges or elements from the end of a collection.

3. First-Class gRPC Support

ASP.NET Core 3.0 now has outstanding, built-in support for gRPC, the modern, high-performance RPC framework. The new grpc-dotnet library is built on top of Kestrel and provides a high-performance foundation for building fast and efficient microservices.

4. High-Performance JSON APIs

The new System.Text.Json namespace provides a built-in, high-performance JSON serializer. It's designed to be fast and low-allocation, reducing the need for the Newtonsoft.Json library in many common scenarios and improving the performance of your web APIs.

5. Single-File Executables and Assembly Trimming

Deployment gets a lot simpler with .NET Core 3.0. You can now publish your application as a single-file executable, bundling your app and its dependencies into one file. Additionally, the new assembly linker can trim your application, removing unused assemblies to significantly reduce the final deployment size.

6. Support for ARM64 and Raspberry Pi

.NET Core 3.0 introduces support for ARM64, enabling you to run your .NET applications on new devices, including the Raspberry Pi. This opens up a whole new world of possibilities for IoT and edge computing with .NET.

A Foundation for the Future

.NET Core 3.0 is a massive step forward. It's not just a collection of new features; it's a statement about the future of the platform. By bringing desktop development into the fold and introducing powerful new language constructs, Microsoft has created a framework that is both deeply capable for existing developers and welcoming to new ones.

With its incredible performance, cross-platform reach, and modern feature set, .NET Core 3.0 is a world-class framework for building the next generation of applications.