Skip to content

Release 0.41.0-rc1000 - #436

Merged
ipjohnson merged 1 commit into
mainfrom
release-0.41.0
Sep 26, 2026
Merged

ipjohnson merged 1 commit into
mainfrom
release-0.41.0

Conversation

@ipjohnson

Copy link
Copy Markdown
Owner

Cuts v0.41.0-rc1000. It carries the SSE single-write fix (#434) and the [ConditionalGet] SHA-1 tags and pooled buffer (#435).

File From To
docs/.vitepress/version.json 0.40.0-rc1000 0.41.0-rc1000
build-package.yaml RELEASE_LINE 0.41.0 0.42.0
AGENTS.md current line 0.40.0-rc1000 0.41.0-rc1000

What is in it

Five pull requests since v0.40.0-rc1000: #430, #431, #432, #434 and #435.

Release notes

The generated notes list the titles. This section goes above them once the release exists.

Breaking changes

  • Hardened.Validation.SourceGenerator is removed. Replace <PackageReference Include="Hardened.Validation.SourceGenerator" /> with <PackageReference Include="ValidationModules.SourceGenerator" Version="1.2.0" />. A nested type's validator is renamed from InnerValidator to Outer_InnerValidator. HRDV002, HRDV003 and HRDV004 are gone. A project with two [HardenedModule] classes now reports VM6001 (Replace Hardened.Validation.SourceGenerator with ValidationModules' generator #432).
  • ValidationModules 1.2.0 changes [StringLength]. [StringLength(min, max)] no longer compiles, and [StringLength(n)] is now a maximum of n where it was a minimum. A value that times out a pattern answers 400 instead of 500 (Take ValidationModules 1.2.0 #431).
  • Every entity tag [ConditionalGet] computes changes, because tags are now SHA-1. A client holding an old tag gets a 200 with the new tag on its first conditional request after the upgrade, and 304s after that. A response cache store an application wrote that outlives the deploy replays each entry's old tag until the entry expires (Tag conditional responses with SHA-1 and hold the body in a pooled MemoryStream #435).
  • IOFilterProvider and AsyncEnumerableIoFilter each gained an optional IMemoryStreamPool constructor parameter. Source that calls them compiles unchanged. A binary compiled against 0.40.0 that calls either constructor must be rebuilt (Write each streamed item to the transport as one write #434).

Dry run

Run on main 439ae33d plus this branch's three edits, with Version=0.41.0-rc1000 exported as release.yaml sets it. Every restore used a scratch NUGET_PACKAGES, and ~/.nuget/packages has no 0.41.0-rc1000 directory afterwards.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ipjohnson
ipjohnson merged commit 4d2a7cd into main Sep 26, 2026
5 checks passed
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.

1 participant