CARVIEW |
Select Language
HTTP/2 200
date: Sat, 19 Jul 2025 13:38:46 GMT
content-type: application/atom+xml; charset=utf-8
content-length: 58456
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: noindex, nofollow
etag: W/"2c565d913e6915f0b0f5cd9998060320"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
accept-ranges: bytes
set-cookie: _gh_sess=nkszPOB%2ByFFV%2BMzYB3myLV67d%2BCyUKWGE5cq9MPVNsx8vkwCqasE5ry23SXfhw9L1497DUOt%2BXCyiVRHzRTHy8gCKeMgbdGrWNw7gwd7IDjJZvHGgyXJLBnKt%2BMEcMw1orumKUGRDEGIFwkcYeFAhS46H2%2FDzDGWJE9KTKgkOqU5AUPoi3qDJxkyKJd6apGbsT6ik4TNgQWcf1bVkn1GSfMMD9WYUGXbIzobXMtdvMjKNrki%2FtqEOcCFuoxrmGxM4Iuw%2BMCmU7IUphRQxKmdEQ%3D%3D--9yYxrsEnb6v1UncF--aWICbnWidkrpzAkgVDni0Q%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1228312260.1752932326; Path=/; Domain=github.com; Expires=Sun, 19 Jul 2026 13:38:46 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 19 Jul 2026 13:38:46 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 972E:305A02:105AF6:1452CA:687B9FE6
tag:github.com,2008:/dotnet/core/discussions/categories/general
Recent discussions in dotnet/core, category: general
2025-07-15T17:32:53+00:00
tag:github.com,2008:8013001
.NET 10 Release Index
2025-02-25T19:24:46+00:00
2025-07-15T17:32:53+00:00
jamesmontemagno
https://github.com/jamesmontemagno
<p dir="auto">Here you will find a full index of all .NET 10 releases with direct links to release notes and their announcements/discussions.</p>
<p dir="auto"><a href="https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview" rel="nofollow">What's new in .NET 10</a> is also a great resource, which documents .NET 10 features and breaking changes, irrespective of preview version.</p>
<h2 dir="auto">.NET 10</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://aka.ms/dotnet/10/preview1" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/10.0/preview/preview1">Release Notes</a></li>
<li>Preview 2: <a href="https://aka.ms/dotnet/10/preview2" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/10.0/preview/preview2">Release Notes</a></li>
<li>Preview 3: <a href="https://aka.ms/dotnet/10/preview3" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/10.0/preview/preview3">Release Notes</a></li>
<li>Preview 4: <a href="https://aka.ms/dotnet/10/preview4" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/10.0/preview/preview4">Release Notes</a></li>
<li>Preview 5: <a href="https://aka.ms/dotnet/10/preview5" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/10.0/preview/preview5">Release Notes</a></li>
<li>Preview 6: <a href="https://aka.ms/dotnet/10/preview6" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/10.0/preview/preview6">Release Notes</a></li>
</ul>
<h3 dir="auto">Libraries</h3>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/libraries.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/libraries.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/libraries.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/libraries.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/libraries.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/libraries.md">Release Notes</a></li>
</ul>
<h3 dir="auto">Runtime</h3>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/runtime.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/runtime.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/runtime.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/runtime.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/runtime.md">Release Notes</a><br>
notes/10.0/preview/preview4/runtime.md)</li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/runtime.md">Release Notes</a></li>
</ul>
<h3 dir="auto">SDK</h3>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/sdk.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/sdk.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/sdk.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/sdk.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/sdk.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/sdk.md">Release Notes</a></li>
</ul>
<h2 dir="auto">C#</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/csharp.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/csharp.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/csharp.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/csharp.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/csharp.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/csharp.md">Release Notes</a></li>
</ul>
<h2 dir="auto">F#</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/fsharp.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/fsharp.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/fsharp.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/fsharp.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/csharp.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/csharp.md">Release Notes</a></li>
</ul>
<h2 dir="auto">Visual Basic</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/visualbasic.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/visualbasic.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/visualbasic.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/visualbasic.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/visualbasic.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/visualbasic.md">Release Notes</a></li>
</ul>
<h2 dir="auto">ASP.NET Core</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/aspnetcore.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/aspnetcore.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/aspnetcore.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/aspnetcore.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/aspnetcore.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/aspnetcore.md">Release Notes</a></li>
</ul>
<h2 dir="auto">.NET MAUI</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/dotnetmaui.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/dotnetmaui.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/dotnetmaui.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/dotnetmaui.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/dotnetmaui.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/dotnetmaui.md">Release Notes</a></li>
</ul>
<h2 dir="auto">Windows Forms</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/winforms.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/winforms.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/winforms.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/winforms.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/winforms.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/winforms.md">Release Notes</a></li>
</ul>
<h2 dir="auto">Windows Presentation Foundation (WPF)</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/wpf.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/wpf.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/wpf.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/wpf.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/wpf.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/wpf.md">Release Notes</a></li>
</ul>
<h2 dir="auto">Entity Framework Core</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/efcore.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/efcore.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/efcore.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/efcore.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/efcore.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/efcore.md">Release Notes</a></li>
</ul>
<h2 dir="auto">Container images</h2>
<ul dir="auto">
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview1/containers.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview2/containers.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/containers.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview4/containers.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview5/containers.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/containers.md">Release Notes</a></li>
</ul>
tag:github.com,2008:6465705
.NET Packages for Ubuntu 24.04
2024-04-05T20:57:37+00:00
2025-05-23T04:05:22+00:00
richlander
https://github.com/richlander
<p dir="auto">The release of <a href="https://ubuntu.com/blog/tag/ubuntu-24-04" rel="nofollow">Ubuntu 24.04</a> is just around the corner. Canonical-produced .NET 6, 7, and 8 packages will be available on day one, for "Noble Numbat". Microsoft will not be publishing .NET packages to the <code class="notranslate">24.04</code> feed at <code class="notranslate">packages.microsoft.com</code>.</p>
<h2 dir="auto">Context</h2>
<p dir="auto">We have been working closely with Canonical on .NET packages in Ubuntu for a few years now. We announced <a href="https://devblogs.microsoft.com/dotnet/dotnet-6-is-now-in-ubuntu-2204/" rel="nofollow">.NET 6 in Ubuntu 22.04</a> almost two years ago. The Canonical packages are kept up to date and compiled from upstream source.</p>
<p dir="auto">The initial rollout of .NET 6 in Ubuntu was <a href="https://github.com/dotnet/core/issues/7699" data-hovercard-type="issue" data-hovercard-url="/dotnet/core/issues/7699/hovercard">unexpectedly challenging</a>. We didn't realize the degree to which packages from two publishers with the same package names would conflict. In retrospect, this should have been obvious and we should have done a better job preparing the community.</p>
<p dir="auto">Sadly, this <a href="https://github.com/dotnet/sdk/issues/38794" data-hovercard-type="issue" data-hovercard-url="/dotnet/sdk/issues/38794/hovercard">problem repeated itself</a> when Canonical published .NET 8 packages after Microsoft packages were already available.</p>
<p dir="auto">Dual-publishing packages like this is inherently challenging. In any case, we're not doing it well, and we have not identified an approach that we think would make it work a lot better.</p>
<p dir="auto">One of the challenges is that <code class="notranslate">packages.microsoft.com</code> is a generic service (for Microsoft). For example, the <a href="https://packages.microsoft.com/ubuntu/22.04/prod/" rel="nofollow"><code class="notranslate">22.04</code> feed</a> contains multiple products. Users that want to register the feed to acquire one Microsoft product are registered for all products on that feed. However, a correctly working .NET installation can get damaged due to registering the Microsoft feed to install PowerShell, for example.</p>
<h2 dir="auto">Policy</h2>
<p dir="auto">We are very appreciative that .NET is now <a href="https://github.com/dotnet/core/blob/main/linux.md">built and included by multiple Linux distributions</a>. A lot of collective effort has gone into <a href="https://github.com/dotnet/dotnet">dotnet/dotnet</a> and <a href="https://github.com/dotnet/source-build">dotnet/source-build</a> repos. The fact that multiple distros now rely on and contribute to these "source build" efforts is evidence of a certain level of acceptance in these distro communities. We're very thankful for that.</p>
<p dir="auto">We've decided on the following policy:</p>
<blockquote>
<p dir="auto">Microsoft will only publish packages for distros where .NET packages are not included in the distro archive.</p>
</blockquote>
<h2 dir="auto">Implications for Ubuntu users</h2>
<p dir="auto">For many users, this policy won't change much. .NET will be available in Ubuntu and many users will just install and use it. In the past, .NET versions were (somewhat) slow to show up in the Ubuntu archive. We expect that new versions will show up more quickly at this point. The fact that .NET versions will be available for Ubuntu 24.04 on day one is evidence of that.</p>
<p dir="auto">For other users, this will be more of a challenge.</p>
<p dir="auto">The first challenge is that the SDK has a concept of <a href="https://learn.microsoft.com/dotnet/core/porting/versioning-sdk-msbuild-vs" rel="nofollow">feature bands</a>. Most distros, including Ubuntu, stick to the <code class="notranslate">.1xx</code> feature band for the lifetime of a major .NET version. They make this choice because <code class="notranslate">.1xx</code> is (effectively) the "compatibility band". Higher bands can have breaking changes.</p>
<p dir="auto">This means there will no longer be packages available for <code class="notranslate">.2xx</code> and later feature bands. Such packages have been exclusively available from Microsoft.</p>
<p dir="auto">This situation is primarily a problem for users who write code in Visual Studio (which install the later feature bands) on Windows and then build their code on Linux (with a <code class="notranslate">.1xx</code> feature band SDK).</p>
<p dir="auto">If users see an incompatibility between <code class="notranslate">.1xx</code> and higher feature bands, we ask that you please report it in the <a href="https://github.com/dotnet/sdk/issues">dotnet/sdk</a> repo.</p>
<p dir="auto">Note: The feature band concept is an unfortuante complexity. It was invented due to Visual Studio and the .NET SDK shipping a few of the same components (Roslyn, MSbuild, NuGet) and Visual Studio having a different compatibility bar. We would prefer not to have feature bands, but have been unable to satisfy product and compatibility needs otherwise.</p>
<p dir="auto">Separately, some users may prefer Microsoft-built binaries. We're not in a position to tell users who to trust. However, it should be noted that Microsoft gives Canonical CVE (source) patches ahead of embargo so that they can publish patched binaries to Ubuntu feeds at the same time as Microsoft.</p>
<p dir="auto">Users that require higher feature bands or Microsoft-built binaries can install them via the <a href="https://learn.microsoft.com/dotnet/core/tools/dotnet-install-script" rel="nofollow">install script</a> or download <a href="https://dotnet.microsoft.com/download/dotnet/8.0" rel="nofollow"><code class="notranslate">.tar.gz</code> archives</a>. The containers we publish also include the highest feature band.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ docker run --rm mcr.microsoft.com/dotnet/sdk:8.0 dotnet --version
8.0.203"><pre lang="bash=" class="notranslate"><code class="notranslate">$ docker run --rm mcr.microsoft.com/dotnet/sdk:8.0 dotnet --version
8.0.203
</code></pre></div>
<h2 dir="auto">Snap package</h2>
<p dir="auto">Canonical is in the process of taking over the Snap package from Microsoft. It will switch to installing Canonical-built .NET packages.</p>
<h2 dir="auto">Commitment to Ubuntu</h2>
<p dir="auto">Microsoft is committed to Ubuntu being a first-class environment for .NET developers and users. Canonical and Microsoft continue to work closely together towards that goal.</p>
<p dir="auto">For example, we recently announced <a href="https://devblogs.microsoft.com/dotnet/announcing-dotnet-chiseled-containers/" rel="nofollow">Chiseled containers</a> as a joint project.</p>
<h2 dir="auto">Improve Debian packages</h2>
<p dir="auto">We've been talking about what to invest in next. Debian (upstream of Ubuntu) does not have .NET packages. We will continue producing Debian x64 packages (per our policy) and are considering also producing Arm64 packages.</p>
tag:github.com,2008:7339153
.NET 9 Package Publishing
2024-10-18T21:51:26+00:00
2025-03-05T09:24:23+00:00
richlander
https://github.com/richlander
<p dir="auto">For .NET 9, we will be publishing packages at <code class="notranslate">packages.microsoft.com</code> for Azure Linux, Debian, OpenSUSE, and SLES. We previously published packages for other distros, like Ubuntu. We have stopped publishing packages for distros that publish their own .NET packages.</p>
<p dir="auto">The reasoning:</p>
<ul dir="auto">
<li>Users with .NET distro-archive packages available are typically best served by using those packages.</li>
<li>Using packages that are available from multiple feeds can be confusing.</li>
</ul>
<p dir="auto">More context: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="6465705" data-permission-text="Title is private" data-url="https://github.com/dotnet/core/discussions/9258" data-hovercard-type="discussion" data-hovercard-url="/dotnet/core/discussions/9258/hovercard" href="https://github.com/dotnet/core/discussions/9258">#9258</a></p>
<p dir="auto">Note: distro-archive packages are typically limited to the <a href="https://learn.microsoft.com/dotnet/core/releases-and-support#feature-bands-sdk-only" rel="nofollow">.1xx SDK band</a>, while <code class="notranslate">packages.microsoft.com</code> packages are not. Users that want to use the latest feature band builds (on distros without <code class="notranslate">packages.microsoft.com</code> packages available) must <a href="https://learn.microsoft.com/dotnet/core/install/linux" rel="nofollow">install those builds manually</a>.</p>
<h2 dir="auto">Packages</h2>
<p dir="auto">We will publish packages for the following distros for .NET 9.</p>
<ul dir="auto">
<li>Azure Linux 3.0</li>
<li>Debian 12</li>
<li><a href="https://en.opensuse.org/DotNet" rel="nofollow">OpenSUSE 15</a></li>
<li>SLES</li>
</ul>
<p dir="auto">We will not publish packages for the following distros for .NET 9.</p>
<ul dir="auto">
<li>Alpine Linux</li>
<li>CentOS Stream</li>
<li><a href="https://packages.fedoraproject.org/search?query=dotnet-sdk" rel="nofollow">Fedora</a></li>
<li>Red Hat Enterprise Linux</li>
<li>Mariner (Azure Linux 2.0)</li>
<li>Ubuntu</li>
</ul>
<p dir="auto">See <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md">Supported OS versions</a> to see the complete set of supported operating systems.</p>
tag:github.com,2008:6397183
.NET 9 Release Index
2024-03-19T20:56:54+00:00
2024-10-15T05:42:09+00:00
jamesmontemagno
https://github.com/jamesmontemagno
<p dir="auto">Here you will find a full index of all .NET 9 releases with direct links to release notes and their announcements/discussions.</p>
<p dir="auto"><a href="https://learn.microsoft.com/dotnet/core/whats-new/dotnet-9/overview" rel="nofollow">What's new in .NET 9</a> is also a great resource, which documents .NET 9 features and breaking changes, irrespective of preview version.</p>
<h2 dir="auto">.NET 9</h2>
<ul dir="auto">
<li>RC 2: <a href="https://aka.ms/dotnet/9/rc1" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/rc2">Release Notes</a></li>
<li>RC 1: <a href="https://aka.ms/dotnet/9/rc1" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/rc1">Release Notes</a></li>
<li>Preview 7: <a href="https://aka.ms/dotnet/9/preview7" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview7">Release Notes</a></li>
<li>Preview 6: <a href="https://aka.ms/dotnet/9/preview6" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview6">Release Notes</a></li>
<li>Preview 5: <a href="https://aka.ms/dotnet/9/preview5" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview5">Release Notes</a></li>
<li>Preview 4: <a href="https://aka.ms/dotnet/9/preview4" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview4">Release Notes</a></li>
<li>Preview 3: <a href="https://aka.ms/dotnet/9/preview3" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview3">Release Notes</a></li>
<li>Preview 2: <a href="https://aka.ms/dotnet/9/preview2" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview2">Release Notes</a></li>
<li>Preview 1: <a href="https://aka.ms/dotnet/9/preview1" rel="nofollow">Announcement</a> | <a href="https://github.com/dotnet/core/tree/main/release-notes/9.0/preview/preview1">Release Notes</a></li>
</ul>
<h3 dir="auto">Libraries</h3>
<ul dir="auto">
<li>RC 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc2/libraries.md">Release Notes</a></li>
<li>RC 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc1/libraries.md">Release Notes</a></li>
<li>Preview 7: <a href="https://github.com/dotnet/runtime/discussions/106350" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/106350/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview7/libraries.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/runtime/discussions/104620" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/104620/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview6/libraries.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/runtime/discussions/103313" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/103313/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview5/libraries.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/runtime/discussions/102504" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/102504/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview4/libraries.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/runtime/discussions/100928" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/100928/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview3/libraries.md">Release Notes</a></li>
<li>Preview 2: No release notes</li>
<li>Preview 1: <a href="https://github.com/dotnet/runtime/discussions/98372" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/98372/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview1/libraries.md">Release Notes</a></li>
</ul>
<h3 dir="auto">Runtime</h3>
<ul dir="auto">
<li>RC 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc2/runtime.md">Release Notes</a></li>
<li>RC 1: No release notes</li>
<li>Preview 7: <a href="https://github.com/dotnet/runtime/discussions/106350" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/106350/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview7/runtime.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/runtime/discussions/104620" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/104620/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview6/runtime.md">Release Notes</a></li>
<li>Preview 5: No release notes</li>
<li>Preview 4: <a href="https://github.com/dotnet/runtime/discussions/102504" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/102504/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview4/runtime.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/runtime/discussions/100928" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/100928/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview3/runtime.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/runtime/discussions/99619" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/99619/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/runtime.md">Release Notes</a></li>
<li>Preview 1: <a href="https://github.com/dotnet/runtime/discussions/98372" data-hovercard-type="discussion" data-hovercard-url="/dotnet/runtime/discussions/98372/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview1/runtime.md">Release Notes</a></li>
</ul>
<h3 dir="auto">SDK</h3>
<ul dir="auto">
<li>RC 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc2/sdk.md">Release Notes</a></li>
<li>RC 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc1/sdk.md">Release Notes</a></li>
<li>Preview 7: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview7/sdk.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview6/sdk.md">Release Notes</a></li>
<li>Preview 5: No release notes</li>
<li>Preview 4: No release notes</li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview3/sdk.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/sdk.md">Release Notes</a></li>
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview1/sdk.md">Release Notes</a></li>
</ul>
<h2 dir="auto">C#</h2>
<ul dir="auto">
<li>RC 2: No release notes</li>
<li>RC 1: No release notes</li>
<li>Preview 7: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview7/csharp.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview6/csharp.md">Release Notes</a></li>
</ul>
<h2 dir="auto">ASP.NET Core</h2>
<ul dir="auto">
<li>RC 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc2/aspnetcore.md">Release Notes</a></li>
<li>RC 1: <a href="https://github.com/dotnet/aspnetcore/discussions/57787" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/57787/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc1/aspnetcore.md">Release Notes</a></li>
<li>Preview 7: <a href="https://github.com/dotnet/aspnetcore/discussions/57312" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/57312/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview7/aspnetcore.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/aspnetcore/discussions/56690" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/56690/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview6/aspnetcore.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/aspnetcore/discussions/56194" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/56194/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview5/aspnetcore.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/aspnetcore/discussions/55820" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/55820/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview4/aspnetcore.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/aspnetcore/discussions/55086" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/55086/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview3/aspnetcore.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/aspnetcore/discussions/54503" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/54503/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/aspnetcore.md">Release Notes</a></li>
<li>Preview 1: <a href="https://github.com/dotnet/aspnetcore/discussions/54007" data-hovercard-type="discussion" data-hovercard-url="/dotnet/aspnetcore/discussions/54007/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview1/aspnetcore.md">Release Notes</a></li>
</ul>
<h2 dir="auto">.NET MAUI</h2>
<ul dir="auto">
<li>RC 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc2/dotnetmaui.md">Release Notes</a></li>
<li>RC 1: <a href="https://github.com/dotnet/maui/discussions/24698" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/24698/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/rc1/dotnetmaui.md">Release Notes</a></li>
<li>Preview 7: <a href="https://github.com/dotnet/maui/discussions/24219" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/24219/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview7/dotnetmaui.md">Release Notes</a></li>
<li>Preview 6: <a href="https://github.com/dotnet/maui/discussions/23506" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/23506/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview6/dotnetmaui.md">Release Notes</a></li>
<li>Preview 5: <a href="https://github.com/dotnet/maui/discussions/22977" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/22977/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview5/dotnetmaui.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/maui/discussions/22553" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/22553/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview4/dotnetmaui.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/maui/discussions/21783" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/21783/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview3/dotnetmaui.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/maui/discussions/21159" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/21159/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/dotnetmaui.md">Release Notes</a></li>
<li>Preview 1: <a href="https://github.com/dotnet/maui/discussions/20558" data-hovercard-type="discussion" data-hovercard-url="/dotnet/maui/discussions/20558/hovercard">Announcement</a> | <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview1/dotnetmaui.md">Release Notes</a></li>
</ul>
<h2 dir="auto">Entity Framework Core</h2>
<ul dir="auto">
<li>RC 2: No release notes</li>
<li>RC 1: No release notes</li>
<li>Preview 7: No release notes</li>
<li>Preview 6: No release notes</li>
<li>Preview 5: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview5/efcoreanddata.md">Release Notes</a></li>
<li>Preview 4: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview4/efcoreanddata.md">Release Notes</a></li>
<li>Preview 3: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview3/efcoreanddata.md">Release Notes</a></li>
<li>Preview 2: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/efcoreanddata.md">Release Notes</a></li>
<li>Preview 1: <a href="https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview1/efcoreanddata.md">Release Notes</a></li>
</ul>
tag:github.com,2008:6567174
Breaking change: .NET 9 is Y2038 compatible (Arm32 glibc); .NET 8 is not
2024-04-27T02:31:54+00:00
2024-10-01T15:59:48+00:00
richlander
https://github.com/richlander
<p dir="auto">We are making a major change to our Linux Arm32 support that affects all .NET versions.</p>
<ul dir="auto">
<li>.NET 9 will only support Y2038-compatible Linux Arm32 distros, like Ubuntu 24.04 and (we expect) Debian 13.</li>
<li>.NET 8 will remain Y2038 incompatible on Linux Arm32. Same applies to earlier .NET versions.</li>
</ul>
<p dir="auto">From <a href="https://discourse.ubuntu.com/t/noble-numbat-release-notes/39890#year-2038-support-for-the-armhf-architecture-5" rel="nofollow">Ubuntu 24.04 release notes</a>:</p>
<blockquote>
<p dir="auto">Ubuntu 24.04 LTS solves the <a href="https://en.wikipedia.org/wiki/Year_2038_problem" rel="nofollow">Year 2038 problem</a> that existed on armhf. More than a thousand packages have been updated to handle time using a 64-bit value rather than a 32-bit one, making it possible to handle times up to 292 billion years in the future.</p>
</blockquote>
<p dir="auto">That sounds great. We are changing the way we build .NET 9 for Arm32 to absorb this breaking change.</p>
<p dir="auto">This change doesn't affect our Arm32 musl build (for Alpine). The change to <a href="https://github.com/dotnet/runtime/pull/51099" data-hovercard-type="pull_request" data-hovercard-url="/dotnet/runtime/pull/51099/hovercard">support Y2038 for musl</a> was made with .NET 6.</p>
<p dir="auto">.NET 8 will remain Y2038 incompatible on Linux Arm32 and .NET 9 will only support recent distro versions (for Arm32). .NET users will need to carefully select the .NET version they use in their Arm32 deployments.</p>
<ul dir="auto">
<li>.NET 9 -- Y2038 compatible; earliest supported OSes:
<ul dir="auto">
<li>Ubuntu 22.04</li>
<li>Debian 12</li>
</ul>
</li>
<li>.NET 8 -- Y2038 incompatible; latest supported OS:
<ul dir="auto">
<li>Ubuntu 22.04</li>
<li>Debian 12</li>
</ul>
</li>
</ul>
<p dir="auto">An implication of this approach is that we will not publish .NET container images for Ubuntu 24.04 for the Arm32 architecture.</p>
<p dir="auto">Note: Exact version information is described in the <a href="https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#linux-compatibility">Linux compatibility</a> section of <a href="https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md">Supported OS Policy</a> documents, for each .NET version.</p>
<p dir="auto">This problem does not affect Arm64 or x64. .NET 8 and NET 9 are supported on the same Debian and Ubuntu versions for those architectures.</p>
<p dir="auto">Y2038 incompatible .NET builds running on a Y2038 compatible Arm32 distro may see the following error.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="The SSL connection could not be established, see inner exception.
The remote certificate is invalid because of errors in the certificate chain: NotTimeValid"><pre class="notranslate"><code class="notranslate">The SSL connection could not be established, see inner exception.
The remote certificate is invalid because of errors in the certificate chain: NotTimeValid
</code></pre></div>
<p dir="auto">It is possible that there are other error conditions.</p>
<p dir="auto">Work will be tracked at: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2281706130" data-permission-text="Title is private" data-url="https://github.com/dotnet/runtime/issues/101944" data-hovercard-type="issue" data-hovercard-url="/dotnet/runtime/issues/101944/hovercard" href="https://github.com/dotnet/runtime/issues/101944">dotnet/runtime#101944</a></p>
<h2 dir="auto">Details</h2>
<p dir="auto">We discovered that <a href="https://github.com/dotnet/runtime/issues/101444" data-hovercard-type="issue" data-hovercard-url="/dotnet/runtime/issues/101444/hovercard">.NET 8 is not compatible with Arm32</a> on Ubuntu 24.04 as part of producing new <code class="notranslate">noble</code> container images. In particular, we see a break in OpenSSL API calls (used for <code class="notranslate">HttpClient</code> and HTTPS).</p>
<p dir="auto">As suggested, there is a solution to this problem, however, it requires that our build targets a glibc version 2.34 that was first made available in Ubuntu 22.04 (in terms of Ubuntu versions). But because we <a href="https://github.com/dotnet/runtime/issues/83428" data-hovercard-type="issue" data-hovercard-url="/dotnet/runtime/issues/83428/hovercard">build on a long stable Linux distro</a> to ensure maximum compatibility, using a new version of glibc to leverage the special compiler flags to enable Y2038 time would unfortunately mean that we'd limit the number of systems where .NET 8 could run, and ultimately we decided this was not in the best interest of .NET users.</p>
<p dir="auto">Y2038 support -- in general -- is a breaking change. As suggested, there is a mitigation for it. Software that targets old glibc versions may be broken. Software that targets new glibc versions and uses the correct compiler flags will work correctly.</p>
<p dir="auto">We have two choices for .NET Arm32 support:</p>
<ul dir="auto">
<li>Support Y2038 with .NET 9 and leave .NET 8 as Y2038 incompatible.</li>
<li>Change the .NET 8 Arm32 build to target Ubuntu 22.04 instead of Ubuntu 16.04. This is a breaking change. For example, .NET 8 deployments on Raspberry Pi OS "bullseye" flavor would break (fail to launch).</li>
</ul>
<p dir="auto">If we could go back in time, we might make this change with .NET 8. However, since Raspberry Pi OS trails Debian releases and Debian is yet to make this change, the .NET 9/10 pair is probably the optimal timeframe.</p>
<p dir="auto">We've decided to make .NET 9 (and future releases) Y2038 compatible on Arm32 as the best overall solution.</p>
tag:github.com,2008:6912423
👋 Take the .NET CLI survey to help shape the future of .NET tooling!
2024-07-08T16:16:00+00:00
2024-08-14T20:36:17+00:00
JonDouglas
https://github.com/JonDouglas
<p dir="auto">Hey friends,</p>
<p dir="auto">We're excited to announce the <a href="https://www.surveymonkey.com/r/MDX9B5G?sessionId=%5BsessionId_value%5D" rel="nofollow">launch of a survey</a> aimed at gathering your insights and feedback on the .NET CLI. As passionate .NET developers, your experiences and suggestions are crucial in helping us improve and enhance the tools you use every day.</p>
<p dir="auto">Your input will directly influence the development and direction of the .NET CLI, ensuring it meets the growing needs of the developer community. This is your chance to voice your opinions, share your challenges, and suggest features that could make your development experience even better.</p>
<p dir="auto">Take a few minutes to share your thoughts:</p>
<p dir="auto"><a href="https://www.surveymonkey.com/r/MDX9B5G?sessionId=%5BsessionId_value%5D" rel="nofollow"><img src="https://private-user-images.githubusercontent.com/1288848/346637404-6a5a7ce2-6bce-4cf4-849c-5023667a2f87.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTI5MzI2MjYsIm5iZiI6MTc1MjkzMjMyNiwicGF0aCI6Ii8xMjg4ODQ4LzM0NjYzNzQwNC02YTVhN2NlMi02YmNlLTRjZjQtODQ5Yy01MDIzNjY3YTJmODcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDcxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTA3MTlUMTMzODQ2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTQxMjkyNTZmMTA1MmNmMDNiOGZlMDk5ZDM3NWU5N2FkOTdkYzUxOTgyNTRmYTljNzNmZTViNDM5OWJhNDYxNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.vjL-t4q53QyK3APnfP-eVao1smm-zvQL2c_1b81JZRI" alt="image" secured-asset-link="" style="max-width: 100%;"></a></p>