Skip to content

Commit 9cc08ed

Browse files
committed
Add /releases/v3/3.2.2, /releases/analyzers/1.27.0
1 parent 50b2804 commit 9cc08ed

File tree

5 files changed

+91
-4
lines changed

5 files changed

+91
-4
lines changed

site/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,9 @@ xUnit.net v3 In-Process Runner v2.0.3+216a74a292 (64-bit .NET 8.0.17)
255255
{: .latest }
256256
| | Stable | Prerelease
257257
| --------------------- | -------------------------------------------------- | ----------
258-
| Core Framework v3 | [3.2.1](/releases/v3/3.2.1){: .release } | _None_
258+
| Core Framework v3 | [3.2.2](/releases/v3/3.2.2){: .release } | _None_
259259
| Core Framework v2 | [2.9.3](/releases/v2/2.9.3){: .release } | _None_
260-
| Analyzers | [1.26.0](/releases/analyzers/1.26.0){: .release } | _None_
260+
| Analyzers | [1.27.0](/releases/analyzers/1.27.0){: .release } | _None_
261261
| Visual Studio adapter | [3.1.5](/releases/visualstudio/3.1.5){: .release } | _None_
262262

263263
_For older release notes, see the [full release notes list](/releases/)._

site/releases/analyzers/1.27.0.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Analyzers 1.27.0
3+
title-version: 2026 January 14
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping two new releases:
9+
10+
* xUnit.net Core Framework v3 `3.2.2` ([release notes](/releases/v3/3.2.2))
11+
* **xUnit.net Analyzers `1.27.0`**
12+
13+
It's been 7 weeks since the release of [`1.26.0`](/releases/analyzers/1.26.0).
14+
15+
As always, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code. 🎉
16+
17+
## Release Notes
18+
19+
These release notes are a comprehensive list of changes from `1.26.0` to `1.27.0`.
20+
21+
### Usage Analyzers
22+
23+
* **BUG:** Fixed an issue with [xUnit1019](/xunit.analyzers/rules/xUnit1019) where the analyzer would improperly flag some return types that are compatible. For example, `IEnumerable<string[]>` is type-compatible with `IEnumerable<object[]>` but would be flagged. [xunit/xunit#3411](https://github.com/xunit/xunit/issues/3411){: .issue-link }

site/releases/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Continuous integration packages are available on [Feedz.io](https://feedz.io/org
1212

1313
| NuGet&nbsp;Package: | [`xunit.v3`](https://www.nuget.org/packages/xunit.v3) and friends
1414
| ------------------- | -----
15-
| **Releases:** | [3.2.1](/releases/v3/3.2.1){: .release } [3.2.0](/releases/v3/3.2.0){: .release } [3.1.0](/releases/v3/3.1.0){: .release } [3.0.1](/releases/v3/3.0.1){: .release } [3.0.0](/releases/v3/3.0.0){: .release } [2.0.3](/releases/v3/2.0.3){: .release } [2.0.2](/releases/v3/2.0.2){: .release } [2.0.1](/releases/v3/2.0.1){: .release } [2.0.0](/releases/v3/2.0.0){: .release } [1.1.0](/releases/v3/1.1.0){: .release } [1.0.1](/releases/v3/1.0.1){: .release } [1.0.0](/releases/v3/1.0.0){: .release }
15+
| **Releases:** | [3.2.2](/releases/v3/3.2.2){: .release } [3.2.1](/releases/v3/3.2.1){: .release } [3.2.0](/releases/v3/3.2.0){: .release } [3.1.0](/releases/v3/3.1.0){: .release } [3.0.1](/releases/v3/3.0.1){: .release } [3.0.0](/releases/v3/3.0.0){: .release } [2.0.3](/releases/v3/2.0.3){: .release } [2.0.2](/releases/v3/2.0.2){: .release } [2.0.1](/releases/v3/2.0.1){: .release } [2.0.0](/releases/v3/2.0.0){: .release } [1.1.0](/releases/v3/1.1.0){: .release } [1.0.1](/releases/v3/1.0.1){: .release } [1.0.0](/releases/v3/1.0.0){: .release }
1616
| **Prereleases:** | _None_
1717

1818
## Core Framework v2
@@ -26,7 +26,7 @@ Continuous integration packages are available on [Feedz.io](https://feedz.io/org
2626

2727
| NuGet&nbsp;Package: | [`xunit.analyzers`](https://www.nuget.org/packages/xunit.analyzers)
2828
| ------------------- | -----
29-
| **Releases:** | [1.26.0](/releases/analyzers/1.26.0){: .release } [1.25.0](/releases/analyzers/1.25.0){: .release } [1.24.0](/releases/analyzers/1.24.0){: .release } [1.23.0](/releases/analyzers/1.23.0){: .release } [1.22.0](/releases/analyzers/1.22.0){: .release } [1.21.0](/releases/analyzers/1.21.0){: .release } [1.20.0](/releases/analyzers/1.20.0){: .release } [1.19.0](/releases/analyzers/1.19.0){: .release } [1.18.0](/releases/analyzers/1.18.0){: .release } [1.17.0](/releases/analyzers/1.17.0){: .release } [1.16.0](/releases/analyzers/1.16.0){: .release } [1.15.0](/releases/analyzers/1.15.0){: .release } [1.14.0](/releases/analyzers/1.14.0){: .release } [1.13.0](/releases/analyzers/1.13.0){: .release } [1.12.0](/releases/analyzers/1.12.0){: .release } [1.11.0](/releases/analyzers/1.11.0){: .release } [1.10.0](/releases/analyzers/1.10.0){: .release } [1.9.0](/releases/analyzers/1.9.0){: .release } [1.8.0](/releases/analyzers/1.8.0){: .release } [1.7.0](/releases/analyzers/1.7.0){: .release } [1.6.0](/releases/analyzers/1.6.0){: .release } [1.5.0](/releases/analyzers/1.5.0){: .release } [1.4.0](/releases/analyzers/1.4.0){: .release } [1.3.0](/releases/analyzers/1.3.0){: .release } [1.2.0](/releases/analyzers/1.2.0){: .release } [1.1.0](/releases/analyzers/1.1.0){: .release } [1.0.0](/releases/analyzers/1.0.0){: .release }
29+
| **Releases:** | [1.27.0](/releases/analyzers/1.27.0){: .release } [1.26.0](/releases/analyzers/1.26.0){: .release } [1.25.0](/releases/analyzers/1.25.0){: .release } [1.24.0](/releases/analyzers/1.24.0){: .release } [1.23.0](/releases/analyzers/1.23.0){: .release } [1.22.0](/releases/analyzers/1.22.0){: .release } [1.21.0](/releases/analyzers/1.21.0){: .release } [1.20.0](/releases/analyzers/1.20.0){: .release } [1.19.0](/releases/analyzers/1.19.0){: .release } [1.18.0](/releases/analyzers/1.18.0){: .release } [1.17.0](/releases/analyzers/1.17.0){: .release } [1.16.0](/releases/analyzers/1.16.0){: .release } [1.15.0](/releases/analyzers/1.15.0){: .release } [1.14.0](/releases/analyzers/1.14.0){: .release } [1.13.0](/releases/analyzers/1.13.0){: .release } [1.12.0](/releases/analyzers/1.12.0){: .release } [1.11.0](/releases/analyzers/1.11.0){: .release } [1.10.0](/releases/analyzers/1.10.0){: .release } [1.9.0](/releases/analyzers/1.9.0){: .release } [1.8.0](/releases/analyzers/1.8.0){: .release } [1.7.0](/releases/analyzers/1.7.0){: .release } [1.6.0](/releases/analyzers/1.6.0){: .release } [1.5.0](/releases/analyzers/1.5.0){: .release } [1.4.0](/releases/analyzers/1.4.0){: .release } [1.3.0](/releases/analyzers/1.3.0){: .release } [1.2.0](/releases/analyzers/1.2.0){: .release } [1.1.0](/releases/analyzers/1.1.0){: .release } [1.0.0](/releases/analyzers/1.0.0){: .release }
3030
| **Prereleases:** | _None_
3131

3232
## Visual Studio adapter

site/releases/v3/3.2.2.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: Core Framework v3 3.2.2
3+
title-version: 2026 January 14
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping two new releases:
9+
10+
* **xUnit.net Core Framework v3 `3.2.2`**
11+
* xUnit.net Analyzers `1.27.0` ([release notes](/releases/analyzers/1.27.0))
12+
13+
It's been 7 weeks since the release of [`3.2.1`](/releases/v3/3.2.1).
14+
15+
As always, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code. 🎉
16+
17+
## Release Notes
18+
19+
These release notes are a list of changes from `3.2.1` to `3.2.2`.
20+
21+
### Core Framework
22+
23+
* We've updated the XML documentation for `[ClassData]` to indicate all the supported data source types in v3 (it previously only listed `IEnumerable<object?[]>`, which was the sole compatible implementation type for v2).
24+
25+
### Assertion Library
26+
27+
* We are shipping a Native AOT compatible version of the assertion library in [`xunit.v3.assert.aot`](https://www.nuget.org/packages/xunit.v3.assert.aot).
28+
29+
The minimum target framework for this release is .NET 9, due to dependencies on `[OverloadResolutionPriorityAttribute]` to resolve ambiguities that the compiler would otherwise falter on (and force you to write explicit casts in your test code).
30+
31+
For source-based consumers (using either [`xunit.v3.assert.source`](https://www.nuget.org/packages/xunit.v3.assert.source) or Git submodule), we have updated the [README](https://github.com/xunit/assert.xunit/blob/f8375ef34d2f0584009c78f3bb11b1a57dd8b12f/README.md) to indicate that you should define the symbol `XUNIT_AOT` if you want to make your own Native AOT compatible build of the library from source.
32+
33+
> [!NOTE]
34+
> Native AOT compatibility is currently only supported for the assertion library. There is more ongoing work to make the framework itself Native AOT compatible that is anticipated to land in a future major release.
35+
36+
### Runners
37+
38+
* The TRX result report now includes the string `xunit.v3` in the `adapterTypeName` so that it can more easily be identified programmatically. [xunit/xunit#3463](https://github.com/xunit/xunit/issues/3463){: .issue-link }
39+
40+
### Runner Utility
41+
42+
* **BUG:** We fixed an issue where `AssemblyHelper` should've been helping to resolve missing assembly dependencies with .NET, but was NOOPing instead.
43+
44+
### Templates
45+
46+
* We have updated the `xunit3` templates with new command line switches:
47+
48+
* `--test-runner [mtp-v2|mtp-v1|vstest]` to indicate the desired runner for `dotnet test` and Test Explorer. The resulting project only references `xunit.runner.visualstudio` now when you ask for `vstest`, as that package is not required for supporting Microsoft Testing Platform.<br />_**Default value: `mtp-v2`**_
49+
* `--command-line [xunit|mtp]` to indicate the desired command line switches for `dotnet run`.<br />_**Default value: `xunit`**_
50+
51+
When asking for a `--test-runner` with Microsoft Testing Platform, we will also attempt to update your `global.json` as is required for `dotnet test` with the .NET 10 SDK. Note that while this will be successful for users who are using .NET SDK 9 or 10, it will result in a warning that the change was not successful if you're using .NET SDK 8. This warning can be safely ignored, since this setting is only consumed by .NET 10 SDK. For more information, see [Using .NET SDK version 10 or later](/docs/getting-started/v3/microsoft-testing-platform#using-net-sdk-version-10-or-later) in the Microsoft Testing Platform getting started documentation.
52+
53+
> [!NOTE]
54+
> This only changes the defaults used when creating new projects. The `xunit.v3` and `xunit.v3.core` version `3.*` NuGet packages still default to using Microsoft Testing Platform v1, for backward compatibility reasons.
55+
56+
### Microsoft Testing Platform
57+
58+
* We have improved the error message when indicating that report filenames may not include path characters, to print the problematic file name in question. [xunit/xunit#3461](https://github.com/xunit/xunit/pull/3461){: .issue-link }
59+
60+
* **BUG** We fixed an inconsistency with theory data pre-enumeration default behavior (it was on for discovery, but off for execution). It is now always on, so that users can both discover and run individual theory data rows from the command line. [microsoft/testfx#7163](https://github.com/microsoft/testfx/discussions/7163){: .issue-link }
61+
62+
* **BUG** We fixed an issue where we were ignoring discovery requests that included test node UID filters. [xunit/xunit#3465](https://github.com/xunit/xunit/issues/3465){: .issue-link }

site/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,8 @@
247247

248248
- name: API Documentation
249249
items:
250+
- name: v3 3.2.2
251+
href: https://api.xunit.net/v3/3.2.2
250252
- name: v3 3.2.1
251253
href: https://api.xunit.net/v3/3.2.1
252254
- name: v3 3.2.0

0 commit comments

Comments
 (0)