Skip to content

Upgrading FluentAssertions 7 to 8

Breaking7.2.2 → 8.11.0Breaking22Security2Platform1New38Changed40Fixed41Other502

BreakingUpgrade verdict

22 breaking changes and a platform requirement change and 2 security fixes.

  • Removes the obsolete OrEqualTo methods.
  • Removes SpacesPerIndentionLevel.
  • Removes the binary formatter.
  • Renames EquivalencyAssertionOptions to EquivalencyOptions.
Top 5 of 25 that need code or config changes
Breaking22
Removes the obsolete OrEqualTo methods.
OrEqualTo
Removes SpacesPerIndentionLevel.
SpacesPerIndentionLevel
Removes the binary formatter.
Renames EquivalencyAssertionOptions to EquivalencyOptions.
EquivalencyAssertionOptionsEquivalencyOptions
Renames RespectingRuntimeTypes and RespectingDeclaredTypes to better clarify their purpose.
RespectingRuntimeTypesRespectingDeclaredTypes
Renames ExcludingNestedObjects to WithoutRecursing to better describe its purpose.
ExcludingNestedObjectsWithoutRecursing
Removes support for HttpResponseMessage assertions.
HttpResponseMessage
Moves all DataSet, DataTable and DataRow support into the separate FluentAssertions.DataSets package.
DataSetDataTableDataRow
Changes AllSatisfy to succeed on empty collections.
AllSatisfy
Adds ForConstraint to IAssertionScope.
ForConstraintIAssertionScope
Changes OnlyContain to succeed on empty collections.
OnlyContain
Converts AsyncFunctionAssertions into a real base class.
AsyncFunctionAssertions
Moves non-generic NotThrow and NotThrowAfter to ActionAssertions.
NotThrowNotThrowAfterActionAssertions
Allows fluently calling WithoutMatchingRules and WithoutSelectionRules while using BeEquivalentTo.
WithoutMatchingRulesWithoutSelectionRulesBeEquivalentTo
Consolidates namespace and file location.
Allows event monitoring to ignore failing event accessors.
Improves BeUpperCased and BeLowerCased semantics.
BeUpperCasedBeLowerCased
Makes various naming improvements.
Redesigns AssertionScope and how it travels over chained calls.
AssertionScope
Simplifies inheritance of SubsequentOrderingAssertions.
SubsequentOrderingAssertions
Redesigns Configuration, Services and AssertionOptions.
ConfigurationServicesAssertionOptions
Makes the equivalency validator core internal.
Security2
Prevents pwn-request RCE via the Qodana workflow.
Qodana
Hardens the NPM install step.
NPM
Platform1
Drops support for .NET Core.