Skip to content

Conversation

@gimlichael
Copy link
Member

@gimlichael gimlichael commented Nov 11, 2025

This pull request is a major update focused on upgrading the codebase to support .NET 10 (LTS) and xUnit v3, while removing support for .NET 8. It introduces breaking changes related to xUnit v3, updates dependencies, and improves documentation to reflect the new supported platforms. The CI/CD workflow is also updated to use the latest actions and workflows.

Platform and Framework Upgrades

  • Updated all target frameworks to support .NET 10 and .NET 9, removing .NET 8 support across Directory.Build.props, .docfx/docfx.json, and related documentation and release notes. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

xUnit v3 Migration and Breaking Changes

  • Migrated test dependencies from xunit v2 to xunit.v3 and updated related packages, including Xunit.v3.Priority, with associated breaking changes: Test and HostFixture classes now use ValueTask for InitializeAsync instead of Task. Also, test projects now require OutputType set to Exe. [1] [2] [3] [4] [5]

Dependency Updates

  • Upgraded dependencies for all supported target frameworks to the latest compatible versions, including major updates to Cuemon.* packages and Microsoft.NET.Test.Sdk. [1] [2] [3] [4] [5]

CI/CD and Workflow Improvements

  • Updated GitHub Actions workflows to use the latest (v3) versions of reusable workflows for build, pack, test, and SonarCloud, and commented out CodeQL for future upgrades. [1] [2] [3] [4] [5]

Documentation and Release Notes

  • Revised documentation and release notes to reflect new platform support, breaking changes, and guidance for migrating to xUnit v3. Added warnings and recommendations for consumers regarding xUnit v3 migration. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Let me know if you want to discuss any of the breaking changes or migration steps in more detail!

Summary by CodeRabbit

  • New Features

    • Added official support for .NET 10 alongside .NET 9.
  • Breaking Changes

    • Removed .NET 8 from supported targets.
    • Adopted xUnit v3; test initialization now uses ValueTask (replaces Task).
  • Chores

    • Updated project targets, package versions and CI workflow templates.
    • Refreshed release notes, READMEs and documentation; bumped container/base image tags.

@gimlichael gimlichael self-assigned this Nov 11, 2025
Copilot AI review requested due to automatic review settings November 11, 2025 16:54
@coderabbitai
Copy link

coderabbitai bot commented Nov 11, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

The PR upgrades targets to .NET 10, migrates tests and packages to xUnit v3, converts test lifecycle APIs from Task to ValueTask, bumps multiple package and tooling versions, updates CI workflows and DocFX Docker images, and refreshes release/docs across several packages.

Changes

Cohort / File(s) Summary
Framework & Project Targeting
Directory.Build.props, Directory.Packages.props, .docfx/docfx.json, testenvironments.json, src/.../*.csproj, test/.../*.csproj
Updated project TargetFrameworks from net9.0;net8.0net10.0;net9.0 across projects and tests. Added OutputType=Exe for test PropertyGroup. Updated DocFX metadata to net10.0. Bumped test environment Docker image to include .NET 10.
xUnit v3 Migration — Package References
Directory.Packages.props, Directory.Build.props, src/Codebelt.Extensions.Xunit/Codebelt.Extensions.Xunit.csproj
Replaced xUnit v2 packages with v3 equivalents (e.g., xunitxunit.v3, xunit.runner.consolexunit.v3.runner.console, xunit.assertxunit.v3.assert, removed xunit.abstractions). Updated Xunit.PriorityXunit.v3.Priority.
Async Lifecycle API Changes
src/Codebelt.Extensions.Xunit/Test.cs, src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs, related test types
Changed InitializeAsync() return type from Task to ValueTask (now returning default), removed explicit Task IAsyncLifetime.DisposeAsync() implementations where present.
Namespace / Using Directive Updates
src/.../*.cs, test/.../*.cs (many files)
Replaced using Xunit.Abstractions; with using Xunit; across source and test files (affects ITestOutputHelper resolution and related imports).
Test Attribute Updates
test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestTest.cs, test/.../MinimalHostTestTest.cs
Switched test orderer attribute form from [TestCaseOrderer(PriorityOrderer.Name, PriorityOrderer.Assembly)] to [TestCaseOrderer(typeof(PriorityOrderer))] and aligned priority package imports to xUnit v3 naming.
Package Dependency Updates
Directory.Packages.props
Bumped multiple central packages (e.g., Cuemon.* → 10.0.0-rc.2), Microsoft.NET.Test.Sdk → 18.0.1, consolidated/updated Microsoft.Extensions.* and Microsoft.AspNetCore.TestHost to 10.0.0 for net10/netstandard2 targets, added conditional netstandard2 group with async interfaces packages.
CI/CD & DocFX Images
.github/workflows/pipelines.yml, .docfx/Dockerfile.docfx
Bumped GitHub Actions workflow references from v2→v3, commented-out CodeQL job and updated pipeline dependencies. Updated DocFX Docker NGINX base image from 1.29.1-alpine1.29.3-alpine and build image codebeltnet/docfx:2.78.32.78.4.
Release Notes & Changelog
.nuget/*/PackageReleaseNotes.txt, CHANGELOG.md
Added top-level 11.0.0 release entries (Availability: .NET 10/.NET 9), documented xUnit v3 migration and ValueTask breaking changes; preserved prior entries with formatting adjustments.
Documentation / READMEs / DocFX Includes
.nuget/*/README.md, README.md, .docfx/includes/availability-*.md
Added "Your versatile xUnit companion for:" subsection and bullets (NET 9/10, .NET Standard 2, .NET Framework 4.6.2+). Updated availability includes to list .NET 10, .NET 9 and .NET Standard 2.0 (removed explicit .NET 8 mention).

Sequence Diagram(s)

sequenceDiagram
    participant TestClass as Test class
    participant Framework as xUnit runtime

    rect rgb(240, 220, 220)
    Note over TestClass,Framework: Before (xUnit v2 / Task-based)
    TestClass->>Framework: InitializeAsync(): Task
    activate Framework
    Framework-->>TestClass: Task.CompletedTask
    deactivate Framework
    TestClass->>Framework: DisposeAsync(): Task
    end

    rect rgb(220, 240, 220)
    Note over TestClass,Framework: After (xUnit v3 / ValueTask-based)
    TestClass->>Framework: InitializeAsync(): ValueTask
    activate Framework
    Framework-->>TestClass: default (ValueTask)
    deactivate Framework
    Note over TestClass: DisposeAsync handled as ValueTask (implicit/virtual)
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

  • Files needing extra attention:
    • Directory.Packages.props — complex dependency matrix and conditional groups.
    • HostFixture.cs and Test.cs — verify ValueTask changes and IAsyncLifetime contract compatibility.
    • StringExtensionsTest.cs and other tests where ITestOutputHelper is referenced but using changes may cause compile errors.
    • .github/workflows/pipelines.yml — ensure job dependencies and deploy steps remain correct after codeql removal.

Possibly related PRs

Suggested labels

codex

Poem

🐰 A hop to ten, with tests anew,
ValueTasks bounce in a bright debut.
xUnit v3 leads the migration dance,
Docs and Docker join the prance.
Codebelt nibbles forward—one joyful hop!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 40.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'V11.0.0/launch' directly corresponds to the main objective of this pull request, which is a version 11.0.0 release launching support for .NET 10 and 9, xUnit v3 migration, and related breaking changes.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch v11.0.0/launch

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c2330be and b82b2ee.

📒 Files selected for processing (6)
  • .nuget/Codebelt.Extensions.Xunit.App/README.md (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.Hosting/README.md (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit/README.md (1 hunks)
  • README.md (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • .nuget/Codebelt.Extensions.Xunit.App/README.md
  • .nuget/Codebelt.Extensions.Xunit.Hosting/README.md
  • .nuget/Codebelt.Extensions.Xunit/README.md
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: gimlichael
Repo: codebeltnet/xunit PR: 17
File: src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj:22-26
Timestamp: 2024-10-09T14:10:40.721Z
Learning: In the `src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj` file, only certain .NET 8 packages are available in version 8.0.1, while others remain at 8.0.0, so package versions may differ due to availability.
📚 Learning: 2024-10-09T14:10:40.721Z
Learnt from: gimlichael
Repo: codebeltnet/xunit PR: 17
File: src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj:22-26
Timestamp: 2024-10-09T14:10:40.721Z
Learning: In the `src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj` file, only certain .NET 8 packages are available in version 8.0.1, while others remain at 8.0.0, so package versions may differ due to availability.

Applied to files:

  • README.md
  • .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md
🧬 Code graph analysis (1)
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (2)
src/Codebelt.Extensions.Xunit/Test.cs (3)
  • ValueTask (99-102)
  • ValueTask (144-149)
  • ValueTask (155-158)
test/Codebelt.Extensions.Xunit.Tests/TestTest.cs (2)
  • ValueTask (18-22)
  • ValueTask (24-28)
🪛 LanguageTool
.nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md

[style] ~14-~14: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...g that depends on ASP.NET Core and used in conjunction with Microsoft Dependency Injection. The nam...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: call-test (windows-2022, Debug) / 🧪 Test
🔇 Additional comments (3)
README.md (1)

9-22: Clear, well-organized documentation improvements for v11.0.0 launch.

The new promotional block and reorganized sections effectively highlight the updated platform support (.NET 9, .NET 10) and provide clear pathways to full documentation and package information. Structure and content are appropriate for this major release.

.nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md (1)

5-8: Consistent promotional messaging and relevant context for ASP.NET Core testing.

The mirrored promotional block and added WebApplicationFactory comparison provide helpful positioning for this package. Changes align well with the root README and v11.0.0 release messaging.

Also applies to: 16-16

src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (1)

187-191: LGTM! xUnit v3 migration correctly implemented.

The InitializeAsync method signature and implementation are correct for xUnit v3. The XML documentation has been properly updated to reference ValueTask (addressing the previous review comment), and returning default is the appropriate pattern for ValueTask.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This major release upgrades the codebase to support .NET 10 (LTS) and xUnit v3, while removing .NET 8 support. The changes introduce breaking API changes due to xUnit v3 migration and update all dependencies to their latest compatible versions.

Key changes:

  • Migration from xUnit v2 to xUnit v3 with breaking API changes (Task → ValueTask for InitializeAsync)
  • Updated target frameworks from net8.0/net9.0 to net9.0/net10.0 across all projects
  • Upgraded dependencies including Cuemon packages, Microsoft.NET.Test.Sdk, and xUnit-related packages
  • Updated CI/CD workflows to use v3 of reusable workflows

Reviewed Changes

Copilot reviewed 55 out of 55 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
Directory.Build.props Updated target frameworks to net10.0/net9.0, added OutputType=Exe for test projects
Directory.Packages.props Upgraded all package versions, migrated to xUnit v3 packages
src/Codebelt.Extensions.Xunit/Test.cs Changed InitializeAsync return type from Task to ValueTask
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs Changed InitializeAsync return type from Task to ValueTask
Multiple test files Removed Xunit.Abstractions imports, updated to Xunit or Xunit.v3 namespaces
Multiple test files Updated TestCaseOrderer attribute to use typeof() instead of Name/Assembly pattern
CHANGELOG.md Added v11.0.0 release notes with xUnit v3 migration warnings
Multiple README files Updated platform support statements to reflect .NET 9/10 support
.github/workflows/pipelines.yml Updated workflow references to v3, commented out CodeQL job
testenvironments.json Updated Docker image to include .NET 10 support

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Nov 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.62%. Comparing base (44349cc) to head (b82b2ee).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #45      +/-   ##
==========================================
- Coverage   92.09%   91.62%   -0.48%     
==========================================
  Files          48       48              
  Lines         949      943       -6     
  Branches      122      122              
==========================================
- Hits          874      864      -10     
- Misses         65       69       +4     
  Partials       10       10              

☔ View full report in Codecov by Sentry.
📢 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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (9)
test/Codebelt.Extensions.Xunit.Hosting.Tests/Assets/ValidHostTest.cs (1)

1-3: Consider adopting standard C# using directive ordering.

The current order places external libraries (Microsoft.Extensions.DependencyInjection) before system namespaces (System), which deviates from the standard C# convention: System namespaces → external namespaces → static using statements.

Apply this diff to align with C# conventions:

-using Microsoft.Extensions.DependencyInjection;
-using System;
+using System;
+using Microsoft.Extensions.DependencyInjection;
 using static System.Net.Mime.MediaTypeNames;
.nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/PackageReleaseNotes.txt (1)

1-6: Consider documenting breaking changes from the base package.

The v11.0.0 release notes mention dependency upgrades but don't document the breaking changes from the base Codebelt.Extensions.Xunit.Hosting package. Per the PR objectives, InitializeAsync now returns ValueTask instead of Task, which affects consumers who override these methods in classes derived from this package (e.g., WebHostTest, ManagedWebHostFixture).

Consider adding a "Breaking Changes" section similar to what's documented in the base package:

 Version 11.0.0
 Availability: .NET 10 and .NET 9
  
+# Breaking Changes
+- CHANGED InitializeAsync method on the HostFixture class now uses ValueTask instead of Task due to xUnit v3 migration
+ 
 # ALM
 - CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
.nuget/Codebelt.Extensions.Xunit.Hosting/README.md (1)

5-9: Minor: Fix double space in bullet points.

Lines 6 has an extra space before the period: .NET 9" and ".NET 10". This appears to be consistent across multiple README files in the PR. Consider fixing the whitespace for consistency.

.nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md (2)

5-8: Minor: Fix double space in bullet points (consistent across other READMEs).

Line 6 has an extra space before the period, matching the same issue in other README files. Consider fixing the whitespace for consistency across the package documentation.


14-14: Optional: Simplify "in conjunction with" to "with".

The phrase "in conjunction with" is more concise as "with" and reads more naturally. Consider simplifying: "...used with Microsoft Dependency Injection."

.nuget/Codebelt.Extensions.Xunit/README.md (1)

5-9: Minor: Fix double space in bullet points (consistent across other READMEs).

Line 6 contains extra whitespace: .NET 9" and ".NET 10". This matches the same formatting issue in other README files in the PR. Consider correcting for consistency.

README.md (1)

9-14: Minor: Fix double space in bullet points (consistent across project).

Line 10 has extra whitespace: .NET 9" and ".NET 10". This same formatting issue appears across multiple README files (hosting, aspnetcore, xunit packages). Consider fixing all occurrences for consistency.

CHANGELOG.md (1)

16-29: Consider a more neutral tone for the warning block.

The technical concerns about xUnit v3's design choices (semantic versioning, exe requirements) are valid and worth communicating to users. However, phrases like "a bit puzzling," "All good practices has been put aside," "Its a mess," and "I just needed to vent my frustration" introduce subjective opinions into what is typically a factual changelog.

Consider reframing to focus on the technical implications while maintaining the warning intent:

 > [!WARNING]
-> Design choices made in xUnit v3 are a bit puzzling to me, especially around something as important as versioning and requirement for executable projects.
+> xUnit v3 introduces significant design changes around versioning and project structure that may impact your workflow.
 > 
-> All good practices has been put aside, and for the majority of new packages, major version is baked into the package name itself (e.g., `xunit.v3` instead of just `xunit`).
+> The majority of new packages embed the major version in the package name itself (e.g., `xunit.v3` instead of just `xunit`), deviating from traditional semantic versioning practices.
 > 
-> Semantic Versioning is all about conveying meaning and intent through version numbers, and this approach introduces unnecessary redundancy and makes long-term maintenance less smooth. Its a mess that could lead others down a slippery slope of wrongdoings due to the popularity of the framework.
+> This approach introduces redundancy and may complicate long-term maintenance and version management.
 >
-> Another unfortunate design choice is the requirement of executable projects (i.e., output type `exe` instead of `library`). This has implications when you have optimized your CI to not waste CPU cycles on restoring/building test projects (build once strategy).
+> Test projects now require output type `exe` instead of `library`. This has implications for CI pipelines optimized to skip test project builds (build once strategy).
 >
 > Updating to v11.0.0 of this library should not provide issues for you as a consumer, but you should expect consequence changes related to xUnit v3. Because of this, I do recommend familiarizing yourself with the [Migrating Unit Tests from xUnit v2 to v3](https://xunit.net/docs/getting-started/v3/migration) guide.
 >
 > It's also worth reading the [What's New in xUnit v3](https://xunit.net/docs/getting-started/v3/whats-new) document to get a better understanding of the changes and improvements introduced.
->
-> That written, xUnit will continue to remain my preferred test framework for .NET, I just needed to vent my frustration and warn you about the pitfalls of xUnit v3.
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (1)

187-191: Update the XML doc to match the ValueTask return type.

The <returns> tag still references Task, which is outdated now that InitializeAsync returns ValueTask. Please correct the documentation to reflect the current contract.

Apply this diff to fix the XML documentation:

-        /// <returns>A <see cref="Task"/> that represents the asynchronous operation.</returns>
+        /// <returns>A <see cref="ValueTask"/> that represents the asynchronous operation.</returns>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 44349cc and c2330be.

📒 Files selected for processing (55)
  • .docfx/Dockerfile.docfx (1 hunks)
  • .docfx/docfx.json (1 hunks)
  • .docfx/includes/availability-default.md (1 hunks)
  • .docfx/includes/availability-modern.md (1 hunks)
  • .github/workflows/pipelines.yml (5 hunks)
  • .nuget/Codebelt.Extensions.Xunit.App/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.App/README.md (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.Hosting/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit.Hosting/README.md (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Codebelt.Extensions.Xunit/README.md (1 hunks)
  • CHANGELOG.md (1 hunks)
  • Directory.Build.props (3 hunks)
  • Directory.Packages.props (2 hunks)
  • README.md (1 hunks)
  • src/Codebelt.Extensions.Xunit.App/Codebelt.Extensions.Xunit.App.csproj (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/Codebelt.Extensions.Xunit.Hosting.AspNetCore.csproj (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/MinimalWebHostTest.cs (0 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/WebHostTest.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/HostTest.cs (0 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/MinimalHostTest.cs (0 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/XunitTestLogger.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit/Codebelt.Extensions.Xunit.csproj (1 hunks)
  • src/Codebelt.Extensions.Xunit/ITestOutputHelperAccessor.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit/Test.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit/TestOutputHelperAccessor.cs (1 hunks)
  • src/Codebelt.Extensions.Xunit/TestOutputHelperExtensions.cs (1 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests.csproj (1 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/ManagedWebHostFixtureTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MinimalMvcWebHostTestTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MinimalWebHostTestFactoryTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MinimalWebHostTestTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MvcWebHostTestTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/ServiceCollectionExtensionsTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/WebHostTestFactoryTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/WebHostTestTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/Assets/MinimalValidHostTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/Assets/ValidHostTest.cs (1 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/Codebelt.Extensions.Xunit.Hosting.Tests.csproj (1 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestFactoryTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestTest.cs (1 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/ManagedHostFixtureTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostFixtureTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestFactoryTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestTest.cs (1 hunks)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/ServiceCollectionExtensions.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Tests/DisposableTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Tests/StringExtensionsTest.cs (0 hunks)
  • test/Codebelt.Extensions.Xunit.Tests/TestTest.cs (2 hunks)
  • testenvironments.json (1 hunks)
💤 Files with no reviewable changes (19)
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostFixtureTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestFactoryTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/WebHostTestFactoryTest.cs
  • src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/MinimalWebHostTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/WebHostTestTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/ServiceCollectionExtensions.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/ManagedWebHostFixtureTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MinimalWebHostTestFactoryTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MinimalMvcWebHostTestTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/ManagedHostFixtureTest.cs
  • src/Codebelt.Extensions.Xunit.Hosting/MinimalHostTest.cs
  • src/Codebelt.Extensions.Xunit.Hosting/HostTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MvcWebHostTestTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/MinimalWebHostTestTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/Assets/MinimalValidHostTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/ServiceCollectionExtensionsTest.cs
  • test/Codebelt.Extensions.Xunit.Tests/StringExtensionsTest.cs
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestFactoryTest.cs
  • test/Codebelt.Extensions.Xunit.Tests/DisposableTest.cs
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: gimlichael
Repo: codebeltnet/xunit PR: 17
File: src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj:22-26
Timestamp: 2024-10-09T14:10:40.721Z
Learning: In the `src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj` file, only certain .NET 8 packages are available in version 8.0.1, while others remain at 8.0.0, so package versions may differ due to availability.
📚 Learning: 2024-10-09T14:10:40.721Z
Learnt from: gimlichael
Repo: codebeltnet/xunit PR: 17
File: src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj:22-26
Timestamp: 2024-10-09T14:10:40.721Z
Learning: In the `src/Codebelt.Extensions.Xunit.Hosting/Codebelt.Extensions.Xunit.Hosting.csproj` file, only certain .NET 8 packages are available in version 8.0.1, while others remain at 8.0.0, so package versions may differ due to availability.

Applied to files:

  • src/Codebelt.Extensions.Xunit/TestOutputHelperExtensions.cs
  • CHANGELOG.md
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/Assets/ValidHostTest.cs
  • src/Codebelt.Extensions.Xunit.App/Codebelt.Extensions.Xunit.App.csproj
  • README.md
  • src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/Codebelt.Extensions.Xunit.Hosting.AspNetCore.csproj
  • .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md
  • src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestTest.cs
  • .nuget/Codebelt.Extensions.Xunit.Hosting/README.md
  • .nuget/Codebelt.Extensions.Xunit.Hosting/PackageReleaseNotes.txt
  • .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/PackageReleaseNotes.txt
  • src/Codebelt.Extensions.Xunit.Hosting/XunitTestLogger.cs
  • .nuget/Codebelt.Extensions.Xunit.App/README.md
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestTest.cs
  • .nuget/Codebelt.Extensions.Xunit/README.md
  • src/Codebelt.Extensions.Xunit/Codebelt.Extensions.Xunit.csproj
  • src/Codebelt.Extensions.Xunit/Test.cs
  • src/Codebelt.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs
  • .nuget/Codebelt.Extensions.Xunit.App/PackageReleaseNotes.txt
  • src/Codebelt.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs
  • src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/WebHostTest.cs
  • test/Codebelt.Extensions.Xunit.Tests/TestTest.cs
  • Directory.Packages.props
  • src/Codebelt.Extensions.Xunit/TestOutputHelperAccessor.cs
  • Directory.Build.props
  • test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests.csproj
  • test/Codebelt.Extensions.Xunit.Hosting.Tests/Codebelt.Extensions.Xunit.Hosting.Tests.csproj
  • src/Codebelt.Extensions.Xunit/ITestOutputHelperAccessor.cs
  • .docfx/includes/availability-default.md
  • .nuget/Codebelt.Extensions.Xunit/PackageReleaseNotes.txt
📚 Learning: 2025-05-23T17:47:54.978Z
Learnt from: gimlichael
Repo: codebeltnet/xunit PR: 35
File: .github/workflows/pipelines.yml:56-56
Timestamp: 2025-05-23T17:47:54.978Z
Learning: In GitHub Actions, when calling reusable workflows with an OS matrix, the matrix OS values can be effectively passed to the reusable workflow using input parameters like `runs-on: ${{ matrix.os }}`, allowing the matrix to control which runner is used in the reusable workflow.

Applied to files:

  • .github/workflows/pipelines.yml
🧬 Code graph analysis (5)
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (4)
src/Codebelt.Extensions.Xunit/Test.cs (3)
  • ValueTask (99-102)
  • ValueTask (144-149)
  • ValueTask (155-158)
test/Codebelt.Extensions.Xunit.Tests/TestTest.cs (2)
  • ValueTask (18-22)
  • ValueTask (24-28)
test/Codebelt.Extensions.Xunit.Tests/Assets/AsyncDisposable.cs (1)
  • ValueTask (25-34)
test/Codebelt.Extensions.Xunit.Tests/Assets/WemoryStream.cs (2)
  • ValueTask (9-12)
  • ValueTask (14-18)
test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestTest.cs (1)
test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestTest.cs (1)
  • TestCaseOrderer (14-98)
test/Codebelt.Extensions.Xunit.Hosting.Tests/HostTestTest.cs (1)
test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestTest.cs (1)
  • TestCaseOrderer (14-98)
src/Codebelt.Extensions.Xunit/Test.cs (4)
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (4)
  • ValueTask (118-128)
  • ValueTask (130-134)
  • ValueTask (177-182)
  • ValueTask (188-191)
test/Codebelt.Extensions.Xunit.Tests/TestTest.cs (2)
  • ValueTask (18-22)
  • ValueTask (24-28)
test/Codebelt.Extensions.Xunit.Tests/Assets/AsyncDisposable.cs (1)
  • ValueTask (25-34)
test/Codebelt.Extensions.Xunit.Tests/Assets/WemoryStream.cs (2)
  • ValueTask (9-12)
  • ValueTask (14-18)
test/Codebelt.Extensions.Xunit.Tests/TestTest.cs (2)
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs (4)
  • ValueTask (118-128)
  • ValueTask (130-134)
  • ValueTask (177-182)
  • ValueTask (188-191)
src/Codebelt.Extensions.Xunit/Test.cs (3)
  • ValueTask (99-102)
  • ValueTask (144-149)
  • ValueTask (155-158)
🪛 LanguageTool
.nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md

[style] ~14-~14: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...g that depends on ASP.NET Core and used in conjunction with Microsoft Dependency Injection. The nam...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
  • GitHub Check: call-pack (Release) / 📦 Pack
  • GitHub Check: call-test (ubuntu-24.04, Release) / 🧪 Test
  • GitHub Check: call-pack (Debug) / 📦 Pack
  • GitHub Check: call-test (ubuntu-24.04, Debug) / 🧪 Test
  • GitHub Check: call-test (windows-2022, Release) / 🧪 Test
  • GitHub Check: call-test (windows-2022, Debug) / 🧪 Test
  • GitHub Check: Agent
  • GitHub Check: CodeQL analysis (csharp)
🔇 Additional comments (33)
src/Codebelt.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs (1)

5-5: Correct namespace migration for xUnit v3.

The update from Xunit.Abstractions to Xunit aligns with xUnit v3's namespace consolidation. All referenced types (ITestOutputHelper, etc.) are available in the new namespace, and the change requires no further adjustments to this file.

test/Codebelt.Extensions.Xunit.Hosting.Tests/Assets/ValidHostTest.cs (1)

7-18: Class structure is aligned with xUnit v3 migration.

The removal of the Xunit.Abstractions using directive and the simplified class structure are consistent with the xUnit v3 migration. The constructor and base class delegation are correct. The empty ConfigureServices method is acceptable for this test fixture.

src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/WebHostTest.cs (1)

4-4: LGTM! Namespace updated for xUnit v3 compatibility.

The namespace change from Xunit.Abstractions to Xunit correctly aligns with the xUnit v3 migration described in the PR objectives. The ITestOutputHelper interface used in the constructors is now properly imported from the consolidated namespace.

src/Codebelt.Extensions.Xunit.Hosting/XunitTestLogger.cs (1)

4-4: Incorrect Review Comment

The review comment misidentifies what ITestOutputHelperAccessor is. It's not a built-in xUnit type but a custom interface defined in the Codebelt.Extensions.Xunit namespace (not the Xunit namespace). The namespace change from Xunit.Abstractions to Xunit is correct for the built-in ITestOutputHelper type, which is properly imported by the updated using Xunit; statement.

However, there is a separate issue: the file uses ITestOutputHelperAccessor without importing its namespace (Codebelt.Extensions.Xunit), which would cause a compilation error. This may be a pre-existing issue in the codebase or an oversight in this PR that should be addressed independently.

Likely an incorrect or invalid review comment.

testenvironments.json (1)

12-12: LGTM!

The Docker image update includes .NET 10.0.100 SDK support, aligning with the PR's objective to add .NET 10 LTS. The minor version bumps for .NET 8 and 9 SDKs are appropriate.

.docfx/includes/availability-modern.md (1)

1-1: LGTM!

The availability statement correctly reflects the new platform support (.NET 10 and .NET 9) and removal of .NET 8, consistent with the PR objectives.

.docfx/includes/availability-default.md (1)

1-1: LGTM!

The availability statement correctly reflects support for .NET 10, .NET 9, and .NET Standard 2.0, with .NET 8 appropriately removed per the PR objectives.

test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests.csproj (1)

4-4: LGTM!

The target framework update to net10.0;net9.0 aligns with the repository-wide migration to .NET 10 and removal of .NET 8 support.

.docfx/Dockerfile.docfx (2)

1-1: LGTM!

The nginx version bump from 1.29.1 to 1.29.3 is a minor update that likely includes bug fixes and improvements for the documentation hosting.


6-6: LGTM!

The docfx version bump from 2.78.3 to 2.78.4 is a patch update appropriate for keeping documentation tooling current.

src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/Codebelt.Extensions.Xunit.Hosting.AspNetCore.csproj (1)

4-4: LGTM!

The target framework update to net10.0;net9.0 is consistent with the repository-wide migration strategy and aligns with the PR's platform support objectives.

src/Codebelt.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs (1)

5-5: LGTM!

The namespace change from Xunit.Abstractions to Xunit is correct for the xUnit v3 migration. The types used in this file (ITestOutputHelper and ITestOutputHelperAccessor) are available in the new Xunit namespace in v3.

.docfx/docfx.json (1)

17-17: Documentation generation target updated appropriately.

The TargetFramework update from net9.0 to net10.0 aligns with the broader .NET 10 LTS adoption across the project. This ensures DocFX generates API documentation targeting the current platform support.

README.md (1)

16-20: Documentation structure improvements look good.

The new Documentation section (line 16) and Standalone Packages intro (line 20) enhance README organization and navigation. The additions align well with the updated package and target framework information.

.nuget/Codebelt.Extensions.Xunit/PackageReleaseNotes.txt (1)

1-9: Release notes accurately document Version 11.0.0 breaking changes.

The new release entry clearly identifies:

  • Target frameworks: .NET 10 and .NET 9 (removes .NET 8 support as per PR objectives)
  • Breaking change: Test class InitializeAsync signature change to ValueTask (xUnit v3 alignment)
  • ALM updates: Dependencies upgraded for supported frameworks

This aligns with the broader codebase changes and provides consumers with clear migration guidance.

.nuget/Codebelt.Extensions.Xunit.Hosting/PackageReleaseNotes.txt (1)

1-9: Release notes accurately document Version 11.0.0 for Hosting package.

The release entry properly identifies:

  • Target frameworks: .NET 10, .NET 9, and .NET Standard 2.0 (appropriately broader than the core package)
  • Breaking change: HostFixture.InitializeAsync now uses ValueTask (xUnit v3 alignment)
  • ALM updates: Dependencies upgraded across all supported frameworks

This provides clear migration guidance for consumers of the Hosting package.

.github/workflows/pipelines.yml (2)

30-30: Workflow reusable job versions upgraded consistently to v3.

The build, pack, test, and sonarcloud jobs have been bumped from v2 to v3 workflows (codebeltnet organization). This upgrade aligns with the PR's broader strategy to adopt xUnit v3 and support newer .NET versions. The existing input parameters and matrix handling remain compatible with the v3 workflows.

Also applies to: 44-44, 57-57, 68-68


83-93: CodeQL correctly commented out; deploy dependencies appropriately updated.

The CodeQL job is preserved but commented out per PR objectives for future upgrades. The deploy job dependencies have been correctly updated to remove the now-inactive codeql job, maintaining only active upstream dependencies (build, pack, test, sonarcloud, codecov). This keeps the workflow clean without sacrificing the ability to re-enable CodeQL later.

CHANGELOG.md (1)

33-34: LGTM!

The breaking changes are clearly documented with specific class names and proper attribution to xUnit v3 migration.

Directory.Build.props (4)

18-18: LGTM!

Target frameworks correctly updated to .NET 10 and .NET 9, with .NET Standard 2.0 preserved for backward compatibility.


54-58: LGTM!

Platform-specific target framework configurations are correct, with .NET Framework 4.8 support appropriately maintained for Windows test projects.


71-71: LGTM!

OutputType correctly set to Exe for test projects, as required by xUnit v3.


76-77: LGTM!

Package references correctly updated to xUnit v3 equivalents.

src/Codebelt.Extensions.Xunit/TestOutputHelperExtensions.cs (1)

4-4: LGTM!

Using directive correctly updated for xUnit v3, where ITestOutputHelper is now in the Xunit namespace instead of Xunit.Abstractions.

test/Codebelt.Extensions.Xunit.Hosting.Tests/Codebelt.Extensions.Xunit.Hosting.Tests.csproj (1)

19-19: LGTM!

Package reference correctly updated to xUnit v3 equivalent (Xunit.v3.Priority).

src/Codebelt.Extensions.Xunit/TestOutputHelperAccessor.cs (1)

2-2: LGTM!

Using directive correctly updated for xUnit v3 migration.

.nuget/Codebelt.Extensions.Xunit.App/README.md (1)

5-9: LGTM!

Documentation clearly communicates the supported frameworks and aligns with the updated target frameworks across the solution.

src/Codebelt.Extensions.Xunit/Codebelt.Extensions.Xunit.csproj (1)

14-15: LGTM!

Package references correctly migrated to xUnit v3 equivalents, with xunit.abstractions appropriately removed as its types are now part of the main Xunit namespace.

test/Codebelt.Extensions.Xunit.Hosting.Tests/MinimalHostTestTest.cs (1)

10-10: LGTM! Clean migration to xUnit v3 API.

The namespace and attribute updates correctly migrate from xUnit v2's string-based TestCaseOrderer API to xUnit v3's type-based approach using typeof(PriorityOrderer). This pattern is consistently applied across test files (as seen in HostTestTest.cs).

Also applies to: 14-14

Directory.Packages.props (4)

7-9: Verify pre-release Cuemon packages are intentional.

The Cuemon.* packages are using pre-release version 10.0.0-rc.2. Ensure this is intentional for a major release (V11.0.0) going into the main branch, as pre-release dependencies can introduce stability concerns.


10-10: No action required—version 18.0.1 is valid and current.

The verification confirms Microsoft.NET.Test.Sdk version 18.0.1 exists on NuGet and is the latest available version. The original concern that this version seemed "unusually high" is not substantiated. The code is correct as-is.

Likely an incorrect or invalid review comment.


34-40: No issues found — all .NET 10 packages verified as available.

All Microsoft.Extensions.* packages (versions 10.0.0) and Microsoft.AspNetCore.TestHost (10.0.0) are confirmed available on NuGet and are the latest versions.


13-13: Verify xUnit v3 package versions are compatible.

All specified xunit.v3 packages exist on NuGet. However, verify that the version mismatch is intentional and compatible:

  • xunit.v3: 3.1.0 (latest available: 3.2.0)
  • xunit.v3.assert: 3.1.0 (latest available: 3.2.0)
  • xunit.v3.extensibility.core: 3.2.0
  • xunit.v3.runner.console: 3.2.0
  • xunit.v3.priority: 1.1.18 (latest)

Consider upgrading xunit.v3 and xunit.v3.assert to 3.2.0 for consistency unless there's a specific compatibility requirement for 3.1.0.

Comment on lines +1 to +6
Version 11.0.0
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Consider documenting breaking changes in release notes.

Version 11.0.0 is a major release with significant breaking changes (xUnit v3 migration, Task → ValueTask for InitializeAsync, OutputType Exe requirement, .NET 8 removal), but the release notes only mention dependency upgrades. Users who rely on package release notes may miss critical migration information that's documented in CHANGELOG.md.

Consider adding a brief mention of breaking changes or referencing CHANGELOG.md:

 Version 11.0.0
 Availability: .NET 10 and .NET 9
  
 # ALM
+- CHANGED Migrated from xUnit v2 to xUnit v3 (see CHANGELOG.md for migration guidance)
+- CHANGED InitializeAsync methods now use ValueTask instead of Task
+- CHANGED Test projects require OutputType set to Exe
+- REMOVED Support for .NET 8 (LTS)
 - CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
🤖 Prompt for AI Agents
.nuget/Codebelt.Extensions.Xunit.App/PackageReleaseNotes.txt lines 1-6: the
release notes for Version 11.0.0 only list dependency upgrades and omit critical
breaking-change information; update the file to include a short summary of major
breaking changes (xUnit v3 migration, InitializeAsync changed from Task to
ValueTask, OutputType now Exe requirement, removal of .NET 8) or add a clear
pointer to the detailed CHANGELOG.md (with link and section heading) so users
reading package release notes see migration guidance.

gimlichael and others added 2 commits November 11, 2025 21:35
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
gimlichael and others added 4 commits November 11, 2025 21:36
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@sonarqubecloud
Copy link

@gimlichael gimlichael merged commit 2afb545 into main Nov 11, 2025
13 checks passed
@gimlichael gimlichael deleted the v11.0.0/launch branch November 11, 2025 23:29
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