Skip to content

V11.0.0/double digits - #36

Open
gimlichael wants to merge 15 commits into
mainfrom
v11.0.0/double-digits
Open

gimlichael wants to merge 15 commits into
mainfrom
v11.0.0/double-digits

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request prepares the 11.0.0 release line by targeting .NET 11.0 and .NET 10.0, updating dependencies and CI runners, and adding Sonar static analysis to the library. It also normalizes line endings and file encodings across the repository so that later diffs contain only meaningful changes.

Target framework support:

  • The solution and packages target .NET 11.0 and .NET 10.0
  • Release notes, the changelog, and the README describe the supported framework set

Dependency updates:

  • Centrally managed package versions are refreshed, including Cuemon and HangDump

Continuous integration:

  • CI runners and test environments move to Ubuntu 26.04
  • Docker test environments for .NET 10 and .NET 11 are documented for contributors
  • The DocFX build and publish scripts and the service update workflow are kept in step with the new setup

Documentation:

  • DocFX navigation, namespace, and availability pages reflect the current API surface
  • The contributor guide lists the net10.0 and net11.0 test environments

Repository maintenance:

  • EditorConfig enforces file-scoped namespaces and LF line endings, and Git attributes match
  • Byte-order marks and CRLF line endings are normalized in several files, so some diffs change only line endings
  • The unused benchmark prompt file is removed

Packages now target net11.0 and net10.0 instead of net10.0 and net9.0. Consumers still on .NET 9 must stay on the 10.x line.
Moves the central package version of Codebelt.Coverlet.MTP from 10.1.0 to the latest stable 10.1.1 release.
Lets build, pack, test, SonarCloud and CodeQL jobs use the .NET 11 preview SDK while keeping the existing OS and architecture matrix.
The service update now reuses a pending TBD release, preserves its notes without duplicate blocks and writes package configuration as explicit UTF-8.
Availability notes, contributor guidance, the project overview and the READMEs now describe .NET 11 and .NET 10 support.
Adds the 11.0.0 entry to the package release notes so NuGet consumers see the target framework change.
Documents the .NET 11 addition, .NET 9 removal and the coverlet update for the pending major release.
The working copy carried byte-order marks and CRLF endings that differ from the committed files. Normalizing them keeps later diffs limited to real changes.
C# namespace declarations are now an error rather than a suggestion, and text files use LF endings so editors and CI agree on line endings.
Refreshes the Cuemon.Core and HangDump package versions and adds SonarAnalyzer.CSharp to library projects for static analysis.
The CI workflow and the test runner environments now target Ubuntu 26.04, and the Docker test environments are split into net10.0 and net11.0 images.
The contributing guide lists the net10.0 and net11.0 Docker test environments with their images.
Removes the benchmark prompt file from the repository.
The bot folder readme now states that it is the one tracked file there, so the rest of the folder's local-only policy is clear to contributors.
These files differ from the committed copies only in line endings. Normalizing them keeps the working tree clean for later changes.
@gimlichael gimlichael self-assigned this Oct 30, 2026
@greptile-apps

greptile-apps Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The PR changes package framework support and the release workflows for this library.

Fix the service-update version check before merging so dependency updates can run during release preparation.

Fix All in CodexFindings

  1. P1 Service updates stop before release ▶
  2. P2 WSL setup names wrong distribution ▶
  3. P2 Release notes hide OS change ▶
Fix with agent prompt
### Issue 1
.github/workflows/service-update.yml:86-99
The new version check rejects the release state introduced here. `CHANGELOG.md` starts with dated version `11.0.0`, but the latest stable tag is `v10.0.13`. Neither accepted branch matches, so an update dispatched before `v11.0.0` is tagged exits without updating dependencies or opening a PR.

Accept a newer dated release, or consistently keep pending releases marked `TBD`. The later changelog step currently replaces `TBD` with a date too.

### Issue 2
testenvironments.json:7
`wslDistribution` now selects `Ubuntu-26.04`, but the contributor guide still tells contributors to use `Ubuntu-24.04`. Someone following the guide can install the documented distribution and still lack the one that `WSL-Ubuntu` launches. Update the guide alongside this setting.

### Issue 3
CHANGELOG.md:21
This entry says the OS matrix is unchanged, but the PR moves Linux builds and tests from Ubuntu 24.04 to Ubuntu 26.04 on both architectures. Name that change instead, so maintainers can correctly trace new Linux-only failures.

```suggestion
- Enabled preview SDK provisioning for build, pack, tests, SonarCloud and CodeQL, and moved Linux runners from Ubuntu 24.04 to Ubuntu 26.04 on both architectures,
```

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

