[release-notes] ASP.NET Core in .NET 11 Preview 6 - #10456
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds the draft ASP.NET Core component release notes for .NET 11 Preview 6 to the release-notes repository, documenting new features, breaking changes, bug fixes, and community contributors for the milestone branch (release-notes/11.0-preview6).
Changes:
- Introduces feature writeups for Minimal API async validation, Blazor
Virtualizescrolling, OpenAPI updates,[ShortCircuit], and SignalR authentication refresh. - Captures notable breaking changes and a short bug-fix roundup.
- Adds a milestone-scoped community contributor list.
Verified each feature with runnable samples on the Preview 6 build: - Async validation: IAsyncValidatableObject also needs the sync Validate member, and AsyncValidationAttribute is overridden via IsValidAsync (not GetValidationResultAsync). - Virtualize: Items requires ICollection<T>, so the sample uses List<T> (IReadOnlyList<T> does not compile). - [ShortCircuit]: robots.txt should use [ShortCircuit] (200), not [ShortCircuit(404)] which returns the body with a 404; added a minimal API example. OpenAPI 3.2 default + union anyOf schema and SignalR auth refresh verified accurate as written. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Verified every feature in these notes by building and running samples against the locally installed .NET 11 Preview 6 SDK (build Async validation (ran a minimal API; valid → 200, async rules → 400):
Blazor Virtualize (verified in a headless browser:
Verified accurate as written (no change):
Note: the local build is |
…59.118 - Rename async validation section to 'Async validation for minimal APIs' (danroth27); cross-reference the libraries release notes; throw from the sync Validate for async-only types (Youssef1313). - Split OpenAPI into 'OpenAPI 3.2 by default' (kept as a feature) and a broader 'Unions in ASP.NET Core' section covering Minimal APIs, MVC, SignalR, and Blazor, with cross-references to the C#/libraries notes (BrennanConroy). Shorter headings (Copilot). - SignalR: add the client-side WithAuthenticationRefresh API, and a new 'Cancel hub invocations from the client' section for #64098 (BrennanConroy). - Community contributors: remove Microsoft/.NET-team affiliated accounts. Verified every sample against the final Preview 6 SDK (11.0.100-preview.6.26359.118). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Pushed an update addressing the review feedback. Summary: Restructure
Re-verified on the final Preview 6 build ( Community contributors — vetted all 12 for Microsoft/.NET-team affiliation and removed two:
The other 10 (Xebia, Syncfusion, IBM, Cloudflare, and independents) are external and were kept. @desjoerd and @sheiksyedm are public members of the |
Neither is on the .NET product team (per danroth27), so they belong in the community contributors list even though one is a Microsoft employee (other team) and one is a vendor contractor. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ng changes - Move EnvironmentBoundary->EnvironmentView, GetUriWithHash->GetUriWithFragment, browser options reshape, media component move, and the minimal API validation resolver split into a new 'Preview API changes' section (migration notes). - Remove the two Blazor feature sections that re-documented renamed APIs. - Document automatic cross-origin (CSRF) protection as new functionality (fold in the shared-verdict detail from #67082) instead of a breaking change. - Reference the Preview 1 EnvironmentBoundary notes for the rename. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Reframed the Blazor preview API changes per the guidance that preview-to-preview renames aren''t breaking changes (we haven''t shipped these APIs in a stable release yet). New
Removed the two Blazor feature sections that re-documented the renamed APIs — we don''t need to re-document a renamed feature, just note the rename. Automatic cross-origin (CSRF) protection is now documented purely as new functionality; I folded the shared-verdict detail (dotnet/aspnetcore#67082) into that feature section instead of listing it as a breaking change. Net result: there is no
|
The Microsoft.AspNetCore.Components.Media package has no matching preview.6 build, so drop the media-components mention for now. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… links Verified against the .NET 11 Preview 6 source (release/11.0.1xx-preview6) and the installed 26359.118 build: - CORS-policy trust for cross-origin callers (the primary upgrade action) - .DisableAntiforgery() / [IgnoreAntiforgeryToken] per-endpoint opt-out and the DisableCsrfProtection global key - clarify verdict is deferred to form consumers (JSON APIs aren't rejected) - correct middleware ordering to 'after authentication and authorization' - link the new conceptual and migration docs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Reviewed the Automatic cross-origin (CSRF) protection section against the new draft docs (reference, migration) and improved it. Every claim is verified against the Preview 6 source ( What changed:
Runtime check against the installed P6 build (curl,
One nuance worth knowing: reading |
Release notes should introduce the feature, not reproduce docs content. Remove the CORS/opt-out how-to and the doc links (docs may be refactored). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the per-endpoint and global opt-out options and the ICsrfProtection extension point (verified in the P6 source); drop only the how-to detail and doc links. Trim the now-redundant opt-out clause from the intro. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply BrennanConroy's review suggestions on PR #10456. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
|
||
| ## OpenAPI 3.2 by default | ||
|
|
||
| Generated OpenAPI documents now target OpenAPI 3.2 by default ([dotnet/aspnetcore #67097](https://github.com/dotnet/aspnetcore/pull/67097), [dotnet/aspnetcore #67007](https://github.com/dotnet/aspnetcore/pull/67007)). OpenAPI 3.2 is the newest version of the specification. Documents continue to generate as before; set the document version explicitly if you need to target an earlier version for tooling that hasn't adopted 3.2 yet. |
There was a problem hiding this comment.
I'm having a hard time understanding what "Documents continue to generate as before" means
There was a problem hiding this comment.
Pinging @tdykstra for an 👁️ on this suggestion because we're mirroring this language in the PR for ASP.NET Core What's New coverage (dotnet/AspNetCore.Docs #37334).
There was a problem hiding this comment.
Reworded to make clear only the default document version changes; your generation code and configuration are unchanged. Since the docs (dotnet/AspNetCore.Docs#37334) mirror this language, I'll leave this thread open to align with whatever final wording you and @tdykstra land on. cc @guardrex
Youssef1313
left a comment
There was a problem hiding this comment.
LGTM for the parts in my areas. Only left few comments.
Also are we intentionally missing dotnet/aspnetcore#66527 ?
- Async validation: don't imply Microsoft.Extensions.Validation uses the
Validator static class; move Validator.ValidateObjectAsync to the libraries
cross-reference (list only the APIs M.E.Validation runs).
- 'silently validated' -> 'silently skipped' for clarity.
- Sync Validate sample throws InvalidOperationException to match the docs.
- OpenAPI 3.2: clarify that only the default document version changes.
- Editorial pass: remove prose em-dash asides (unions limits, short-circuit),
tighten wording ('do real work' -> concrete), reduce repetition.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Introduce the simpler declarative AsyncValidationAttribute model first, then IAsyncValidatableObject for more control (was leading with the low-level interface). - Fix the awkward 'This...' paragraph opener. - Remove the thank-you to @Youssef1313 (a .NET team member, not a community contributor). - AsyncValidationAttribute.IsValid is abstract, so the attribute sample throws from the sync path (verified by building and running the sample on the P6 build: [UniqueEmail] returns 400 via IsValidAsync). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the parenthetical 'see the ... release notes' references with inline links on the corresponding text, and point the C# link at the correct section anchor (#unions-ship-their-support-types-in-the-box). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Link 'C# union types' to the Microsoft Learn language reference for unions. - Scope the MVC/Razor Pages bullet to [FromBody] parameters and JSON responses so it doesn't overstate support (form binding isn't supported; #67005 only verified the JSON flow), removing the apparent conflict with the limits note. - Clarify the Blazor prerendering 'round-trip': parameters are serialized and deserialized when the component becomes interactive, and a union with a null active case now restores correctly (#67296). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- MVC/Razor Pages: say 'JSON request bodies and responses' instead of '[FromBody] parameters' ([FromBody] doesn't imply JSON and doesn't cover form posts); unions are JSON-only. - Blazor: remove the prerendering null-active-case detail sentence. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Describe the tool's purpose (signed dev JWTs, key in user secrets, printed bearer token) so the file-based app support is clear. Verified create --file on the P6 build: it issues a token and assigns the app a user-secrets ID. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The WithBrowserOptions/BrowserOptions surface is server-side plumbing for the Aspire Blazor hosting integration (microsoft/aspire#15691), never introduced as a user-facing ASP.NET Core API. A preview rename of niche infrastructure isn't useful upgrade guidance, so remove the bullet. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- OpenAPI unions: correct the third-party generator claim (ApiExplorer does not detect unions via JsonTypeInfoKind.Union; Swashbuckle/NSwag don't yet recognize unions). Per @DeagleGross review on #10456. - Blazor Virtualize: note that a user scroll during ScrollToIndexAsync wins. Per @ilonatommy review on #10456. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Let me jump in to mention that if you want to cross-link to the two Blazor node article sections, use the following two links. The Blazor node articles (and changes on the Blazor Pre6 PR) cover the
UPDATE: I added those links to the Blazor section of ASP.NET Core What's New that pertains to the BWA template change (dropping the antiforgery middleware setup), along with the general links to CSRF middleware. |
* [release-notes] .NET 11 Preview 6 base metadata changes.json, features.json, build-metadata.json, and README for the .NET 11 Preview 6 milestone (VMR base v11.0.0-preview.5.26302.115 -> head release/11.0.1xx-preview6). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [release-notes] C# in .NET 11 Preview 6 (#10460) * [release-notes] C# in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update release-notes/11.0/preview/preview6/csharp.md --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * [release-notes] MSBuild in .NET 11 Preview 6 (#10463) * [release-notes] MSBuild in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add bug-fix note for architecture-agnostic Runtime=NET task host handshake (dotnet/msbuild#13890) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Remove HTML comments from Preview 6 MSBuild release notes Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Chet Husk <chusk3@gmail.com> * [release-notes] NuGet in .NET 11 Preview 6 (#10464) * [release-notes] NuGet in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix STJ feature-flag env var value and remove VS reference Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Chet Husk <chusk3@gmail.com> * [release-notes] .NET SDK in .NET 11 Preview 6 (#10459) * [release-notes] .NET SDK in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Clarify NativeAOT CLI updates in preview6/sdk.md Updated the NativeAOT CLI section to clarify the unification of managed and NativeAOT parsers, and removed filtered content related to internal changes. * Add live running-tests display to dotnet test notes Document the in-flight test progress panel (dotnet/sdk#54486) and fix pre-existing trailing-space lint errors in the NativeAOT section. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Chet Husk <baronfel@users.noreply.github.com> Co-authored-by: Chet Husk <chusk3@gmail.com> * [release-notes] Windows Forms in .NET 11 Preview 6 (#10465) * [release-notes] Windows Forms in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Revise Windows Forms release notes for Preview 6 Updated release notes for .NET 11 Preview 6 to include bug fixes and improvements for various Windows Forms components. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Klaus Löffelmann <9663150+KlausLoeffelmann@users.noreply.github.com> * [release-notes] .NET MAUI in .NET 11 Preview 6 (#10467) * [release-notes] .NET MAUI in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Draft .NET MAUI and friends notes for .NET 11 Preview 6 Combined highlights for .NET MAUI, .NET for Android, and .NET for iOS, Mac Catalyst, macOS, and tvOS: CollectionView2 on Windows, handler-based Shell on Android, Compatibility package removal, AOT-safe HybridWebView, Geolocation minimum-distance filter, a reliability wave, the AndroidMessageHandler HTTP-contract work, and the Apple platform toolchain and NSUrlSessionHandler updates. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Add Preview 6 items from MAUI maintainer review Incorporates jfversluis review feedback on #10467: - Android MediaPicker result recovery APIs (dotnet/maui#35455) - HybridWebView Android message-source filtering (dotnet/maui#35717) - XAML C# expression source generator CS1061 fix (dotnet/maui#35922) - Testable permissions via IPermissions/Permissions.Current (dotnet/maui#35987) - XA0149 warning for legacy __AndroidEnvironment__ resources (dotnet/android#11700) - Skip library proguard.txt with disallowed R8 global options (dotnet/android#11709) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: David Ortinau <david.ortinau@microsoft.com> * [release-notes] EF Core in .NET 11 Preview 6 (#10462) Co-authored-by: AndriySvyryd <6539701+AndriySvyryd@users.noreply.github.com> * [release-notes] F# in .NET 11 Preview 6 (#10461) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [release-notes] Containers in .NET 11 Preview 6 (#10468) * [release-notes] Containers in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update release notes --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Logan Bussell <loganbussell@microsoft.com> * [release-notes] .NET Libraries in .NET 11 Preview 6 (#10457) * [release-notes] .NET Libraries in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix async DataAnnotations sample after testing on the Preview 6 SDK AsyncValidationAttribute is overridden via the protected IsValidAsync (and IsValid) members, not GetValidationResultAsync (which is the public method the framework calls and is not virtual). Verified the corrected sample compiles and runs against the Preview 6 build. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Verify Preview 6 library samples and fix inaccuracies - Stream adapters: read from the read-only stream via StreamContent/PostAsync instead of copying HttpContent into it - Cross-lane vectors: replace nonexistent Concat with ConcatLowerLower/LowerUpper/UpperLower/UpperUpper and drop preexisting Shuffle/ShuffleNative - Async validation: swap the unique-username example for a VAT registry lookup, layer StringLength and RegularExpression sync rules with the async rule, and add a server-side validation note Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com> * [release-notes] ASP.NET Core in .NET 11 Preview 6 (#10456) * [release-notes] WPF in .NET 11 Preview 6 (#10466) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Throw InvalidOperationException for sync validation of async validator Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply late review suggestions from #10456 to the ASP.NET Core notes - OpenAPI unions: correct the third-party generator claim (ApiExplorer does not detect unions via JsonTypeInfoKind.Union; Swashbuckle/NSwag don't yet recognize unions). Per @DeagleGross review on #10456. - Blazor Virtualize: note that a user scroll during ScrollToIndexAsync wins. Per @ilonatommy review on #10456. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add P6 Blazor items to align with docs (dotnet/AspNetCore.Docs#37322) - CSRF: note that Blazor Web App templates no longer call app.UseAntiforgery(). - Bug fixes/Blazor: Virtualize is now CSP-compliant (#66680); session cookie is issued before streaming SSR for [SupplyParameterFromSession]/TempData (#66832). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Document 'Configure Blazor client behavior from the server' as a P6 feature WithBrowserOptions flows client-side Blazor.start configuration from the server in C# (log level, Server reconnection, SSR DOM preservation, WASM environment), serialized to the client across Server/WebAssembly/Auto render modes. Introduced in Preview 4 (server-to-browser config via DOM comment) and reshaped in Preview 6 (dotnet/aspnetcore#67337, proposal #66393). Includes the reshape/rename migration for earlier adopters. Sample build-verified on 11.0.100-preview.6.26359.118. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Correct Virtualize CSP note: data-blazor-virtualize-reserved-height Reviewing dotnet/AspNetCore.Docs#37322 surfaced that the attribute is data-blazor-virtualize-reserved-height (only the server-computed spacer height), not the generic data-blazor-style. Verified in the P6 source (Virtualize.cs / Virtualize.ts). @ilonatommy corrected the same wording on the docs PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [release-notes] .NET Runtime in .NET 11 Preview 6 (#10458) * [release-notes] .NET Runtime in .NET 11 Preview 6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Enrich Preview 6 runtime notes with additional verified features Fold verified .NET 11 Preview 6 runtime changes into runtime.md (JIT improvements, in-process crash logging, NativeAOT interface dispatch, SIMD lane APIs, and an expanded bug-fix list), and rebuild the TOC to match the current sections. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade796bb-8052-4946-b204-a88518267e77 --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Rich Lander <2608468+richlander@users.noreply.github.com> * fix markdown lint in preview6 containers note Co-authored-by: jongalloway <68539+jongalloway@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Chet Husk <chusk3@gmail.com> Co-authored-by: Chet Husk <baronfel@users.noreply.github.com> Co-authored-by: Klaus Löffelmann <9663150+KlausLoeffelmann@users.noreply.github.com> Co-authored-by: David Ortinau <david.ortinau@microsoft.com> Co-authored-by: AndriySvyryd <6539701+AndriySvyryd@users.noreply.github.com> Co-authored-by: Logan Bussell <loganbussell@microsoft.com> Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Rich Lander <2608468+richlander@users.noreply.github.com> Co-authored-by: Rahul Bhandari <rbhanda@microsoft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jongalloway <68539+jongalloway@users.noreply.github.com>
Draft ASP.NET Core release notes for .NET 11 Preview 6. This PR targets the milestone base branch
release-notes/11.0-preview6(see #10455).Please review the AI-authored content for accuracy, including any code samples and
<!-- TODO -->/<!-- Filtered features -->notes, then mark ready for review. 🤖 Generated with the release-notes skill.