Skip to content

Commit c8b4842

Browse files
committed
Merge branch 'main' into browser_all
2 parents 27243a0 + e0837be commit c8b4842

File tree

142 files changed

+2911
-1125
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+2911
-1125
lines changed

.github/workflows/backport.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ jobs:
4646
4747
**IMPORTANT**: If this backport is for a servicing release, please verify that:
4848
49-
- The PR target branch is `release/X.0-staging`, not `release/X.0`.
49+
- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`, not `release/X.0`.
50+
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging` suffix).
5051
5152
## Package authoring no longer needed in .NET 9
5253

docs/design/specs/runtime-async.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,5 @@ Other restrictions are likely to be permanent, including
8383
| ------------- | ------------- | ------------- |
8484
| . . . | . . . | . . . |
8585
|Async |0x2000 |Method is an Async Method.|
86+
87+
The flag is represented in IL by the `async` keyword. Tools like `ilasm` and `ildasm` recognize this flag.

docs/project/library-servicing.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
This document provides the steps that need to be followed after modifying a library in a servicing branch.
44

5-
Servicing branches represent shipped versions of .NET, and their name is in the format `release/X.0-staging`. Examples:
5+
Servicing branches represent shipped versions of .NET. The branch naming convention varies by version:
66

7-
- `release/9.0-staging`
8-
- `release/8.0-staging`
7+
- **For .NET 8 and .NET 9**: Branch names use the format `release/X.0-staging`. Examples:
8+
- `release/9.0-staging`
9+
- `release/8.0-staging`
10+
11+
- **For .NET 10+**: Branch names use the format `release/X.0` (no `-staging` suffix). Examples:
12+
- `release/10.0`
13+
- `release/11.0`
914

1015
IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
1116
Keep in mind that we still need package authoring in .NET 8 and older versions.
@@ -26,10 +31,15 @@ Develop and test your change as normal. For packages, you may want to test them
2631
All the servicing change must go through an approval process. You have two ways to submit your PR:
2732

2833
- By manually creating your PR using [this template](https://raw.githubusercontent.com/dotnet/runtime/main/.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md).
29-
- Or by asking the bot to automatically create the servicing PR for you using a merged `main` PR as source. This method requires typing an AzDO backport command as a comment of your merged PR using the format `/backport to release/X.0-staging`. Examples:
34+
- Or by asking the bot to automatically create the servicing PR for you using a merged `main` PR as source. This method requires typing an AzDO backport command as a comment of your merged PR. The format depends on the target version:
3035

36+
For .NET 8 and .NET 9 (use `-staging` suffix):
3137
- `/backport to release/9.0-staging`
3238
- `/backport to release/8.0-staging`
39+
40+
For .NET 10+ (no `-staging` suffix):
41+
- `/backport to release/10.0`
42+
- `/backport to release/11.0`
3343

3444
For all cases, you must:
3545

eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ jobs:
174174
parameters:
175175
jobTemplate: /eng/pipelines/common/global-build-job.yml
176176
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
177-
buildConfig: Checked
177+
buildConfig: Release
178178
runtimeFlavor: coreclr
179179
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
180180
isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }}

eng/pipelines/helix-platforms.yml

