Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 9, 2026

.NET 11 Preview 1 raises minimum hardware requirements for x86/x64 and Arm64 architectures, aligning with OS vendor baselines and reducing runtime complexity.

Changes

  • New breaking change doc: docs/core/compatibility/jit/11/minimum-hardware-requirements.md

    • Documents baseline instruction set updates:
      • x86/x64: x86-64-v1 → x86-64-v2 (adds CX16, POPCNT, SSE3, SSSE3, SSE4.1, SSE4.2)
      • Arm64 Windows: armv8.0-a → armv8.0-a + LSE
    • Documents ReadyToRun target updates:
      • x86/x64 (Linux/Windows): → x86-64-v3 (adds AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE)
      • Arm64 Linux: → armv8.0-a + LSE
      • Arm64 Windows: → armv8.2-a + RCPC
    • Error message: "The current CPU is missing one or more of the baseline instruction sets"
  • Updated TOC: Added JIT compiler section under .NET 11 with new breaking change entry

  • Updated index: Added JIT compiler section to docs/core/compatibility/11.md

Impact

All .NET 11 applications require the new minimum instruction sets. Unsupported hardware will fail to launch. Raspberry Pi and older x86/x64 CPUs (pre-2013) are affected on Windows; Linux Arm64 devices remain supported at armv8.0-a baseline.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Breaking change]: Minimum hardware requirements updated</issue_title>
<issue_description>### Description

The minimum hardware requirements are updated as follows:

Arm64

Operating System Previous JIT/AOT Minimum New JIT/AOT Minimum Previous R2R Target New R2R Target
Apple Apple M1 (No Change) Apple M1 (No Change)
Linux armv8.0-a (No Change) armv8.0-a armv8.0a + LSE
Windows armv8.0-a armv8.0-a + LSE armv8.0-a armv8.2-a + RCPC

x86/x64

Operating System Previous JIT/AOT Minimum New JIT/AOT Minimum Previous R2R Target New R2R Target
Apple x86-64-v1 x86-64-v2 x86-64-v2 (No Change)
Linux x86-64-v1 x86-64-v2 x86-64-v2 x86-64-v3
Windows x86-64-v1 x86-64-v2 x86-64-v2 x86-64-v3

Version

.NET 11 Preview 1

Previous behavior

By default .NET would successfully launch and run on older hardware. Individual applications may have opted-in to higher baselines or explicitly used hardware intrinsics that raised the baseline for their scenario.

New behavior

.NET will fail to run on older hardware and may print a message similar to the following. A more descriptive message may be provided in some scenarios that lists the concrete hardware requirements for a given Operating System and architecture.

The current CPU is missing one or more of the baseline instruction sets.

For ReadyToRun (https://learn.microsoft.com/en-us/dotnet/core/deploying/ready-to-run) capable assemblies, there may be additional startup overhead on some hardware which is supported but which doesn't meet the expected support for a typical device.

Type of breaking change

  • Binary incompatible: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
  • Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
  • Behavioral change: Existing binaries might behave differently at run time.

Reason for change

.NET supports a broad range of hardware, often above and beyond the minimum hardware requirements put in place by the underlying Operating System, and has built-in support for taking advantage of the hardware it is actively running on for JIT scenarios. However, this support adds significant complexity to the codebase, particularly for much older hardware that is unlikely to still be in use. Additionally, it defines a "lowest common denominator" that AOT targets must default to which can, in some domain specific scenarios, lead to reduced performance for applications.

The update to the minimum baseline was made to reduce the maintenance complexity of the codebase and to better align with the documented (and often enforced) hardware requirements of the underlying Operating System.

Arm64

For Apple, there is no change to the minimum hardware or the ReadyToRun target. The Apple M1 chips are approximately equivalent to armv8.5-a and so provide support for at least the AdvSimd (NEON), CRC, DOTPROD, LSE, RCPC, RCPC2, and RDMA instruction sets.

For Linux, there is no change to the minimum hardware. We continue to support devices such as Raspberry PI which may only provide support for the AdvSimd instruction set. The ReadyToRun target has been updated to include the LSE instruction set which may result in additional jitting overhead if you launch an application

For Windows the baseline is updated to require the LSE instruction set. This is required by Windows 11 (https://learn.microsoft.com/en-us/windows-hardware/design/minimum/minimum-hardware-requirements-overview) and by all Arm64 CPUs officially supported by Windows 10 (https://learn.microsoft.com/en-us/windows-hardware/design/minimum/windows-processor-requirements). It is additionally inline with the Arm SBSA (Server Base System Architecture) requirements. The ReadyToRun target has been updated to be armv8.2-a + RCPC (this provides support for at least AdvSimd, CRC, LSE, RCPC, and RDMA) which covers the majority of hardware officially supported.

x86/x64

For all three operating systems, the baseline is updated from x86-64-v1 to x86-64-v2. This chang...


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.


Internal previews

📄 File 🔗 Preview link
docs/core/compatibility/11.md Breaking changes in .NET 11
docs/core/compatibility/jit/11/minimum-hardware-requirements.md Minimum hardware requirements updated
docs/core/compatibility/toc.yml docs/core/compatibility/toc

…n .NET 11

Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
Copilot AI changed the title [WIP] Update minimum hardware requirements for JIT/AOT and R2R Document minimum hardware requirements breaking change for .NET 11 Jan 9, 2026
Copilot AI requested a review from gewarren January 9, 2026 18:40
@gewarren gewarren marked this pull request as ready for review January 9, 2026 23:12
@gewarren gewarren requested a review from a team as a code owner January 9, 2026 23:12
Copilot AI review requested due to automatic review settings January 9, 2026 23:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request documents a breaking change in .NET 11 Preview 1 where minimum hardware requirements have been updated for x86/x64 and Arm64 architectures. The changes align .NET's baseline requirements with OS vendor requirements and reduce runtime complexity.

Key changes:

  • Documents baseline instruction set updates from x86-64-v1 to x86-64-v2 for x86/x64 and armv8.0-a to armv8.0-a + LSE for Arm64 Windows
  • Documents ReadyToRun target updates to x86-64-v3 for Linux/Windows x86/x64 and enhanced targets for Arm64
  • Adds proper navigation structure through TOC and index updates

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
docs/core/compatibility/jit/11/minimum-hardware-requirements.md Main breaking change documentation detailing updated hardware requirements, impact, and rationale
docs/core/compatibility/toc.yml Adds JIT compiler section under .NET 11 with new breaking change entry
docs/core/compatibility/11.md Adds JIT compiler section to the .NET 11 breaking changes index

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Member

@BillWagner BillWagner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM. Let's :shipit:

@gewarren gewarren merged commit b15f9a3 into main Jan 12, 2026
11 checks passed
@gewarren gewarren deleted the copilot/update-minimum-hardware-requirements branch January 12, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Breaking change]: Minimum hardware requirements updated

4 participants