Skip to content

Commit e2b5fe4

Browse files
.NET 11 Preview 2 release notes (#10266)
1 parent 68a1b16 commit e2b5fe4

38 files changed

+1077
-678
lines changed
Lines changed: 51 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,44 @@
1-
# Create PRs for .NET Preview or RC
1+
# Create PRs for .NET Preview Component Files
22

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:
3+
Use this workflow to create one PR per component release-notes file for a specific .NET Preview milestone.
44

5-
- DOTNET_VERSION (major only, e.g. 10, 11)
6-
- MILESTONE_KIND (`preview` or `rc`)
7-
- MILESTONE_NUMBER (preview: 1–7, rc: 1–2)
5+
This flow assumes the preview folder was scaffolded with only the two core files (`${DOTNET_VERSION}.0.0-preview.${PREVIEW_NUMBER}.md` and `README.md`) and the component files do not exist yet.
86

9-
PR numbers and historical references remain concrete; only version and milestone values change per cycle.
7+
Supply two inputs when you invoke it:
108

11-
## Sample Inputs (Example)
9+
- DOTNET_VERSION (major only, e.g. 10, 11)
10+
- PREVIEW_NUMBER (1–7)
1211

13-
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.
12+
PR numbers and historical references remain concrete; only version and preview values change per cycle.
1413

15-
## Runtime Inputs (provide these when invoking)
14+
## Runtime inputs (provide these when invoking)
1615

1716
Required:
1817

1918
- DOTNET_VERSION (major) – e.g. 10
20-
- MILESTONE_KIND – `preview` or `rc`
21-
- MILESTONE_NUMBER – preview: 1–7, rc: 1–2
19+
- PREVIEW_NUMBER – 1 to 7
2220

23-
Derived (logic performed mentally / by assistant at run time):
21+
Derived:
2422

23+
- Milestone Label = `Preview ${PREVIEW_NUMBER}`
2524
- Version Path = `${DOTNET_VERSION}.0`
26-
- Milestone Label = if preview → `Preview ${MILESTONE_NUMBER}` else `RC ${MILESTONE_NUMBER}`
27-
- Milestone Prefix = preview → `p${MILESTONE_NUMBER}` ; rc → `rc${MILESTONE_NUMBER}`
28-
- Base Branch = `dotnet${DOTNET_VERSION}-${MilestonePrefix}` (example: `dotnet10-rc2`)
29-
- Working Branch Pattern = `dotnet${DOTNET_VERSION}-${MilestonePrefix}-{name}`
30-
- Release Notes Folder = `release-notes/${DOTNET_VERSION}.0/preview/${MilestonePrefix}` (historical path keeps `preview/rcX` for RC)
25+
- Base Branch = `dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}`
26+
- Preview Folder = `release-notes/${DOTNET_VERSION}.0/preview/preview${PREVIEW_NUMBER}`
27+
- Working Branch Pattern = `dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}-{name-noext}`
3128

32-
Example (NOT to be edited into the file): DOTNET_VERSION=10, MILESTONE_KIND=rc, MILESTONE_NUMBER=2 ⇒ label `RC 2`, prefix `rc2`.
29+
Example (not baked in): DOTNET_VERSION=10, PREVIEW_NUMBER=7 ⇒ label `Preview 7`, base branch `dotnet10-p7`, folder `release-notes/10.0/preview/preview7`.
3330

34-
## Process (assistant substitutes variables at execution time)
31+
## Process (repeat for each file, one at a time)
3532

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).
33+
1. Create a new branch from the milestone base branch:
34+
- `git switch -c dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}-{name-noext} origin/dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}`
35+
1. Create the component file at:
36+
- `release-notes/${DOTNET_VERSION}.0/preview/preview${PREVIEW_NUMBER}/{name}`
37+
1. Add the base content scaffold below, substituting `<Product/Area>` and `${Milestone Label}`:
3838

3939
```markdown
40+
# <Product/Area> in .NET ${DOTNET_VERSION} ${Milestone Label} - Release Notes
41+
4042
Here's a summary of what's new in <Product/Area> in this ${Milestone Label} release:
4143

4244
- [Feature](#feature)
@@ -46,51 +48,61 @@ Here's a summary of what's new in <Product/Area> in this ${Milestone Label} rele
4648
Feature summary
4749
```
4850

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:
51+
1. Run markdown lint for just that file:
52+
- `npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/${DOTNET_VERSION}.0/preview/preview${PREVIEW_NUMBER}/{name}`
53+
1. Commit:
54+
- `Add {name} for .NET ${DOTNET_VERSION} ${Milestone Label}`
55+
1. Push the working branch.
56+
1. Create a pull request with title:
57+
- `Add {name} for .NET ${DOTNET_VERSION} ${Milestone Label}`
58+
59+
And body:
5360

