Releases: fluentassertions/fluentassertions
Releases · fluentassertions/fluentassertions
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...
8.0.0-rc.2
What's Changed
Fixes
- GlobalEquivalencyOptions.CloneDefaults needs to be public by @dennisdoomen in #2926
Others
- Include the release branches in the CodeQL runs by @dennisdoomen in #2925
- Bump TUnit from 0.6.15 to 0.6.33 by @dependabot in #2924
- Bump Verify.Xunit from 28.7.0 to 28.7.1 in the xunit group by @dependabot in #2923
Full Changelog: 8.0.0-rc.1...8.0.0-rc.2
8.0.0-rc.1
What's Changed
Breaking Changes
- 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
Fixes
- 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
Documentation
Others
- Bumped Nuke to v9 by @dennisdoomen in #2865
- Bump the nuke group with 2 updates by @dependabot in #2871
- Bump Microsoft.Testing.Extensions.CodeCoverage from 17.12.6 to 17.13.1 by @dependabot in #2873
- Bump System.Collections.Immutable and System.Reflection.Metadata by @dependabot in #2872
- Bump the mstest group with 2 updates by @dependabot in #2870
- Bump cspell from 8.16.0 to 8.16.1 by @dependabot in #2868
- Bump Verify.Xunit from 28.3.2 to 28.4.0 in the xunit group by @dependabot in #2869
- The CodeQL build needed the .NET 8.0 SDK by @dennisdoomen in #2877
- Bump JetBrains/qodana-action from 2024.2 to 2024.3 by @dependabot in #2885
- Bump Meziantou.Analyzer from 2.0.180 to 2.0.182 by @dependabot in #2883
- Bump cspell from 8.16.1 to 8.17.0 by @dependabot in #2882
- Bump PublicApiGenerator from 11.1.0 to 11.2.0 by @dependabot in #2881
- Bump Verify.Xunit from 28.4.0 to 28.5.0 in the xunit group by @dependabot in #2879
- Bump NUnit from 4.2.2 to 4.3.0 in the nunit group by @dependabot in #2880
- Suppress Qodana warnings about awaiting a void method. by @dennisdoomen in #2886
- Rollback Qodana version to solve a conflict with PolySharp by @dennisdoomen in #2889
- Upgrade MSTest for UWP.Specs by @jnyrup in #2888
- Bump PolySharp from 1.14.1 to 1.15.0 by @dependabot in #2884
- Downgrade System.Collections.Immutable to 1.5.0 by @jnyrup in #2890
- Ignore updates to System.Collections.Immutable by @jnyrup in #2891
- Bump cspell from 8.17.0 to 8.17.1 by @dependabot in #2893
- Bump TUnit from 0.4.1 to 0.5.6 by @dependabot in #2897
- Bump PublicApiGenerator from 11.2.0 to 11.3.0 by @dependabot in #2896
- Bump Roslynator.Analyzers from 4.12.9 to 4.12.10 by @dependabot in #2898
- Bump LibGit2Sharp from 0.30.0 to 0.31.0 by @dependabot in #2895
- Bump the xunit group with 3 updates by @dependabot in #2894
- Update Nugets by @jnyrup in #2899
- CI backports to main by @jnyrup in #2900
- Bump Verify.Xunit from 28.6.0 to 28.7.0 in the xunit group by @dependabot in #2902
- Bump Meziantou.Analyzer from 2.0.182 to 2.0.183 by @dependabot in #2906
- Bump TUnit from 0.5.6 to 0.5.28 by @dependabot in #2905
- Bump NUnit from 4.3.0 to 4.3.1 in the nunit group by @dependabot in #2904
- Bump the mstest group with 2 updates by @dependabot in #2903
- Update MSTest for UWP by @jnyrup in #2907
- Bump NUnit from 4.3.1 to 4.3.2 in the nunit group by @dependabot in #2910
- Bump TUnit from 0.5.28 to 0.6.15 by @dependabot in #2912
- Bump Meziantou.Analyzer from 2.0.183 to 2.0.184 by @dependabot in #2911
- Bump Reflectify from 1.3.0 to 1.4.0 by @dependabot in #2913
- Bump Microsoft.Testing.Extensions.TrxReport from 1.4.3 to 1.5.0 by @dependabot in #2914
- Upmerge main to develop by @jnyrup in #2915
- Bump coverlet.collector from 6.0.2 to 6.0.3 by @dependabot in #2917
- Remove chill by @jnyrup in #2916
Full Changelog: 8.0.0-alpha.1...8.0.0-rc.1
8.0.0-alpha.1
What's Changed
Others
- Made the equivalency validator core internal by @dennisdoomen in #2854
Full Changelog: 7.0.0-alpha.6...8.0.0-alpha.1
7.0.0
What's Changed
Breaking Changes
- Drop support for .NET Core 2.1, 3.0 and NSpec by @dennisdoomen in #2835
Fixes
- The expectation node identified as a cyclic reference is still compared to the subject node using simple equality. by @dennisdoomen in #2819
- Fix support for write-only properties in BeEquivalentTo by @dennisdoomen in #2836
Documentation
Others
- Use the same Qodana build pipeline as develop is using by @dennisdoomen in #2809
- Add section highlighting for better navigation by @sentemon in #2807
- Bump all relevant dependencies by @dennisdoomen in #2834
- Changed references to the master branch to main by @dennisdoomen in #2848
- Missed two more references to master by @dennisdoomen in #2849
- Backport bump of
System.Configuration.ConfigurationManager
andSystem.Threading.Tasks.Extensions
by @jnyrup in #2856
New Contributors
Full Changelog: 6.12.2...7.0.0
6.12.2
What's Changed
Others
- Better support for default interface and explicitly implemented properties by @dennisdoomen in #2794
Full Changelog: 6.12.1...6.12.2
6.12.1
What's Changed
Improvements
- Improve
BeEmpty()
andBeNullOrEmpty()
performance forIEnumerable<T>
, by materializing only the first item - #2530
Fixes
- Fixed formatting error when checking nullable
DateTimeOffset
withBeWithin(...).Before(...)
- #2312 BeEquivalentTo
will now find and can map subject properties that are implemented through an explicitly-implemented interface - #2152- Fixed that the
because
andbecauseArgs
were not passed down the equivalency tree - #2318 BeEquivalentTo
can again compare a non-genericIDictionary
with a generic one - #2358- Fixed that the
FormattingOptions
were not respected in innerAssertionScope
- #2329 - Capitalize
true
andfalse
in failure messages and make them formattable to a customBooleanFormatter
- #2390, #2393 - Improved the failure message for
NotBeOfType
when wrapped in anAssertionScope
and the subject is null - #2399 - Improved the failure message for
BeWritable
/BeReadable
when wrapped in anAssertionScope
and the subject is read-only/write-only - #2399 - Improved the failure message for
ThrowExactly[Async]
when wrapped in anAssertionScope
and no exception is thrown - #2398 - Improved the failure message for
[Not]HaveExplicitProperty
when wrapped in anAssertionScope
and not implementing the interface - #2403 - Improved the failure message for
[Not]HaveExplicitMethod
when wrapped in anAssertionScope
and not implementing the interface - #2403 - Changed
BeEquivalentTo
to excludeprivate protected
members from the comparison - #2417 - Fixed using
BeEquivalentTo
on an emptyArraySegment
- #2445, #2511 BeEquivalentTo
with a custom comparer can now handle null values - #2489- Ensured that nested calls to
AssertionScope(context)
create a chained context - #2607 - One overload of the
AssertionScope
constructor would not create an actual scope associated with the thread - #2607 - Fixed
ThrowWithinAsync
not respectingOperationCanceledException
- #2614 - Fixed using
BeEquivalentTo
with anIEqualityComparer
targeting nullable types - #2648
Full Changelog: 6.12.0...6.12.1
6.12.0
What's Changed
New features
- Added
Be
,NotBe
andBeOneOf
for object comparisons with custom comparer by @jnyrup in #2243 - Extend
AssemblyAssertions
withHavePublicKey
andBeUnsigned
by @Corniel in #2207 - Add
NotContainItemsAssignableTo
by @Leo506 in #2266
Improvements
- Format records and anonymous types with their member values by @benagain in #2144
- Improve caller identification for Visual Basic by @jnyrup in #2254
Fixes
- Avoid quoting newlines by @jnyrup in #2202
- Include because+becauseArgs when comparing collections of enums for equivalency by @jnyrup in #2214
- Fix auto conversion to enums by @jnyrup in #2261
Documentation
- Github -> GitHub by @danielchalmers in #2190
- Fix badge links by @dennisdoomen in #2193
- Fix example wording by @cskwrd in #2206
- Improve documentation on
ExcludingNestedObjects
by @dennisdoomen in #2211 - Add missing
HaveElement()
occurrence docs by @IT-VBFK in #2217 - Add documentation for
IComparer<T>
overload by @ITaluone in #2220 - Update docs about thread safety by @jnyrup in #2238
Others
- CA1860: Avoid using 'Enumerable.Any()' extension method by @Evangelink in #2196
- Update PR template by @eNeRGy164 in #2188
- Code coverage improvements by @sdelarosbil in #2180
- Remove sponsor Semantic Merge from the website by @dennisdoomen in #2194
- Upmerge master to develop by @dennisdoomen in #2195
- Simplify
GenericDictionaryEquivalencyStep
by @jnyrup in #2191 - Cleanup by @jnyrup in #2201
- Bump all dependencies by @dennisdoomen in #2198
- Add Qodana by @matkoch in #2204
- Bump nuget dependencies by @jnyrup in #2227
- Prepare for .NET8 analyzers by @jnyrup in #2228
- Qodana fixes by @jnyrup in #2229
- Update Nugets by @jnyrup in #2240
- Analyzer cleanups by @jnyrup in #2250
- Group framework dependent configuration by @Corniel in #2247
- Update cspell by @jnyrup in #2255
- Update ruby gems by @jnyrup in #2257
- Another Qodana test from the same repository by @dennisdoomen in #2258
- Qodana fixes by @IT-VBFK in #2221
- Add a pre-check if a user can help with a PR by @IT-VBFK in #2262
- Fix qodana issues part 2 by @IT-VBFK in #2264
- Release 6.12 by @dennisdoomen in #2270
New Contributors
- @benagain made their first contribution in #2144
- @cskwrd made their first contribution in #2206
- @Corniel made their first contribution in #2247
- @Leo506 made their first contribution in #2266
Full Changelog: 6.11.0...6.12.0