You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use this workflow to create one PR per release-notes file for .NET 10 RC 1.
3
+
Use this workflow to create one PR per release-notes file for a specific .NET Preview or RC milestone. You will supply three inputs when you invoke it:
4
4
5
-
Fixed settings:
5
+
- DOTNET_VERSION (major only, e.g. 10, 11)
6
+
- MILESTONE_KIND (`preview` or `rc`)
7
+
- MILESTONE_NUMBER (preview: 1–7, rc: 1–2)
6
8
7
-
- Version Major: 10
8
-
- Version Path: 10.0
9
-
- Milestone Kind: `rc`
10
-
- Milestone Number: `1`
9
+
PR numbers and historical references remain concrete; only version and milestone values change per cycle.
Example below uses: DOTNET_VERSION=10, MILESTONE_KIND=rc, MILESTONE_NUMBER=2 (".NET 10 RC 2"). Replace these values when running for a different milestone.
18
14
19
-
Process (repeat per file in the RC1 folder):
15
+
## Runtime Inputs (provide these when invoking)
20
16
21
-
1. Create a new branch from the base branch `dotnet10-rc1` with name `dotnet10-rc1-{name}`
22
-
1. Modify the corresponding file by replacing any "TBD" placeholder text with: `Something about the feature`.
23
-
1. Validate markdown formatting using markdownlint with the repository's settings (`.github/linters/.markdown-lint.yml`).
24
-
1. Commit with message: `Update {name} for RC 1`.
25
-
1. Push the branch to the remote repository.
26
-
1. Create a pull request with:
17
+
Required:
27
18
28
-
- Title: `Update {name} for RC 1`
29
-
- Body: `Please update the release notes here as needed for RC 1.\n\n/cc @{assignees}`
19
+
- DOTNET_VERSION (major) – e.g. 10
20
+
- MILESTONE_KIND – `preview` or `rc`
21
+
- MILESTONE_NUMBER – preview: 1–7, rc: 1–2
30
22
31
-
1. Assign the PR using GitHub CLI: `gh pr edit <PR_NUMBER> --add-assignee <username>` (use the first listed person for files with multiple assignees)
32
-
1. Switch back to the base branch `dotnet10-rc1` and repeat for the next file.
23
+
Derived (logic performed mentally / by assistant at run time):
- All RC 1 release notes are in the `release-notes/10.0/preview/rc1/` directory.
32
+
Example (NOT to be edited into the file): DOTNET_VERSION=10, MILESTONE_KIND=rc, MILESTONE_NUMBER=2 ⇒ label `RC 2`, prefix `rc2`.
33
+
34
+
## Process (assistant substitutes variables at execution time)
35
+
36
+
1. Create a new branch from the base branch: `git switch -c dotnet${DOTNET_VERSION}-${MilestonePrefix}-{name} origin/dotnet${DOTNET_VERSION}-${MilestonePrefix}`
37
+
1. Modify the file content. If the file contains a neutral/no-new-features sentence such as `This ${Milestone Label} release does not contain new ...` (or the equivalent for a specific RC) replace that entire sentence block with the scaffold below. If no neutral sentence exists, insert the scaffold directly below the heading (only once; do not duplicate it).
38
+
39
+
```markdown
40
+
Here's a summary of what's new in <Product/Area> in this ${Milestone Label} release:
41
+
42
+
- [Feature](#feature)
43
+
44
+
## Feature
45
+
46
+
Feature summary
47
+
```
48
+
49
+
1. Run markdown lint: `npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/${DOTNET_VERSION}.0/preview/${MilestonePrefix}/{name}`
50
+
1. Commit: `Update {name} for ${Milestone Label}`
51
+
1. Push the branch
52
+
1. Create a pull request with title `Update {name} for ${Milestone Label}` and body:
53
+
54
+
```text
55
+
Please update the release notes here as needed for ${Milestone Label}.
56
+
57
+
/cc @{assignees}
58
+
```
59
+
60
+
1. Assign the PR (first listed person if multiple): `gh pr edit <PR_NUMBER> --add-assignee <username>`
61
+
1. Switch back to `dotnet${DOTNET_VERSION}-${MilestonePrefix}` and continue with the next file.
62
+
63
+
## Notes
64
+
65
+
- All milestone release notes live under `release-notes/${DOTNET_VERSION}.0/preview/${MilestonePrefix}/`.
37
66
- Keep the same file-to-assignee mapping unless explicitly changed.
38
-
- Use GitHub CLI for assignments as it's more reliable than the API: `gh pr edit <PR_NUMBER> --add-assignee <username>`
39
-
- For files with multiple assignees, assign to the first listed person only.
40
-
- Replace "TBD" placeholders rather than adding content to avoid duplication.
41
-
- Run markdownlint validation before committing: The repository uses `.github/linters/.markdown-lint.yml` for linting rules.
42
-
- Ensure all markdown files have proper trailing newlines and follow the established formatting standards.
- Use GitHub CLI for assignee setting; it's more reliable than reviewer assignment for this workflow.
68
+
- Always replace placeholders rather than appending text to avoid duplicates.
69
+
- Ensure trailing newline, consistent heading style, and no stray whitespace.
70
+
- Optional: for JSON meta changes run `npx prettier --check "release-notes/${DOTNET_VERSION}.0/**/*.json"` (do not auto-fix when only reporting).
71
+
72
+
No need to edit this file between milestones. Provide DOTNET_VERSION, MILESTONE_KIND, MILESTONE_NUMBER each time; assistant derives the rest. Leave PR number references and assignment history intact unless ownership changes.
73
+
74
+
## Assignment Table (updated using .NET 10 RC 1 assignees)
75
+
76
+
The table below reflects the assignee(s) actually used on the most recent component PRs for .NET 10 RC 1 (PRs #10049–#10060). Use these as the current default owners for upcoming milestones unless ownership changes again. Notable change: libraries and runtime primary owners effectively swapped compared to Preview 7 (libraries → @ericstj, runtime → @richlander). Additional previously listed secondary owners were trimmed where they were not present as assignees on the RC 1 PR.
Create a new folder in the releasenotes/10.0/preview folder for preview7. Inside of it duplicate the folder structure and files that are in the preview6 folder and for each of the files use the following template based on the names of the product that the file is in. You can use the previous file as a reference for the content. Ignore the api-diff folder. Ignore the release.json file.
3
+
This prompt guides creating the next milestone release-notes folder for a .NET Preview or RC. Supply three inputs when invoking it (no file edits required between runs):
4
4
5
-
Here is a sample of what aspnetcore.md should look like:
5
+
- DOTNET_VERSION (major, e.g. 10, 11)
6
+
- MILESTONE_KIND (`preview` or `rc`)
7
+
- MILESTONE_NUMBER (preview: 1–7, rc: 1–2)
6
8
7
-
```markdown
8
-
# ASP.NET Core in .NET 10 Preview 7 - Release Notes
9
+
Only these values should change between cycles. Keep concrete links and historical references intact unless they genuinely change.
9
10
10
-
Here's a summary of what's new in ASP.NET Core in this preview release:
1. Navigate to `release-notes/${DOTNET_VERSION}.0/preview/`.
25
+
1. Duplicate the previous milestone folder (prior prefix → new prefix, e.g. `rc1` → `${MilestonePrefix}` or `p6` → `${MilestonePrefix}`).
26
+
1. Remove (do NOT copy):
27
+
-`api-diff` directory (if present) – will be regenerated later.
28
+
-`release.json` – create a fresh one if required by process.
29
+
1. For each component markdown file, update the heading and milestone label only; preserve existing anchor structure.
30
+
1. If there are no new feature items yet, insert a neutral placeholder sentence (e.g. `This ${Milestone Label} release does not introduce new ${Product} features.`) instead of a generic "Something about the feature" line. Avoid duplicating placeholder lines.
31
+
1. Run markdown lint: `npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/${DOTNET_VERSION}.0/preview/${MilestonePrefix}/*.md`.
32
+
1. Commit on the base milestone branch (`dotnet${DOTNET_VERSION}-${MilestonePrefix}`) with message: `Scaffold .NET ${DOTNET_VERSION} ${Milestone Label} release notes folder`.
33
+
34
+
## Sample File Template (aspnetcore.md – dynamic)
35
+
36
+
```markdown
37
+
# ASP.NET Core in .NET ${DOTNET_VERSION} ${Milestone Label} - Release Notes
19
38
20
-
## Feature
39
+
Here's a summary of what's new in ASP.NET Core in this release (add or remove sections as needed).
21
40
22
-
Something about the feature
41
+
ASP.NET Core updates in .NET ${DOTNET_VERSION}:
23
42
43
+
- [What's new in ASP.NET Core in .NET ${DOTNET_VERSION}](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-${DOTNET_VERSION}.0) documentation.
Copy file name to clipboardExpand all lines: release-notes/10.0/preview/rc2/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# .NET 10 RC 2 - Release Notes
2
2
3
-
.NET 10 RC 2 released on October 14, 2025. Find more information on new features released in .NET 10 RC 2 by browsing through the release notes below:
3
+
.NET 10 RC 2 released on October 14th, 2025. Find more information on new features released in .NET 10 RC 2 by browsing through the release notes below:
-[.NET for iOS, Mac Catalyst, macOS, tvOS](#net-for-ios-mac-catalyst-macos-tvos)
12
+
-[Xcode 26](#xcode-26)
13
+
14
+
## Feature
15
+
16
+
Feature summary
17
+
18
+
.NET MAUI updates in .NET 10:
19
+
20
+
-[What's new in .NET MAUI in .NET 10](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-10) documentation.
21
+
22
+
## .NET MAUI
23
+
24
+
This release has been focused on stabilizing the SDK.
25
+
26
+
### Microphone permission
27
+
28
+
We have added the Windows implementation for `Permissions.RequestAsync<Permissions.Microphone>()` to request and check access permission for the device microphone.
29
+
30
+
### SafeAreaEdges
31
+
32
+
Support for `SafeAreaEdges` has been added to Android for supporting edge-to-edge and managing content relative to keyboard and unsafe areas of the device display.
33
+
34
+
### XAML Source Generation
35
+
36
+
This release includes improvements to XAML source generation with notable improvements to debug time view inflation. To enable this in your project add the following to your project file.
37
+
38
+
```xml
39
+
<PropertyGroup>
40
+
<MauiXamlInflator>SourceGen</MauiXamlInflator>
41
+
</PropertyGroup>
42
+
```
43
+
44
+
## .NET for Android
45
+
46
+
This release includes continued integration with multiple .NET runtimes, and several bug fixes.
47
+
48
+
### Android API 36.1
49
+
50
+
Android API 36.1 bindings are now available thanks to the contribution and collaboration of the [Uno Platform](https://platform.uno/) team.
51
+
52
+
To try out the new APIs, you can opt your project into the new `net10.0-android36.1` target framework:
Note that if omitted, `net10.0-android` will default to API 36.0. `$(EnablePreviewFeatures)` will not be required in future .NET 10 releases.
63
+
64
+
To *use* an Android 36.1-only API you can use the `OperatingSystem` class to check the Android version at runtime:
65
+
66
+
```csharp
67
+
if (OperatingSystem.IsAndroidVersionAtLeast(36, 1))
68
+
{
69
+
// Call some Android 36.1 API here
70
+
}
71
+
else
72
+
{
73
+
// Fallback for older OS versions
74
+
ShowToast("Android 36.1+ is required for this feature");
75
+
}
76
+
```
77
+
78
+
For a full sample using Android 36.1 APIs, see our [Pdf Annotator sample on GitHub](https://github.com/dotnet/android-samples/tree/main/PdfAnnotator).
79
+
80
+
To install the Android 36.1 platform, you can go to **Tools** > **Android** > **Android SDK Manager**. Under the gear icon in the bottom right, change **Repository*** to **Full List**. This allows you to install `Android SDK Platform 36.1`.
81
+
82
+
### (Experimental) CoreCLR
83
+
84
+
We continue to work on enabling Android apps to run on the CoreCLR runtime (instead of Mono). To use it, add the following to your project file for Android builds:
Please try this in your applications and report any issues; when filing feedback, state that you are using UseMonoRuntime=false. Expect that application size is currently larger than with Mono and that debugging and some runtime diagnostics are not fully functional yet; these areas are actively being improved. This is an experimental feature and not intended for production use.
94
+
95
+
A detailed list of Android changes can be found on the [dotnet/android GitHub releases](https://github.com/dotnet/android/releases/).
96
+
97
+
## .NET for iOS, Mac Catalyst, macOS, tvOS
98
+
99
+
This release includes continued integration with multiple .NET runtimes, and several bug fixes.
100
+
101
+
### Xcode 26
102
+
103
+
Xcode 26 bindings have been updated and are available now for both for targeting .NET 9 and .NET 10 RC2. This is compatible with Xcode 26.0 and 26.1.
0 commit comments