|
| 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 } |
0 commit comments