Skip to content

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Dec 22, 2025

Updated coverlet.collector from 6.0.0 to 6.0.4.

Release notes

Sourced from coverlet.collector's releases.

6.0.4

Fixed

  • Fix empty coverage report when using include and exclude filters #​1726

Diff between 6.0.3 and 6.0.4

6.0.3

Fixed

Improvements

  • Cache the regex used in InstrumentationHelper #​1693
  • Enable dotnetTool integration tests for linux #​660

Diff between 6.0.2 and 6.0.3

6.0.2

Fixed

  • Threshold-stat triggers error #​1634
  • Fixed coverlet collector 6.0.1 requires dotnet sdk 8 #​1625
  • Type initializer errors after updating from 6.0.0 to 6.0.1 #​1629
  • Exception when multiple exclude-by-attribute filters specified #​1624

Improvements

  • More concise options to specify multiple parameters in coverlet.console #​1624

Diff between 6.0.1 and 6.0.2

6.0.1

Fixed

  • Uncovered lines in .NET 8 for inheriting records #​1555
  • Fix record constructors not covered when SkipAutoProps is true #​1561
  • Fix .NET 7 Method Group branch coverage issue #​1447
  • Fix ExcludeFromCodeCoverage does not exclude method in a partial class #​1548
  • Fix ExcludeFromCodeCoverage does not exclude F# task #​1547
  • Fix issues where ExcludeFromCodeCoverage ignored #​1431
  • Fix issues with ExcludeFromCodeCoverage attribute #​1484
  • Fix broken links in documentation #​1514
  • Fix problem with coverage for .net5 WPF application #​1221 by https://github.com/lg2de
  • Fix unable to instrument module for Microsoft.AspNetCore.Mvc.Razor #​1459 by https://github.com/lg2de

Improvements

Diff between 6.0.0 and 6.0.1

Commits viewable in compare view.

Updated Microsoft.NET.Test.Sdk from 17.12.0 to 18.0.1.

Release notes

Sourced from Microsoft.NET.Test.Sdk's releases.

18.0.1

What's Changed

Fixing an issue with loading covrun64.dll on systems that have .NET 10 SDK installed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/10.0/code-coverage-dynamic-native-instrumentation

Internal changes

Full Changelog: microsoft/vstest@v18.0.0...v18.0.1

18.0.0

What's Changed

Internal fixes and updates

17.14.1

What's Changed

Full Changelog: microsoft/vstest@v17.14.0...v17.14.1

17.14.0

What's Changed

.NET versions updated

This version of VS Test upgraded .NET to net8 and net9. All projects targeting net6.0 (or other end-of-life .NET target frameworks) should pin their version of Microsoft.NET.Test.SDK to 17.13.0, or update the projects to net8 or newer. We remain backwards compatible with previous versions of Microsoft.NET.Test.SDK. This change does NOT prevent you from:

  • Updating to the latest VS, and running tests from net6.0 test projects.
  • Updating to the latest .NET SDK, and running tests from net6.0 test projects.

It also has no impact on .NET Framework projects, where we continue targeting .NET Framework 4.6.2.

Changes

Internal version updates and fixes

New Contributors

17.14.0-preview-25107-01

What's Changed

.NET versions updated

This version of VS Test upgraded .NET to net8 and net9. All projects targeting net6.0 (or other end-of-life .NET target frameworks) should pin their version of Microsoft.NET.Test.SDK to 17.13.0, or update the projects to net8 or newer. We remain backwards compatible with previous versions of Microsoft.NET.Test.SDK. This change does NOT prevent you from:

  • Updating to the latest VS, and running tests from net6.0 test projects.
  • Updating to the latest .NET SDK, and running tests from net6.0 test projects.

It also has no impact on .NET Framework projects, where we continue targeting .NET Framework 4.6.2.

Changes

Internal version updates and fixes

Will probably revert before release:

New Contributors

Full Changelog: microsoft/vstest@v17.13.0...v17.14.0-preview-25107-01

17.13.0

What's Changed

New Contributors

Full Changelog: microsoft/vstest@v17.12.0...v17.13.0

Commits viewable in compare view.

Updated MSTest.TestAdapter from 3.1.1 to 4.0.2.

Release notes

Sourced from MSTest.TestAdapter's releases.

4.0.2

See the release notes here

4.0.1

See the release notes here

4.0.0

What is new?

Assert.That

MSTest v4 adds a new type of assertion, that allows you to write any expression, and it will inspect the result to give you more information on failure. Providing a very flexible way to assert complicated expressions. Here a simple example:

[TestClass]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        var animal = "Tiger";
        var zoo = new Zoo();
        Assert.That(() => zoo.GetAnimal() == animal);
    }
}

public class Zoo
{
    public string GetAnimal()
    {
        return "Giraffe";
    }
}
Assert.That(() => zoo.GetAnimal() == animal) failed.
Details:
    animal = "Tiger"     
    zoo.GetAnimal() = "Giraffe"

CallerArgumentExpression

CallerArgumentExpression is consumed by all assertions, to make them aware of the expressions used in the assertion. In the example below, we now know what both the expected and actual values are. But also what value they come from, giving us opportunity to provide better error messages:

[TestClass]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        string animal = null;
        Assert.AreEqual("Giraffe", animal);
    }
}
 ... (truncated)

## 4.0.0-preview.25372.6

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in #​1285 and #​5762

## 4.0.0-preview.25358.7

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in https://github.com/microsoft/testfx/issues/1285 and https://github.com/microsoft/testfx/issues/5762

## 3.11.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.11.1)

## 3.11.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.11.0)

## 3.10.5

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.5)


## 3.10.4

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.4)


## 3.10.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.3)


## 3.10.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.2)


## 3.10.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.1)


## 3.10.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.0)


## 3.9.3

## What's Changed

* Simpler fix for dotnet test when using retry by @​Youssef1313 in #​5732. Note that this PR targets rel/3.9 branch. For 3.10, we did a different fix: https://github.com/microsoft/testfx/pull/5717

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.3
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.3

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.2...v3.9.3

## 3.9.2

## What's Changed

* Fix MSTEST0042 (duplicate data row) false positive with Zero/NegativeZero by @​Youssef1313 in #​5684
* Allow framework authors to use TestCase.FullyQualifiedName as the TestNodeUid by @​Youssef1313 in #​5658
* Ensure TestMethodAttribute.Execute is run on the correct execution context by @​Youssef1313 in #​5688
* Avoid loading System.Threading.Tasks.Extensions when not needed by @​Youssef1313 in #​5694
* Fix UseAsync property in TestMethodAttribute derived classes to use type checks by @​Youssef1313 and @​Copilot in #​5708
* Fix UnitTestRunner leaking some test class instances by @​Youssef1313 in #​5715

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.2
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.2

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.1...v3.9.2

## 3.9.1

## What's Changed
* Make ConditionBaseAttribute.Mode public by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5597
* Add missing overload for Assert.Throws by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5620
* Fix System.MissingMethodException for KeyValuePair Deconstruction by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5635
* Run the whole ExecuteInternal logic under the right execution context by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5646
* VSTestBridge: Handle TestPropertyAttributes.Trait instead of special casing specific properties by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5648

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.1
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.1

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.0...v3.9.1

## 3.9.0

In this release we focused a lot on providing fixes for MSTest and Microsoft.Testing.Platform. The most notable new features and fixes are:

## MSTest

* Allow async test methods for UITestMethod on UWP and WinUI by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5297
* Add analyzer for duplicate data row by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5144
* Fix ClassCleanup not called when the first test in class is ignored by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5070
* Fix writing warnings outside of appdomain by @​nohwnd in https://github.com/microsoft/testfx/pull/5371

## Microsoft.Testing.Platform

* Add (alpha) Azure DevOps extension to report errors by @​nohwnd in https://github.com/microsoft/testfx/pull/5260
* Kill testhost if writing hang dump fails by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5538

We've also improved the `dotnet test` experience in dotnet SDK, especially around Retry plugin experience, and started dogfooding the experience in our own repository. Please check out how to enable the new `dotnet test` experience for Microsoft.Testing.Platform in net10 by [following this link](https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-dotnet-test#microsofttestingplatform-mtp-mode-of-dotnet-test), and help us dogfood it.

## New Contributors
* @​stan-sz made their first contribution in https://github.com/microsoft/testfx/pull/5214
* @​YoshiRulz made their first contribution in https://github.com/microsoft/testfx/pull/5281
* @​bjornhellander made their first contribution in https://github.com/microsoft/testfx/pull/5300



See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.0
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.0

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.8.3...v3.9.0

## 3.9.0-preview.25167.10



## 3.8.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.3)


## 3.8.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.2)


## 3.8.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.1)


## 3.8.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.0)

## Announcements

- This release adds new Assert APIs related to throwing exceptions, collections, and strings. Refer to the changelog for more information.
- This release adds support for generic test methods.
- This release adds few new analyzers.
- We added [`MSTestAnalysisMode`](https://learn.microsoft.com/en-us/dotnet/core/testing/mstest-analyzers/overview#mstestanalysismode). We encourage you to set this property to at least `Recommended`.
- This release adds `RetryAttribute`
- [Microsoft.Testing.Extensions.TrxReport](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport) and [Microsoft.Testing.Extensions.CodeCoverage](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CodeCoverage) are now a dependency of MSTest metapackage

## 3.7.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.3)

## 3.7.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.2)

## 3.7.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.1)

## 3.7.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.0)

## Announcements

[MSTest.Analyzers](https://www.nuget.org/packages/MSTest.Analyzers) is now a transitive dependency of [MSTest.TestFramework](https://www.nuget.org/packages/MSTest.TestFramework) and thus no longer needs to be manually installed.

Note: The only rules enabled by default as warnings, which could potentially cause build errors when updating MSTest, have been carefully selected and thoroughly validated. These rules specifically address real runtime issues related to the usage of MSTest, ensuring that no purely stylistic or low-impact analyzers are enforced by default.

## 3.6.4

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.4)

## 3.6.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.3)

## 3.6.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.2)

## 3.6.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.1)

## 3.6.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.0)


Special shoutout to @​SimonCropp for his exceptional contribution in improving the quality of the repository.

## 3.5.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.5.2)

## 3.5.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.5.1)

## 3.5.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.5.0)

## 3.4.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.4.3)

## 3.4.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.4.2)

## 3.4.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.4.1)

## 3.4.0

Here are the highlights of the current release, full change log is available below:

https://github.com/microsoft/testfx/compare/v3.3.1...v3.4.0

## MSTest

### New and improved analyzers

We've added more code analyzers to help you prevent mistakes, and to ensure a consistent code style of your tests. 

One example of a new analyzer that was added in 3.4.0 is  `MSTEST0024: Do not store TestContext in static members`. This analyzer has `info` severity by default, and will show a message, when you store `TestContext` in a static member in your class. This is not recommended, and you should be using a `TestContext` property instead:

![image](https://github.com/microsoft/testfx/assets/5735905/ab0f95c3-f83e-47b9-a995-87161cb6a61c)

The other analyzers added in this release:

* MSTEST0017: Assertion arguments should be passed in the correct order by @​Evangelink in [#​2256](https://github.com/microsoft/testfx/pull/2256)
* MSTEST0019: Prefer TestInitialize over ctor by @​Evangelink in [#​2580](https://github.com/microsoft/testfx/pull/2580)
* MSTEST0020: Prefer ctors over TestInitialize methods by @​Evangelink in [#​2582](https://github.com/microsoft/testfx/pull/2582)
* MSTEST0021: Prefer Dispose over TestCleanup methods by @​Evangelink in [#​2585](https://github.com/microsoft/testfx/pull/2585)
* MSTEST0022: Prefer 'TestCleanup' methods over Dispose by @​Evangelink in [#​2586](https://github.com/microsoft/testfx/pull/2586)
* MSTEST0023: Do not negate boolean assertions by @​Evangelink in [#​2594](https://github.com/microsoft/testfx/pull/2594)
* MSTEST0024: Do not store TestContext in static members by @​Evangelink in [#​2597](https://github.com/microsoft/testfx/pull/2597)
* Add PreferAssertFailOverAlwaysFalseConditionsAnalyzer by @​Youssef1313 in [#​2799](https://github.com/microsoft/testfx/pull/2799)

If you've just learned about MSTest analyzers, please also check out the [analyzers that were added in previous releases](https://learn.microsoft.com/dotnet/core/testing/mstest-analyzers/overview). They will help you ensure that your test classes and test methods are recognized by MSTest and are not accidentally ignored.

The analyzers are automatically installed with the [MSTest](https://www.nuget.org/packages/MSTest/) NuGet meta-package. But can also be installed separately using the [MSTest.Analyzers](https://www.nuget.org/packages/MSTest.Analyzers/) NuGet package.

### More timeout options

Timeout can now be specified on all fixture methods, including ClassCleanup, AssemblyCleanup, TestCleanup and TestInitalize. In this case I want my `[ClassCleanup]` to time out after 1 second:

![image](https://github.com/microsoft/testfx/assets/5735905/517bd606-36f8-4096-9e30-e8b88580f46c)

Alternatively timeouts can be specified through runsettings. For example like this: 

```xml
<RunSettings>
  <MSTest>
    <ClassCleanupTimeout>1000</ClassCleanupTimeout>
  </MSTest>
</RunSettings>

Better errors on data mismatch

When you provide data that don't match your test method signature, the test will fail with an informative message, rather than just "Parameter count mismatch.".

image
... (truncated)

3.3.1

See the release notes here

3.3.0

See the release notes here.

3.2.2

See the release notes here.

3.2.1

See the release notes here.

3.2.0

See the release notes here.

3.2.0-preview.24069.3

See the release notes here.

3.2.0-preview.23623.1

See the release notes here.

3.2.0-preview.23622.1

See the release notes here.

Commits viewable in compare view.

Updated MSTest.TestFramework from 3.1.1 to 4.0.2.

Release notes

Sourced from MSTest.TestFramework's releases.

4.0.2

See the release notes here

4.0.1

See the release notes here

4.0.0

What is new?

Assert.That

MSTest v4 adds a new type of assertion, that allows you to write any expression, and it will inspect the result to give you more information on failure. Providing a very flexible way to assert complicated expressions. Here a simple example:

[TestClass]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        var animal = "Tiger";
        var zoo = new Zoo();
        Assert.That(() => zoo.GetAnimal() == animal);
    }
}

public class Zoo
{
    public string GetAnimal()
    {
        return "Giraffe";
    }
}
Assert.That(() => zoo.GetAnimal() == animal) failed.
Details:
    animal = "Tiger"     
    zoo.GetAnimal() = "Giraffe"

CallerArgumentExpression

CallerArgumentExpression is consumed by all assertions, to make them aware of the expressions used in the assertion. In the example below, we now know what both the expected and actual values are. But also what value they come from, giving us opportunity to provide better error messages:

[TestClass]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        string animal = null;
        Assert.AreEqual("Giraffe", animal);
    }
}
 ... (truncated)

## 4.0.0-preview.25372.6

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in #​1285 and #​5762

## 4.0.0-preview.25358.7

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in https://github.com/microsoft/testfx/issues/1285 and https://github.com/microsoft/testfx/issues/5762

## 3.11.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.11.1)

## 3.11.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.11.0)

## 3.10.5

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.5)


## 3.10.4

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.4)


## 3.10.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.3)


## 3.10.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.2)


## 3.10.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.1)


## 3.10.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.0)


## 3.9.3

## What's Changed

* Simpler fix for dotnet test when using retry by @​Youssef1313 in #​5732. Note that this PR targets rel/3.9 branch. For 3.10, we did a different fix: https://github.com/microsoft/testfx/pull/5717

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.3
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.3

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.2...v3.9.3

## 3.9.2

## What's Changed

* Fix MSTEST0042 (duplicate data row) false positive with Zero/NegativeZero by @​Youssef1313 in #​5684
* Allow framework authors to use TestCase.FullyQualifiedName as the TestNodeUid by @​Youssef1313 in #​5658
* Ensure TestMethodAttribute.Execute is run on the correct execution context by @​Youssef1313 in #​5688
* Avoid loading System.Threading.Tasks.Extensions when not needed by @​Youssef1313 in #​5694
* Fix UseAsync property in TestMethodAttribute derived classes to use type checks by @​Youssef1313 and @​Copilot in #​5708
* Fix UnitTestRunner leaking some test class instances by @​Youssef1313 in #​5715

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.2
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.2

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.1...v3.9.2

## 3.9.1

## What's Changed
* Make ConditionBaseAttribute.Mode public by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5597
* Add missing overload for Assert.Throws by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5620
* Fix System.MissingMethodException for KeyValuePair Deconstruction by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5635
* Run the whole ExecuteInternal logic under the right execution context by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5646
* VSTestBridge: Handle TestPropertyAttributes.Trait instead of special casing specific properties by @​youssef-backport-bot in https://github.com/microsoft/testfx/pull/5648

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.1
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.1

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.0...v3.9.1

## 3.9.0

In this release we focused a lot on providing fixes for MSTest and Microsoft.Testing.Platform. The most notable new features and fixes are:

## MSTest

* Allow async test methods for UITestMethod on UWP and WinUI by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5297
* Add analyzer for duplicate data row by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5144
* Fix ClassCleanup not called when the first test in class is ignored by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5070
* Fix writing warnings outside of appdomain by @​nohwnd in https://github.com/microsoft/testfx/pull/5371

## Microsoft.Testing.Platform

* Add (alpha) Azure DevOps extension to report errors by @​nohwnd in https://github.com/microsoft/testfx/pull/5260
* Kill testhost if writing hang dump fails by @​Youssef1313 in https://github.com/microsoft/testfx/pull/5538

We've also improved the `dotnet test` experience in dotnet SDK, especially around Retry plugin experience, and started dogfooding the experience in our own repository. Please check out how to enable the new `dotnet test` experience for Microsoft.Testing.Platform in net10 by [following this link](https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-dotnet-test#microsofttestingplatform-mtp-mode-of-dotnet-test), and help us dogfood it.

## New Contributors
* @​stan-sz made their first contribution in https://github.com/microsoft/testfx/pull/5214
* @​YoshiRulz made their first contribution in https://github.com/microsoft/testfx/pull/5281
* @​bjornhellander made their first contribution in https://github.com/microsoft/testfx/pull/5300



See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.0
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.0

**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.8.3...v3.9.0

## 3.9.0-preview.25167.10



## 3.8.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.3)


## 3.8.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.2)


## 3.8.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.1)


## 3.8.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.8.0)

## Announcements

- This release adds new Assert APIs related to throwing exceptions, collections, and strings. Refer to the changelog for more information.
- This release adds support for generic test methods.
- This release adds few new analyzers.
- We added [`MSTestAnalysisMode`](https://learn.microsoft.com/en-us/dotnet/core/testing/mstest-analyzers/overview#mstestanalysismode). We encourage you to set this property to at least `Recommended`.
- This release adds `RetryAttribute`
- [Microsoft.Testing.Extensions.TrxReport](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport) and [Microsoft.Testing.Extensions.CodeCoverage](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CodeCoverage) are now a dependency of MSTest metapackage

## 3.7.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.3)

## 3.7.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.2)

## 3.7.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.1)

## 3.7.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.7.0)

## Announcements

[MSTest.Analyzers](https://www.nuget.org/packages/MSTest.Analyzers) is now a transitive dependency of [MSTest.TestFramework](https://www.nuget.org/packages/MSTest.TestFramework) and thus no longer needs to be manually installed.

Note: The only rules enabled by default as warnings, which could potentially cause build errors when updating MSTest, have been carefully selected and thoroughly validated. These rules specifically address real runtime issues related to the usage of MSTest, ensuring that no purely stylistic or low-impact analyzers are enforced by default.

## 3.6.4

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.4)

## 3.6.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.3)

## 3.6.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.2)

## 3.6.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.1)

## 3.6.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.6.0)


Special shoutout to @​SimonCropp for his exceptional contribution in improving the quality of the repository.

## 3.5.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.5.2)

## 3.5.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.5.1)

## 3.5.0

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.5.0)

## 3.4.3

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.4.3)

## 3.4.2

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.4.2)

## 3.4.1

See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.4.1)

## 3.4.0

Here are the highlights of the current release, full change log is available below:

https://github.com/microsoft/testfx/compare/v3.3.1...v3.4.0

## MSTest

### New and improved analyzers

We've added more code analyzers to help you prevent mistakes, and to ensure a consistent code style of your tests. 

One example of a new analyzer that was added in 3.4.0 is  `MSTEST0024: Do not store TestContext in static members`. This analyzer has `info` severity by default, and will show a message, when you store `TestContext` in a static member in your class. This is not recommended, and you should be using a `TestContext` property instead:

![image](https://github.com/microsoft/testfx/assets/5735905/ab0f95c3-f83e-47b9-a995-87161cb6a61c)

The other analyzers added in this release:

* MSTEST0017: Assertion arguments should be passed in the correct order by @​Evangelink in [#​2256](https://github.com/microsoft/testfx/pull/2256)
* MSTEST0019: Prefer TestInitialize over ctor by @​Evangelink in [#​2580](https://github.com/microsoft/testfx/pull/2580)
* MSTEST0020: Prefer ctors over TestInitialize methods by @​Evangelink in [#​2582](https://github.com/microsoft/testfx/pull/2582)
* MSTEST0021: Prefer Dispose over TestCleanup methods by @​Evangelink in [#​2585](https://github.com/microsoft/testfx/pull/2585)
* MSTEST0022: Prefer 'TestCleanup' methods over Dispose by @​Evangelink in [#​2586](https://github.com/microsoft/testfx/pull/2586)
* MSTEST0023: Do not negate boolean assertions by @​Evangelink in [#​2594](https://github.com/microsoft/testfx/pull/2594)
* MSTEST0024: Do not store TestContext in static members by @​Evangelink in [#​2597](https://github.com/microsoft/testfx/pull/2597)
* Add PreferAssertFailOverAlwaysFalseConditionsAnalyzer by @​Youssef1313 in [#​2799](https://github.com/microsoft/testfx/pull/2799)

If you've just learned about MSTest analyzers, please also check out the [analyzers that were added in previous releases](https://learn.microsoft.com/dotnet/core/testing/mstest-analyzers/overview). They will help you ensure that your test classes and test methods are recognized by MSTest and are not accidentally ignored.

The analyzers are automatically installed with the [MSTest](https://www.nuget.org/packages/MSTest/) NuGet meta-package. But can also be installed separately using the [MSTest.Analyzers](https://www.nuget.org/packages/MSTest.Analyzers/) NuGet package.

### More timeout options

Timeout can now be specified on all fixture methods, including ClassCleanup, AssemblyCleanup, TestCleanup and TestInitalize. In this case I want my `[ClassCleanup]` to time out after 1 second:

![image](https://github.com/microsoft/testfx/assets/5735905/517bd606-36f8-4096-9e30-e8b88580f46c)

Alternatively timeouts can be specified through runsettings. For example like this: 

```xml
<RunSettings>
  <MSTest>
    <ClassCleanupTimeout>1000</ClassCleanupTimeout>
  </MSTest>
</RunSettings>

Better errors on data mismatch

When you provide data that don't match your test method signature, the test will fail with an informative message, rather than just "Parameter count mismatch.".

image
... (truncated)

3.3.1

See the release notes here

3.3.0

See the release notes here.

3.2.2

See the release notes here.

3.2.1

See the release notes here.

3.2.0

See the release notes here.

3.2.0-preview.24069.3

See the release notes here.

3.2.0-preview.23623.1

See the release notes here.

3.2.0-preview.23622.1

See the release notes here.

Commits viewable in compare view.

Updated Newtonsoft.Json from 13.0.3 to 13.0.4.

Release notes

Sourced from Newtonsoft.Json's releases.

13.0.4

  • New feature - Annotated for trim/AOT (in)compatibility
  • New feature - Added support for using Index with JArray
  • Change - Avoid LINQ expression trees in .NET 6+ reflection
  • Fix - Fixed handling of empty constructor names
  • Fix - Fixed XML convert duplicate attribute error on nested arrays with writeArrayAttribute set to true
  • Fix - Fixed XML convert array attribute is not set for properties with special characters
  • Fix - Fixed TimeOnly deserialization to support more formats

Commits viewable in compare view.

Updated Skyline.DataMiner.Core.AppPackageInstaller from 1.0.0.34 to 3.1.1.

Release notes

Sourced from Skyline.DataMiner.Core.AppPackageInstaller's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Skyline.DataMiner.Core.AppPackageInstaller from 2.1.0 to 3.1.1.

Release notes

Sourced from Skyline.DataMiner.Core.AppPackageInstaller's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Skyline.DataMiner.Sdk from 1.1.2 to 2.3.0.

Release notes

Sourced from Skyline.DataMiner.Sdk's releases.

2.3.0

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.2.0...2.3.0

2.2.0

What's Changed

New Contributors

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.1.2...2.2.0

2.1.2

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.1.1...2.1.2

2.1.1

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.1.0...2.1.1

2.1.0

Basic Support for .dmtest Packages and Test Projects

This release introduces initial support for creating .dmtest packages and projects of the type Test Package.

The feature is designed to be used alongside QAOps, which is currently in internal release. QAOps is a DataMiner platform that enables:

  • Running regression test batteries on DataMiner Release Candidates as part of Skyline’s Quality Gate.
  • Executing tests on one or more DaaS servers.

⚠️ Note: This release does *not yet include support for publishing to the Catalog.

This functionality is currently undergoing internal trials.

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.0.2...2.1.0

2.1.0-alpha2

For debugging purposes. Uses all internet-accessible pre-release nugets.

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.0.2...2.1.0-alpha2

2.1.0-alpha1

This is for testing purposes.
It allows TestPackage as a project type.

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.0.1...2.1.0-alpha1

2.0.2

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.0.1...2.0.2

Important

  • Despite being added again in this release, the folder Webpages/Public in CompanionFiles does not sync across clusters until DataMiner Version 10.5.10

2.0.1

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@2.0.0...2.0.1

2.0.0

🔐 CompanionFiles Directory Restrictions

Starting from this version, CompanionFiles are restricted to a predefined set of approved directories.

✅ Actions Required

If you're maintaining a package that places CompanionFiles outside the allowed directories, please update it to:

  • Move files into an approved directory (listed below), or
  • Use SetupContent if the files are only required during installation.

❓ Why This Change?

  • Cluster Sync Compatibility: Only approved directories are guaranteed to sync correctly across a cluster.
  • Security Hardening: This prevents .dmapp packages from unintentionally or maliciously modifying sensitive credential or ownership data.

📂 Allowed Directories for CompanionFiles

You may safely place CompanionFiles in any of the following directories:

  • Aggregation
  • Applications (Low-Code Apps)
  • AssetManager/Configs
  • AssetManager/Cache
  • AssetManager/MediationConfigs
  • BPA
  • Connectivity
  • Correlation
  • Dashboards
  • DeployerTokens
  • Documents
  • Generic Interface
  • Icons
  • Maps
  • Protocols
  • ProtocolFunctionManager
  • ProtocolScripts
  • Scripts
  • Services
  • Shared Items
  • Sounds
  • Tools/SLLogCollector/LogConfigs
  • Users
  • Views
  • WebPages/Annotations/DMS Images
  • WebPages/Annotations/Views
  • WebPages/Dashboards/db

... (truncated)

2.0.0-test1

⚠️ Pre-Release Notice: For QA and Testing Only

This is a pre-release build intended for internal QA and testing purposes.
The stable release is scheduled for 07/07/2025. Please report any issues discovered during testing.


🔐 CompanionFiles Directory Restrictions

Starting from this version, CompanionFiles are restricted to a predefined set of approved directories.

✅ Actions Required

If you're maintaining a package that places CompanionFiles outside the allowed directories, please update it to:

  • Move files into an approved directory (listed below), or
  • Use SetupContent if the files are only required during installation.

❓ Why This Change?

  • Cluster Sync Compatibility: Only approved directories are guaranteed to sync correctly across a cluster.
  • Security Hardening: This prevents .dmapp packages from unintentionally or maliciously modifying sensitive credential or ownership data.

📂 Allowed Directories for CompanionFiles

You may safely place CompanionFiles in any of the following directories:

  • Aggregation
  • Applications (Low-Code Apps)
  • AssetManager/Configs
  • AssetManager/Cache
  • AssetManager/MediationConfigs
  • BPA
  • Connectivity
  • Correlation
  • Dashboards
  • DeployerTokens
  • Documents
  • Generic Interface
  • Icons
  • Maps
  • Protocols
  • ProtocolFunctionManager
  • ProtocolScripts
  • Scripts
  • Services
  • Shared Items
  • Sounds
    ... (truncated)

1.1.3

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Sdk@1.1.2...1.1.3

Commits viewable in compare view.

Updated Skyline.DataMiner.Utils.SecureCoding.Analyzers from 2.0.1 to 2.2.1.

Release notes

Sourced from Skyline.DataMiner.Utils.SecureCoding.Analyzers's releases.

2.2.1

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Utils.SecureCoding@2.2.0...2.2.1

2.2.0

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Utils.SecureCoding@2.1.1...2.2.0

2.1.1

What's Changed

New Contributors

Full Changelog: SkylineCommunications/Skyline.DataMiner.Utils.SecureCoding@2.1.0...2.1.1

2.1.0

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Utils.SecureCoding@2.0.5...2.1.0

2.0.5

What's Changed

Full Changelog: SkylineCommunications/Skyline.DataMiner.Utils.SecureCoding@2.0.4...2.0.5

2.0.4

What's Changed

Description has been truncated

Bumps coverlet.collector from 6.0.0 to 6.0.4
Bumps Microsoft.NET.Test.Sdk from 17.12.0 to 18.0.1
Bumps MSTest.TestAdapter from 3.1.1 to 4.0.2
Bumps MSTest.TestFramework from 3.1.1 to 4.0.2
Bumps Newtonsoft.Json from 13.0.3 to 13.0.4
Bumps Skyline.DataMiner.Core.AppPackageInstaller to 3.1.1
Bumps Skyline.DataMiner.Sdk from 1.1.2 to 2.3.0
Bumps Skyline.DataMiner.Utils.SecureCoding.Analyzers from 2.0.1 to 2.2.1

---
updated-dependencies:
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Newtonsoft.Json
  dependency-version: 13.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Utils.SecureCoding.Analyzers
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-dependencies
- dependency-name: Newtonsoft.Json
  dependency-version: 13.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Core.AppPackageInstaller
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Utils.SecureCoding.Analyzers
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Core.AppPackageInstaller
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Utils.SecureCoding.Analyzers
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-dependencies
- dependency-name: coverlet.collector
  dependency-version: 6.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: MSTest.TestAdapter
  dependency-version: 4.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: MSTest.TestFramework
  dependency-version: 4.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Newtonsoft.Json
  dependency-version: 13.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: Newtonsoft.Json
  dependency-version: 13.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Sdk
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-dependencies
- dependency-name: Skyline.DataMiner.Utils.SecureCoding.Analyzers
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant