Bump version 0.3.1 → 0.3.2#119
Merged
Merged
Conversation
Changes since v0.3.1: - fix: null-element validation in Result.Flatten / AllSucceeded / AnyFailed (#113) — previously calling `.Failed` on a null element threw NullReferenceException; now throws ArgumentException with the index of the offending element. Adds [NotNull] post-condition attribute to all three methods plus all Try.Run/RunAsync overloads. Polyfills NotNullAttribute for net462 / netstandard2.0. - perf: Result.Success() now returns a cached singleton instead of allocating per call (#114). Behavior is locked in by a test using Assert.Same; XML docs warn callers not to rely on reference identity. - perf: replace LINQ in Flatten / AllSucceeded / AnyFailed with index- based for-loops (#116). Flatten is now single-pass with a lazy StringBuilder so the common single-failure case has zero extra allocation. AllSucceeded / AnyFailed short-circuit on first failure, so a trailing null past the decisive element no longer throws (documented in <exception> XML and locked in by tests). - refactor: simplify Result ctor validation (#115) — switch-when replaced with two guard-clause ifs. No behavior change; exception messages and ParamName preserved. - chore: test cleanup (#117) — remove redundant inheritance- verification tests, fix tabs vs spaces, drop unused pragma. - chore(deps): Bump Meziantou.Analyzer 3.0.77 → 3.0.85 (#118). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Version bump for the v0.3.2 release. PATCH bump per Conventional Commits — one
fix, twoperf, onerefactor, twochoresince v0.3.1. No breaking changes.This branch only bumps the csproj version. The Meziantou.Analyzer bump (#118) is a separate PR that must land on
mainbefore thev0.3.2tag is pushed, otherwise the analyzer bump won't make it into the release.Required merge order:
v0.3.2tag to triggerrelease.yaml(NuGet publish + GitHub Release + docfx deploy)Already-merged PRs included in v0.3.2 (since v0.3.1)
Result.Flatten/AllSucceeded/AnyFailed(+[NotNull]on all entry points,NotNullAttributepolyfill for net462/netstandard2.0)Result.Success()singletonResultctor validation (switch → guard-clause ifs)Flatten/AllSucceeded/AnyFailedwith for-loopsPending PRs to merge before tagging
Behavior changes worth noting in release notes
Result.Success()now returns a shared singleton. Callers must not rely on reference identity to distinguish results — documented in the XML<remarks>and locked in by a test.Result.AllSucceeded/AnyFailednow short-circuit on first failure and do not validate elements past the decisive index (previous up-front pre-scan always validated every element). A trailing null element after the deciding failure is no longer caught. Documented in<exception>XML and locked in by two new tests.Flatten/AllSucceeded/AnyFailednow throwsArgumentExceptionwith the index, instead ofNullReferenceException.Test plan
dotnet build -c Release— 0 warnings, 0 errorsdotnet test -c Releaseacross all 10 TFMs (net462–net10.0) — 88/88 eachv0.3.2tag to trigger release pipeline🤖 Generated with Claude Code