docs/articles/vs-test-adapter/AdapterV4-Release-Notes.md
This is a bug-fix release that addresses a series of issues related to assembly loading.
It also introduces several new settings. One of these, UseDefaultAssemblyLoadContext, is crucial for correct assembly loading and is now enabled by default by the adapter.
The remaining settings are intended for development and diagnostics. DebugEngine enables debugging of the NUnit Engine, and InternalTraceLevel allows the engine’s internal trace level to be configured and is now passed through to the engine.
The 6.1 version of the adapter use the NUnit.Engine version 3.22.0. This version introduce a changed way of loading assemblies.
In order for the adapter to handle MTP (Microsoft test Platform) it needs to use the default loading context, which the engine may not use.
The introduction of the UseDefaultAssemblyLoadContext ensures this works.
The current versions of Resharper and Rider (2025.3.1) however do not yet support the UseDefaultAssemblyLoadContext, and therefore the user may experience assembly loading issues.
If you're not using Visual Studio test explorer, but only Rider or Resharper's, they will work if you don't install the adapter.
We want to express our heartfelt gratitude to everyone who has contributed to this release by reporting bugs, suggesting enhancements, and providing valuable feedback. Your efforts help make NUnit better for the entire community.
A special thank you to the following reporters for identifying issues:
<table> <tr> <td><a href="https://github.com/ScarletKuro">Artyom M.</a></td> <td><a href="https://github.com/cbersch">Christoph Bersch</a></td> <td><a href="https://github.com/glennawatson">Glenn Watson</a></td> <td><a href="https://github.com/MJB222398">MJB222398</a></td> </tr> <tr> <td><a href="https://github.com/Methuselah96">Nathan Bierema</a></td> <td><a href="https://github.com/Sveti86">Svetoslav Inkolov</a></td> </tr> </table>and to the commenters who engaged in discussions and offered further insights:
<table> <tr> <td><a href="https://github.com/ScarletKuro">Artyom M.</a></td> <td><a href="https://github.com/bradford-fisher">Bradford Fisher</a></td> <td><a href="https://github.com/CharliePoole">CharliePoole</a></td> <td><a href="https://github.com/cbersch">Christoph Bersch</a></td> </tr> <tr> <td><a href="https://github.com/manfred-brands">Manfred Brands</a></td> <td><a href="https://github.com/MJB222398">MJB222398</a></td> <td><a href="https://github.com/Methuselah96">Nathan Bierema</a></td> <td><a href="https://github.com/nesc58">nesc58</a></td> </tr> <tr> <td><a href="https://github.com/Sveti86">Svetoslav Inkolov</a></td> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> <td><a href="https://github.com/Youssef1313">Youssef Victor</a></td> </tr> </table>This is a hotfix release for version 6.0.0 to handle issues related to loading assemblies. Go here for a detailed overview, with links to all related issues.
The fixes is mainly in the NUnit.Engine, so this release embeds NUnit.Engine version 3.21.1.
The following adapter issues have been fixed.
SocketException ("can't assign requested address") when starting child process on 6.0.0.The fixes in the adapter is for these three issues:
We want to express our heartfelt gratitude to everyone who has contributed to this release by reporting bugs, suggesting enhancements, and providing valuable feedback. Your efforts help make NUnit better for the entire community.
A special thank you to the following reporters for identifying the issues:
<table> <tr> <td><a href="https://github.com/bvst">Bjorn-Vegard Thoresen</a></td> <td><a href="https://github.com/DaRosenberg">Daniel Rosenberg</a></td> <td><a href="https://github.com/fschmied">Fabian Schmied</a></td> <td><a href="https://github.com/perclausen">Per Clausen</a></td> </tr> <tr> <td><a href="https://github.com/SimonCropp">Simon Cropp</a></td> </tr> </table>and to the commenters who engaged in discussions and offered further insights:
<table> <tr> <td><a href="https://github.com/CharliePoole">CharliePoole</a></td> <td><a href="https://github.com/cjbush">Chris Bush</a></td> <td><a href="https://github.com/DaRosenberg">Daniel Rosenberg</a></td> <td><a href="https://github.com/fschmied">Fabian Schmied</a></td> </tr> <tr> <td><a href="https://github.com/manfred-brands">Manfred Brands</a></td> <td><a href="https://github.com/perclausen">Per Clausen</a></td> <td><a href="https://github.com/peter-nguyen-contemi">Peter Nguyen</a></td> <td><a href="https://github.com/PhilippNaused">Philipp Naused</a></td> </tr> <tr> <td><a href="https://github.com/NightOwl888">Shad Storhaug</a></td> <td><a href="https://github.com/SimonCropp">Simon Cropp</a></td> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> <td><a href="https://github.com/tonygambone">Tony Gambone</a></td> </tr> </table>This version supports MTP version 2. Further the lowest .net version is .net 8.0, so netcore 3.1 is no longer supported.
See the migration guide for MTP v1 to v2 for details on moving up to version 2.
There are 6 issues fixed in this release.
We want to express our heartfelt gratitude to everyone who has contributed to this release by reporting bugs, suggesting enhancements, and providing valuable feedback. Your efforts help make NUnit better for the entire community.
A special thank you to the following reporters for identifying issues:
<table> <tr> <td><a href="https://github.com/Evangelink">Amaury Levé</a></td> <td><a href="https://github.com/agray">Andrew Gray</a></td> <td><a href="https://github.com/cbersch">Christoph Bersch</a></td> <td><a href="https://github.com/JasonBock">Jason Bock</a></td> </tr> <tr> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> </tr> </table>and to the commenters who engaged in discussions and offered further insights:
<table> <tr> <td><a href="https://github.com/cbersch">Christoph Bersch</a></td> <td><a href="https://github.com/danstur">Daniel Sturm</a></td> <td><a href="https://github.com/RussKie">Igor Velikorossov</a></td> <td><a href="https://github.com/JasonBock">Jason Bock</a></td> </tr> <tr> <td><a href="https://github.com/joschmo80">joschmo80</a></td> <td><a href="https://github.com/lennartb-">Lennart Brüggemann</a></td> <td><a href="https://github.com/mikkelbu">Mikkel Nylander Bundgaard</a></td> <td><a href="https://github.com/moh-hassan">Mohamed Hassan</a></td> </tr> <tr> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> <td><a href="https://github.com/Youssef1313">Youssef Victor</a></td> </tr> </table>There are 2 issues fixed in this release.
In addition, the MTP version have been updated to 1.9.0.
We want to express our heartfelt gratitude to everyone who has contributed to this release by reporting bugs, suggesting enhancements, and providing valuable feedback. Your efforts help make NUnit better for the entire community.
A special thank you to the following reporters for identifying issues:
<table> <tr> <td><a href="https://github.com/dmurty">dmurty</a></td> <td><a href="https://github.com/lennartb-">Lennart Brggemann</a></td> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> </tr> </table>and to the commenters who engaged in discussions and offered further insights:
<table> <tr> <td><a href="https://github.com/dmurty">dmurty</a></td> <td><a href="https://github.com/manfred-brands">Manfred Brands</a></td> <td><a href="https://github.com/moh-hassan">Mohamed Hassan</a></td> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> </tr> <tr> <td><a href="https://github.com/Youssef1313">Youssef Victor</a></td> </tr> </table>There are 10 issues fixed in this release.
None
None
We want to express our heartfelt gratitude to everyone who has contributed to this release by reporting bugs, suggesting enhancements, and providing valuable feedback. Your efforts help make NUnit better for the entire community.
A special thank you to the following reporters for identifying issues:
<table> <tr> <td><a href="https://github.com/Erlifant">Jonas Erler</a></td> <td><a href="https://github.com/philipp-naused">Philipp Naused</a></td> <td><a href="https://github.com/SimonCropp">Simon Cropp</a></td> <td><a href="https://github.com/softworkz">softworkz</a></td> </tr> <tr> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> <td><a href="https://github.com/victorburckel">victorburckel</a></td> <td><a href="https://github.com/Youssef1313">Youssef Victor</a></td> </tr> </table>and to the commenters who engaged in discussions and offered further insights:
<table> <tr> <td><a href="https://github.com/Evangelink">Amaury Levé</a></td> <td><a href="https://github.com/CharliePoole">CharliePoole</a></td> <td><a href="https://github.com/errarr">errarr</a></td> <td><a href="https://github.com/nohwnd">Jakub Jares</a></td> </tr> <tr> <td><a href="https://github.com/Erlifant">Jonas Erler</a></td> <td><a href="https://github.com/viceice">Michael Kriese</a></td> <td><a href="https://github.com/philipp-naused">Philipp Naused</a></td> <td><a href="https://github.com/SimonCropp">Simon Cropp</a></td> </tr> <tr> <td><a href="https://github.com/softworkz">softworkz</a></td> <td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td> <td><a href="https://github.com/victorburckel">victorburckel</a></td> <td><a href="https://github.com/Youssef1313">Youssef Victor</a></td> </tr> </table>This major release introduce support for the new Microsoft Testing Platform.
You can find more information at this article on NUnit and Microsoft Testing Platform
Althought this is a major version, there is no direct breaking changes when using it without enabling the MTP. Using it with MTP enabled will change some parts of how to use it, see the documentation for details.
There are 10 issues fixed in this release.
None
This is a version supporting the upcoming NUnit version 4. It uses a released version of the NUnit.Engine, version 3.15.4.
This is a hotfix for the 4.4.0 version. The 4.4.0 included the NUnit.Engine 3.16.3, which uses an external package for loading assemblies. It turns out the engine fails for certain types of loading, in particular when an assembly is loaded by reflection.
In order to fix this, this version have reverted to a version of the NUnit.Engine based on 3.15.2, which does not have this way of loading assemblies. The included Engine is not available as a separate package, but if you use anything that needs the engine package (like the NUnit.Console), version 3.15.2 should work.
The embedded engine handles the .net 8 the same way as with the 4.4.0 adapter.
The following issues, all related to the same problem, are fixed in this release:
Thanks to everyone that reported in, and special thanks to everyone that provided repro solutions for the problem.
:warning: This version has been unlisted on NuGet, please use version 4.4.2 instead.
The main focus is the support for .Net 8. This version of the adapter will accept any higher version of the .net, also future higher versions than .net 8.
The following issues are fixed in this release:
1049 .Net Framework tests fails when .Net 8 is present on system
1037 TestContext.Progress shows up as Warning in TFS/Azure Dev Ops. Thanks to mharwig for the PR.
A beta release, Version 4.4.0-beta.1, was released on Feb 23, 2023. There is no changes between this and the previous beta release, except for updates of packages for the test projects.
A hotfix release for issue #1144.
The adapter could not work running under .net 8 due to the use of an older NUnit.Engine. The engine has been updated to version 3.15.5
This is a hotfix release for three major and critical problems:
In order to get these fixed the support for netcore2.1 had to be dropped. This version is also now unsupported by Microsoft, so the adapter follows that.
internaltrace log
file per projectThanks to Jan Inge Dalsbø, Taylor Willis, Kai Nadler, Barnabas Lakner, sandrohanea, Elliot Prior, Todd Ogin, Evheniyrz, Manfred Brands, Boris Drajer, Ken V, Mike Vorhees for all the help with reporting the issues, reproducing them, analysis and diagnostics, and confirming that 4.3.1 resolves the issues. Your help is really appreciated!
This version is for support of the .net 7 framework. See an overview of supported frameworks here.
The support is due to the updated embedded NUnit.Engine version 3.15.2.
Other bugs fixed:
This is a hotfix release for
dotnet test with filter, all tests are run
and all console output is logged.This fix applies to test projects where all tests are excluded by a test item filter. Previously, as of v4.2.0, all tests were unintentionally run. Note that this issue did not affect category filters.
This is a bug fix release, with the following fixes:
The NUnit.Engine has been updated to version 3.13 in this release. See engine release notes for details.
The debugging of an adapter has been made simpler, using just a runsetting to enable it. See this post for details on the process.
This is a bug fix release, with the following fixes:
516 ArgumentException when whitespace sent to logger. Thanks to Matt Jones - mthjones for a very good repro, that helped nail this down!
865 Breaking changing in 3.17 on "Exception encountered unloading application domain"
869 NUnitTestAdapter - Discovery exception
884 NUnit3TestAdapter 4.0.0 - DiscoveryException: Not a TestFixture, SetUpFixture or TestSuite, but ParameterizedFixture
This major release contains a series of changes, and also underlying changes in the adapter.
This is currently the version that will support Visual Studio 2022. The earlier versions will initially not support VS 2022.
(There is a currently unknown issue that blocks the 3.X series for VS 2022. It is currently unclear if the Visual Studio team may be able to fix this issue. Any fix from the adapter side will include an upgrade, and then the 4.X series is the solution for that.)
See the alpha and beta release notes below for more issues and features that have been resolved and is included in this major release.
The following additional features have been implemented in the final release.
671 Exception in OneTimeSetUp has no stack trace
843 Reporting random seed for a test case
863 The Test Name is by default added to the console output for tests. It can be turned off by the UseTestNameInConsoleOutput property.
The following additional issue has been resolved:
779 Filtering tests with any "PropertyAttribute"
852 NullReferenceException in ExtractTestFixture in v4.0.0-beta2.
This will be a short beta.2, given we don't hit on any intricate issues.
A major change in this version is the upgrade of the NUnit.Engine to version 3.12, and thus Mono.Cecil is no longer used. Instead it has a reduced version (based on Mono.Cecil) packed into TestCentric.engine.metadata doing the same job with navigation data.
The following issues have been resolved:
Also a performance improvement was done, thanks to Pakrym for the PR 821
This beta is based on the earlier alpha version, and includes new fixes, some reported in the alpha. A great thank you to those who reported and checked out the fixes in the alpha!
The alpha has more than 32000 downloads, with only a few issues reported, so we feel safe to move up to a beta. The time for beta will be much shorter, so we might be able to release a final 4.0.0 version before end of 2020.
We have also been able to shoehorn some new features into the release.
This is an early pre-release version.
The code has been rewritten/refactored in order to get some of the more complex issues fixed. It does pass all the automatic tests we have, but there are still more tests we would like to take it through, before we release a beta.
We would really appreciate it if you give this alpha a spin. and report whatever you find back to us.
The major fixes now are Explicit runs are fully back, both in Visual Studio and on command line with dotnet test and vstest.console.
Further there has been a significant performance improvement for large test sets, and in particular when you run with categories or other filters.
For those interested in details, some of this has been achieved by converting the VSTest type of filters to NUnit native filters (Thanks to Charlie Poole for his excellent contribution here.).
TestCaseSource to Explicit makes other tests
in fixture explicit