{"id":49997,"date":"2025-11-12T16:13:35","date_gmt":"2025-11-12T16:13:35","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=49997"},"modified":"2025-12-02T10:22:37","modified_gmt":"2025-12-02T10:22:37","slug":"net-10-new-long-term-support","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2025\/11\/net-10-new-long-term-support\/","title":{"rendered":".NET 10 Released as New Long Term Support (LTS)"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-44743\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/dotnet-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/dotnet-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/dotnet-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/dotnet-icon-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/dotnet-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/dotnet-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Microsoft announced .NET 10, the free open-source cross-platform developer platform, a day ago!<\/p>\n<p>The new .NET 10 is a Long Term Support (LTS) release that features three years <b>support until November 10, 2028<\/b>. Users are argued to upgrade to the new version to take advantage of the extended support, performance improvements and new features!<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49998\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-info-700x454.webp\" alt=\"\" width=\"610\" height=\"396\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-info-700x454.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-info-300x195.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-info-768x498.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-info.webp 942w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<h3>What&#8217;s New in .NET 10<\/h3>\n<p>The new .NET 10 runtime enhanced JIT compiler with various inlining improvements and improved code generation for struct arguments.<\/p>\n<p>It added Advanced Vector Extensions (AVX) 10.2 support for x64-based processors. Though the JIT&#8217;s support for AVX10.2 is disabled by default, as AVX10.2-enabled hardware isn&#8217;t yet available.<\/p>\n<p>The NativeAOT&#8217;s type preinitializer now supports all variants of the <code>conv.*<\/code> and <code>neg<\/code> 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%.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49999\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet-clischema-700x454.webp\" alt=\"\" width=\"610\" height=\"396\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet-clischema-700x454.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet-clischema-300x195.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet-clischema-768x498.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet-clischema.webp 942w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>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.<\/p>\n<p>User can now use the <code>dotnet tool exec<\/code> command to execute a .NET tool without installing it globally or locally. And, a new <code>--cli-schema<\/code> option is added for all CLI commands, which outputs a JSON representation of the CLI command tree for the invoked command or subcommand.<\/p>\n<p>The dotnet CLI now supports generating native tab-completion scripts for popular shells. <code>dotnet test<\/code> now natively supports Microsoft.Testing.Platform. And, the NuGet Audit feature can prune framework-provided package references that aren&#8217;t used by the project.<\/p>\n<p>Other .NET 10 SDK changes include:<\/p>\n<ul>\n<li>New <code>dnx<\/code> script provides a streamlined way to execute tools<\/li>\n<li>Enhance file-based apps with publish support and native AOT<\/li>\n<li>Enable <code>--interactive<\/code> flag by default for CLI commands in interactive terminals.<\/li>\n<li>New property to explicitly set the format of container images.<\/li>\n<li>New aliases for common commands<\/li>\n<li>msbuild.exe and Visual Studio 2026 can run MSBuild tasks that are built for .NET.<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>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).<\/p>\n<p>Other .NET libraries changes include HashML-DSA support, new ExportPkcs12 methods to choose what encryption and digest algorithms, as well as following features:<\/p>\n<ul>\n<li>three new asymmetric algorithms: ML-KEM (FIPS 203), ML-DSA (FIPS 204), and SLH-DSA (FIPS 205).<\/li>\n<li>Supports the AES-KWP algorithm via instance methods on the Aes class<\/li>\n<li>New method overloads in ISOWeek for DateOnly type<\/li>\n<li>New <code>TimeSpan.FromMilliseconds<\/code> overload with single parameter<\/li>\n<li>UTF-8 support for hex-string conversion operations in the Convert class<\/li>\n<li>New string normalization APIs to work with span of characters<\/li>\n<li>Additional <code>TryAdd<\/code> and <code>TryGetValue<\/code> overloads for <code>OrderedDictionary &lt;TKey, TValue&gt;<\/code><\/li>\n<li>Option to disallow duplicate JSON properties<\/li>\n<li>new JsonSerializerOptions.Strict preset<\/li>\n<li>PipeReader support for JSON serializer<\/li>\n<li>New AOT-safe constructor for ValidationContext<\/li>\n<li>Support for telemetry schema URLs in ActivitySource and Meter<\/li>\n<li>Out-of-proc trace support for Activity events and links<\/li>\n<li>Rate-limit trace-sampling support.<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>For more, see the official <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-dotnet-10\/\" target=\"_blank\" rel=\"noopener\">announcement<\/a> or the <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/whats-new\/dotnet-10\/overview\" target=\"_blank\" rel=\"noopener\">what&#8217;s new<\/a> page.<\/p>\n<h3>How to Install .NET 10<\/h3>\n<p>Microsoft provides the SDK, ASP.NET Core, and .NET Runtime packages which are available to download at the link below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/get.dot.net\/10\" target=\"_blank\" rel=\"noreferrer noopener\">Download .NET 10<\/a><\/div>\n<\/div>\n<p>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.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50000\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable-700x386.webp\" alt=\"\" width=\"610\" height=\"336\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable-700x386.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable-300x165.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable-768x423.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable-1320x728.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/11\/dotnet10-portable.webp 1355w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>Ubuntu has made the new release package into universe repositories for Ubuntu 25.10 and Ubuntu 26.04. See <a href=\"https:\/\/launchpad.net\/ubuntu\/+source\/dotnet10\" target=\"_blank\" rel=\"noopener\">this page<\/a> for the dotnet10 package made by Ubuntu.<\/p>\n<p>And, the <a href=\"https:\/\/launchpad.net\/~dotnet\/+archive\/ubuntu\/backports\" target=\"_blank\" rel=\"noopener\">official backport PPA<\/a> also built .NET 10 package for Ubuntu 22.04 LTS.<\/p>","protected":false},"excerpt":{"rendered":"<p>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!<\/p>\n","protected":false},"author":1,"featured_media":44743,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[2086],"class_list":["post-49997","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-programming"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=49997"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49997\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/44743"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=49997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=49997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=49997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}