Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions release-notes/11.0/preview/preview3/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# .NET 11 Preview 3 - Release Notes

These notes cover the highest-value changes that shipped in .NET 11 Preview 3:

- [Libraries](./libraries.md)
- [Runtime](./runtime.md)
- [SDK](./sdk.md)

## Languages

- [C#](./csharp.md)

## Web and data

- [ASP.NET Core](./aspnetcore.md)
- [EF Core](./efcore.md)

## Release information

| | Version |
| --- | --- |
| Runtime | 11.0.0-preview.3.26179.102 |
| SDK | 11.0.100-preview.3.26179.102 |

### VMR refs

These release notes were generated from the [dotnet/dotnet](https://github.com/dotnet/dotnet) VMR:

- **Base**: [`v11.0.0-preview.2.26159.112`](https://github.com/dotnet/dotnet/tree/v11.0.0-preview.2.26159.112)
- **Head**: [`release/11.0.1xx-preview3`](https://github.com/dotnet/dotnet/tree/release/11.0.1xx-preview3)

## Get Started

Instructions on getting started with .NET 11 can be found in the
[getting started guide](../../get-started.md). Installers and binaries for
.NET 11 Preview 3 are available from
[dotnet.microsoft.com](https://dotnet.microsoft.com/download/dotnet/11.0) and
[.NET 11 Releases](../../README.md).

## Stay up to date

You can find a broader overview of .NET 11 here:

- [What's new in .NET 11](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-11/overview)
- [What's new in ASP.NET Core for .NET 11](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-11)
- [What's new in EF Core 11](https://learn.microsoft.com/ef/core/what-is-new/ef-core-11.0/whatsnew)

The latest .NET 11 release is always available at
[dotnet.microsoft.com](https://dotnet.microsoft.com/download/dotnet/11.0) and
[.NET 11 Releases](../../README.md).
121 changes: 121 additions & 0 deletions release-notes/11.0/preview/preview3/aspnetcore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# ASP.NET Core in .NET 11 Preview 3 - Release Notes

.NET 11 Preview 3 includes new ASP.NET Core features and improvements:

- [Zstandard response compression and request decompression](#zstandard-response-compression-and-request-decompression)
- [Virtualize adapts to variable-height items at runtime](#virtualize-adapts-to-variable-height-items-at-runtime)
- [HTTP/3 starts processing requests earlier](#http3-starts-processing-requests-earlier)
- [Bug fixes](#bug-fixes)
- [Community contributors](#community-contributors)

ASP.NET Core updates in .NET 11:

- [What's new in ASP.NET Core in .NET 11](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-11)
- [dotnet/aspnetcore #64787](https://github.com/dotnet/aspnetcore/issues/64787)

<!-- Verified against Microsoft.AspNetCore.App.Ref@11.0.0-preview.3.26179.102 -->

## Zstandard response compression and request decompression

ASP.NET Core now supports [Zstandard (zstd)](https://facebook.github.io/zstd/)
for both response compression and request decompression
([dotnet/aspnetcore #65479](https://github.com/dotnet/aspnetcore/pull/65479)).
This adds zstd support to the existing response-compression and
request-decompression middleware and enables it by default.

```csharp
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddResponseCompression();
builder.Services.AddRequestDecompression();
builder.Services.Configure<ZstandardCompressionProviderOptions>(options =>
{
options.CompressionOptions = new ZstandardCompressionOptions
{
Quality = 6 // 1-22, higher = better compression, slower
};
});
```

Thank you [@manandre](https://github.com/manandre) for this contribution!

## Virtualize adapts to variable-height items at runtime

Blazor's `Virtualize<TItem>` component no longer assumes every item has the same
height. Preview 3 updates it to adapt to measured item sizes at runtime, which
reduces incorrect spacing and scrolling when item heights vary
([dotnet/aspnetcore #64964](https://github.com/dotnet/aspnetcore/pull/64964)).

```razor
<Virtualize Items="messages" Context="message">
<article class="message-card">
<h4>@message.Author</h4>
<p>@message.Text</p>
</article>
</Virtualize>
```

## HTTP/3 starts processing requests earlier

Kestrel now starts processing HTTP/3 requests without waiting for the control
stream and SETTINGS frame first, which reduces first-request latency on new
connections ([dotnet/aspnetcore #65399](https://github.com/dotnet/aspnetcore/pull/65399)).

<!-- Filtered features (significant engineering work, but too niche or already covered elsewhere):
- OpenAPI 3.2 support: a real breaking-change story for OpenAPI users, but already documented in Preview 2 and not repeated here.
- OpenBSD RID support: welcome platform work, but too narrow for the main ASP.NET Core notes.
-->

## Bug fixes

- **Blazor**
- Fixed a null reference error in `Virtualize`
([dotnet/aspnetcore #65207](https://github.com/dotnet/aspnetcore/pull/65207)).
- Fixed scroll-container detection when `overflow-x` is set
([dotnet/aspnetcore #65744](https://github.com/dotnet/aspnetcore/pull/65744)).
- Fixed the Web Worker template in published Blazor WebAssembly apps
([dotnet/aspnetcore #65885](https://github.com/dotnet/aspnetcore/pull/65885)).
- Fixed TempData lazy loading: `Get`, `Remove`, `Keep`, and enumeration now correctly trigger lazy loading
([dotnet/aspnetcore #65722](https://github.com/dotnet/aspnetcore/pull/65722)).
- Fixed `IJSObjectReference` leak in `ResourceCollectionProvider`
([dotnet/aspnetcore #65606](https://github.com/dotnet/aspnetcore/pull/65606)).
- Fixed cache headers for the Blazor resource collection endpoint to include `no-transform` and correct `Vary` headers
([dotnet/aspnetcore #65513](https://github.com/dotnet/aspnetcore/pull/65513)).
- **Data Protection**
- Fixed `ManagedAuthenticatedEncryptor` hash calculation and comparison on .NET Framework targets
([dotnet/aspnetcore #65890](https://github.com/dotnet/aspnetcore/pull/65890)).
- **HTTP / Kestrel**
- Fixed HTTP/2 HEADERS frame padding length validation to account for PRIORITY flag bytes
([dotnet/aspnetcore #65729](https://github.com/dotnet/aspnetcore/pull/65729)).
- Fixed HTTP/2 Content-Length mismatch with trailers split across CONTINUATION frames
([dotnet/aspnetcore #65765](https://github.com/dotnet/aspnetcore/pull/65765)).
- Fixed HPACK/QPACK decoder to validate uncompressed header size limits per `MaxRequestHeaderFieldSize` documentation
([dotnet/aspnetcore #65771](https://github.com/dotnet/aspnetcore/pull/65771)).
- Fixed oversized TLS record length handling in `TlsListener` per RFC 8446
([dotnet/aspnetcore #65558](https://github.com/dotnet/aspnetcore/pull/65558)).
- Updated `ReasonPhrase` validation for HTTP responses
([dotnet/aspnetcore #65797](https://github.com/dotnet/aspnetcore/pull/65797)).
- **JSON Patch**
- Fixed `JsonPatchDocument` operations on properties within array elements
([dotnet/aspnetcore #65470](https://github.com/dotnet/aspnetcore/pull/65470)).
- **Middleware**
- Fixed output caching freshness check that incorrectly rejected cached entries when the request arrived on the same tick as the cache write
([dotnet/aspnetcore #65659](https://github.com/dotnet/aspnetcore/pull/65659)).
- **Minimal APIs**
- Fixed validation source generator crash when encountering types with indexers like `JsonElement` and `Dictionary`
([dotnet/aspnetcore #65432](https://github.com/dotnet/aspnetcore/pull/65432)).
- **SignalR**
- Fixed cancellation handling with `StatefulReconnect` to be more aggressive
([dotnet/aspnetcore #65732](https://github.com/dotnet/aspnetcore/pull/65732)).

## Community contributors

Thank you contributors! ❤️

- [@am11](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3Aam11)
- [@DarianBaker](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3ADarianBaker)
- [@HPOD00019](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3AHPOD00019)
- [@kasperk81](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3Akasperk81)
- [@kklocker](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3Akklocker)
- [@manandre](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3Amanandre)
- [@martincostello](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A11.0-preview3+author%3Amartincostello)
20 changes: 20 additions & 0 deletions release-notes/11.0/preview/preview3/build-metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"version": "11.0.0-preview.3",
"base_ref": "v11.0.0-preview.2.26159.112",
"head_ref": "origin/release/11.0.1xx-preview3",
"build": {
"version": "11.0.0-preview.3.26203.107",
"sdk_version": "11.0.100-preview.3.26203.107",
"sdk_url": "https://ci.dot.net/public/Sdk/11.0.100-preview.3.26203.107/dotnet-sdk-11.0.100-preview.3.26203.107-{platform}.tar.gz"
},
"nuget": {
"source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11/nuget/v3/index.json",
"packages": {
"Microsoft.NETCore.App.Ref": "11.0.0-preview.3.26203.107",
"Microsoft.AspNetCore.App.Ref": "11.0.0-preview.3.26203.107",
"Microsoft.WindowsDesktop.App.Ref": "11.0.0-preview.3.26203.107",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.3.26203.107",
"Microsoft.Data.Sqlite.Core": "11.0.0-preview.3.26203.107"
}
}
}
Loading
Loading