Repository navigation
V2.0.0/double digits - #24
gimlichael wants to merge 10 commits into
Conversation
Aligns the touched C# files with the file-scoped namespace rule enforced by .editorconfig. No behavior changes; the namespaces and type declarations are unchanged.
Moves the central package versions to the latest stable releases of Codebelt.Coverlet.MTP and Codebelt.Bootstrapper.Console so the build and tooling stay current.
Moves the source, test, and benchmark projects from net9.0 to net11.0 alongside net10.0. The functional tests now always reference the runner project, since the net10.0-only condition no longer selects a single framework.
The service update workflow now derives the next version from the latest stable vMAJOR.MINOR.PATCH tag and validates it against CHANGELOG.md, instead of trusting the changelog heading alone. The changelog entry is reused when a pending TBD release already exists.
Strips UTF-8 byte order marks and trailing whitespace from the C# files so the repository matches the .editorconfig formatting rules. No code changes; the diff is formatting only.
The benchmark runner and tuning workspaces now run on .NET 11 and .NET 10 instead of .NET 9, so benchmark results reflect the runtimes this library supports.
The CI release notes job falls back to .NET 11 and .NET 10 when no availability line exists, matching the supported targets.
The README, agent guidance, contributing guide, and DocFX availability include now describe .NET 11 and .NET 10 as the supported targets.
Both packages now list .NET 11 and .NET 10 as their availability in version 2.0.0, since .NET 9 support was dropped.
Opt the reusable build, pack, test, SonarCloud, and CodeQL workflows into preview inputs so the pipeline exercises preview toolchains alongside the stable configuration.
[Medium impact] The changes reach package consumers and the repository's build, test, and release workflows. The PR appears safe to merge, with two non-blocking fixes recommended for pending release records.
|
| if current_version == next_version and current_status.upper() == "TBD": | ||
| # Reuse an already pending next release, such as [5.0.13] - TBD. | ||
| new_version = next_version |
There was a problem hiding this comment.
When CHANGELOG.md already has the next patch marked TBD, this branch now reuses that version. But the release-note step still always prepends a new entry. If the pending release already has package notes, the generated PR adds a second Version: block for the same release in both packages. Reuse the existing package-note entry too, preserving its changes.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/service-update.yml
Line: 86-88
Comment:
**Pending package notes repeat**
When `CHANGELOG.md` already has the next patch marked `TBD`, this branch now reuses that version. But the release-note step still always prepends a new entry. If the pending release already has package notes, the generated PR adds a second `Version:` block for the same release in both packages. Reuse the existing package-note entry too, preserving its changes.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.| idx = content.find("## [") | ||
| content = (content[:idx] + entry + content[idx:]) if idx != -1 else (content + entry) | ||
| with open("CHANGELOG.md", "w") as f: | ||
| heading = re.search(r"(?m)^## \[(\d+\.\d+\.\d+)\] - (TBD|\d{4}-\d{2}-\d{2})[ \t]*$", content) |
There was a problem hiding this comment.
Pending changelog section repeats
The version check accepts lowercase tbd through current_status.upper(), but this lookup only accepts uppercase TBD. With a pending heading such as [1.3.6] - tbd, the first step succeeds, then this step inserts another heading for 1.3.6 instead of updating it. Use the same status matching in both steps.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/service-update.yml
Line: 143
Comment:
**Pending changelog section repeats**
The version check accepts lowercase `tbd` through `current_status.upper()`, but this lookup only accepts uppercase `TBD`. With a pending heading such as `[1.3.6] - tbd`, the first step succeeds, then this step inserts another heading for `1.3.6` instead of updating it. Use the same status matching in both steps.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #24 +/- ##
=======================================
Coverage 92.30% 92.30%
=======================================
Files 1 1
Lines 13 13
=======================================
Hits 12 12
Misses 1 1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|



This pull request moves Codebelt.Extensions.BenchmarkDotNet to .NET 11 and .NET 10 as its supported targets and drops .NET 9, which is why it ships as the 2.0.0 major version. It also updates central package versions, derives service update versions from Git tags, and enables preview toolchains in CI.
Target frameworks:
Documentation:
Release notes:
Dependencies:
Automation workflows:
Formatting: