Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
f8357ba
:heavy_plus_sign: added support for net10.0
gimlichael Sep 14, 2025
feef011
:arrow_up: consequence changes of xUnit v3
gimlichael Sep 14, 2025
d258522
:boom: breaking change introduced by xUnit v3
gimlichael Sep 14, 2025
62f6cdd
:package: updated NuGet package definition
gimlichael Sep 14, 2025
a8961b3
:speech_balloon: updated community health pages
gimlichael Sep 14, 2025
5ec196c
:memo: changed note to warning due to xUnit v3 consequences
gimlichael Sep 15, 2025
1c8cd3d
:twisted_rightwards_arrows: merge with v10.0.7
gimlichael Oct 17, 2025
ac18076
:arrow_up: bump dependencies
gimlichael Oct 17, 2025
514d5d1
fix
gimlichael Oct 17, 2025
15ffb01
:wrench: refactor package references for netstandard2 compatibility
gimlichael Oct 19, 2025
ca29df7
:construction_worker: disable codeql due to .NET 10 RC2 https://githu…
gimlichael Oct 19, 2025
25e8147
:construction_worker: remove codeql need
gimlichael Oct 19, 2025
e3532e1
:arrow_up: bump dependencies
gimlichael Oct 19, 2025
9633b36
:construction_worker: enable codeql due to potential fix https://git…
gimlichael Oct 22, 2025
7d7c602
:construction_worker: updated CI to exclude preview builds and codeql…
gimlichael Nov 11, 2025
90a32bb
📦 updated NuGet README files
gimlichael Nov 11, 2025
3775832
:wrench: updated to include .net 10 and exclude .net 8
gimlichael Nov 11, 2025
fa1cd4d
:speech_balloon: updated community health pages
gimlichael Nov 11, 2025
fdddb09
:arrow_up: bump dependencies
gimlichael Nov 11, 2025
c2330be
doc
gimlichael Nov 11, 2025
09d970d
Update src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs
gimlichael Nov 11, 2025
e3da3ce
Update .nuget/Codebelt.Extensions.Xunit.Hosting.AspNetCore/README.md
gimlichael Nov 11, 2025
327bcc9
Update .nuget/Codebelt.Extensions.Xunit/README.md
gimlichael Nov 11, 2025
a54d01b
Update .nuget/Codebelt.Extensions.Xunit.Hosting/README.md
gimlichael Nov 11, 2025
30f629d
Update README.md
gimlichael Nov 11, 2025
b82b2ee
Update .nuget/Codebelt.Extensions.Xunit.App/README.md
gimlichael Nov 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .docfx/Dockerfile.docfx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
ARG NGINX_VERSION=1.29.1-alpine
ARG NGINX_VERSION=1.29.3-alpine

FROM --platform=$BUILDPLATFORM nginx:${NGINX_VERSION} AS base
RUN rm -rf /usr/share/nginx/html/*

FROM --platform=$BUILDPLATFORM codebeltnet/docfx:2.78.3 AS build
FROM --platform=$BUILDPLATFORM codebeltnet/docfx:2.78.4 AS build

ADD [".", "docfx"]

Expand Down
2 changes: 1 addition & 1 deletion .docfx/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"dest": "api",
"filter": "filterConfig.yml",
"properties": {
"TargetFramework": "net9.0"
"TargetFramework": "net10.0"
}
}
],
Expand Down
2 changes: 1 addition & 1 deletion .docfx/includes/availability-default.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Availability: .NET 9, .NET 8 and .NET Standard 2.0
Availability: .NET 10, .NET 9 and .NET Standard 2.0
2 changes: 1 addition & 1 deletion .docfx/includes/availability-modern.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Availability: .NET 9 and .NET 8
Availability: .NET 10 and .NET 9
22 changes: 11 additions & 11 deletions .github/workflows/pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
strategy:
matrix:
configuration: [Debug, Release]
uses: codebeltnet/jobs-dotnet-build/.github/workflows/default.yml@v2
uses: codebeltnet/jobs-dotnet-build/.github/workflows/default.yml@v3
with:
configuration: ${{ matrix.configuration }}
strong-name-key-filename: xunit.snk
Expand All @@ -41,7 +41,7 @@ jobs:
strategy:
matrix:
configuration: [Debug, Release]
uses: codebeltnet/jobs-dotnet-pack/.github/workflows/default.yml@v2
uses: codebeltnet/jobs-dotnet-pack/.github/workflows/default.yml@v3
with:
configuration: ${{ matrix.configuration }}
version: ${{ needs.build.outputs.version }}
Expand All @@ -54,7 +54,7 @@ jobs:
matrix:
os: [ubuntu-24.04, windows-2022]
configuration: [Debug, Release]
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v2
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v3
with:
configuration: ${{ matrix.configuration }}
runs-on: ${{ matrix.os }}
Expand All @@ -65,7 +65,7 @@ jobs:
sonarcloud:
name: call-sonarcloud
needs: [build,test]
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v2
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v3
with:
organization: geekle
projectKey: xunit
Expand All @@ -80,17 +80,17 @@ jobs:
repository: codebeltnet/xunit
secrets: inherit

codeql:
name: call-codeql
needs: [build,test]
uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v2
permissions:
security-events: write
# codeql:
# name: call-codeql
# needs: [build,test]
# uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v3
# permissions:
# security-events: write

deploy:
if: github.event_name != 'pull_request'
name: call-nuget
needs: [build, pack, test, sonarcloud, codecov, codeql]
needs: [build, pack, test, sonarcloud, codecov]
uses: codebeltnet/jobs-nuget-push/.github/workflows/default.yml@v2
with:
version: ${{ needs.build.outputs.version }}
Expand Down
14 changes: 10 additions & 4 deletions .nuget/Codebelt.Extensions.Xunit.App/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,30 @@
Version 10.0.7
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)

Comment on lines +1 to +6
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.

Version 10.0.7
Availability: .NET 9 and .NET 8

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

Version 10.0.6
Availability: .NET 9 and .NET 8

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

Version 10.0.5
Availability: .NET 9 and .NET 8

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

Version 10.0.4
Availability: .NET 9 and .NET 8

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

Expand Down
5 changes: 5 additions & 0 deletions .nuget/Codebelt.Extensions.Xunit.App/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

An open-source project (MIT license) that targets and complements the [xUnit.net](https://xunit.net/) test platform. It provides a uniform and convenient way of doing unit test for all project types in .NET.

Your versatile xUnit companion for:
- Modern development with `.NET 9` and `.NET 10`,
- Cross-platform libraries with `.NET Standard 2` (where applicable),
- Legacy applications on `.NET Framework 4.6.2` and newer.

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

## **Codebelt.Extensions.Xunit.App** for .NET
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,30 @@
Version 10.0.7
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)

Version 10.0.7
Availability: .NET 9 and .NET 8

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

Version 10.0.6
Availability: .NET 9 and .NET 8

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

Version 10.0.5
Availability: .NET 9 and .NET 8

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

Version 10.0.4
Availability: .NET 9 and .NET 8

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@

An open-source project (MIT license) that targets and complements the [xUnit.net](https://xunit.net/) test platform. It provides a uniform and convenient way of doing unit test for all project types in .NET.

Perhaps even more convenient than what [WebApplicationFactory](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.testing.webapplicationfactory-1) has to offer?
Your versatile xUnit companion for:
- Modern development with `.NET 9` and `.NET 10`,
- Cross-platform libraries with `.NET Standard 2` (where applicable),
- Legacy applications on `.NET Framework 4.6.2` and newer.

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

## **Codebelt.Extensions.Xunit.Hosting.AspNetCore** for .NET

The `Codebelt.Extensions.Xunit.Hosting.AspNetCore` namespace contains types that provides a uniform way of doing unit testing that depends on ASP.NET Core and used in conjunction with Microsoft Dependency Injection. The namespace relates to the `Microsoft.AspNetCore.TestHost` namespace.

Perhaps even more convenient than what [WebApplicationFactory](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.testing.webapplicationfactory-1) has to offer?

More documentation available at our documentation site:

- [Codebelt.Extensions.Xunit.Hosting.AspNetCore](https://xunit.codebelt.net/api/Codebelt.Extensions.Xunit.Hosting.AspNetCore.html) 🔗
Expand Down
17 changes: 13 additions & 4 deletions .nuget/Codebelt.Extensions.Xunit.Hosting/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
Version 10.0.7
Version 11.0.0
Availability: .NET 10, .NET 9 and .NET Standard 2.0

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

# Breaking Changes
- CHANGED HostFixture class in the Codebelt.Extensions.Xunit.Hosting namespace to use ValueTask for InitializeAsync instead of Task (xUnit v3 consequence change)

Version 10.0.7
Availability: .NET 9, .NET 8 and .NET Standard 2.0

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

Version 10.0.6
Availability: .NET 9, .NET 8 and .NET Standard 2.0

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

Version 10.0.5
Availability: .NET 9, .NET 8 and .NET Standard 2.0

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

Version 10.0.4
Availability: .NET 9, .NET 8 and .NET Standard 2.0

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

Expand Down
5 changes: 5 additions & 0 deletions .nuget/Codebelt.Extensions.Xunit.Hosting/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

An open-source project (MIT license) that targets and complements the [xUnit.net](https://xunit.net/) test platform. It provides a uniform and convenient way of doing unit test for all project types in .NET.

Your versatile xUnit companion for:
- Modern development with `.NET 9` and `.NET 10`,
- Cross-platform libraries with `.NET Standard 2` (where applicable),
- Legacy applications on `.NET Framework 4.6.2` and newer.

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

## **Codebelt.Extensions.Xunit.Hosting** for .NET
Expand Down
17 changes: 13 additions & 4 deletions .nuget/Codebelt.Extensions.Xunit/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
Version 10.0.7
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)

# Breaking Changes
- CHANGED Test class in the Codebelt.Extensions.Xunit namespace to use ValueTask for InitializeAsync instead of Task (xUnit v3 consequence change)

Version 10.0.7
Availability: .NET 9 and .NET 8

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

Version 10.0.6
Availability: .NET 9 and .NET 8

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

Version 10.0.5
Availability: .NET 9 and .NET 8

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

Version 10.0.4
Availability: .NET 9 and .NET 8

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

Expand Down
5 changes: 5 additions & 0 deletions .nuget/Codebelt.Extensions.Xunit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

An open-source project (MIT license) that targets and complements the [xUnit.net](https://xunit.net/) test platform. It provides a uniform and convenient way of doing unit test for all project types in .NET.

Your versatile xUnit companion for:
- Modern development with `.NET 9` and `.NET 10`,
- Cross-platform libraries with `.NET Standard 2` (where applicable),
- Legacy applications on `.NET Framework 4.6.2` and newer.

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

## **Codebelt.Extensions.Xunit** for .NET
Expand Down
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,32 @@ For more details, please refer to `PackageReleaseNotes.txt` on a per assembly ba
> [!NOTE]
> Changelog entries prior to version 8.4.0 was migrated from previous versions of Cuemon.Extensions.Xunit, Cuemon.Extensions.Xunit.Hosting, and Cuemon.Extensions.Xunit.Hosting.AspNetCore.

## [11.0.0] - 2025-11-11

This is a major release that focuses on adapting to the latest .NET 10 (LTS) release, while also removing support for .NET 8 (LTS).

At the same time we also adapted xUnit v3 as this is the one in active development whereas xUnit v2 is in maintenance mode only.

> [!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.
>
> 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`).
>
> 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.
>
> 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).
>
> 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.

### Changed

- Test class in the Codebelt.Extensions.Xunit namespace to use ValueTask for InitializeAsync instead of Task (xUnit v3 consequence change)
- HostFixture class in the Codebelt.Extensions.Xunit.Hosting namespace to use ValueTask for InitializeAsync instead of Task (xUnit v3 consequence change)

## [10.0.7] - 2025-10-17

This is a service update that focuses on package dependencies.
Expand Down
11 changes: 6 additions & 5 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</PropertyGroup>

<PropertyGroup Condition="'$(IsTestProject)' == 'false'">
<TargetFrameworks>net9.0;net8.0;netstandard2.0</TargetFrameworks>
<TargetFrameworks>net10.0;net9.0;netstandard2.0</TargetFrameworks>
<Copyright>Copyright © Geekle 2024-2025. All rights reserved.</Copyright>
<Authors>gimlichael</Authors>
<Company>Geekle</Company>
Expand Down Expand Up @@ -51,11 +51,11 @@
</ItemGroup>

<PropertyGroup Condition="'$(IsTestProject)' == 'true' AND '$(IsLinux)' == 'true'">
<TargetFrameworks>net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net10.0;net9.0</TargetFrameworks>
</PropertyGroup>

<PropertyGroup Condition="'$(IsTestProject)' == 'true' AND '$(IsWindows)' == 'true'">
<TargetFrameworks>net9.0;net8.0;net48</TargetFrameworks>
<TargetFrameworks>net10.0;net9.0;net48</TargetFrameworks>
</PropertyGroup>

<PropertyGroup Condition="'$(IsTestProject)' == 'true'">
Expand All @@ -68,12 +68,13 @@
<AnalysisLevel>none</AnalysisLevel>
<NoWarn>NU1701,NU1903,NETSDK1206</NoWarn>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<OutputType>Exe</OutputType>
</PropertyGroup>

<ItemGroup Condition="'$(IsTestProject)' == 'true'">
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="xunit" />
<PackageReference Include="xunit.runner.console" />
<PackageReference Include="xunit.v3" />
<PackageReference Include="xunit.v3.runner.console" />
<PackageReference Include="xunit.runner.visualstudio">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
Loading
Loading