Steeltoe icon indicating copy to clipboard operation
Steeltoe copied to clipboard

Drop FluentAssertions dependency

Open bart-vmware opened this issue 10 months ago • 1 comments

Because FluentAssertions v8 requires a paid license for closed-source commercial usage, we'll likely migrate away from it. Although Steeltoe itself is open-source, companies that fork Steeltoe privately would need to purchase a license (per developer). This requirement reduces the attractiveness of Steeltoe, which we'd like to avoid.

Potential future steps (and accompanying tools):

  • Replace with Shouldly
    • https://github.com/shouldly/shouldly/issues/1034 (mentions PowerShell migration script)
  • Replace with NFluent
    • https://github.com/maximedezette/fluentassertions-to-nfluent-migrator
  • Use xUnit built-in assertions
    • Migration tool at https://github.com/amoerie/fluentassertions-migrator
  • Stick with FA v7 forever (or switch to a well-maintained fork, if one becomes available)
    • Pin dependency as <PackageReference Include="FluentAssertions" Version="[7.0.0,8.0.0)" /> to block package updates

Please feel free to share your thoughts and concerns regarding the license change of this dependency.

bart-vmware avatar Jan 16 '25 14:01 bart-vmware

Community fork of FA https://github.com/AwesomeAssertions/AwesomeAssertions with v8 and v7 support

ScarletKuro avatar Feb 25 '25 09:02 ScarletKuro

For the moment, we've decided to stick with FluentAssertions v7.x, which is feature-complete and still receives critical fixes. We'll keep an eye on AwesomeAssertions, but it hasn't yet gained the same level of popularity.

bart-vmware avatar Jul 10 '25 14:07 bart-vmware

which is feature-complete and still receives critical fixes.

But AwesomeAssertions 7.x is functionally equivalent to FluentAssertions v7.x. We've also merged all the fixes from the v7 branches after FluentAssertions went commercial starting with v8. For your information, support for FA v7 has ended and it will no longer receive updates, they even removed the v7 branch from their repository. We still support AwesomeAssertions 7.x in case any critical issues arise or if someone is willing to submit a fix to our v7 branch. Please correct me if I’m wrong, @cbersch. AwesomeAssertions has since moved forward, we already have a v9 release. If you check the repo, you’ll see we're actively adding new features / fixes.

We'll keep an eye on AwesomeAssertions, but it hasn't yet gained the same level of popularity.

As for popularity, that's always subjective. Personally, I think 1.6M downloads and the fact that MSFT has adopted it in some of their repos is a strong indicator. I won’t insist, FA 7.x is still free to use and good enough.

ScarletKuro avatar Jul 10 '25 16:07 ScarletKuro

We still support AwesomeAssertions 7.x in case any critical issues arise or if someone is willing to submit a fix to our v7 branch. Please correct me if I’m wrong, @cbersch. AwesomeAssertions has since moved forward, we already have a v9 release. If you check the repo, you’ll see we're actively adding new features / fixes.

The v8 release had already substantial improvements.

And more are underway.

We'll keep an eye on AwesomeAssertions

Great

cbersch avatar Jul 10 '25 16:07 cbersch