All Versions
Latest Version
Avg Release Cycle
90 days
Latest Release
1745 days ago

Changelog History

  • v3.12 Changes

    May 15, 2019

    ๐Ÿš€ This release of NUnit finally drops support for .NET 2.0. If your application still targets .NET 2.0, your tests will need to target at least .NET 3.5. Microsoft ended support for .NET 2.0 on July 12, 2011. Microsoft recommends that everyone migrate to at least .NET Framework 3.5 SP1 for security and performance fixes.

    ๐Ÿš€ This release dramatically improves NUnit support for async tests including returning ValueTask and custom tasks from tests, improved handling of SynchronizationContexts and better exception handling.

    โœ… The .NET Standard 2.0 version of NUnit continues to gain more functionality that is found in the .NET 4.5 version of the framework like setting the ApartmentState and enabling Timeout on tests.

  • v3.11 Changes

    October 07, 2018
    • More informative assertion messages
    • PlatformAttribute is available on .NET Standard 2.0 and now detects .NET Core
    • ValuesAttribute now works with nullable types
    • ๐Ÿ Async tests detecting and running Windows Forms or WPF message pumps rather than deadlocking
    • ๐Ÿ‘Œ Support for UWP 10.0 is back via .NET Standard 1.4
  • v3.10.1 Changes

    March 13, 2018

    โž• Added a namespace to the props file included in the NuGet package to make it compatible with versions of Visual Studio prior to VS 2017.

  • v3.10 Changes

    March 13, 2018

    ๐Ÿš€ This release adds a .NET Standard 2.0 version of the framework which re-enables most of the features that have been missing in our earlier .NET Standard builds like parallelism, timeouts, directory and path based asserts, etc. It also contains numerous bug fixes and smaller enhancements. We've improved our XML docs, fixed performance issues and added more detail to Multiple Asserts.

    ๐Ÿš€ This release also contains source-indexed PDB files allowing developers to debug into the NUnit Framework. This allows you to track down errors or see how the framework works.

    ๐Ÿง In order to support the .NET Standard 2.0 version, the NUnit project switched to the new CSPROJ format and now requires Visual Studio 2017 to compile. This only effects people contributing to the project. NUnit still supports building and compiling your tests in older .NET IDEs and NUnit still supports older versions of the .NET Framework back to 2.0. For contributors, NUnit can now compile all supported targets on Windows, Linux and Mac using the Cake command line build.

  • v3.9 Changes

    November 10, 2017

    ๐Ÿš€ This release addresses numerous parallelization issues that were introduced in 3.8 when method level parallelization was added. Most of the parallelization issues resolved were tests never completing when using some combinations of parallel tests and ApartmentState not being properly applied to tests in all cases.

  • v3.8.1 Changes

    August 29, 2017

    ๐Ÿš‘ This release fixes two critical regressions in the 3.8 release. The first caused the console runner to crash if you are using test parameters. The second issue caused collection constraints checking for multiple items in a collection to fail.

    Issues Resolved

    • 2386 Contains.Item() fails for collections in NUnit 3.8
    • โœ… 2390 Missing value attribute in test parameters setting causes NullReferenceException in console
  • v3.8 Changes

    August 28, 2017

    ๐Ÿš€ This release removes several methods and attributes that were marked obsolete in the
    ๐Ÿš€ original 3.0 release. Support for iOS and Android has been improved.

    โœ… An issue that caused unit tests to run slower was addressed as was a bug that prevented
    the use of Assert.Multiple in async code.

    The Order attribute can now also be applied to the class level to set the order
    โœ… that test fixtures will be run.

    Issues Resolved

    • 345 Order of Fixture Execution
    • 1151 Include differences in output for Is.EquivalentTo
    • ๐Ÿšš 1324 Remove CollectionContainsConstraint
    • โœ… 1670 Attaching files to the test result
    • 1674 InRange-Constraint must work with object
    • โœ… 1851 TestCaseSource unable to pass one element byte array
    • โฑ 1996 Timeout does not work if native code is running at the time
    • 2004 Has.One as synonym for Has.Exactly(1).Items
    • โœ… 2062 TestCaseSource attribute causes test to pass when source is not defined
    • 2144 Allow option on RandomAttribute to produce distinct values
    • โœ… 2179 Some NUnit project's tests fail on systems with CultureInfo other than en
    • 2195 Contains.Substring with custom StringComparison
    • 2196 Expose ParallelizableAttribute (and other attribute) constructor arguments as properties
    • โœ… 2201 Invalid platform name passed to PlatformAttribute should mark test NotRunnable
    • 2208 StackFIlter trims leading spaces from each line
    • 0๏ธโƒฃ 2213 SetCultureAttribute: CultureInfo ctor should use default culture settings
    • ๐ŸŽ 2217 Console runner performance varies wildly depending on environmental characteristics
    • ๐Ÿšš 2219 Remove Obsolete Attributes
    • 2225 OneTimeTearDown and Dispose Ordering
    • 2237 System.Runtime.Loader not available for iOS/Android
    • โœ… 2242 Running tests directly should never surface a NullReferenceException
    • 0๏ธโƒฃ 2244 Add KeyValuePair<TKey, TValue> to the default formatters
    • 2251 Randomizer.NextGuid()
    • โœ… 2253 Parallelizable(ParallelScope.Fixtures) doesn't work on a TestFixture
    • 2254 EqualTo on ValueTuple with Nullable unexpected
    • โœ… 2261 When an assembly is marked with ParallelScope.None and there are Parallelizable tests Nunit hangs
    • 2269 Parallelizable and NonParallelizable attributes on setup and teardown silently ignored
    • โœ… 2276 Intermittent test failures in Travic CI: TestContextTests
    • ๐Ÿ‘ป 2281 Add type constraint for Throws and any method requiring Exception
    • โœ… 2288 Killing thread cancels test run
    • 2292 Is.Ordered.By() with a field throws NullReferenceException
    • โœ… 2298 Write TestParametersDictionary to xml result file in readable format
    • ๐Ÿ“ฆ 2299 NUnitLite NuGet package no longer installs NUnit NuGet package
    • โช 2304 Revert accidental doc removal
    • ๐Ÿ–จ 2305 Correct misprint ".con" -> ".com"
    • ๐Ÿ“œ 2312 Prevent crash on invalid --result parsing in NUnitLite
    • 2313 Incorrect xmldoc on RetryAttribute
    • โšก๏ธ 2332 Update build script to use NUnitConsoleRunner v3.7.0
    • 2335 Execute OneTimeTearDown as early as possible when running fixtures in parallel
    • ๐Ÿšš 2342 Remove deprecated Is.String* Constraints
    • 2348 Can't use Assert.Multiple with async code
    • โœ… 2353 Provide additional Result information through TestContext
    • ๐Ÿ— 2358 Get framework to build under Mono 5.0
    • 2360 Obsolete CollectionContainsConstraint Constructors
    • โœ… 2361 NUnit Parallelizable and OneTimeSetUp with no namespace results in single-threaded test execution
    • โœ… 2370 TestCaseAttribute can't convert int to nullable long
  • v3.7.1 Changes

    June 06, 2017

    ๐Ÿš‘ This is a hotfix release that addresses occasional hangs when using test parallization and fixes crashes in NCrunch prior to version 3.9.

  • v3.7 Changes

    May 30, 2017

    ๐Ÿš€ This release of NUnit expands on parallel test execution to allow test methods to be run in parallel. Please see the Parallelizable Attribute for more information.

    ๐Ÿ— NUnit 3.7 also drops the Portable build of the framework and replaces it with a .NET Standard 1.3 version to complement the .NET Standard 1.6 version. This change enables several constraints and other features in the .NET Standard builds that weren't available in portable like Path and Directory based asserts.

    โšก๏ธ The AssertionHelper class has been deprecated because it is seldom used and has not received any of the updates that Asserts and Constraints receive. If your code is using the AssertionHelper class, we recommend that you migrate your asserts.

  • v3.6.1 Changes

    February 26, 2017

    ๐Ÿš‘ This is a hotfix release of the framework that addresses critical issues found in the 3.6 release.

    Issues Resolved

    • 1962 A Theory with no data passes
    • ๐Ÿ‘ท 1986 NUnitLite ignores --workers option
    • 1994 NUnitLite runner crashing when --trace is specified
    • โœ… 2017 Two NUnit project's tests fail on systems with comma decimal mark settings
    • 2043 Regression in 3.6.0 when catching AssertionException