Skip to content

Release v0.5.0 — trim / Native AOT-compatible - #393

Merged
Chris-Wolfgang merged 1 commit into
mainfrom
release/v0.5.0
Sep 27, 2026
Merged

Chris-Wolfgang merged 1 commit into
mainfrom
release/v0.5.0

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Summary

Release cut of Wolfgang.TryPattern v0.5.0, a MINOR bump from v0.4.1. There was no vNext this cycle: the 58 commits since v0.4.1 landed on main directly, so this PR carries only the release commit (version, CHANGELOG, fragment removal).

Version bump rationale

  • MINOR: build: mark the net8.0+ assemblies IsAotCompatible and IsTrimmable #371 marks the net8.0+ assemblies IsAotCompatible / IsTrimmable. This is new consumer-facing behavior, and its fragment is typed feature. scripts/changelog.ps1 bump also derives 0.5.0.
  • Public API unchanged: git diff v0.4.1..origin/main -- 'src/**/PublicAPI*.txt' is empty, and all three Unshipped files hold only #nullable enable, so nothing needed folding.
  • AssemblyVersion stays 1.0.0.0 (full pin). PackageValidationBaselineVersion stays 0.4.1 until after publish.

What shipped since v0.4.1

Verified locally (worktree at this branch's head, 7ea2f85)

  • dotnet build TryPattern.sln -c Release -p:TreatWarningsAsErrors=true: 0 errors. The 3 warnings are the existing System.IO.Hashing TFM notices on the net5–7 test slices.
  • dotnet test -c Release: 11/11 test runs passed (net462–net10.0).
  • dotnet pack -c Release: produced Wolfgang.TryPattern.0.5.0.nupkg + .snupkg, with PackageValidation run against baseline 0.4.1.

Test plan

  • Detect .NET Projects guard passes (no protected files in this diff)
  • All checks green: Stage 1/2/3 coverage gate, InspectCode, Semgrep, zizmor, actionlint, CodeQL, DevSkim, gitleaks, SourceLink, AOT, License, PR benchmarks, changelog fragment check
  • After merge, tag v0.5.0 on main to trigger release.yaml (the user tags)
  • release.yaml publishes to NuGet, deploys docs and attaches release assets

Post-release

Tracked in a follow-up issue:

  • NuGet flatcontainer shows 0.5.0
  • PackageValidationBaselineVersion 0.4.1 → 0.5.0
  • Release the held D20-Dice v0.9.0 (it was waiting on this TryPattern release)
  • Branch cleanup

🤖 Generated with Claude Code

MINOR: the net8.0+ assemblies are now marked IsAotCompatible/IsTrimmable (#371), new consumer-facing behavior. Public API unchanged (no PublicAPI baseline edits); AssemblyVersion stays 1.0.0.0. CHANGELOG assembled from changelog/unreleased by scripts/changelog.ps1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Chris-Wolfgang Chris-Wolfgang mentioned this pull request Sep 27, 2026
5 tasks
@Chris-Wolfgang Chris-Wolfgang added the no-changelog PR touches src/ but needs no changelog fragment label Sep 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR benchmarks vs base (7ea2f85)

Thresholds: time > +20% and ≥ +1000 ns or allocations > +50% and ≥ +16 B (or any allocation ≥ 16 B where the base allocated none) trigger a gate failure (label perf-impact-acknowledged overrides).

Benchmark Δ time Δ alloc
Action_Success +14.0% 0 (new)
Action_WithException +2.1% +0.0%
RunAsync_Action_Success -4.1% +0.1%
RunAsync_Action_WithException -1.7% +0.0%
RunAsync_Func_Success -0.2% +0.0%
RunAsync_Func_WithException +0.4% +0.0%
Run_Func_Success +0.9% +0.0%
Run_Func_WithException +0.7% +0.0%

@Chris-Wolfgang
Chris-Wolfgang merged commit f2ab716 into main Sep 27, 2026
51 of 59 checks passed
@Chris-Wolfgang
Chris-Wolfgang deleted the release/v0.5.0 branch September 27, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog PR touches src/ but needs no changelog fragment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant