Releases: fluentassertions/fluentassertions
Releases · fluentassertions/fluentassertions
8.5.0
What's Changed
New features
- Extended BeEquivalentTo with support for checking the type of the properties by @dennisdoomen in #3066
Fixes
- Ensured WithTracing is safe when used with BeEquivalentTo globally by @dennisdoomen in #3067
Others
- Revisit the .editorconfig rules by @dennisdoomen in #3063
- Bump cspell from 9.1.1 to 9.1.2 by @dependabot[bot] in #3068
- Use .NET 9 SDK by @jnyrup in #3069
- Bump cspell from 9.1.2 to 9.1.3 by @dependabot[bot] in #3071
Full Changelog: 8.4.0...8.5.0
8.4.0
What's Changed
Improvements
- Allow excluding properties by name anywhere in the graph by @dennisdoomen in #3062
- Added Should().Throw(), ThrowAsync() and ThrowWithinAsync() flavors that don’t require a specific exception type by @Xceed-DelvaJB in #3059
Others
- Bump cspell from 9.0.1 to 9.0.2 by @dependabot in #3050
- Bump JetBrains/qodana-action from 2024.2 to 2025.1 by @dependabot in #3044
- Fix qodana warnings by @jnyrup in #3053
- Add contributor grant by @dennisdoomen in #3055
- Bump cspell from 9.0.2 to 9.1.1 by @dependabot in #3058
New Contributors
- @Xceed-DelvaJB made their first contribution in #3059
Full Changelog: 8.3.0...8.4.0
8.3.0
What's Changed
Improvements
- Improve rendering of exception messages when using WithMessage by @dennisdoomen in #3039
- Clarify the date/time type when comparing dates, times and combinations of those by @dennisdoomen in #3049
Others
- Bump cspell from 8.17.5 to 8.18.1 by @dependabot in #3041
- Bump cspell from 8.18.1 to 8.19.2 by @dependabot in #3042
- Bump cspell from 8.19.2 to 8.19.3 by @dependabot in #3043
- Bump cspell from 8.19.3 to 9.0.0 by @dependabot in #3045
- Bump cspell from 9.0.0 to 9.0.1 by @dependabot in #3046
- Fix links to test suites in bug report template by @robvanuden in #3047
Full Changelog: 8.2.0...8.3.0
8.2.0
What's Changed
Improvements
- Optimize various string operations by @jnyrup in #3037
- Reworked formatting and support multi-dimensional arrays. by @dennisdoomen in #3009
Fixes
- Restore
StringSyntax
annotations by @jnyrup in #3033 - Regex fixups by @jnyrup in #3034
- Handle missing caller identifier by @jnyrup in #3036
Others
- Bump cspell from 8.17.3 to 8.17.5 by @dependabot in #3035
Full Changelog: 8.1.1...8.2.0
8.1.1
What's Changed
Fixes
- Fix a formatting exception when {} is used as a dictionary key. by @dennisdoomen in #3029
- Removed the PS script that opens the FA website because it misbehaves. by @dennisdoomen in #3030
Full Changelog: 8.1.0...8.1.1
8.1.0
What's Changed
Improvements
- Add [NotNull] attribute on the Should() method for object assertions by @0xced in #2987
- Improves the subject identification for chained assertions and those that use Which by @dennisdoomen in #3000
Fixes
- Fixed a regression in which CompleteWithinAsync treated a canceled task as an exception by @dennisdoomen in #2853
Documentation
- Reconnected the new license to the history of the old license by @dennisdoomen in #2985
- Removed an incorrect date/time example from the docs by @dennisdoomen in #2989
Others
- Make sure developers don't accidentally update to v8 without understanding the new license by @dennisdoomen in #2988
- Bump Microsoft.Testing.Extensions.TrxReport from 1.5.1 to 1.5.3 by @dependabot in #2993
- Bump TUnit from 0.6.154 to 0.7.24 by @dependabot in #2992
- Bump the mstest group with 2 updates by @dependabot in #2991
- Backport updates to pipelines by @jnyrup in #3001
- Bump cspell from 8.17.2 to 8.17.3 by @dependabot in #3005
- Bump Roslynator.Analyzers from 4.12.10 to 4.12.11 by @dependabot in #3004
- Bump TUnit from 0.7.24 to 0.10.6 by @dependabot in #3002
- Upmerge from v7 by @dennisdoomen in #3006
- Renamed CallerStatementBuilder to StatementParser by @dennisdoomen in #3007
- Bump Meziantou.Analyzer and Microsoft.NETFramework.ReferenceAssemblies by @dependabot in #3014
- Bump Microsoft.NET.Test.Sdk, Microsoft.NETFramework.ReferenceAssemblies and Newtonsoft.Json by @dependabot in #3013
- Bump Microsoft.NETFramework.ReferenceAssemblies and Roslynator.Analyzers by @dependabot in #3012
- Bump the xunit group with 3 updates by @dependabot in #3010
- Adjust dependencies by @jnyrup in #3015
- Bump NUnit3TestAdapter from 4.6.0 to 5.0.0 in the nunit group by @dependabot in #3011
- Fixed typo in introduction page by @tealamore in #3019
- Bump Verify.Xunit from 28.10.1 to 28.11.0 in the xunit group by @dependabot in #3022
- Bump TUnit from 0.10.6 to 0.13.3 by @dependabot in #3026
- Bump Microsoft.Testing.Extensions.CodeCoverage from 17.13.1 to 17.14.1 by @dependabot in #3024
- Bump the mstest group with 2 updates by @dependabot in #3023
- Bump Microsoft.NETFramework.ReferenceAssemblies, System.Collections.Immutable and System.Reflection.Metadata by @dependabot in #3025
- Upmerge from v7 by @jnyrup in #3028
- Fixed a regression in which CompleteWithinAsync treated a canceled ta… by @dennisdoomen in #3027
New Contributors
- @tealamore made their first contribution in #3019
Full Changelog: 8.0.1...8.1.0
7.2.0
What's Changed
Improvements
- Improve failure message for string assertions when checking for equality by @vbreuss in #2972
- Add [NotNull] attribute on the Should() method for object assertions by @0xced in #2987
Fixes
- Fixed a regression in which CompleteWithinAsync treated a canceled task as an exception by @dennisdoomen in #2853
Others
Full Changelog: 7.1.0...7.2.0
8.0.1
What's Changed
Improvements
- Provide a toggle to suppress the soft warning about commercial use by @dennisdoomen in #2984
Others
- Update docs to make license change more clear by @jnyrup in #2953
- Bump all dependencies by @dennisdoomen in #2962
- Bump System.Collections.Immutable and System.Reflection.Metadata by @dependabot in #2969
- Bump SharpCompress from 0.38.0 to 0.39.0 by @dependabot in #2968
- Bump the nuke group with 2 updates by @dependabot in #2967
- Bump Verify.Xunit from 28.8.1 to 28.9.0 in the xunit group by @dependabot in #2965
- Bump the mstest group with 2 updates by @dependabot in #2966
- Bump cspell from 8.17.1 to 8.17.2 by @dependabot in #2964
- Discard backported changes from 7 by @dennisdoomen in #2974
- Various textual and styling fixes as well as some clarification of v7 and v8. by @dennisdoomen in #2978
- Bump Xunit.StaFact from 1.1.11 to 1.2.69 in the xunit group by @dependabot in #2979
- Bump TUnit from 0.6.33 to 0.6.154 by @dependabot in #2980
- Bump Reflectify from 1.4.0 to 1.5.0 by @dependabot in #2981
- Bump System.Formats.Asn1 from 9.0.0 to 9.0.1 by @dependabot in #2983
- Bump coverlet.collector from 6.0.3 to 6.0.4 by @dependabot in #2982
Full Changelog: 8.0.0...8.0.1
7.1.0
What's Changed
Improvements
- Backport TUnit to v7 by @dennisdoomen in #2971
- Backport xUnit 3 support by @dennisdoomen in #2970
Others
- Bump all dependencies by @dennisdoomen in #2962
Full Changelog: 7.0.0...7.1.0
8.0.0
What's Changed
License change
- Update ownership and license to the Xceed Community License @dennisdoomen in #2943
Breaking Changes
- Moved all support for DataSet, DataTable, DataRow into FluentAssertions.DataSets by @dennisdoomen in #2267
- Remove obsolete
OrEqualTo
methods by @IT-VBFK in #2269 - Remove
SpacesPerIndentionLevel
by @jnyrup in #2281 - Drop support for .NET Core by @dennisdoomen in #2302
- Change
AllSatisfy
to succeed on empty collections by @jnyrup in #2321 - Add
ForConstraint
toIAssertionScope
by @IT-VBFK in #2324 - Change
OnlyContain
to succeed on empty collections by @IT-VBFK in #2350 - Drop support for
NSpec3
by @ITaluone in #2356 - Removed binary formatter by @lg2de in #2278
- Converted AsyncFunctionAssertions into real base class by @lg2de in #2359
- Move non-generic
NotThrow[After]
toActionAssertions
by @jnyrup in #2371 - Rename
EquivalencyAssertionOptions
toEquivalencyOptions
by @vbreuss in #2414 - Allow fluently calling
WithoutMatchingRules
andWithoutSelectionRules
while usingBeEquivalentTo
by @vbreuss in #2457 - Consolidate namespace and file location by @vbreuss in #2449
- Allow event monitoring to ignore failing event accessors by @ITaluone in #2629
- Improve BeUpperCased/BeLowerCased semantics by @drewjcooper in #2660
- Various naming improvements by @dennisdoomen in #2745
- Redesigned AssertionScope and how it travels over chained calls by @dennisdoomen in #2539
- Simplify inheritance of
SubsequentOrderingAssertions
by @vbreuss in #2439 - Renamed
RespectingRuntimeTypes
andRespectingDeclaredTypes
to better clarify their purpose by @dennisdoomen in #2866 - Renamed ExcludingNestedObjects to WithoutRecursing to better describe its purpose by @dennisdoomen in #2876
- Remove support for
HttpResponseMessage
assertions by @ITaluone in #2909 - Redesign Configuration, Services and AssertionOptions by @dennisdoomen in #2901
New features
- Introduces an attribute to mark an entire assembly as one that contains custom assertions. by @dennisdoomen in #2389
- Introduced a new attribute to allow global initialization of the assertion options by @dennisdoomen in #2292
- Add support for NUnit4 by @vbreuss in #2483
- Add missing
NotBeIn(DateTimeKind)
DateTime
assertion by @IT-VBFK in #2536 - Allow specifying
EquivalencyOptions
in string assertions by @vbreuss in #2413 - Add BeNaN and NotBeNaN assertions by @arocheleau in #2606
- Add scoped value formatters by @ITaluone in #2676
- TUnit Framework Support by @thomhurst in #2758
Improvements
- Optimize
TypeMemberReflector
by @jnyrup in #2320 - Improve failure message for string assertions when checking for equality by @vbreuss in #2307
- Capitalize true and false in failure messages by @BusHero in #2390
- Pass Boolean literals as becauseArguments by @jnyrup in #2393
- BeEmpty() materializes IEnumerable only once, even on failure by @louis-z in #2530
- Add [NotNull] attribute on the Should() method for object assertions by @0xced in #2380
- Allow nested
AssertionScope
s to chain their context by @dennisdoomen in #2607 - Avoid allocations when chaining contexts by @jnyrup in #2613
- Add option to ignore newline style when comparing strings for equivalency by @vbreuss in #2565
- Add
[StringSyntax("CompositeFormat")]
to allbecause
parameters by @psychotoad in #2635 - Add support for
Satisfy
onReferenceTypeAssertions
by @siewers in #2597 - Filter the list of events returned by RaisePropertyChangeFor by @arocheleau in #2677
- Add a bunch of assertions on
XElement
andXDocument
by @ITaluone in #2690 - Correctly specify nullability of Subject for
NumericAssertions
by @vbreuss in #2473
Fixes
- Fixed formatting error when checking nullable
DateTimeOffset
withBeWithin
/Before
by @rokklobster in #2312 - Ensure explicitly implemented members are discoverable in BeEquivalentTo by @dennisdoomen in #2152
- Pass down the reason to inner
AssertionScope
by @IT-VBFK in #2318 - Handle comparing an
IDictionary
subject with anIDictionary<,>
expectation by @ITaluone in #2358 - Pass
FormattingOptions
to innerAssertionScope
by @ITaluone in #2329 - Improve failure message for
NotBeOfType
andBeReadable
/BeWritable
by @jnyrup in #2399 - Do not continue asserting on the concrete exception type when the exception is
null
by @IT-VBFK in #2398 - Guard methods against assertion scope
[Not]HaveExplicit(Property|Method)
by @IT-VBFK in #2403 - Exclude
private protected
members fromBeEquivalentTo
by @jnyrup in #2417 - Fix issue when an empty ArraySegment is a member of a class by @ITaluone in #2511
- Correct null handling when using a custom comparer by @MartinDemberger in #2489
- Avoid treating
"\\r\\n"
as new line. by @vbreuss in #2569 - Make
ThrowWithinAsync
respect canceled tasks by @jnyrup in #2614 - Fixed
BeEquivalentTo
when using a custom comparer targeting nullable types by @arocheleau in #2648 - Remove non-compliant
StringSyntaxAttribute
by @IT-VBFK in #2669 - Do not use
UsingLineBreaks
for[Not]BeSameAs
by @jnyrup in #2726 - Properly report the path even if custom mapping is used by @dennisdoomen in #2860
- GlobalConfiguration.TestFramework did not reconfigure the run-time test framework being used. by @dennisdoomen in #2918
- GlobalEquivalencyOptions.CloneDefaults needs to be public by @dennisdoomen in #2926
Documentation
- added closing parenthesis in docs (collections.md) by @JoelWakefield in #2295
- Grammatical changes of "which" to "whose" by @mpityo in #2355
- Add a note to XML-docs that explains the
(Not)ContainEquivalentOf
problem by @IT-VBFK in #2354 - Add release notes for #2393 by @IT-VBFK in #2396
- Restore
DateTime
tips by @jnyrup in https://github.com/fluenta...