You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/articles/nunit/release-notes/framework.md
+126Lines changed: 126 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,132 @@ uid: frameworkreleasenotes
6
6
7
7
# Framework Release
8
8
9
+
## NUnit 4.4.0 - May 28, 2025
10
+
11
+
This release contains bug fixes and smaller enhancements, with 20 issues fixed.
12
+
13
+
### Enhancements
14
+
15
+
*[4975](https://github.com/nunit/nunit/issues/4975) Support ignoring line ending format when comparing strings. Thanks to [Jihoon Park](https://github.com/Bartleby2718) for [PR 4976](https://github.com/nunit/nunit/pull/4976)
16
+
*[4968](https://github.com/nunit/nunit/issues/4968) Asserts with UsingPropertiesComparer and Tolerance crashes unxpectedly if using TimeSpan and the class contains Properties with different types. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4972](https://github.com/nunit/nunit/pull/4972)
17
+
*[4945](https://github.com/nunit/nunit/issues/4945) Integer `Assert.That(i, Is.Even);`/`Assert.That(i, Is.Odd);` and `Assert.That(i, Is.MultipleOf(step));`. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4946](https://github.com/nunit/nunit/pull/4946)
18
+
*[4935](https://github.com/nunit/nunit/issues/4935)[Feature Request] PropertiesComparer for different types. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4925](https://github.com/nunit/nunit/pull/4925)
19
+
*[4909](https://github.com/nunit/nunit/issues/4909) Assertion failures with PropertiesComparer are hard to debug when combined with other modifiers. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4922](https://github.com/nunit/nunit/pull/4922)
20
+
*[4687](https://github.com/nunit/nunit/issues/4687) Value equality on subset of object properties. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4925](https://github.com/nunit/nunit/pull/4925)
21
+
*[4244](https://github.com/nunit/nunit/issues/4244)[Feature request] EquivalentTo that compares similar objects of different types. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4925](https://github.com/nunit/nunit/pull/4925)
22
+
23
+
### Bug fixes
24
+
25
+
*[4981](https://github.com/nunit/nunit/issues/4981) ContainsKey doesn't support IgnoreCase, IgnoreWhiteSpace, or IgnoreLineEndingFormat. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4989](https://github.com/nunit/nunit/pull/4989)
26
+
*[4964](https://github.com/nunit/nunit/issues/4964) Is.Not.EqualTo does not work correctly with Using comparer. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4965](https://github.com/nunit/nunit/pull/4965)
27
+
*[4954](https://github.com/nunit/nunit/issues/4954) Regression in `Is.EqualTo(DateTime)` constraint in 4.3.x for types that implement `IEquatable<DateTime>`. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4957](https://github.com/nunit/nunit/pull/4957)
28
+
*[4937](https://github.com/nunit/nunit/issues/4937)`PartitionFilter.ComputeHasValue` throws exception when test name is greater than 4096 characters. Thanks to [Will Ray](https://github.com/WillRayAtPropertyMe) for [PR 4941](https://github.com/nunit/nunit/pull/4941)
29
+
*[4933](https://github.com/nunit/nunit/issues/4933) Dictionary assertion falsely passes with PropertiesComparer when subtypes are involved. Thanks to [Oleksandr Liakhevych](https://github.com/Dreamescaper) for [PR 4934](https://github.com/nunit/nunit/pull/4934)
30
+
*[4919](https://github.com/nunit/nunit/issues/4919) Assert.ThatAsync doesn't work correctly if calling nested Asserts. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4922](https://github.com/nunit/nunit/pull/4922)
31
+
*[4917](https://github.com/nunit/nunit/issues/4917) Multiple unannounced breaking changes in minor version. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4927](https://github.com/nunit/nunit/pull/4927)
32
+
*[4916](https://github.com/nunit/nunit/issues/4916) Is.EqualTo(double).Using(EqualityComparer<double>) causes overload ambiguity error. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4951](https://github.com/nunit/nunit/pull/4951)
33
+
*[4545](https://github.com/nunit/nunit/issues/4545) DelegatingConstraintResult does not use its `_innerResult` for `WriteMessageTo` . Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4922](https://github.com/nunit/nunit/pull/4922)
34
+
*[4537](https://github.com/nunit/nunit/issues/4537) AssertException in TearDown hides Exception in Test. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4979](https://github.com/nunit/nunit/pull/4979)
35
+
*[2841](https://github.com/nunit/nunit/issues/2841) DelayedConstraint calls delegate twice. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4929](https://github.com/nunit/nunit/pull/4929)
36
+
37
+
### Refactorings
38
+
39
+
*[4930](https://github.com/nunit/nunit/issues/4930) What to do with `IConstraint.Apply<TActual>(ref TActual)`. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4944](https://github.com/nunit/nunit/pull/4944)
40
+
41
+
### Others
42
+
43
+
*[4906](https://github.com/nunit/nunit/issues/4906) Test error in TestContextOneTimeTearDownTests. Thanks to NUnit Team member [Steven Weerdenburg](https://github.com/stevenaw) for [PR 4928](https://github.com/nunit/nunit/pull/4928)
44
+
45
+
### The following issues are marked as breaking changes
46
+
47
+
*[4930](https://github.com/nunit/nunit/issues/4930) What to do with `IConstraint.Apply<TActual>(ref TActual)`. Thanks to NUnit Team member [Manfred Brands](https://github.com/manfred-brands) for [PR 4944](https://github.com/nunit/nunit/pull/4944)
48
+
49
+
This only applies to other implementers of extensions. See issue and PR for more information.
50
+
51
+
### Acknowledgements
52
+
53
+
We want to express our heartfelt gratitude to everyone who has contributed to this release
54
+
by reporting bugs, suggesting enhancements, and providing valuable feedback.
55
+
Your efforts help make NUnit better for the entire community.
56
+
57
+
A special thank you to the following reporters for identifying issues:
0 commit comments