Skip to content

Commit c09f6da

Browse files
committed
Add /releases/v3/3.0.1, /releases/analyzers/1.24.0, and /releases/visualstudio/3.1.4
1 parent d79c78f commit c09f6da

File tree

7 files changed

+117
-10
lines changed

7 files changed

+117
-10
lines changed

site/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,10 @@ 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.0.0](/releases/v3/3.0.0){: .release } | _None_
258+
| Core Framework v3 | [3.0.1](/releases/v3/3.0.1){: .release } | _None_
259259
| Core Framework v2 | [2.9.3](/releases/v2/2.9.3){: .release } | _None_
260-
| Analyzers | [1.23.0](/releases/analyzers/1.23.0){: .release } | _None_
261-
| Visual Studio adapter | [3.1.3](/releases/visualstudio/3.1.3){: .release } | _None_
260+
| Analyzers | [1.24.0](/releases/analyzers/1.24.0){: .release } | _None_
261+
| Visual Studio adapter | [3.1.4](/releases/visualstudio/3.1.4){: .release } | _None_
262262

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

site/releases/analyzers/1.23.0.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,3 @@ These release notes are a comprehensive list of changes from `1.22.0` to `1.23.0
3636
* We have created [xUnit3003](/xunit.analyzers/rules/xUnit3003) to flag classes which extend `FactAttribute` (directly or indirectly) which do not provide a constructor that collects and passes along source location information (file name and line number). This is used to provide source information to Microsoft Testing Platform runners, like Test Explorer and `dotnet test`, to link tests to their source code.
3737

3838
This analyzer is only applicable to projects which are linked against xUnit.net v3 version `3.0.0` or later.
39-
40-
<!--
41-
[xunit/xunit#](https://github.com/xunit/xunit/issues/){: .issue-link }
42-
-->

site/releases/analyzers/1.24.0.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: Analyzers 1.24.0
3+
title-version: 2025 August 15
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping three new releases:
9+
10+
* xUnit.net Core Framework v3 `3.0.1` ([release notes](/releases/v3/3.0.1))
11+
* **xUnit.net Analyzers `1.24.0`**
12+
* xUnit.net Visual Studio adapter `3.1.4` ([release notes](/releases/visualstudio/3.1.4))
13+
14+
It's been 1 month since the release of [`1.23.0`](/releases/analyzers/1.23.0).
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 `1.23.0` to `1.24.0`.
21+
22+
### General
23+
24+
* We have removed batch fixer support (for real, this time 😬).
25+
26+
### Usage Analyzers
27+
28+
* We have updated [xUnit1044](/xunit.analyzers/rules/xUnit1044), [xUnit1045](/xunit.analyzers/rules/xUnit1045), [xUnit1046](/xunit.analyzers/rules/xUnit1046), and [xUnit1047](/xunit.analyzers/rules/xUnit1047) in support of the new tuple serialization added to v3 3.0.1. [xunit/xunit#3361](https://github.com/xunit/xunit/issues/3361){: .issue-link }
29+
30+
### Assertion Analyzers
31+
32+
* We have updated [xUnit2002](/xunit.analyzers/rules/xUnit2002) to not trigger when passing unsafe pointers to `Assert.Null` and `Assert.NotNull` (support was added in v3 3.0.1). We have also updated [xUnit2024](/xunit.analyzers/rules/xUnit2024) to not trigger when using `Assert.True` or `Assert.False` to compare unsafe pointers against `null` (for v2 and versions of v3 prior to 3.0.1). [xunit/xunit#3346](https://github.com/xunit/xunit/issues/3346){: .issue-link }
33+
34+
* We have updated [xUnit2023](/xunit.analyzers/rules/xUnit2023) and its associated fixer to support `Assert.CollectionAsync`.

site/releases/index.md

Lines changed: 3 additions & 3 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.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.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,12 +26,12 @@ 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.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.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
3333

3434
| NuGet&nbsp;Package: | [`xunit.runner.visualstudio`](https://www.nuget.org/packages/xunit.runner.visualstudio)
3535
| ------------------- | -----
36-
| **Releases:** | [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 }
36+
| **Releases:** | [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 }
3737
| **Prereleases:** | _None_

site/releases/v3/3.0.1.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: Core Framework v3 3.0.1
3+
title-version: 2025 August 15
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping three new releases:
9+
10+
* **xUnit.net Core Framework v3 `3.0.1`**
11+
* xUnit.net Analyzers `1.24.0` ([release notes](/releases/analyzers/1.24.0))
12+
* xUnit.net Visual Studio adapter `3.1.4` ([release notes](/releases/visualstudio/3.1.4))
13+
14+
It's been 1 month since the release of [`3.0.0`](/releases/v3/3.0.0).
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 `3.0.0` to `3.0.1`.
21+
22+
### Core Framework
23+
24+
* We have added `CulturedFact` and `CulturedTheory` attributes (ported from our own test project). These attributes allow the user to specify one or more override cultures to run the tests with. The test display names will be decorated with the culture name (i.e., `Namespace.TestClass.TestMethod[en-US]`. [xunit/xunit#2182](https://github.com/xunit/xunit/issues/2182){: .issue-link }
25+
26+
* We have added support for serializing tuples, so long as all the values in the tuple are serializable. [xunit/xunit#3361](https://github.com/xunit/xunit/issues/3361){: .issue-link }
27+
28+
* We have updated the selection order of custom serializers (that is, objects which implement `IXunitSerializer`) such that user-provided serializers will be chosen before the built-in serializers. This should allow users to register more specialized serializers for objects that might otherwise be serialized using built-in functionality (e.g., types that implement `IFormattable` and `IParsable<>`). [xunit/xunit#3367](https://github.com/xunit/xunit/issues/3367){: .issue-link }
29+
30+
* We have added support for test attachments to our TRX report generator. [xunit/xunit#3363](https://github.com/xunit/xunit/issues/3363){: .issue-link }
31+
32+
* We have updated our CTRF report generator to comply with updates to the CTRF schema. This includes:
33+
34+
* Source line has been moved to `.results.tests[].line`, from `.results.tests[].extra.fileLine`.
35+
* Attachments have been moved to `.results.tests[].attachments[]` (an array of the new [attachment object](https://ctrf.io/docs/specification/test#attachment-object)), from `.results.tests[].extra.attachments` (an object with one property per attachment). Note that attachments are now written to disk with a local file reference, whereas they previously were stored inline in the JSON.
36+
37+
* We have added the ability to control test assembly unique IDs, to support more repeatable randomization across test assemblies built in multiple environments (i.e., a developer machine and a CI server). For more information, see the [stable randomization](/docs/getting-started/v3/whats-new#stable-randomization) section of the "What's New in xUnit.net v3?" documentation page. [xunit/xunit#3365](https://github.com/xunit/xunit/issues/3365){: .issue-link }
38+
39+
* **BUG:** We fixed an issue with CTRF generation that was emitting incorrect timestamps, which caused execution time calculations to be too-small by a factor of 1000. [xunit/xunit#3358](https://github.com/xunit/xunit/issues/3358){: .issue-link }
40+
41+
* **BUG:** We fixed an issue where the ordering of test assemblies and test collections could be inconsistent, depending on how the test assembly was run (typically manifested in the order being reversed). [xunit/xunit#3359](https://github.com/xunit/xunit/issues/3359){: .issue-link }
42+
43+
### Assertion Library
44+
45+
* We have added support for unsafe pointers to `Assert.Null` and `Assert.NotNull`. (Note that consumers of source-based assertions, such as via `xunit.v3.assert.source` or Git Submodule, must define the compilation symbol `XUNIT_POINTERS` and add `<AllowUnsafeBlocks>true</AllowUnsafeBlocks>` to their `.csproj` file to enable unsafe pointer support.) [xunit/xunit#3346](https://github.com/xunit/xunit/issues/3346){: .issue-link }
46+
47+
* **BUG:** We fixed an issue with field exclusions in `Assert.EquivalentWithExclusions` where we could accidentally exclude inappropriate members. [xunit/xunit#3347](https://github.com/xunit/xunit/issues/3347){: .issue-link }
48+
49+
### Runner Utility
50+
51+
* **BUG:** We fixed an issue where source information providers could be double-disposed when being passed in support of xUnit.net v2 test projects.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: Visual Studio adapter 3.1.4
3+
title-version: 2025 August 15
4+
logo-title: true
5+
css: release-notes.css
6+
---
7+
8+
Today, we're shipping three new releases:
9+
10+
* xUnit.net Core Framework v3 `3.0.1` ([release notes](/releases/v3/3.0.1))
11+
* xUnit.net Analyzers `1.24.0` ([release notes](/releases/analyzers/1.24.0))
12+
* **xUnit.net Visual Studio adapter `3.1.4`**
13+
14+
It's been 1 month since the release of [`3.1.3`](/releases/visualstudio/3.1.3).
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.3` to `3.1.4`.
21+
22+
### Features and Fixes
23+
24+
* **BUG:** We fixed an issue where source information providers could be double-disposed when being passed in support of xUnit.net v2 test projects.

site/toc.yml

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

244244
- name: API Documentation
245245
items:
246+
- name: v3 3.0.1
247+
href: https://api.xunit.net/v3/3.0.1
246248
- name: v3 3.0.0
247249
href: https://api.xunit.net/v3/3.0.0
248250
- name: v3 2.0.3

0 commit comments

Comments
 (0)