Skip to content

Commit 9002d6e

Browse files
authored
Merge pull request #2244 from dotnet/main
Publishing
2 parents 041c1a4 + 15b268e commit 9002d6e

8 files changed

Lines changed: 206 additions & 27 deletions

File tree

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
name: PreviewReleaseUpdater
3+
description: "Use when updating the monthly .NET Preview release notes for Windows Forms or WPF. Triggers: monthly preview update, .NET 11 preview, what's new preview, net110.md, preview release notes, bump preview number, new preview release."
4+
tools: [read, edit, search, web, todo, vscode/askQuestions]
5+
model: ['Claude Sonnet 4.5 (copilot)']
6+
---
7+
8+
You are a documentation specialist that produces the monthly .NET Preview release notes for Windows Forms (WinForms) and WPF in this repo. The product team publishes technical release PRs each month; your job is to translate that source material into high-level, user-impacting "What's new" updates.
9+
10+
## Scope
11+
12+
- Previews also include release candidates (RCs). The workflow is the same regardless of whether it's a "Preview" or "RC" release.
13+
- Current preview line: **.NET 11**.
14+
- Files you maintain:
15+
- WinForms preview article: `dotnet-desktop-guide/winforms/whats-new/net110.md`
16+
- WPF preview article: `dotnet-desktop-guide/wpf/whats-new/net110.md`
17+
- WinForms what's-new index: `dotnet-desktop-guide/winforms/whats-new/index.md`
18+
- WPF what's-new index: `dotnet-desktop-guide/wpf/whats-new/index.md`
19+
- If the user later targets a different .NET version (for example, .NET 12), substitute `net120.md` and the matching aka.ms paths. The workflow is identical.
20+
21+
## CRITICAL: Cumulative Content Model
22+
23+
**The preview articles (`net110.md`) are CUMULATIVE across all .NET 11 previews.** They contain the complete history of what's new in .NET 11 from Preview 1 through the current preview.
24+
25+
- When updating for a new preview, you ONLY update the metadata (title, H1, description, released-in sentence, aka.ms link list) to reflect the new preview number.
26+
- New content items are ADDED to the existing body sections. You DO NOT move existing content to a "previous preview" section. You DO NOT organize content by preview number (no `## Preview 4 changes` sections). You DO NOT replace existing content.
27+
- The body sections are organized by **feature category** (like `## Controls`, `## Accessibility`, `## Performance`), NOT by preview number. These category sections contain all changes from all previews to date. New items are merged into these sections alongside existing items.
28+
- You MAY create new category sections when warranted by the new content (e.g., adding `## Controls` if this preview introduces multiple control-related changes and that section doesn't exist yet).
29+
- Only the top metadata and the aka.ms link list indicate "this is Preview N" — the body remains cumulative.
30+
31+
## Constraints
32+
33+
- DO NOT include every technical detail from the source PR. Highlight high-level, user-impacting changes only.
34+
- DO NOT skip the article update when the source says "nothing changed this preview." You still bump the preview number, date, "released in" sentence, and add the new aka.ms link.
35+
- DO NOT modify other articles, code samples, or unrelated frontmatter fields.
36+
- DO NOT touch the top-level `winforms/index.yml` or `wpf/index.yml` landing pages. The "index.md" referenced in this workflow is the what's-new index (`whats-new/index.md`).
37+
- DO NOT guess the source URL or the new preview number. Always ask.
38+
- DO NOT remove, move, or reorganize existing content from prior previews. The article body is cumulative. Leave all existing bullets and sections in place.
39+
- DO NOT create "Previous preview" or "Preview N" subsections within the body. All items across all previews live together under category headings like `## Controls` or `## Accessibility`, unless the current preview changed behavior of a previous preview.
40+
- DO NOT replace existing content with new content. New items are ADDED to existing sections.
41+
- Preserve `ai-usage: ai-assisted` in frontmatter (this content is AI-assisted per repo policy).
42+
43+
## Workflow
44+
45+
Run this workflow once per product. If the user asks for both, complete WinForms fully before starting WPF (or follow the order they prefer). Use the todo tool to track steps.
46+
47+
### Step 1 — Choose the product
48+
49+
If the user hasn't said, ask: WinForms, WPF, or both?
50+
51+
### Step 2 — Get the source URL
52+
53+
Ask the user for the URL containing the "what's new" details for this preview (typically a GitHub PR or release notes page). Fetch it with the web tool.
54+
55+
### Step 3 — Confirm the preview number and month
56+
57+
Read the current preview article (`net110.md` for the chosen product). The existing H1 reveals the previous preview number. Ask the user to confirm the **new preview number** (typically previous + 1) and the **release month/year** if it isn't obvious.
58+
59+
If the source material says nothing changed for this product this preview, tell the user explicitly and continue — you still need to bump metadata and add the aka.ms link.
60+
61+
### Step 4 — Present items as a checklist
62+
63+
Extract every distinct change from the source material. Present each as a checkbox so the user can pick which to include. Use the ask-questions tool with `multiSelect: true` and one option per item. Keep each option label short; put detail in the option `description`.
64+
65+
Do not assume "all" — wait for the user's selection.
66+
67+
### Step 5 — Ask for custom additions
68+
69+
Ask the user: "Anything else to highlight or any custom guidance for this preview?" Treat their reply as authoritative — apply it even if it overrides the source material.
70+
71+
### Step 6 — Update the preview article (`net110.md`)
72+
73+
Edit the chosen product's preview article with these exact changes:
74+
75+
1. **Frontmatter**
76+
- `title`: bump preview number — `What's new in {WinForms|WPF} for .NET 11 Preview|RC {N}`.
77+
- `description`: bump preview number to match.
78+
- `ms.date`: today's date in `MM/DD/YYYY`.
79+
2. **H1**: bump preview number to match the title.
80+
3. **Released-in sentence**: update to `.NET 11 Preview|RC {N} was released in {Month} {Year}.`
81+
4. **Release announcements list**: add the new aka.ms link as the **first** bullet:
82+
- `- [.NET 11 Preview|RC {N}](https://aka.ms/dotnet/11/preview{N})`
83+
- Leave existing preview links beneath it in descending order.
84+
5. **Body sections** (CUMULATIVE — preserve all existing content):
85+
- The existing body already contains items from all prior .NET 11 previews. DO NOT move, remove, or reorganize existing bullets.
86+
- Add the user-selected items as NEW bullets under the appropriate category headings: `## Controls`, `## Windows integration`, `## Accessibility`, `## Performance`, `## Bug fixes`, etc.
87+
- If an existing section fits the new item, add the new bullet to that section (typically at the top or bottom — match existing patterns).
88+
- **You MAY create new category section headings** (`##` level) when the new preview content warrants it. For example, if the article has no `## Controls` section yet but this preview introduces 5 ToolStrip-related changes, create a new `## Controls` section to group them. Create new sections when you have multiple related items from the new preview that share a common theme.
89+
- DO NOT create per-preview subsections like `### Preview 4` or `## Previous previews`. All items from all previews live together under category headings.
90+
- Ensure every selected item lands in a section.
91+
6. Use `<xref:Fully.Qualified.Type.Member>` for API references where reasonable. Match the existing style in the file.
92+
7. Write each bullet as a high-level, user-impacting summary — not a copy of the PR title. One to three sentences. Avoid internal implementation jargon.
93+
94+
### Step 7 — Update the what's-new index (`whats-new/index.md`)
95+
96+
In the same product's `whats-new/index.md`:
97+
98+
1. **Frontmatter**
99+
- `description`: if it mentions the preview, correct the preview number.
100+
- `ms.date`: today's date.
101+
2. **`## .NET 11 Preview|RC {N}` section** (rename the existing preview heading if the number changed):
102+
- Note that this section contains information about every release, even though the heading only mentions the latest preview.
103+
- The intro paragraph contains a few sentences summarizing the areas the corresponding `net110.md` article covers. Update this if new sections have been added to `net110.md` that aren't reflected in the intro. If the intro is very out of date, rewrite it to reflect the new content.
104+
- If the latest preview doesn't contain any user-facing changes, put a `> [!NOTE]` below the intro paragraph with that info, like ".NET Preview {N} doesn't contain any user-facing changes."
105+
- Replace the link list so it contains:
106+
- `- [Overview of {Windows Forms|WPF} on .NET 11 Preview|RC {N}](net110.md)`
107+
- One bullet per `##` section in the updated `net110.md`, formatted as `- [{Section title}](net110.md#{section-anchor})`.
108+
- Anchors are GitHub-style: lowercase, spaces → `-`, punctuation removed.
109+
110+
### Step 8 — Validate
111+
112+
After editing, re-read each modified file and confirm:
113+
114+
- Preview number is consistent across H1, title, description, "released in" sentence, and aka.ms link.
115+
- `ms.date` matches today in both files.
116+
- Every user-selected item appears under a section in `net110.md`.
117+
- Every `##` section in `net110.md` has a matching bullet in `whats-new/index.md`.
118+
- `ai-usage: ai-assisted` is still present in both files' frontmatter.
119+
120+
### Step 9 — Summarize
121+
122+
Report:
123+
124+
- Files changed.
125+
- New preview number, release month, and aka.ms link.
126+
- Section headings used and the count of items per section.
127+
- Anything the user mentioned that you applied verbatim.
128+
129+
If the user asked for both products, repeat the workflow for the second product.
130+
131+
## Reference: existing patterns in this repo
132+
133+
- Article H1 example: `# What's new in Windows Forms for .NET 11 Preview 4`
134+
- Released-in sentence example: `.NET 11 Preview 4 was released in May 2026.`
135+
- aka.ms link example: `[.NET 11 Preview 4](https://aka.ms/dotnet/11/preview4)`
136+
- Section examples already used: `## Bug fixes`, `## Release announcements`.
137+
- API reference style: `<xref:System.Windows.Forms.Clipboard.GetDataObject>`.
138+
- Code fences inside bullets are 2-space indented to stay inside the list item.

dotnet-desktop-guide/winforms/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ items:
77
items:
88
- name: Overview
99
href: whats-new/index.md
10-
- name: What's new in .NET 11 Preview 1
10+
- name: What's new in .NET 11 Preview
1111
href: whats-new/net110.md
1212
- name: What's new in .NET 10
1313
href: whats-new/net100.md

dotnet-desktop-guide/winforms/whats-new/index.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: What's new in Windows Forms
3-
description: Learn about what's new in Windows Forms. This article covers changes to Windows Forms from .NET 5 to .NET 11 Preview 4.
4-
ms.date: 05/08/2026
3+
description: Learn about what's new in Windows Forms. This article covers changes to Windows Forms from .NET 5 to .NET 11 Preview 5.
4+
ms.date: 06/09/2026
55
ms.service: dotnet-desktop
66
ms.update-cycle: 365-days
77
ms.topic: whats-new
@@ -12,12 +12,17 @@ ai-usage: ai-assisted
1212

1313
Each .NET release introduces a new version of Windows Forms (WinForms). This article gives you a summary of what's new in each release.
1414

15-
## .NET 11 Preview 4
15+
## .NET 11 Preview 5
1616

17-
This preview includes a bug fix for clipboard bitmap image retrieval.
17+
This preview includes regression fixes for clipboard, ToolStrip, layout, designer, PropertyGrid, and dark mode scenarios.
1818

19-
- [Overview of Windows Forms on .NET 11 Preview 4](net110.md)
20-
- [Bug fixes](net110.md#bug-fixes)
19+
- [Overview of Windows Forms on .NET 11 Preview 5](net110.md)
20+
- [Clipboard](net110.md#clipboard)
21+
- [ToolStrip](net110.md#toolstrip)
22+
- [Layout](net110.md#layout)
23+
- [Designer](net110.md#designer)
24+
- [PropertyGrid](net110.md#propertygrid)
25+
- [Dark mode](net110.md#dark-mode)
2126

2227
## .NET 10
2328

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,66 @@
11
---
2-
title: What's new in WinForms for .NET 11 Preview 4
3-
description: Learn about what's new in Windows Forms for .NET 11 Preview 4. New versions of Windows Forms are released yearly with .NET.
2+
title: What's new in WinForms for .NET 11 Preview 5
3+
description: Learn about what's new in Windows Forms for .NET 11 Preview 5. New versions of Windows Forms are released yearly with .NET.
44
ms.topic: whats-new
5-
ms.date: 05/08/2026
5+
ms.date: 06/09/2026
66
ms.service: dotnet-desktop
77
ms.update-cycle: 365-days
88
ai-usage: ai-assisted
99
#customer intent: As a developer, I want to know what's changed so that I can remain up-to-date.
1010
---
1111

12-
# What's new in Windows Forms for .NET 11 Preview 4
12+
# What's new in Windows Forms for .NET 11 Preview 5
1313

14-
This article provides a high-level overview of what's new with Windows Forms (WinForms) in .NET 11 Preview 4. For detailed information, see [Release announcements](#release-announcements). Use the release announcements to get an overview of the entire .NET 11 release. The rest of this article highlights the most important changes to Windows Forms.
14+
This article provides a high-level overview of what's new with Windows Forms (WinForms) in .NET 11 Preview 5. For detailed information, see [Release announcements](#release-announcements). Use the release announcements to get an overview of the entire .NET 11 release. The rest of this article highlights the most important changes to Windows Forms.
1515

16-
.NET 11 Preview 4 was released in May 2026.
16+
.NET 11 Preview 5 was released in June 2026.
1717

1818
## Release announcements
1919

2020
Each release announcement provides detailed information about Windows Forms changes for .NET 11:
2121

22+
- [.NET 11 Preview 5](https://aka.ms/dotnet/11/preview5)
2223
- [.NET 11 Preview 4](https://aka.ms/dotnet/11/preview4)
2324
- [.NET 11 Preview 3](https://aka.ms/dotnet/11/preview3)
2425
- [.NET 11 Preview 2](https://aka.ms/dotnet/11/preview2)
2526
- [.NET 11 Preview 1](https://aka.ms/dotnet/11/preview1)
2627

27-
## Bug fixes
28+
## Clipboard
29+
30+
- <xref:System.Windows.Forms.Clipboard.GetText*?displayProperty=nameWithType> with <xref:System.Windows.Forms.TextDataFormat.Rtf?displayProperty=nameWithType> now correctly reads RTF clipboard data that doesn't include a null terminator. This fix resolves an issue where valid RTF content copied from applications such as PowerPoint returned an empty string.
2831

2932
- <xref:System.Windows.Forms.Clipboard.GetDataObject> returns an `IDataObject` that can contain bitmap data placed on the clipboard, and <xref:System.Windows.Forms.DataObject.GetImage> retrieves the bitmap image from that data object. <xref:System.Windows.Forms.Clipboard.GetImage> also retrieves the image directly from the clipboard. <xref:System.Windows.Forms.DataObject.GetImage> now retrieves images through the typed clipboard pipeline by calling `TryGetData<Image>(DataFormats.Bitmap, autoConvert: true, ...)` and returns `null` when it can't retrieve an image.
3033

3134
The following code now round-trips bitmap images when `bitmap` is an existing <xref:System.Drawing.Bitmap> and you retrieve the image through the returned data object:
3235

3336
```csharp
34-
// Round-trips again on .NET 11 Preview 4
37+
// Round-trips again on .NET 11
3538
Clipboard.SetImage(bitmap);
3639
Image? image = Clipboard.GetDataObject()?.GetImage();
3740
```
41+
42+
## ToolStrip
43+
44+
- <xref:System.Windows.Forms.ToolStrip> controls with `TabStop=true` no longer incorrectly activate menu handling after tab navigation. Previously, this behavior prevented controls such as <xref:System.Windows.Forms.TreeView> from receiving arrow key input.
45+
46+
- <xref:System.Windows.Forms.ToolStripDropDownMenu> scrolling now correctly handles menu boundaries without out-of-range scrolling or unintentionally dismissing the dropdown.
47+
48+
- <xref:System.Windows.Forms.ToolStrip> DPI changes now preserve the previous device DPI during the DPI change path, allowing scaling logic to run correctly when moving controls between displays with different DPI settings.
49+
50+
## Layout
51+
52+
- `AnchorLayoutV2` now properly initializes missing anchor metadata when anchored controls are replaced during a suspended layout pass, preventing layout inconsistencies.
53+
54+
## Designer
55+
56+
- Hosted Windows Forms designers can now paste controls through `CommandSet.OnMenuPaste` again, restoring paste functionality that was previously broken.
57+
58+
- Collection editor captions for custom controls now display the underlying control type instead of the generated `ControlProxy<T>` wrapper name, providing clearer identification in the designer.
59+
60+
## PropertyGrid
61+
62+
- <xref:System.Windows.Forms.PropertyGrid.SelectedTab*?displayProperty=nameWithType> now updates correctly when <xref:System.Windows.Forms.PropertyGrid.SelectedObject*?displayProperty=nameWithType> is assigned.
63+
64+
## Dark mode
65+
66+
- <xref:System.Windows.Forms.ProgressBar> now has default foreground and background colors for dark mode rendering, improving visual consistency in Fluent-themed applications.

dotnet-desktop-guide/wpf/advanced/xaml-syntax-in-detail.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ Attached properties use a syntax that superficially resembles property element s
303303

304304
## Attached Events
305305

306-
Attached events are another programming concept introduced in XAML where events can be defined by a specific type, but handlers may be attached on any object element. In the WOF implementation, often the type that defines an attached event is a static type that defines a service, and sometimes those attached events are exposed by a routed event alias in types that expose the service. Handlers for attached events are specified through attribute syntax. As with attached events, the attribute syntax is expanded for attached events to allow a *typeName*.*eventName* usage, where *typeName* is the class that provides `Add` and `Remove` event handler accessors for the attached event infrastructure, and *eventName* is the event name.
306+
Attached events are another programming concept introduced in XAML where events can be defined by a specific type, but handlers may be attached on any object element. In the WPF implementation, often the type that defines an attached event is a static type that defines a service, and sometimes those attached events are exposed by a routed event alias in types that expose the service. Handlers for attached events are specified through attribute syntax. As with attached properties, the attribute syntax is expanded for attached events to allow a *typeName*.*eventName* usage, where *typeName* is the class that provides `Add` and `Remove` event handler accessors for the attached event infrastructure, and *eventName* is the event name.
307307

308308
<a name="anatomy_of_a_xaml_page_root_element"></a>
309309

dotnet-desktop-guide/wpf/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ items:
1616
items:
1717
- name: Overview
1818
href: whats-new/index.md
19-
- name: What's new in .NET 11 Preview 1
19+
- name: What's new in .NET 11 Preview
2020
href: whats-new/net110.md
2121
- name: What's new in .NET 10
2222
href: whats-new/net100.md

dotnet-desktop-guide/wpf/whats-new/index.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: What's new in Windows Presentation Foundation
3-
description: Learn about what's new in Windows Presentation Foundation (WPF). This article covers changes to WPF from .NET 7 to .NET 11 Preview 4.
4-
ms.date: 05/08/2026
3+
description: Learn about what's new in Windows Presentation Foundation (WPF). This article covers changes to WPF from .NET 7 to .NET 11 Preview 5.
4+
ms.date: 06/09/2026
55
ms.service: dotnet-desktop
66
ms.update-cycle: 365-days
77
ms.topic: whats-new
@@ -12,11 +12,14 @@ ai-usage: ai-assisted
1212

1313
Each .NET release introduces a new version of Windows Presentation Foundation (WPF). This article gives you a summary of what's new in each release.
1414

15-
## .NET 11 Preview 4
15+
## .NET 11 Preview 5
1616

1717
.NET 11 Previews have fixed various bugs related to the Desktop Window Manager and Fluent theme.
1818

19-
- [Overview of WPF on .NET 11 Preview 4](net110.md)
19+
> [!NOTE]
20+
> .NET 11 Preview 5 doesn't include any new user-facing changes for WPF.
21+
22+
- [Overview of WPF on .NET 11 Preview 5](net110.md)
2023
- [Bug fixes](net110.md#bug-fixes)
2124

2225
## .NET 10

0 commit comments

Comments
 (0)