Lines changed: 311 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,311 @@
1+
# Helix Platform Definitions
2+
# This template defines platform version aliases for Helix queue names.
3+
# Both latest (newest) and oldest (baseline) supported versions are included.
4+
#
5+
# Usage in templates:
6+
# - template: /eng/pipelines/helix-platforms.yml
7+
#
8+
# Then reference platforms using:
9+
# ${{ variables.helix_macos_arm64 }}
10+
# ${{ variables.helix_linux_x64 }}
11+
# ${{ variables.helix_windows_x64 }}
12+
# etc.
13+
14+
variables:
15+
# ===========================================
16+
# Common Aliases (default to latest)
17+
# ===========================================
18+
19+
- name: helix_macos_arm64
20+
value: ${{ variables.helix_macos_arm64_latest }}
21+
22+
- name: helix_macos_x64
23+
value: ${{ variables.helix_macos_x64_latest }}
24+
25+
- name: helix_linux_x64
26+
value: ${{ variables.helix_linux_x64_latest }}
27+
28+
- name: helix_windows_x64
29+
value: ${{ variables.helix_windows_x64_latest }}
30+
31+
- name: helix_windows_arm64
32+
value: ${{ variables.helix_windows_arm64_latest }}
33+
34+
# ===========================================
35+
# macOS Platforms
36+
# ===========================================
37+
38+
# macOS on ARM64 (Apple Silicon)
39+
# Latest: Sequoia 15 (macOS 26.x kernel)
40+
- name: helix_macos_arm64_latest
41+
value: OSX.26.Arm64.Open
42+
43+
- name: helix_macos_arm64_latest_internal
44+
value: OSX.26.Arm64
45+
46+
# Oldest: Ventura 13
47+
- name: helix_macos_arm64_oldest
48+
value: OSX.13.Arm64.Open
49+
50+
- name: helix_macos_arm64_oldest_internal
51+
value: OSX.13.Arm64
52+
53+
# macOS on x64 (Intel)
54+
# Latest: Ventura 13
55+
- name: helix_macos_x64_latest
56+
value: OSX.13.Amd64.Open
57+
58+
- name: helix_macos_x64_latest_internal
59+
value: OSX.13.Amd64
60+
61+
# Oldest: Ventura 13
62+
- name: helix_macos_x64_oldest
63+
value: OSX.13.Amd64.Open
64+
65+
- name: helix_macos_x64_oldest_internal
66+
value: OSX.13.Amd64
67+
68+
# macOS for iOS/tvOS simulator (ARM64)
69+
# Latest: Sonoma 14
70+
- name: helix_macos_ios_simulator_arm64_latest
71+
value: OSX.15.Amd64.Open
72+
73+
# Oldest: Ventura 13
74+
- name: helix_macos_ios_simulator_arm64_oldest
75+
value: OSX.13.Amd64.Open
76+
77+
# macOS for iOS/tvOS simulator (x64)
78+
# Latest: Sonoma 15
79+
- name: helix_macos_ios_simulator_x64_latest
80+
value: OSX.15.Amd64.Open
81+
82+
# Oldest: Ventura 13
83+
- name: helix_macos_ios_simulator_x64_oldest
84+
value: OSX.13.Amd64.Open
85+
86+
# macOS for iOS device testing
87+
# Latest
88+
- name: helix_macos_ios_device_latest
89+
value: OSX.13.Amd64.Iphone.Open
90+
91+
# Oldest
92+
- name: helix_macos_ios_device_oldest
93+
value: OSX.13.Amd64.Iphone.Open
94+
95+
# macOS for tvOS device testing
96+
# Latest
97+
- name: helix_macos_tvos_device_latest
98+
value: OSX.13.Amd64.AppleTV.Open
99+
100+
# Oldest
101+
- name: helix_macos_tvos_device_oldest
102+
value: OSX.13.Amd64.AppleTV.Open
103+
104+
# ===========================================
105+
# Linux Platforms
106+
# ===========================================
107+
108+
# Linux x64
109+
# Latest: Azure Linux 3.0
110+
- name: helix_linux_x64_latest
111+
value: AzureLinux.3.Amd64.Open
112+
113+
- name: helix_linux_x64_latest_internal
114+
value: AzureLinux.3.Amd64
115+
116+
# Oldest: Ubuntu 22.04
117+
- name: helix_linux_x64_oldest
118+
value: Ubuntu.2204.Amd64.Open
119+
120+
- name: helix_linux_x64_oldest_internal
121+
value: Ubuntu.2204.Amd64
122+
123+
# Ubuntu x64
124+
# Latest: 25.10
125+
- name: helix_linux_x64_ubuntu_latest
126+
value: (Ubuntu.2510.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.10-helix-amd64
127+
128+
# Oldest: 22.04
129+
- name: helix_linux_x64_ubuntu_oldest
130+
value: Ubuntu.2204.Amd64.Open
131+
132+
# Debian x64
133+
# Latest: 13
134+
- name: helix_linux_x64_debian_latest
135+
value: (Debian.13.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-amd64
136+
137+
# Oldest: 12
138+
- name: helix_linux_x64_debian_oldest
139+
value: (Debian.12.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64
140+
141+
# Fedora x64
142+
# Latest: 42
143+
- name: helix_linux_x64_fedora_latest
144+
value: (Fedora.42.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42-helix-amd64
145+
146+
# Oldest: 40
147+
- name: helix_linux_x64_fedora_oldest
148+
value: (Fedora.40.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-40-helix-amd64
149+
150+
# openSUSE x64
151+
# Latest: 15.6
152+
- name: helix_linux_x64_opensuse_latest
153+
value: (openSUSE.15.6.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.6-helix-amd64
154+
155+
# Oldest: 15.5
156+
- name: helix_linux_x64_opensuse_oldest
157+
value: (openSUSE.15.5.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.5-helix-amd64
158+
159+
# CentOS Stream x64
160+
# Latest: 10
161+
- name: helix_linux_x64_centos_latest
162+
value: (Centos.10.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-helix-amd64
163+
164+
# Oldest: 9
165+
- name: helix_linux_x64_centos_oldest
166+
value: (Centos.9.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-9-helix-amd64
167+
168+
# Linux ARM32
169+
# Latest: Debian 13
170+
- name: helix_linux_arm32_latest
171+
value: (Debian.13.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-arm32v7
172+
173+
- name: helix_linux_arm32_latest_internal
174+
value: (Debian.13.Arm32)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-arm32v7
175+
176+
# Oldest: Debian 12
177+
- name: helix_linux_arm32_oldest
178+
value: (Debian.12.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
179+
180+
- name: helix_linux_arm32_oldest_internal
181+
value: (Debian.12.Arm32)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
182+
183+
# Linux ARM64
184+
# Latest: Ubuntu 25.10
185+
- name: helix_linux_arm64_latest
186+
value: (Ubuntu.2510.ArmArch.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.10-helix-arm64v8
187+
188+
# Oldest: Ubuntu 22.04
189+
- name: helix_linux_arm64_oldest
190+
value: Ubuntu.2204.ArmArch.Open
191+
192+
# Linux musl x64
193+
# Latest: Alpine edge
194+
- name: helix_linux_musl_x64_latest
195+
value: (Alpine.edge.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-edge-helix-amd64
196+
197+
# Oldest: Alpine 3.20
198+
- name: helix_linux_musl_x64_oldest
199+
value: (Alpine.320.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-amd64
200+
201+
# Linux musl ARM32
202+
# Latest: Alpine 3.22
203+
- name: helix_linux_musl_arm32_latest
204+
value: (Alpine.322.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm32v7
205+
206+
- name: helix_linux_musl_arm32_latest_internal
207+
value: (Alpine.322.Arm32)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm32v7
208+
209+
# Oldest: Alpine 3.20
210+
- name: helix_linux_musl_arm32_oldest
211+
value: (Alpine.320.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-arm32v7
212+
213+
- name: helix_linux_musl_arm32_oldest_internal
214+
value: (Alpine.320.Arm32)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-arm32v7
215+
216+
# Linux musl ARM64
217+
# Latest: Alpine 3.22
218+
- name: helix_linux_musl_arm64_latest
219+
value: (Alpine.322.Arm64.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
220+
221+
- name: helix_linux_musl_arm64_latest_internal
222+
value: (Alpine.322.Arm64)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
223+
224+
# Oldest: Alpine 3.20
225+
- name: helix_linux_musl_arm64_oldest
226+
value: (Alpine.320.Arm64.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-arm64v8
227+
228+
- name: helix_linux_musl_arm64_oldest_internal
229+
value: (Alpine.320.Arm64)Ubuntu.2204.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.20-helix-arm64v8
230+
231+
# ===========================================
232+
# Windows Platforms
233+
# ===========================================
234+
235+
# Windows x64
236+
# Latest: Windows 11
237+
- name: helix_windows_x64_latest
238+
value: Windows.11.Amd64.Client.Open
239+
240+
- name: helix_windows_x64_latest_internal
241+
value: Windows.11.Amd64
242+
243+
# Oldest: Windows 10
244+
- name: helix_windows_x64_oldest
245+
value: Windows.10.Amd64.Open
246+
247+
- name: helix_windows_x64_oldest_internal
248+
value: Windows.10.Amd64
249+
250+
# Windows 11 with CET (Control-flow Enforcement Technology)
251+
- name: helix_windows_x64_latest_cet
252+
value: Windows.11.Amd64.Cet.Open
253+
254+
# Windows Server
255+
# Latest: Server 2025
256+
- name: helix_windows_server_latest
257+
value: Windows.Server2025.Amd64.Open
258+
259+
# Oldest: Server 2019
260+
- name: helix_windows_server_oldest
261+
value: Windows.Server2019.Amd64.Open
262+
263+
# Windows ARM64
264+
# Latest: Windows 11
265+
- name: helix_windows_arm64_latest
266+
value: Windows.11.Arm64.Open
267+
268+
- name: helix_windows_arm64_latest_internal
269+
value: Windows.11.Arm64
270+
271+
# Oldest: Windows 10
272+
- name: helix_windows_arm64_oldest
273+
value: Windows.10.Arm64.Open
274+
275+
- name: helix_windows_arm64_oldest_internal
276+
value: Windows.10.Arm64
277+
278+
# ===========================================
279+
# Browser/WASM Platforms
280+
# ===========================================
281+
282+
# Browser WASM
283+
# Latest: Ubuntu 24.04
284+
- name: helix_browser_wasm_latest
285+
value: (Ubuntu.2404.Amd64)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-24.04-helix-webassembly-amd64
286+
287+
# Oldest: Ubuntu 22.04
288+
- name: helix_browser_wasm_oldest
289+
value: (Ubuntu.2204.Amd64)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly-amd64
290+
291+
# ===========================================
292+
# Android Platforms
293+
# ===========================================
294+
295+
# Android on Windows (ARM/ARM64)
296+
# Latest
297+
- name: helix_android_latest
298+
value: Windows.11.Amd64.Android.Open
299+
300+
# Oldest
301+
- name: helix_android_oldest
302+
value: Windows.10.Amd64.Android.Open
303+
304+
# Android on Ubuntu (x86/x64)
305+
# Latest: API 29
306+
- name: helix_android_ubuntu_latest
307+
value: Ubuntu.2204.Amd64.Android.29.Open
308+
309+
# Oldest: API 21
310+
- name: helix_android_ubuntu_oldest
311+
value: Ubuntu.2204.Amd64.Android.21.Open

eng/pipelines/libraries/stress/http.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ schedules:
1212
branches:
1313
include:
1414
- main
15-
- release/*-staging
15+
- release/*-staging # .NET 8 and .NET 9
16+
- release/*.0 # .NET 10+
1617

1718
variables:
1819
- template: ../variables.yml

eng/pipelines/libraries/stress/ssl.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ schedules:
1212
branches:
1313
include:
1414
- main
15-
- release/*-staging
15+
- release/*-staging # .NET 8 and .NET 9
16+
- release/*.0 # .NET 10+
1617

1718
variables:
1819
- template: ../variables.yml

0 commit comments

Comments
 (0)