Microsoft announced .NET 10, the free open-source cross-platform developer platform, a day ago!
The new .NET 10 is a Long Term Support (LTS) release that features three years support until November 10, 2028. Users are argued to upgrade to the new version to take advantage of the extended support, performance improvements and new features!
What’s New in .NET 10
The new .NET 10 runtime enhanced JIT compiler with various inlining improvements and improved code generation for struct arguments.
It added Advanced Vector Extensions (AVX) 10.2 support for x64-based processors. Though the JIT’s support for AVX10.2 is disabled by default, as AVX10.2-enabled hardware isn’t yet available.
The NativeAOT’s type preinitializer now supports all variants of the conv.* and neg opcodes, further optimizing runtime performance. And, Arm64 gained new default write-barrier implementation that handles GC regions more precisely and reduces GC pause times by 8-20%.
For the SDK, .NET tools can now be published with support for multiple RuntimeIdentifiers (RIDs) in a single package. And, the .NET CLI will select the correct one at install or run time.
User can now use the dotnet tool exec command to execute a .NET tool without installing it globally or locally. And, a new --cli-schema option is added for all CLI commands, which outputs a JSON representation of the CLI command tree for the invoked command or subcommand.
The dotnet CLI now supports generating native tab-completion scripts for popular shells. dotnet test now natively supports Microsoft.Testing.Platform. And, the NuGet Audit feature can prune framework-provided package references that aren’t used by the project.
Other .NET 10 SDK changes include:
- New
dnxscript provides a streamlined way to execute tools - Enhance file-based apps with publish support and native AOT
- Enable
--interactiveflag by default for CLI commands in interactive terminals. - New property to explicitly set the format of container images.
- New aliases for common commands
- msbuild.exe and Visual Studio 2026 can run MSBuild tasks that are built for .NET.
For .NET libraries, it added client side TLS 1.3 support on macOS, and introduced new asynchronous APIs making easier to perform non-blocking operations when reading from or writing to ZIP files.
It also introduced new WebSocketStream API to simplify some of the most common WebSocket scenarios, and Windows Cryptography API with Next Generation (CNG) support for Post-Quantum Cryptography (PQC).
Other .NET libraries changes include HashML-DSA support, new ExportPkcs12 methods to choose what encryption and digest algorithms, as well as following features:
- three new asymmetric algorithms: ML-KEM (FIPS 203), ML-DSA (FIPS 204), and SLH-DSA (FIPS 205).
- Supports the AES-KWP algorithm via instance methods on the Aes class
- New method overloads in ISOWeek for DateOnly type
- New
TimeSpan.FromMillisecondsoverload with single parameter - UTF-8 support for hex-string conversion operations in the Convert class
- New string normalization APIs to work with span of characters
- Additional
TryAddandTryGetValueoverloads forOrderedDictionary <TKey, TValue> - Option to disallow duplicate JSON properties
- new JsonSerializerOptions.Strict preset
- PipeReader support for JSON serializer
- New AOT-safe constructor for ValidationContext
- Support for telemetry schema URLs in ActivitySource and Meter
- Out-of-proc trace support for Activity events and links
- Rate-limit trace-sampling support.
Besides the changes in .NET runtime, libraries, and SDK, .NET 10 also includes lots of new features and improvements in Aspire, ASP.NET Core, C# 14, F#, and other components.
For more, see the official announcement or the what’s new page.
How to Install .NET 10
Microsoft provides the SDK, ASP.NET Core, and .NET Runtime packages which are available to download at the link below:
For Linux, they are non-install portable tarball. Simply download, decompress, and run the executable file to get started, though you may need to manually set environment and path variables.
As a LTS release, Ubuntu is likely to add .NET 10 into system repository. And, you may keep an eye on this page for the process.
At the moment of writing, the official Ubuntu PPA has been building .NET 10 for Ubuntu 25.10 and next Ubuntu 26.04.