Skip to content

Commit 5b29c35

Browse files
committed
Add /docs/getting-started/v3/native-aot, /releases/analyzers/2.0.0-pre.9, /releases/v3/4.0.0-pre.33, /releases/visualstudio/4.0.0-pre.3
1 parent 38e39ec commit 5b29c35

File tree

6 files changed

+484
-3
lines changed

6 files changed

+484
-3
lines changed

site/docs/getting-started/v3/native-aot.md

Lines changed: 348 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: Analyzers 2.0.0-pre.9
3+
title-version: 2026 March 25
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping three new prereleases:
9+
10+
* xUnit.net Core Framework v3 `4.0.0-pre.33` ([release notes](/releases/v3/4.0.0-pre.33))
11+
* **xUnit.net Analyzers `2.0.0-pre.9`**
12+
* xUnit.net Visual Studio adapter `4.0.0-pre.3` ([release notes](/releases/visualstudio/4.0.0-pre.3))
13+
14+
This is the first prerelease build for the 2.0 release. This is shipping alongside Core Framework v3 4.0.0-pre.33, and the primary feature of this new release is ensuring that the analyzers can be used in Native AOT test projects.
15+
16+
As always, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code. 🎉
17+
18+
## Release Notes
19+
20+
These release notes are a list of changes from `1.27.0` to `2.0.0-pre.9`.
21+
22+
### Usage Analyzers
23+
24+
* **BUG:** Fixed an issue where [xUnit1008](/xunit.analyzers/rules/xUnit1008) would inappropriate trigger for attributes which implemented `IFactAttribute` or `ITheoryAttribute`. [xunit/xunit#3518](https://github.com/xunit/xunit/issues/3518){: .issue-link }
25+
26+
<!--
27+
[xunit/xunit#](https://github.com/xunit/xunit/issues/){: .issue-link }
28+
-->

site/releases/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Continuous integration packages are available on [Feedz.io](https://feedz.io/org
1313
| NuGet&nbsp;Package: | [`xunit.v3`](https://www.nuget.org/packages/xunit.v3) and friends
1414
| ------------------- | -----
1515
| **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 }
16-
| **Prereleases:** | _None_
16+
| **Prereleases:** | [4.0.0-pre.33](/releases/v3/4.0.0-pre.33){: .prerelease }
1717

1818
## Core Framework v2
1919

@@ -27,11 +27,11 @@ Continuous integration packages are available on [Feedz.io](https://feedz.io/org
2727
| NuGet&nbsp;Package: | [`xunit.analyzers`](https://www.nuget.org/packages/xunit.analyzers)
2828
| ------------------- | -----
2929
| **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 }
30-
| **Prereleases:** | _None_
30+
| **Prereleases:** | [2.0.0-pre.9](/releases/analyzers/2.0.0-pre.9){: .prerelease }
3131

3232
## Visual Studio adapter
3333

3434
| NuGet&nbsp;Package: | [`xunit.runner.visualstudio`](https://www.nuget.org/packages/xunit.runner.visualstudio)
3535
| ------------------- | -----
3636
| **Releases:** | [3.1.5](/releases/visualstudio/3.1.5){: .release } [3.1.4](/releases/visualstudio/3.1.4){: .release } [3.1.3](/releases/visualstudio/3.1.3){: .release } [3.1.2](/releases/visualstudio/3.1.2){: .release } [3.1.1](/releases/visualstudio/3.1.1){: .release } [3.1.0](/releases/visualstudio/3.1.0){: .release } [3.0.2](/releases/visualstudio/3.0.2){: .release } [3.0.1](/releases/visualstudio/3.0.1){: .release } [3.0.0](/releases/visualstudio/3.0.0){: .release } [2.8.2](/releases/visualstudio/2.8.2){: .release } [2.8.1](/releases/visualstudio/2.8.1){: .release } [2.8.0](/releases/visualstudio/2.8.0){: .release } [2.5.8](/releases/visualstudio/2.5.8){: .release } [2.5.7](/releases/visualstudio/2.5.7){: .release } [2.5.6](/releases/visualstudio/2.5.6){: .release } [2.5.5](/releases/visualstudio/2.5.5){: .release } [2.5.4](/releases/visualstudio/2.5.4){: .release } [2.5.3](/releases/visualstudio/2.5.3){: .release } [2.5.1](/releases/visualstudio/2.5.1){: .release } [2.5.0](/releases/visualstudio/2.5.0){: .release }
37-
| **Prereleases:** | _None_
37+
| **Prereleases:** | [4.0.0-pre.3](/releases/visualstudio/4.0.0-pre.3){: .prerelease }

site/releases/v3/4.0.0-pre.33.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: Core Framework v3 4.0.0-pre.33
3+
title-version: 2026 March 25
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping three new prereleases:
9+
10+
* **xUnit.net Core Framework v3 `4.0.0-pre.33`**
11+
* xUnit.net Analyzers `2.0.0-pre.9` ([release notes](/releases/analyzers/2.0.0-pre.9))
12+
* xUnit.net Visual Studio adapter `4.0.0-pre.3` ([release notes](/releases/visualstudio/4.0.0-pre.3))
13+
14+
This is the first prerelease build for the 4.0 release. The big new feature in this release is support for Native AOT test projects, which will allow developers testing their Native AOT code to run it in the Native AOT environment, including support for publishing your test projects to Native AOT for the most complete test environment.
15+
16+
As always, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code. 🎉
17+
18+
> [!NOTE]
19+
> With 4.0, we are discontinuing official support for Mono. While we anticipate that it will _usually_ continue to work, we have noticed occasional Mono-related issues in our own CI process. Given that Mono is now abandoned, we don't anticipate being able to get any support for resolving them. Any requests for xUnit.net support for Mono-related issues will be declined. We may accept bug fixes based on their severity and the impact to the codebase.
20+
21+
## Release Notes
22+
23+
These release notes are a list of changes from `3.2.2` to `4.0.0-pre.33`.
24+
25+
### Core Framework
26+
27+
* Version 4.0 introduces support for Native AOT. For more information on how to use Native AOT and the difference between Native AOT and the traditional reflection-based version of xUnit.net, please see [Testing with Native AOT](/docs/getting-started/v3/native-aot).
28+
29+
* We have introduced test class and test method orderers (in addition to the existing test collection and test case orderers). Ordering is performed as collection => class => method => case. [xunit/xunit#3424](https://github.com/xunit/xunit/issues/3424){: .issue-link }
30+
31+
* We have added `ITestMetadata.TestLabel`, making `Label` from data attributes available via metadata and `TestContext.Current.Test.TestLabel`. [xunit/xunit#3388](https://github.com/xunit/xunit/issues/3388){: .issue-link }
32+
33+
### Assertions
34+
35+
* We have added an overload to `Assert.All` and `Assert.AllAsync` with a boolean `strict` parameter. When this is `false`, it behaves like the original version; when it's `true`, the assertion will fail if the collection is empty. [xunit/xunit#3476](https://github.com/xunit/xunit/issues/3476){: .issue-link }
36+
37+
* **BUG:** We have fixed an issue with the [assert.xunit](https://github.com/xunit/assert.xunit) repository when used as a Git submodule to no longer depend on a source file (`EnvironmentVariables.cs`) from the main project. [xunit/xunit#3511](https://github.com/xunit/xunit/issues/3511){: .issue-link }
38+
39+
* **BUG:** We have fixed an issue where `AssertEqualityComparer.GetDefaultComparer()` and `AssertEqualityComparer.GetDefaultInnerComparer()` could throw `NullReferenceException` on Mono due to improper circular initialization logic. [xunit/assert.xunit#73](https://github.com/xunit/assert.xunit/pull/73){: .issue-link }
40+
41+
### Runners
42+
43+
* Version 4.0 introduces the xUnit.net native console runner as a .NET Tool. Install this tool with `dotnet tool install -g --prerelease xunit-console-tool` and run it with `dotnet xunit-console`. It contains the `xunit.v3.runner.console` binary, with builds supporting Linux (32-bit Arm, 64-bit Arm, and 64-bit Intel/AMD), macOS (64-bit Arm and 64-bit Intel/AMD), and Windows (64-bit Arm, 64-bit Intel/AMD, and 32-bit Intel/AMD). Installing this requires you are using .NET 10 SDK or later.
44+
45+
* The `-list full` output (for console runners) now includes an indication when tests are marked as explicit. [xunit/xunit#3502](https://github.com/xunit/xunit/issues/3502){: .issue-link }
46+
47+
### Microsoft Testing Platform
48+
49+
* The default version of Microsoft Testing Platform is now v2 rather than v1. We are considering removing support for v1 entirely; please respond to the [poll on our Mastodon account](https://dotnet.social/@xunit/116290925511759584) if you believe you would be negatively affected by this removal.
50+
51+
* We have updated the default file extensions for three of the reports, so that they are more useful when auto-generating the file name:
52+
53+
* JUnit report, changed from `.junit` to `.junit.xml`
54+
* NUnit report, changed from `.nunit` to `.nunit.xml`
55+
* xUnit.net v2 report, changed from `.xunit` to `.xunit.xml`
56+
57+
This should make it easier to open and inspect these default report files. [xunit/xunit#3498](https://github.com/xunit/xunit/issues/3498){: .issue-link }
58+
59+
* The MTP v2 packages have been updated to Microsoft Testing Platform 2.1.0. [xunit/xunit#3510](https://github.com/xunit/xunit/issues/3510){: .issue-link }
60+
61+
### Extensibility
62+
63+
* We have added `StartTime` and `FinishTime` on the major pipeline events via `IStartedMessage` and `IFinishedMessage`. This should mean every starting or finished message now includes the UTC start or finish time associated with the event.
64+
65+
* The result reports (HTML, XML, etc.) have been converted from XSL-T to custom code, to support Native AOT. Developers can now implement the appropriate interfaces (`IConsoleResultWriter` and `IMicrosoftTestingPlatformResultWriter`) and register them via assembly-level attributes (`[RegisterConsoleResultWriter]`, `[RegisterMicrosoftTestingPlatformResultWriter]`, as well as `[RegisterResultWriter]` which can be used for a result writer which supports both (all the built-in writers support both, except for xUnit.net v1 XML, which we consider a deprecated holdover and no longer appropriate for MTP).
66+
67+
### Obsolete APIs removed
68+
69+
We have removed the following APIs that were marked obsolete during 3.x:
70+
71+
* `CecilSourceinformationProvider` has been replaced by compiler-provided arguments to `FactAttribute`
72+
* `ExecutionErrorTestCase ctor` without `sourceFilePath` and `sourceLineNumber`
73+
* `FixtureMappingManager.InitializeAsync()` without `createInstances`
74+
* `TestIntrospectionHelper.GetTestCaseDetails()` without `label`
75+
* `Xunit3ArgumentFactory.ForRun()` without `testCaseIDs`
76+
* `XunitTestClassRunnerBase.FormatConstructorArgsMissingMessage` (no longer called)
77+
* `XunitTestCollectionRunnerBase.GetTestCaseOrderer` (newly introduced test class runner takes precedence)
78+
* `XunitTestMethod.GetDisplayName()` without `label`
79+
* The classes in namespace `Xunit.Runners` have been removed (in favor of the classes in `Xunit.SimpleRunner`)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: Visual Studio adapter 4.0.0-pre.3
3+
title-version: 2026 March 25
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping three new prereleases:
9+
10+
* xUnit.net Core Framework v3 `4.0.0-pre.33` ([release notes](/releases/v3/4.0.0-pre.33))
11+
* xUnit.net Analyzers `2.0.0-pre.9` ([release notes](/releases/analyzers/2.0.0-pre.9))
12+
* **xUnit.net Visual Studio adapter `4.0.0-pre.3`**
13+
14+
This is the first prerelease build for the 4.0 release. This is shipping alongside Core Framework v3 4.0.0-pre.33, and the primary feature of this new release is ensuring that Native AOT test projects can be tested with VSTest.
15+
16+
As always, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code. 🎉
17+
18+
## Release Notes
19+
20+
These release notes are a comprehensive list of changes from `3.1.5` to `4.0.0-pre.3`.
21+
22+
### Features and Fixes
23+
24+
_There are no new features and fixes other than Native AOT support._

site/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
href: /docs/getting-started/v3/getting-started
1111
- name: What's New in v3?
1212
href: /docs/getting-started/v3/whats-new
13+
- name: Testing with Native AOT
14+
href: /docs/getting-started/v3/native-aot
1315
- name: Migrating Unit Tests
1416
href: /docs/getting-started/v3/migration
1517
- name: Migrating Extensibility

0 commit comments

Comments
 (0)