Microsoft released .NET 10 on November 11, 2025, together with C# 14, as a Long Term Support (LTS) release that will receive fixes until November 14, 2028. The release brings JIT and runtime performance work, post-quantum cryptography, stricter JSON options and a wave of SDK improvements, including the dnx tool runner and file-based C# apps. For developers building AI features, the timing mattered as much as the features: .NET 10 became the stable, long-lived platform underneath Microsoft.Extensions.AI, the MCP C# SDK and Microsoft Agent Framework.
Key Facts#
- Release: .NET 10.0.0 (SDK 10.0.100) shipped on November 11, 2025.
- Support: LTS, supported from November 11, 2025, to November 14, 2028.
- Language: C# 14 ships with .NET 10, adding extension members, the
fieldkeyword, null-conditional assignment and more. - Tooling: the .NET 10 release notes recommend Visual Studio 18.0, the Visual Studio 2026 release.
- AI libraries: version 10.0.0 of
Microsoft.Extensions.AI.Abstractionswas published to NuGet on the same day. - Upgrade pressure: both .NET 8 (LTS) and .NET 9 (STS) reach end of support in November 2026.
- Servicing: by September 8, 2026, .NET 10 had reached patch release 10.0.12.
What Happened#
Microsoft's what's-new documentation groups the release into familiar areas. In the runtime, the JIT improved inlining and method devirtualization, expanded stack allocation, generated better code for struct arguments and improved loop optimizations, while hardware support grew to include AVX10.2 and Native AOT received further enhancements. None of these require code changes, which is why runtime upgrades can lower compute costs without touching application code.
The libraries picked up post-quantum cryptography support with ML-DSA, HashML-DSA and Composite ML-DSA, along with AES KeyWrap with Padding. System.Text.Json gained options to disallow duplicate properties, stricter serialization settings and PipeReader support, and networking added WebSocketStream and TLS 1.3 for macOS clients. ASP.NET Core focused on Blazor WebAssembly preloading, automatic memory pool eviction, improved form validation, better diagnostics and passkey support, while EF Core added named query filters and improved Azure Cosmos DB support.
The SDK changes are the most visible day to day. dotnet test supports Microsoft.Testing.Platform, dotnet tool exec runs a tool without installing it, and the new dnx script shortens that to a single command. Console apps can produce container images, and --cli-schema exposes the CLI's structure for tooling. File-based apps let you run a single .cs file with dotnet run app.cs, pull in packages and SDKs with #:package and #:sdk directives, and publish with Native AOT by default.
C# 14 rounds out the release. The headline feature is extension members, which let you declare extension properties and static extension members inside an extension block:
public static class EnumerableExtensions
{
extension<TSource>(IEnumerable<TSource> source)
{
public bool IsEmpty => !source.Any();
}
}Other additions include the field keyword for accessing a property's compiler-generated backing field, null-conditional assignment such as customer?.Order = GetCurrentOrder();, nameof with unbound generic types like List<>, implicit span conversions, parameter modifiers on lambdas without explicit types, partial constructors and events, and user-defined compound assignment operators.
Background#
.NET ships a new major version every November, alternating between LTS releases with three years of support and Standard Term Support releases. .NET 8 was the previous LTS, released in November 2023, and .NET 9 was an STS release whose support Microsoft set to end on November 10, 2026. That calendar makes .NET 10 the natural upgrade target for most production workloads: teams on either .NET 8 or .NET 9 have to move during 2026 to stay supported. Our guide to the .NET release cadence and upgrade strategy explains how to plan these moves.
The AI side of the ecosystem had been maturing on a parallel track. Microsoft.Extensions.AI reached general availability in May 2025, Microsoft Agent Framework entered preview in October 2025, and the MCP C# SDK was moving toward 1.0. Shipping those libraries on top of an LTS runtime gives enterprises a three-year foundation for AI features.
Why It Matters for Developers#
Beyond the general performance and language gains, .NET 10 changes how .NET developers can package and share AI tooling.
The first change is distribution. With dnx, any .NET tool published to NuGet can be executed on demand, and Microsoft's MCP server project template, Microsoft.McpServer.ProjectTemplates, requires the .NET 10 SDK. Its projects include a server.json file that follows the MCP Registry schema, so an MCP host can launch a C# server with a dnx command instead of asking users to clone and build a repository. That puts .NET on a similar footing to npx and uvx for distributing MCP servers. Our MCP in C# guide walks through building one.
The second is prototyping. File-based apps make a single C# file a complete AI experiment:
#:package Microsoft.Extensions.AI.OpenAI@10.3.0
using Microsoft.Extensions.AI;
using OpenAI.Chat;
var apiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY")!;
IChatClient chat = new ChatClient("gpt-4o-mini", apiKey).AsIChatClient();
ChatResponse response = await chat.GetResponseAsync(
"Explain C# 14 extension members in one paragraph.");
Console.WriteLine(response.Text);Run it with dotnet run chat.cs. When the experiment grows up, you can convert it into a regular project instead of rewriting it. The package version shown is the first stable release of the OpenAI adapter, which arrived in February 2026.
The third is longevity. Native AOT improvements and smaller, faster startup matter for AI sidecars, MCP servers and agent workers that scale out, and the LTS window means those services will keep receiving security fixes into late 2028. For a complete tour of the release, see what's new in .NET 10, and for the language changes in depth, see C# 14 new features explained. If you plan to publish AI services with Native AOT, review Native AOT and trimming in .NET for the reflection and serialization constraints that affect AI SDKs.
What's Next#
.NET 10 has followed the usual monthly servicing cadence, reaching 10.0.12 on September 8, 2026. Meanwhile, .NET 11 is scheduled for general availability on November 10, 2026, as a Standard Term Support release, and its first release candidate shipped on September 8, 2026, as covered in our story on .NET 11 RC1. Because .NET 8 and .NET 9 both leave support in November 2026, most teams should treat .NET 10 as the target for 2026 upgrades and evaluate .NET 11 for workloads that can accept its two-year support window, which ends on November 9, 2028.
Sources#
- Announcing .NET 10 (.NET Blog)
- .NET 10 release notes (dotnet/core on GitHub)
- What's new in .NET 10 (Microsoft docs source on GitHub)
- What's new in C# 14 (Microsoft docs source on GitHub)
- Build an MCP server with .NET (Microsoft docs source on GitHub)