Repository navigation
V2.0.0/double digits - #24
gimlichael wants to merge 19 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 PR appears safe to merge, with non-blocking cleanup needed for the WSL guide and duplicate pending package notes.
|
| 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.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #24 +/- ##
==========================================
+ Coverage 92.30% 92.32% +0.02%
==========================================
Files 1 7 +6
Lines 13 378 +365
Branches 0 40 +40
==========================================
+ Hits 12 349 +337
- Misses 1 29 +28 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Keep package documentation consistent with the net11.0 and net10.0 targets by replacing stale .NET 9 references and matching the console example to the current benchmark runner.
The benchmark prompt template is no longer needed by the repository, so it is removed to keep agent guidance focused on the maintained instructions.
Files are now stored with LF endings and without UTF-8 byte order marks, which keeps diffs readable and matches the text=auto eol=lf rule in .gitattributes. These files have no content changes.
CI jobs and the test environment matrix now target Ubuntu 26.04 and split the Docker test runner into net10.0 and net11.0 environments, so each target framework is tested on its own image.
The service update workflow now accepts a pending changelog version newer than the latest tag and validates release dates, so a planned major release is not overwritten by the next patch bump.
Error responses for fingerprinted assets are no longer cached for a year, and range requests are disabled so that a partial response cannot be served from the cache.
SonarAnalyzer.CSharp is added to source projects, and central package versions are bumped for Codebelt.Coverlet.MTP, Cuemon.Core, and Microsoft.Testing.Extensions.HangDump.
The editor configuration now treats file-scoped namespaces as an error for all C# files instead of a suggestion, so the rule is enforced rather than optional.
The changelog and package release notes now describe .NET 11 support and the removal of .NET 9, so consumers can see the breaking change for the 2.0.0 release. The contributing guide and the .bot README are updated to match the new test environments and policy.
| { | ||
| "name": "WSL-Ubuntu", | ||
| "type": "wsl", | ||
| "wslDistribution": "Ubuntu-26.04" |
There was a problem hiding this comment.
testenvironments.json now requires Ubuntu-26.04, but .github/CONTRIBUTING.md still tells contributors to use Ubuntu-24.04. Someone following the guide may install the wrong distribution and then be unable to start the configured WSL test environment. Update the guide to name Ubuntu-26.04.
Prompt To Fix With AI
This is a comment left during a code review.
Path: testenvironments.json
Line: 7
Comment:
**WSL setup guide is outdated**
`testenvironments.json` now requires `Ubuntu-26.04`, but `.github/CONTRIBUTING.md` still tells contributors to use `Ubuntu-24.04`. Someone following the guide may install the wrong distribution and then be unable to start the configured WSL test environment. Update the guide to name `Ubuntu-26.04`.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
|



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: