diff --git a/.github/skills/whats-new-include-content-rules/SKILL.md b/.github/skills/whats-new-include-content-rules/SKILL.md index d3a41c78cf9e..605401dfc52f 100644 --- a/.github/skills/whats-new-include-content-rules/SKILL.md +++ b/.github/skills/whats-new-include-content-rules/SKILL.md @@ -23,22 +23,25 @@ All include files go in: ### File naming convention -* Lowercase, hyphenated, descriptive names. -* Append the preview number suffix to each filename: `-preview{N}` (where `{N}` is the preview number, e.g., `-preview2`). +* Lowercase, hyphenated, descriptive names using whole words only. +* Each word and number must be separated by a hyphen. Do not combine words or abbreviate them, and do not combine numbers with words. + - **Wrong**: `infer-pk-display-name-preview2.md` (`pk` is an abbreviation, and `preview2` combines a word with a number) + - **Correct**: `infer-passkey-display-name-preview-2.md` (whole words, number separated by hyphen) +* Append the preview number suffix to each filename: `-preview-{N}` (where `{N}` is the preview number, e.g., `-preview-2`). **CRITICAL**: Every new file MUST include the preview suffix. This was a mistake in the initial automation — a file was created without the suffix and had to be corrected. * Examples: - - `native-otel-tracing-preview2.md` - - `openapi-3-2-support-preview2.md` - - `infer-passkey-display-name-preview2.md` - - `performance-improvements-preview2.md` + - `native-otel-tracing-preview-2.md` + - `openapi-3-2-support-preview-2.md` + - `infer-passkey-display-name-preview-2.md` + - `performance-improvements-preview-2.md` ### One file per feature * Create one include file per feature or section. * **Exception — Performance**: Combine all performance improvements into a - single `performance-improvements-preview{N}.md` file. + single `performance-improvements-preview-{N}.md` file. ### Exclusions — do NOT create include files for @@ -133,7 +136,8 @@ All include files go in: Before completing, verify: -- [ ] Every new include filename ends with `-preview{N}`. +- [ ] Every new include filename ends with `-preview-{N}`. +- [ ] Every word and number in filenames is separated by a hyphen (no abbreviations, no combined word-numbers). - [ ] No Blazor content was included. - [ ] No bug-fix-only content was included. - [ ] All `` IDs are verified (or explicitly flagged as needing verification). @@ -148,6 +152,18 @@ Before completing, verify: --- +## PR description requirements + +* The very first line of the PR description must be `Fixes dotnet/AspNetCore.Docs#{ISSUE NUMBER}` (where `{ISSUE NUMBER}` is the number of the issue this PR addresses), followed by a blank line before any other content. +* Example: + ``` + Fixes dotnet/AspNetCore.Docs#10000 + + Summary of changes... + ``` + +--- + ## Example: Correctly formatted include file ```markdown diff --git a/aspnetcore/release-notes/aspnetcore-11.md b/aspnetcore/release-notes/aspnetcore-11.md index bfff8f1bedfd..671698e45f7b 100644 --- a/aspnetcore/release-notes/aspnetcore-11.md +++ b/aspnetcore/release-notes/aspnetcore-11.md @@ -5,7 +5,7 @@ author: wadepickett description: Learn about the new features in ASP.NET Core in .NET 11. ms.author: wpickett ms.custom: mvc -ms.date: 05/13/2026 +ms.date: 05/14/2026 uid: aspnetcore-11 --- # What's new in ASP.NET Core in .NET 11 @@ -80,6 +80,8 @@ This section describes miscellaneous new features in .NET 11. [!INCLUDE[](~/release-notes/aspnetcore-11/includes/runtime-async-shared-framework-preview4.md)] +[!INCLUDE[](~/release-notes/aspnetcore-11/includes/rate-limiting-retry-after-preview-4.md)] + ## Breaking changes Use the articles in [Breaking changes in .NET](/dotnet/core/compatibility/breaking-changes) to find breaking changes that might apply when upgrading an app to a newer version of .NET. diff --git a/aspnetcore/release-notes/aspnetcore-11/includes/rate-limiting-retry-after-preview-4.md b/aspnetcore/release-notes/aspnetcore-11/includes/rate-limiting-retry-after-preview-4.md new file mode 100644 index 000000000000..df94af6351df --- /dev/null +++ b/aspnetcore/release-notes/aspnetcore-11/includes/rate-limiting-retry-after-preview-4.md @@ -0,0 +1,9 @@ +### Rate-limiting middleware returns accurate `Retry-After` headers + +The now reports a metadata value that accurately reflects the next window boundary. Apps that propagate this metadata to the `Retry-After` response header in their callback now produce correct retry intervals automatically, with no code changes required. + +Additional fixes in `System.Threading.RateLimiting` resolve an issue where mishandled partial token refills during zero-permit acquisition, and improve the chained rate limiter returned by to correctly forward idle-duration and replenishment behavior from its inner limiters. + +For an overview of the rate limiting middleware, see [Rate limiting middleware in ASP.NET Core](/aspnet/core/performance/rate-limit). + +Thank you [@asbjornvad](https://github.com/asbjornvad) and [@apoorvdarshan](https://github.com/apoorvdarshan) for these contributions!