This PR moves the library and tests to .NET 11 and .NET 10, updates dependencies and CI settings, adds Sonar analysis, and normalizes file encodings.

  • Unitify packages now target .NET 11 and .NET 10.
  • CI builds and tests the release line on updated runners.
  • Service updates follow the release version already in progress.
  • Repository files now follow consistent encoding and line-ending rules.
  • The repository no longer includes its benchmark-writing prompt.

Reviews (1) · Last reviewed commit: "🎨 normalize remaining line endings in d..." · Reviewed by Greptile

Comment on lines +86 to +99
current_parts = tuple(int(part) for part in current_version.split("."))
if current_status.upper() == "TBD" and current_parts > (major, minor, patch):
# Reuse a pending patch, minor or major release without skipping its notes.
new_version = current_version
elif current_version == latest_version and current_status.upper() != "TBD":
# The changelog is at the latest released tag; start the next patch release.
new_version = next_version
else:
print(
f"::error::CHANGELOG.md starts at {current_version} ({current_status}), "
f"but the latest stable Git tag is {latest_tag}. Expected either "
f"[{latest_version}] with a release date or a newer version marked TBD."
)
sys.exit(1)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Service updates stop before release

The new version check rejects the release state introduced here. CHANGELOG.md starts with dated version 11.0.0, but the latest stable tag is v10.0.13. Neither accepted branch matches, so an update dispatched before v11.0.0 is tagged exits without updating dependencies or opening a PR.

Accept a newer dated release, or consistently keep pending releases marked TBD. The later changelog step currently replaces TBD with a date too.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/service-update.yml
Line: 86-99

Comment:
**Service updates stop before release**

The new version check rejects the release state introduced here. `CHANGELOG.md` starts with dated version `11.0.0`, but the latest stable tag is `v10.0.13`. Neither accepted branch matches, so an update dispatched before `v11.0.0` is tagged exits without updating dependencies or opening a PR.

Accept a newer dated release, or consistently keep pending releases marked `TBD`. The later changelog step currently replaces `TBD` with a date too.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Codex

Comment thread testenvironments.json
{
"name": "WSL-Ubuntu",
"type": "wsl",
"wslDistribution": "Ubuntu-26.04"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 WSL setup names wrong distribution

wslDistribution now selects Ubuntu-26.04, but the contributor guide still tells contributors to use Ubuntu-24.04. Someone following the guide can install the documented distribution and still lack the one that WSL-Ubuntu launches. Update the guide alongside this setting.

Prompt To Fix With AI
This is a comment left during a code review.
Path: testenvironments.json
Line: 7

Comment:
**WSL setup names wrong distribution**

`wslDistribution` now selects `Ubuntu-26.04`, but the contributor guide still tells contributors to use `Ubuntu-24.04`. Someone following the guide can install the documented distribution and still lack the one that `WSL-Ubuntu` launches. Update the guide alongside this setting.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Codex

Comment thread CHANGELOG.md
### Changed

- Updated `Codebelt.Coverlet.MTP` from 10.1.0 to 10.1.1,
- Enabled preview SDK provisioning for build, pack, tests, SonarCloud and CodeQL without changing the OS and architecture matrix,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Release notes hide OS change

This entry says the OS matrix is unchanged, but the PR moves Linux builds and tests from Ubuntu 24.04 to Ubuntu 26.04 on both architectures. Name that change instead, so maintainers can correctly trace new Linux-only failures.

Suggested change
- Enabled preview SDK provisioning for build, pack, tests, SonarCloud and CodeQL without changing the OS and architecture matrix,
- Enabled preview SDK provisioning for build, pack, tests, SonarCloud and CodeQL, and moved Linux runners from Ubuntu 24.04 to Ubuntu 26.04 on both architectures,
Prompt To Fix With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 21

Comment:
**Release notes hide OS change**

This entry says the OS matrix is unchanged, but the PR moves Linux builds and tests from Ubuntu 24.04 to Ubuntu 26.04 on both architectures. Name that change instead, so maintainers can correctly trace new Linux-only failures.

```suggestion
- Enabled preview SDK provisioning for build, pack, tests, SonarCloud and CodeQL, and moved Linux runners from Ubuntu 24.04 to Ubuntu 26.04 on both architectures,
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Codex

@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecov Bot commented Oct 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.84%. Comparing base (7038939) to head (20e89fa).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #36   +/-   ##
=======================================
  Coverage   99.84%   99.84%           
=======================================
  Files          17       17           
  Lines         627      627           
  Branches       45       45           
=======================================
  Hits          626      626           
  Partials        1        1           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This branch has not been deployed

No deployments
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.

2 participants