5461
```text
5562
Please update the release notes here as needed for ${Milestone Label}.
5663
5764
/cc @{assignees}
5865
```
5966

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.
67+
1. Assign the PR to the first person listed for that file:
68+
- `gh pr edit <PR_NUMBER> --add-assignee <username>`
69+
1. Switch back to `dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}` and repeat for the next file.
70+
71+
## Important behavior change from older workflow
72+
73+
- Do not look for or replace existing placeholder text in component files.
74+
- Do not duplicate/copy previous preview component files into this folder.
75+
- In this workflow, each component file is created fresh in its own branch and PR.
6276

6377
## Notes
6478

65-
- All milestone release notes live under `release-notes/${DOTNET_VERSION}.0/preview/${MilestonePrefix}/`.
79+
- All component files for the milestone live under `release-notes/${DOTNET_VERSION}.0/preview/preview${PREVIEW_NUMBER}/`.
6680
- Keep the same file-to-assignee mapping unless explicitly changed.
6781
- 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.
6982
- 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).
7183

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.
84+
No need to edit this file between milestones. Provide DOTNET_VERSION and PREVIEW_NUMBER each time; assistant derives the rest.
7385

7486
## Assignment Table (updated using .NET 10 RC 1 assignees)
7587

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.
88+
Use these as default owners unless ownership changes.
7789

7890
| File | Assignee(s) | .NET 10 RC 1 PR |
79-
|------|-------------|-----------------|
91+
| ------ | ----------- | --------------- |
8092
| aspnetcore.md | @danroth27 | #10049 |
8193
| containers.md | @lbussell | #10050 |
8294
| csharp.md | @BillWagner | #10051 |
8395
| dotnetmaui.md | @davidortinau | #10052 |
84-
| efcore.md | @roji | #10053 |
96+
| efcore.md | @SamMonoRT @roji | #10053 |
8597
| fsharp.md | @T-Gro | #10054 |
86-
| libraries.md | @ericstj @artl93 | #10055 |
98+
| libraries.md | @artl93 @jeffhandley @SamMonoRT @karelz | #10055 |
8799
| runtime.md | @richlander | #10056 |
88100
| sdk.md | @baronfel | #10057 |
89101
| visualbasic.md | @BillWagner | #10058 |
90102
| winforms.md | @KlausLoeffelmann @merriemcgaw | #10059 |
91103
| wpf.md | @harshit7962 @adegeo | #10060 |
92104

93-
Here are the files to process one at a time:
105+
Files to process one at a time:
94106

95107
- aspnetcore.md
96108
- containers.md
@@ -109,12 +121,12 @@ Here are the files to process one at a time:
109121

110122
After all component PRs are opened for the milestone, create a consolidation PR:
111123

112-
1. Source: `dotnet${DOTNET_VERSION}-${MilestonePrefix}` → Target: `main`
113-
2. Title: `Add release notes for .NET ${DOTNET_VERSION} ${Milestone Label} across various components`
124+
1. Source: `dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}` → Target: `main`
125+
2. Title: `Add release notes for .NET ${DOTNET_VERSION} Preview ${PREVIEW_NUMBER} across various components`
114126
3. Body sections:
115127
- Intro sentence
116128
- Bullet list of component PRs (e.g. `- ASP.NET Core: #<PR>`)
117129
- CC release management (e.g. `@leecow @rbhanda @victorisr`)
118130
4. Match the structure used previously (see Preview 7 consolidation PR #10006) for consistency.
119131

120-
When adapting for another milestone, update only the branch name, title milestone label, and intro sentence.
132+
When adapting for another preview, update only the preview number, branch name, and title milestone label.
Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,64 @@
1-
# Scaffold Release Notes Folder (Preview or RC)
1+
# Scaffold Preview Release Notes Folder
22

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):
3+
This prompt guides creating the next `.NET Preview` release-notes folder with only the core files needed to start milestone work.
4+
5+
Supply two inputs when invoking it (no file edits required between runs):
46

57
- DOTNET_VERSION (major, e.g. 10, 11)
6-
- MILESTONE_KIND (`preview` or `rc`)
7-
- MILESTONE_NUMBER (preview: 1–7, rc: 1–2)
8+
- PREVIEW_NUMBER (1–7)
89

910
Only these values should change between cycles. Keep concrete links and historical references intact unless they genuinely change.
1011

11-
## Runtime Derivations
12+
## Runtime derivations
1213

1314
Given inputs:
1415

15-
- Milestone Label = if MILESTONE_KIND=preview → `Preview ${MILESTONE_NUMBER}` else `RC ${MILESTONE_NUMBER}`
16-
- Milestone Prefix = preview → `p${MILESTONE_NUMBER}` ; rc → `rc${MILESTONE_NUMBER}`
17-
- Base Branch = `dotnet${DOTNET_VERSION}-${MilestonePrefix}`
18-
- Target Folder = `release-notes/${DOTNET_VERSION}.0/preview/${MilestonePrefix}`
16+
- Milestone Label = `Preview ${PREVIEW_NUMBER}`
17+
- Folder Name = `preview${PREVIEW_NUMBER}`
18+
- Base Branch = `dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}`
19+
- Target Folder = `release-notes/${DOTNET_VERSION}.0/preview/preview${PREVIEW_NUMBER}`
20+
- Main Release File = `${DOTNET_VERSION}.0.0-preview.${PREVIEW_NUMBER}.md`
1921

20-
Example (not baked in): DOTNET_VERSION=10, MILESTONE_KIND=rc, MILESTONE_NUMBER=2 ⇒ Label `RC 2`, Prefix `rc2`.
22+
Example (not baked in): DOTNET_VERSION=10, PREVIEW_NUMBER=7 ⇒ folder `preview7`, main file `10.0.0-preview.7.md`.
2123

2224
## Steps
2325

2426
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)
27+
1. Create `preview${PREVIEW_NUMBER}` if it does not exist.
28+
1. Scaffold only these files in that folder:
29+
- `${DOTNET_VERSION}.0.0-preview.${PREVIEW_NUMBER}.md`
30+
- `README.md`
31+
1. Do not scaffold or copy `api-diff` or `release.json`.
32+
1. In the new folder `README.md`, update heading text, milestone label, and the link to:
33+
- `./${DOTNET_VERSION}.0.0-preview.${PREVIEW_NUMBER}.md`
34+
1. Update the preview root README at `release-notes/${DOTNET_VERSION}.0/preview/README.md` by adding one row for the new preview release linking to `./preview${PREVIEW_NUMBER}/README.md`.
35+
1. Update the version README at `release-notes/${DOTNET_VERSION}.0/README.md`:
36+
- Add a new row for `Preview ${PREVIEW_NUMBER}` pointing at `preview/preview${PREVIEW_NUMBER}/README.md`.
37+
1. Run markdown lint:
38+
- `npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/${DOTNET_VERSION}.0/preview/preview${PREVIEW_NUMBER}/*.md`
39+
- `npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/${DOTNET_VERSION}.0/preview/README.md`
40+
- `npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/${DOTNET_VERSION}.0/README.md`
41+
1. Commit on branch `dotnet${DOTNET_VERSION}-p${PREVIEW_NUMBER}` with message: `Scaffold .NET ${DOTNET_VERSION} Preview ${PREVIEW_NUMBER} release notes folder`.
42+
43+
## Main file template (${DOTNET_VERSION}.0.0-preview.${PREVIEW_NUMBER}.md)
44+
45+
- Start from the previous preview's main release markdown file and update only version/milestone-specific values.
46+
- Keep existing structure and anchors unless they are invalid for the new preview.
47+
48+
## Folder README template (dynamic)
3549

3650
```markdown
37-
# ASP.NET Core in .NET ${DOTNET_VERSION} ${Milestone Label} - Release Notes
38-
39-
Here's a summary of what's new in ASP.NET Core in this release (add or remove sections as needed).
51+
# .NET ${DOTNET_VERSION} Preview ${PREVIEW_NUMBER} - Release Notes
4052

41-
ASP.NET Core updates in .NET ${DOTNET_VERSION}:
53+
.NET ${DOTNET_VERSION} Preview ${PREVIEW_NUMBER} release notes:
4254

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.
44-
- [Breaking changes](https://docs.microsoft.com/dotnet/core/compatibility/${DOTNET_VERSION}.0#aspnet-core)
45-
- [Roadmap](https://github.com/dotnet/aspnetcore/issues/59443)
46-
47-
This ${Milestone Label} release does not contain new ASP.NET Core feature additions.
55+
- [Main release notes](./${DOTNET_VERSION}.0.0-preview.${PREVIEW_NUMBER}.md)
4856
```
4957

50-
## Conventions (stable across milestones)
51-
52-
- Top-level heading: `# <Product> in .NET <Major> <Milestone Label> - Release Notes`
53-
- Use sentence case for section headings after the H1.
54-
- Keep relative links; avoid hardcoding version unless the doc page is versioned (as above for 10.0 links).
55-
- One blank line between blocks; file ends with a newline.
56-
57-
## After Scaffolding
58+
## Conventions
5859

59-
- Proceed with per-file PR creation using the separate PR creation prompt.
60-
- Do not add real feature text until component owners update their individual PRs.
61-
- Run a Prettier check if any JSON metadata was added: `npx prettier --check "release-notes/${DOTNET_VERSION}.0/**/*.json"`.
60+
- Keep links relative where possible.
61+
- Preserve one blank line between markdown blocks.
62+
- Ensure files end with a newline.
6263

63-
No file edits needed between milestones—provide inputs at execution. Leave roadmap issue numbers unless they genuinely change upstream.
64+
No file edits needed between milestones—provide inputs at execution.

.github/skills/libraries-release-notes/SKILL.md

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/skills/libraries-release-notes/references/author-1-entries.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)