Skip to content

What’s New in .NET 10

Happy unicorn dancing on meadows with rainbow on a back. Sun is shining.

The tech world moves fast. It was just few days ago when I patched .NET 6.0 apps to .NET 8.0 and now we have the .NET 10 already lurking around the corner! In this post I want to walk through what’s new in .NET 10 and C# 14. I will try to keep it short, so that you don’t have to walk through long release lists.

Long‑Term Release

.NET 10 is new LTS (Long‑Term Support) release, meaning you get production‑ready support all the way until November 2028. The earlier .NET 9 was STS which does NOT stand for Short-Term Support. STS means Standard Term Support and that is currently two years.

If we want to talk about real LTS we can look up the .NET Framework 3.5 SP1, which has end of support at January 9, 2029. That is insane!

Performance

The .NET performance optimization continues as seen in the last few years, .NET 10 continues this trend with: better JIT, improved struct argument codegen, and native AOT enhancements. NativeAOT itself is gaining some ground for scenarios where startup time and memory footprint matter. Usually the performance optimizations don’t improve the real life applications as much as the advertisement posters say, but they do help a little bit. I recommend to watch this video if you are more interested of .NET 10 perf optimization. I like the Sharplab tool which Stephen is using in this video.

C# 14

.NET 10 isn’t just about runtime itself and libraries; the languages evolves too. C# 14 introduces features like field‑backed properties, extension properties/methods for types you don’t own (for example for collections), and enhanced null‑conditional assignment (?.=). The improvements are quite minor which I actually like. We don’t need to reinvent the language all the time😊. I wrote short examples of field-backed properties and null conditional assignments so that you get some understanding how they work.

Field-backed properties

public class Person
{
    // Automatic backing field with custom logic
    public string Name
    {
        get => field; // No need for _name variable anymore!
        set => field = value?.Trim() ?? string.Empty;
    }
}

Null-conditional assignment

public class Person
{
    public string Name { get; set; }
}

Person person = null;
person?.Name = "Panu"; // This line does not crash the app if person is null.

Console.WriteLine(person?.Name);

If you want to know more about C# 14 checkout this .NET Conf 2025 recording.

Post-Quantum and Network Improvements

.NET 10 advances a lot of overlooked but crucial areas:

  • Post‑Quantum Cryptography (PQC) support … if you work in regulated or security‑sensitive systems this might matter
  • Networking improvements (WebSocket API, TLS 1.3 on macOS, improved process groups on Windows).
  • Diagnostics, serialization, JSON APIs receiving refinement. These are the nice small enablers of future‑proof systems.

For more information about AI development in .NET. Checkout the “Building Intelligent Apps with .NET” video.

Tooling, DevExperience & AI‑First

The tooling story evolves: better CLI/SDK support, improved solution formats (slnx), native shell tab‑completion, and integration with the upcoming Visual Studio 2026 (AI‑powered assistant features). .NET 10 also introduces abstractions (Microsoft.Extensions.AI, vector‑data support) and better multi‑agent system readiness.

Summary

.NET 10 is a long waited LTS release. I think many of us skipped the .NET 9.0 and are now moving slowly from .NET 8 to 10. To me 8.0 wasn’t a huge hit. It delivered, but I don’t find me thinking about it that much (do you think about other .NET releases? I sure do!). C# 12 was a much bigger show stealer and in this .NET 10 release I think the C# 14 is a little low hanger. Let the .NET shine this time. Anyway we have again some perf improvements, new Visual Studio is coming, languages are getting better and AI abstractions are more mature than ever (thanks to Microsoft.Extensions.AI). Life is again good for a while for .NET developers. Lets enjoy it!😎

Tags: