Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 75 additions & 1 deletion docs/articles/nunit/release-notes/framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,81 @@ uid: frameworkreleasenotes

# Framework Release

## NUnit 4.5.0 - february 18, 2026
## NUnit 4.5.1 - March 6, 2026

This is a patch release for 4.5.0, to fix some regression bugs.

A few other fixes sneaked into the release though.

There are 7 issues fixed in this release.

### Enhancements

* [5126](https://github.com/nunit/nunit/issues/5126) `ITestResult.TotalCount` does not seem to behave as specified. Thanks to [maettu-this](https://github.com/maettu-this) for [PR 5127](https://github.com/nunit/nunit/pull/5127)

### Bug fixes

* [5152](https://github.com/nunit/nunit/issues/5152) Assert of byte with Is.EqualTo().Within().Percent fails unexpectedly. Thanks to NUnit Team member [Steven Weerdenburg](https://github.com/stevenaw) for [PR 5153](https://github.com/nunit/nunit/pull/5153)
* [5137](https://github.com/nunit/nunit/issues/5137) Task Synchronization Issue after upgrading to 4.5.0.
* [5133](https://github.com/nunit/nunit/issues/5133) All tests fail with "TargetFramework doesn't support timeout on tests" when switching from NUnit 4.4 to NUnit 4.5. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 5140](https://github.com/nunit/nunit/pull/5140)
* [5129](https://github.com/nunit/nunit/issues/5129) Passing `Array` as test parameter fails with 4.5.0. Thanks to NUnit Team member [Terje Sandstrom](https://github.com/OsirisTerje) for [PR 5130](https://github.com/nunit/nunit/pull/5130)
* [4658](https://github.com/nunit/nunit/issues/4658) Apartment attribute ignored when .runsettings contains DefaultTimeout. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 5140](https://github.com/nunit/nunit/pull/5140)

### Others

* [5131](https://github.com/nunit/nunit/issues/5131) Migrate in-memory assembly generation in the tests to run on all runtimes. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 5142](https://github.com/nunit/nunit/pull/5142)

### Acknowledgements

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/cbersch">Christoph Bersch</a></td>
<td><a href="https://github.com/dd-eg">dd-eg</a></td>
<td><a href="https://github.com/JakenVeina">Jake Meiergerd</a></td>
<td><a href="https://github.com/maettu-this">maettu-this</a></td>
</tr>
<tr>
<td><a href="https://github.com/michaelmuller12">michaelmuller12</a></td>
<td><a href="https://github.com/RalfKoban">Ralf Koban</a></td>
<td><a href="https://github.com/stevenaw">Steven Weerdenburg</a></td>
</tr>
</table>

and to the commenters who engaged in discussions and offered further insights:

<table>
<tr>
<td><a href="https://github.com/freever">Adrian Frielinghaus</a></td>
<td><a href="https://github.com/apps/cursor">cursor[bot]</a></td>
<td><a href="https://github.com/dd-eg">dd-eg</a></td>
<td><a href="https://github.com/flownzu">Florian Jäckel</a></td>
</tr>
<tr>
<td><a href="https://github.com/JakenVeina">Jake Meiergerd</a></td>
<td><a href="https://github.com/jzapletal95">Jiří Zapletal</a></td>
<td><a href="https://github.com/maettu-this">maettu-this</a></td>
<td><a href="https://github.com/manfred-brands">Manfred Brands</a></td>
</tr>
<tr>
<td><a href="https://github.com/michaelmuller12">michaelmuller12</a></td>
<td><a href="https://github.com/mikkelbu">Mikkel Nylander Bundgaard</a></td>
<td><a href="https://github.com/RichardR-cg">Richard R.</a></td>
<td><a href="https://github.com/rprouse">Rob Prouse</a></td>
</tr>
<tr>
<td><a href="https://github.com/simontom">Saymon</a></td>
<td><a href="https://github.com/stevenaw">Steven Weerdenburg</a></td>
<td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td>
</tr>
</table>

## NUnit 4.5.0 - February 18, 2026

This release introduce [Execution Hooks](https://docs.nunit.org/articles/nunit/extending-nunit/Execution-Hooks.html), a finegrained way of hooking into the different stages of a test execution.
The documentation describe the way you can make your own hooks to tap into this. There are five stages, and you can hook in both Before and After the stage has run.
Expand Down
2 changes: 1 addition & 1 deletion docs/articles/vs-test-adapter/Tips-And-Tricks.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Certain NUnit Test Adapter settings are configurable using a .runsettings file.
| BasePath | string | path | ? |
| PrivateBinPath | string | directory1;directory2;etc | ? |
| RandomSeed | int | seed integer | random |
| DefaultTimeout | int | timeout in mS, 0 means infinite | 0 |
| DefaultTimeout | int | timeout in mS, 0 means infinite. Not for .net >5.0, error with NUnit 4.5.0 | 0 |
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DefaultTimeout description mixes in a version-/runtime-specific warning that’s currently ambiguous (".net >5.0"), uses inconsistent .NET capitalization, and doesn’t indicate whether the NUnit 4.5.0 problem is fixed in 4.5.1. Please rephrase using standard ".NET" terminology (e.g., ".NET 6+" if that’s what’s meant) and clarify the affected NUnit versions; consider moving the warning into a short note outside the table to keep the Options column consistent.

Copilot uses AI. Check for mistakes.
| [DefaultTestNamePattern](#defaulttestnamepattern) | string | Pattern for display name | {m}{a} |
| [WorkDirectory](#workdirectory) | string | specify directory | Test assembly location |
| [TestOutputXml](#testoutputxml) | string | specify directory | Test Result Xml output folder |
Expand Down