Repository navigation
V13.0.0/double digits - #76
Open
gimlichael wants to merge 32 commits into
Open
gimlichael wants to merge 32 commits into
gimlichael wants to merge 32 commits into
Conversation
Bump Codebelt bootstrapper, BenchmarkDotNet extension and coverlet package versions, drop the net9 package group and pin the net11 release candidate Microsoft.Extensions packages for the new target framework.
Source, test and app projects now target net11.0 alongside net10.0, and net9.0 is dropped from the target framework lists so the solution tracks the current .NET previews.
With net9 removed from the target frameworks, the NET9_0_OR_GREATER guards are moved to NET10_0_OR_GREATER so the Lock type, async disposal and default service provider validation are used on every target that supports them.
AGENTS.md now points the conditional compilation example at NET10_0_OR_GREATER and names net10.0 and net11.0 as the APIs to guard, matching the target frameworks used by the source projects.
Each reusable build, pack, test, SonarCloud and CodeQL job now sets include-preview so CI can build and test against the net11 preview SDK that the projects now target.
The service update workflow now takes the latest stable vMAJOR.MINOR.PATCH tag as the baseline instead of the first CHANGELOG.md heading, and it reuses a pending TBD entry for the next version. Tags are fetched explicitly so the lookup works on a shallow checkout.
The release-note workflow now reads the Availability line from the shared docfx include files instead of a hardcoded fallback string, so the published TFM list stays in one place.
The shared availability includes and the docfx landing page now reflect .NET 11 as the current target framework, replacing the .NET 9 references.
Contributors are now pointed at a .NET 11 SDK and the current target frameworks, so the guide matches what the repository builds against.
The root README and the NuGet package READMEs list .NET 10 and .NET 11 as the supported modern targets, replacing the outdated .NET 9 mention.
The agent guide now describes the .NET 11 SDK, source TFMs, and test TFMs, so automated contributors build and test against the same targets as the project.
[High impact] The PR appears safe to merge, with no outstanding findings. SummaryThe PR moves modern targets to .NET 11 and .NET 10, updates dependencies and CI, and revises release automation and documentation.
Reviews (5) · Last reviewed commit: "changelog" · Reviewed by Greptile |
The packable projects now target .NET 11, so each package's release notes record the new target framework set and the removal of .NET 9 under version 13.0.0.
The changelog summarizes the 13.0.0 major release for humans reading release status: .NET 11 is added, .NET 9 is removed, and the package, test, CI, and documentation baselines move to .NET 11 and .NET 10.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #76 +/- ##
==========================================
+ Coverage 92.13% 93.96% +1.82%
==========================================
Files 85 85
Lines 1576 1573 -3
Branches 173 173
==========================================
+ Hits 1452 1478 +26
+ Misses 112 83 -29
Partials 12 12 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Turn on EnforceCodeStyleInBuild for source projects and reference SonarAnalyzer.CSharp centrally so style issues surface during build.
Align package pins with the current .NET 11 baseline and Cuemon 10.8.2.
Normalize text files to LF so line endings stay consistent across Windows and Linux checkouts.
Run CI on Ubuntu 26.04 and split the Docker test environment into net10.0 and net11.0.
Keep the project-wide NoWarn list instead of replacing it.
Set the 13.0.0 release date to 2026-11-10, the planned go-live date.
IDE0330 is no longer disabled, so the agent guidance now tells contributors to use System.Threading.Lock behind a NET10_0_OR_GREATER guard with a plain object fallback for multi-targeted source projects.
The shared build props now emit warnings consistently, disable NuGet audit for the offline build, and run test projects on the Microsoft Testing Platform runner.
The Sonar analyzer flags a few intentional patterns, such as unused type parameters that bind a fixture to its entry point. Each suppression carries a justification so the intent stays visible.
Cancelling a deferred host now propagates the original cancellation token instead of a bare cancel, and stopping the entry point after the host is captured no longer surfaces as an error. A null host factory check that could never fail was removed.
Concurrent access to a deferred host could start it more than once. A dedicated lock now guards startup, using System.Threading.Lock on net10.0 and later and a plain object on older targets.
New tests cover cancellation of a deferred host, the abort path when stopping an entry point, and concurrent lock-protected startup. The hosting test project now references the minimal console bootstrapper so these scenarios run end to end.
Files were saved with a byte order mark and CRLF line endings, which conflicts with the LF rule in gitattributes. Stripping the BOM and converting to LF brings every file in line with the repository convention and removes noisy diffs.
Converts files to LF line endings and strips the UTF-8 byte order mark so they match the eol=lf rule in .gitattributes. No content changes.
Removes trailing whitespace and aligns JSON indentation to the two-space style used elsewhere in the repository. No behavioral changes.
Extends the existing analyzer severity overrides to VB files, points the S3267 reference at the current Sonar rule page, and removes the IDE0306, CA1016, and S8970 overrides.
Rewrites the 13.0.0 changelog entry around the .NET 11 baseline and corrects the WSL distribution named in the contributor guide to Ubuntu-26.04.
|
This branch has not been deployed
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.



This pull request moves the solution from the .NET 9 baseline to .NET 11 and .NET 10, aligning target frameworks, conditional compilation guards, package versions, CI, and documentation with the new toolchain. It also updates the service update workflow to derive versions from Git tags and release availability from the shared DocFX includes.
Target frameworks:
net11.0andnet10.0, keepingnetstandard2.0for source andnet48for Windows testsnet9.0target is removed from all projectsDependencies:
net11.0are pinned to the .NET 11 release candidate, and the .NET 9 package group is removedConditional compilation:
NET9_0_OR_GREATERguards are moved toNET10_0_OR_GREATER, so theLocktype, asynchronous disposal, and default service provider validation apply on every target that supports themCI and release workflows:
Documentation: