[release-notes] .NET 11 Preview 3#1
Conversation
Cron-driven GitHub Agentic Workflow that maintains release notes branches for .NET preview/RC/GA releases. Architecture: - dotnet-release generate changes tool produces changes.json (deterministic, from VMR source-manifest.json diffs) - Agent reads changes.json and writes curated markdown for high-value features - One PR per release milestone, maintained incrementally - Respects human edits on the branch Skill references (6 docs, ~700 lines total): - quality-bar.md: what good release notes look like - vmr-structure.md: VMR branches, tags, source-manifest.json - changes-schema.md: changes.json schema reference - component-mapping.md: components, product slugs, output files - format-template.md: markdown document structure - editorial-rules.md: tone, attribution, naming Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Describes the three-layer architecture (tool → agent → workflow), the source-manifest.json mechanism, branch lifecycle, and design rationale. Links from SKILL.md for discoverability. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tested dotnet-release v1.1.0 generate changes against the VMR (P1→P2: 1,389 changes across 21 repos). Updated docs to reflect the actual tool output: - Remove aspirational product/package fields from changes-schema.md (tool outputs repo, not product slugs) - Add labels field (optional, via --labels flag) - Fix workflow CLI syntax (positional path, --base/--head) - Update component-mapping.md: agent does repo→file routing - Remove resolved open question about package mapping - Update example JSON and jq queries to match real output Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
vstest is the only microsoft org repo in the VMR manifest and is already on the infra skip list. SAML token requirements for the microsoft org can be addressed later. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tested --labels flag: 776/1389 changes got labels (56% coverage). Best coverage: runtime (94%), roslyn (96%), winforms/wpf (100%). Lower coverage on infra-heavy repos as expected. Corrected the schema docs — the product field IS output by the tool (repo-level mapping), just empty for infra repos. Added product back to the schema with accurate description. Added labels field documentation and updated examples/queries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace heuristic branch-scanning with a deterministic algorithm using three data sources: 1. releases.json → what has shipped 2. VMR eng/Versions.props on main → current development iteration 3. VMR tags → base refs for generating diffs Decision: if Versions.props iteration > latest shipped → that's the target. Exact commands provided in workflow steps 1-2. Updated DESIGN.md (milestone detection section), vmr-structure.md (version metadata + base tag discovery), and the workflow file (deterministic steps 1 and 2 with concrete examples). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Once main is bumped to the next iteration, it contains preview N+1 work. The agent must check if a VMR tag exists for the target milestone: - No tag → in development, use --head main - Tag exists → finalized, use --head <tag> Updated workflow step 1e and step 2 with both code paths. Added Head ref selection section to DESIGN.md explaining why this matters. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The general 'What'\''s new in .NET' link belongs in README.md, not in every component file. Component files should link to their specific docs page when one exists (runtime, libraries, SDK, ASP.NET Core, C#, EF Core). Added the dotnet/docs overview source URL so the agent can discover component-specific links. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
v1.2.0 now maps every source-repo change to its VMR codeflow commit. The new dotnet_commit field on each change entry keys into the commits dict for the dotnet/dotnet commit. Multiple source PRs typically share the same VMR commit (codeflow batches). Updated schema docs, example JSON, and field descriptions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- commit field is now VMR commit (was source repo) - dotnet_commit removed (replaced by commit) - local_repo_commit added for source repo commit - product field absent for infra repos (not empty string) - Updated example and jq queries Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Multi-milestone: discover all active milestones (P4 and P5 simultaneously) - Re-validate base/head refs every nightly run (tags appear, branches create, main bumps) - Branch-per-milestone on dotnet/core (release-notes/11.0-preview4, etc.) - Human interaction: respect edits, respond to PR comments, ask when unsure - Handle transitions: main bumps, new tags, release branches, PR merges - Increased safe-output limits for multi-milestone support - Updated DESIGN.md with multi-milestone discovery, human interaction model Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix invalid toolsets: contents→repos, code_search→search - Add compiled release-notes.lock.yml - Add .github/aw/actions-lock.json (gh aw artifact) - Add linguist-generated gitattributes for lock files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The inline example in this file is the authoritative reference. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Six examples from .NET 9/10 preview release notes demonstrating three styles: - Short: exception handler diagnostics, container insecure registries - Medium: extension operators (C#), PipeReader JSON support - Long: post-quantum cryptography, OpenIdConnect PAR Added to reference docs list in workflow and DESIGN.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Three styles of JIT feature descriptions: - Array Enumeration De-Abstraction (progressive benchmarks, optimization narrative) - Struct Arguments codegen (before/after assembly comparison) - Loop Optimizations (metric-heavy prose, no code) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The agent should recognize when a feature description needs content it can't generate (benchmark data, definitive code samples, domain expertise) and post PR comments requesting it from feature authors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace monolithic examples.md with per-component files: - examples/README.md — principles index, component directory - examples/runtime.md — 3 JIT examples with inlined content - examples/aspnetcore.md — 3 examples (short/medium/long) - examples/csharp.md — extension operators - examples/sdk.md — container insecure registries - examples/libraries.md — post-quantum cryptography Each file includes the actual example text and links back to the original source file. Agent loads only the relevant component file when writing, saving context tokens. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
New format per file: ## Heading (H2) Actual content (copy/paste from original) --- Source: link to original Commentary: why it was selected Why it works: what makes it effective --- Clear separation between the example content and the editorial commentary. Content reads exactly as it would in release notes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- id field is now string (repo@commit format) — globally unique - Updated schema docs and example JSON - Removed trailing blank lines in example metadata blocks Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
More frequent runs mean faster feedback loops on PR comments and quicker pickup of new VMR content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replaces SuppressDiagnosticsCallback (prose-only) with StatusCodeSelector (one paragraph + clean code sample). Better exemplar for 'short + code'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The 'guest introduction' style restructures the note around attribution instead of the feature. Prefer: explain the feature, then credit at end. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
'Snippet' in a programming context suggests code. Say what you mean plainly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Features must matter to ≥20% of readers. Write so the other 80% understand why. If you can only write two sentences, it's probably an engineering fix — cut it. Headlines should convey value. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Agents weren't told to read the curated examples before writing. The examples directory has 5 component files and 12 editorial principles — our best guidance on style. Now explicitly referenced. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Say what concretely changed (enabled by default, no opt-in needed) rather than editorializing readiness (ready for production use). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When cutting features for 20/80 or two-sentence test, record them in an HTML comment in the output file. Creates a learning record for future runs and human reviewers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Borderline features should get a TODO comment asking for data rather than being silently included or silently cut. - Community contributor lists must be vetted: exclude -msft suffixes and other Microsoft employee indicators. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
README.md should include a version table and VMR base/head refs with links. Values come from build-metadata.json. Useful for tracking what was diffed and for incremental updates. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
A feature introduced in P1 and enabled by default in P3 is new news. Don't skip it just because the feature name appeared in a prior preview. Document the change in state, not the feature from scratch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Initial draft release notes for .NET 11 Preview 3: - libraries.md: System.Text.Json cluster (PascalCase, JsonNamingPolicyAttribute, type-level JsonIgnore, byref constructor params), System.IO (RandomAccess on non-seekable files, SafeFileHandle.CreateAnonymousPipe), ProcessStartInfo null fix, assembly load tracing improvement - runtime.md: GC regions on macOS, runtime-async continuation optimizations - aspnetcore.md: Blazor Virtualize variable-height items - efcore.md: ChangeTracker.GetEntriesForState(), provider swapping APIs - Stubs for csharp, fsharp, sdk, winforms, wpf, msbuild, nuget - changes.json: manually generated (dotnet-release tool unavailable) - README.md: index linking all component files with VMR refs VMR base: v11.0.0-preview.2.26159.112 VMR head: release/11.0.1xx-preview3 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| This release includes bug fixes and quality improvements across several areas: | ||
|
|
||
| <!-- Filtered features --> | ||
|
|
||
| ## Community contributors | ||
|
|
||
| Thank you contributors! ❤️ |
There was a problem hiding this comment.
The bug fixes and community contributors lists don't seem to have populated.
|
Warning The Thanks for the feedback! I've investigated all 14 PRs in Preview 3 and addressed the empty sections: Bug fixes and Community contributors sections were empty because:
Both now use the Bonus fix in
|
|
Warning The Addressed your feedback — changes just pushed: Empty sections removed —
Daily summary: No new changes to Preview 3 content since last run (still at 14 changes, same VMR head ref
|
f79e51b to
8765882
Compare
Initial draft release notes for .NET 11 Preview 3.
Milestone
11.0.0-preview.3v11.0.0-preview.2.26159.112release/11.0.1xx-preview3Changes summary
14 changes across 3 product repos identified (351 VMR commits in range):
runtimeaspnetcoreefcoreComponents written
libraries.mdruntime.mdaspnetcore.mdefcore.mdcsharp.mdfsharp.mdsdk.mdwinforms.mdwpf.mdmsbuild.mdnuget.mdchanges.jsondotnet-releasetool unavailable — commit SHAs are placeholders; PR URLs are correctchanges.jsoncommit SHAs are placeholders — thedotnet-release generate changestool was not available in this environment (not on NuGet, ADO feed blocked by network). The VMR codeflow commit hashes use placeholder values. PR URLs and titles are accurate. This should be regenerated when the tool becomes available.Version numbers — using
11.0.0-preview.3as placeholder. Final build version will be known when Preview 3 ships.No api-diff — API diff directory not generated (requires running tooling against the SDK).
Stubs may need content — Roslyn (C#/VB), F#, and SDK had SHA bumps in the source manifest. The stubs say "no new features" — please review if there are features worth documenting.
Items for human review
SafeFileHandle.CreateAnonymousPipe()API signature inlibraries.md— the parametersreaderOpenAsynchronous/writerOpenAsynchronousshould be confirmed against the actual APIaspnetcore.mdNote
🔒 Integrity filter blocked 520 items
The following items were blocked because they don't meet the GitHub integrity level.
list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_commits: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter: