Today, we’re shipping three new releases:
It’s been 6 weeks since the release of 2.8.1 RTM.
As always, we’d like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code contributions. 🎉
These release notes are a comprehensive list of changes from 2.8.1 to 2.9.0.
We have removed the two obsoleted overloads of AssemblyRunner.Start()
which were causing compiler issues. The second overload was introduced in 2.8.0, and then a new third version was added in 2.8.1 while obsoleting the ones causing the compiler issues. This removal is why we have bumped the version to 2.9.0. xunit/xunit#2922
Exceptions thrown by implementations of ITestCollectionOrderer
or ITestCaseOrderer
will now raise catastrophic failures rather than just being logged as diagnostic messages. xunit/xunit#2094
Due to performance issues related to ultra-low core count CI machines, we have ensured that the minimum system thread pool size used by the conservative parallelization algorithm is 4. Note that this does not change the the number of tests that can run in parallel, if your max parallel threads is set to less than 4; this just ensures that the system thread pool always has a minimum size for things that might be using the thread pool (in addition to the conservative parallelization algorithm). xunit/xunit#2955
BUG: We were mistakenly trying to serialize (with IXunitSerializable
) generic argument types (i.e., typeof(T)
for IEnumerable<T>
), causing a catastrophic failure during deserialization. We have ensured that we no longer try to serialize these types, so using them in your theory data will make the data non-serializable (and thus in Test Explorer in Visual Studio, you will not be able to run individual data rows for that test), though the tests will now run successfully. xunit/xunit#1916
BUG: Due to reusing an instance of TestOutputHelper
, it was previously possible to log messages outside the legal time for logging, and those messages would be attributed to the next test run in the same test class. Those attempts to log messages outside the legal time will now correctly raise InvalidOperationException
indicating that there is no currently active test. xunit/xunit#2377
Assert.Equivalent
will no longer check properties which are marked as [Obsolete]
.
BUG We fixed an issue where Assert.Equal
might cause a stack overflow for two items that were actually pointing to the same in-memory reference. xunit/xunit#2271
BUG: We fixed an issue with Assert.Equivalent
incorrectly detecting circular references with types that overrode Equals
. xunit/xunit#2939
We have updated xunit.assert.source
to support users who are compiling with netstandard2.1
. This fixes an issue where users were seeing potential analyzer warnings related to usages of string-related functions that should be using StringComparison
(signatures of which were not available in netstandard2.0
).
XUNIT_HIDE_PASSING_OUTPUT_DIAGNOSTICS
which, if it exists with any non-empty value, will trigger runners to not print out passing tests with output when you are running with diagnostic messages enabled. We’ve opened an discussion related to this, because we’d like to understand how widespread the problem of “output overload” is, and whether this should be hoisted up to be a configuration file-level feature. xunit/xunit#2969 dotnet/runtime#103445