Skip to content

[release-notes] ASP.NET Core in .NET 11 Preview 4#10389

Open
danroth27 wants to merge 13 commits intorelease-notes/11.0-preview4from
release-notes/11.0-preview4-aspnetcore
Open

[release-notes] ASP.NET Core in .NET 11 Preview 4#10389
danroth27 wants to merge 13 commits intorelease-notes/11.0-preview4from
release-notes/11.0-preview4-aspnetcore

Conversation

@danroth27
Copy link
Copy Markdown
Member

ASP.NET Core release notes for .NET 11 Preview 4.

Targets the milestone base branch #10388. Merging this PR
into release-notes/11.0-preview4 adds aspnetcore.md to the milestone.

Generated end-to-end by the release-notes skill. AI-authored content;
please review for accuracy, resolve any inline <!-- TODO --> placeholders,
and then mark this PR ready for review.

cc @danroth27

Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
danroth27 and others added 3 commits April 30, 2026 07:00
Live-tested every feature against the installed
11.0.100-preview.4.26224.122 build with reflection + sample apps:

* Resolve TLS TODO: confirm ITlsHandshakeFeature.Exception property name.
* OpenAPI file results: note .Produces<FileContentHttpResult>() annotation
  is required for the binary schema to appear (PR #64562 fires from
  metadata, not auto-inference).
* Endpoint filter on binding failure: drop the inaccurate
  ValueTask<object?> claim (PR #64539 applies to any return type), and
  call out RouteHandlerOptions.ThrowOnBadRequest = false so the filter
  observes the 400 in Development mode.

Filed dotnet/aspnetcore#66541 for a Virtualize prepend edge case
(scroll-anchor regression when `_itemsBefore == 0`); release-notes claim
left as-is — the bug only affects the case where the user has not yet
scrolled the rendered window past index 0.

Circuit-pause and `mcpserver` template remain documented; both PRs were
merged late in the cycle and are expected to land in a Preview 4 servicing
build.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* HTTP QUERY (#65714) is OpenAPI-only; reword and rename heading.
* Virtualize: clarify #65951 covers height-changes-above-viewport
  (no API change). Add separate section for #66521's new
  AnchorMode parameter, including ItemComparer guidance for
  reference-type items.
* Add a Runtime-async section for #66449 (backport of #66200).
  Removes the pre-filtering note that excluded it.

Feedback from BrennanConroy and ilonatommy on #10389.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Missed in initial pass: dotnet/aspnetcore#65885 fixes the Blazor
Web Worker template failing in published WASM apps because workers
don't inherit the page's import map. Belongs alongside the existing
WebWorker template entries.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
danroth27 and others added 5 commits May 1, 2026 15:58
* Drop backport PR # (use original #66200 only)
* Add a call to action for developers to test their apps and
  report regressions caused by runtime-async enablement.

Feedback from BrennanConroy on #10389.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…eal CircuitHandler pattern

Verified against 11.0.0-preview.4.26230.115: there is no public registry
of active circuits. The supported discovery path is
CircuitHandler.OnConnectionUpAsync. Updated the example to track circuits
in a CircuitHandler and drain them via the captured references.
Also clarify return-value semantics and that onPauseRequested is a
JS-side option on Blazor.start().

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Documents how to opt in to the new Blazor Gateway (PR dotnet/aspnetcore#65982)
in a standalone Blazor WebAssembly app: swapping the DevServer reference for
Microsoft.AspNetCore.Components.Gateway, configuring YARP proxying to backend
APIs, and exposing a runtime config endpoint to the client. Links to the
GatewayDemo sample in danroth27/AspNetCore11Samples for an end-to-end setup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sample was restructured to live in BlazorWasmFeatures/ alongside sibling
BackendApi/ and Gateway/ projects (replacing the GatewayDemo/ subtree).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Microsoft.AspNetCore.Components.Gateway package isn't being produced on
the build feeds (the Web SDK defaults IsPackable to false, silently no-op'ing
Pack). A fix is up at dotnet/aspnetcore#66579 but won't make Preview 4, so
remove the section and TOC entry; we'll bring it back when the package ships.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@danroth27
Copy link
Copy Markdown
Member Author

Update: pulling the Blazor Gateway section back out of the Preview 4 release notes for now. The package isn't being produced on the build feeds — root cause turned out to be that Microsoft.NET.Sdk.Web defaults IsPackable to false, so the Gateway project's Pack target silently no-ops despite IsShippingPackage=true and a custom NuspecFile. One-line fix is up at dotnet/aspnetcore#66579, but it won't make Preview 4. We'll bring the content back once the package actually ships.

Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated

Apps that use OpenTelemetry or hot reload aren't affected — the feature switches default on in those configurations.

## Runtime-async enabled for shared framework libraries
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @agocke in case you want to provide input on the messaging here.

Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
- Remove duplicate 'Thank you @kilifu' line in HTTP QUERY section.
- Add UseTlsClientHelloListener snippet to the TLS section.
- Split 'OpenAPI and minimal API improvements' into two sections so
  the endpoint-filter bullet (not OpenAPI-related) stands on its own.
- Remove the agent-generated 'Filtered features' HTML comment block.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
Comment thread release-notes/11.0/preview/preview4/aspnetcore.md Outdated
- HTTP QUERY: replace 'first-class' with 'known' (per @halter73), and
  expand with OpenAPI 3.2 'query' Path Item field details and the
  'OpenApiVersion'/'x-oai-additionalOperations' note (per @mikekistler).
- HTTP QUERY follow-up sentence: lowercase 'get'/'post' to match OpenAPI
  spec casing (per @mikekistler).
- TLS section: replace standalone snippet with combined snippet that
  also demonstrates 'ITlsHandshakeFeature.Exception' via connection
  middleware, and ensures 'UseTlsClientHelloListener' is called before
  'UseHttps' (per @DeagleGross + @halter73 + @BrennanConroy).
- Endpoint filters: drop the redundant short-circuit sentence, clarify
  'ThrowOnBadRequest' default in non-Development environments, and call
  out the 10.0.8 backport (per @halter73).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants