White search icon
News
What's new in .NET 9

What's New in .NET 9

Discover the major updates, performance improvements, and new development tools in .NET 9, from Native AOT and cloud-native optimizations to enhanced support for ASP.NET Core, C# 13, MAUI, and observability in distributed systems.

22-05-2025 |

.NET

The release of .NET 9 marks a significant milestone in Microsoft’s ongoing efforts to create a unified, high-performance, and cross-platform development framework. As the successor to .NET 8, this version builds upon years of developer feedback and modern software requirements—especially for cloud-native, scalable, and fast applications.

Native AOT (Ahead-of-Time Compilation) Takes Center Stage
One of the most anticipated features in .NET 9 is the continued enhancement of Native AOT. Native AOT compiles your application to a self-contained binary ahead of time, eliminating the need for JIT (just-in-time) compilation at runtime. This results in dramatically reduced startup times and smaller memory footprints—ideal for microservices, serverless functions, and edge computing scenarios. .NET 9 expands AOT support to more application types, improves build times, and adds better diagnostics for debugging native binaries.

Cloud-Native Performance and Container Enhancements
.NET 9 is designed with the cloud in mind. The framework introduces performance enhancements tailored for Kubernetes and containerized workloads. These improvements reduce cold start times, optimize resource usage, and simplify container orchestration with smaller base images and built-in telemetry hooks. If you're deploying on platforms like Azure, AWS, or GCP, you'll see better performance out of the box.

ASP.NET Core: Faster, Smarter, More Modular
With each release, ASP.NET Core continues to evolve, and .NET 9 is no exception. Developers will appreciate the new output caching middleware, which dramatically speeds up response times by caching HTML responses. There are also improvements in minimal APIs, with better route matching and built-in endpoint filters that simplify middleware configuration. Additionally, support for HTTP/3 has matured, giving you better performance and security in modern web apps.

C# 13 Preview Features
.NET 9 is aligned with the upcoming C# 13, and while the language is still in development, early adopters can already experiment with new features like collection expressions (`[..]`), better pattern matching with list patterns, and `params` for any position in method arguments. These enhancements help you write cleaner, more concise code with fewer workarounds.

MAUI Gets Stability and Performance Upgrades
Multi-platform App UI (MAUI), the successor to Xamarin, continues to mature in .NET 9. Developers building cross-platform mobile and desktop apps will benefit from better build times, reduced UI thread blocking, and more native-like behavior on Android, iOS, macOS, and Windows. While the ecosystem is still growing, the tooling and templates are significantly improved compared to .NET 7 or 8.

Built-In Observability with OpenTelemetry
Observability is a first-class concern in modern applications. With .NET 9, telemetry, tracing, and metrics reporting are more deeply integrated via OpenTelemetry. You’ll be able to trace requests across services, measure system health, and debug production systems without heavy manual setup. This update makes it easier to adopt observability from day one.

Sample Code
Check out this demo of minimal API improvements in .NET 9:


Release Timeline
.NET 9 is expected to be officially released in November 2025, with monthly preview builds available for testing today. If you’re building modern web apps, microservices, or cross-platform software, now is the time to explore what .NET 9 has to offer.


Like what you see?

Buy me a coffee

New C# Learning Area - Free!

Our website now offers a new section on C# theory, including code examples and related video tutorials.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.