Today, we're shipping three new releases:
It's been 2 weeks since the release of 2.7.1 RTM.
This release has been numbered as 2.8.0
rather than 2.7.2
because it includes
an important change to the default behavior of the system with respect to how parallel tests are run.
While we don't anticipate this being a problem (and we believe, in fact, that the new system solves a
previous problem with accurate timing and [Fact(Timeout = n)]
not being reliable when tests
were run in parallel), it was still important enough to warrant the version bump.
For more information about this change in parallel algorithms (including how to revert back to the older
algorithm, if you so choose), see the Algorithms section
of the "Running Tests in Parallel" documentation.
As always, we'd like to thank all the users who contributed to the success of xUnit.net through usage, feedback, and code. We would especially like to thank Matt Connew for working through the details of the new algorithm. 🎉
These release notes are a comprehensive list of changes from 2.7.1 to 2.8.0.
AsyncTestSyncContext
. It was discovered that some situations were made worse in terms of deadlocks
and test failures when there were no sync contexts in place, because of the overloaded list of tasks that
were scheduled, and the sync context was inadvertently releasing some of that pressure.
xunit/xunit#2904
xunit/xunit#2912
TestStart
event twice rather
than a TestStart
followed by a TestStop
.
-useansicolor
switch which will force the runner to use
ANSI color codes rather than the direct console color system, when running on Windows systems (non-Windows
systems always use ANSI colors). This allows users who redirect or capture the output to be able to include
colors in their capture. It is important to note that the default CMD
or PowerShell
windows which are hosted by CONHOST do not support ANSI colors, so you will see the raw
ANSI codes; Windows Terminal does
correctly display ANSI colors.
xunit/xunit#783
maxParallelThreads
section of the configuration file documentation.
/aggressive
tacked onto the max thread count (when
diagnostic messages are on) when the aggressive parallelism algorithm is enabled.