All Versions
22
Latest Version
Avg Release Cycle
37 days
Latest Release
186 days ago

Changelog History
Page 1

  • v6.2.1

    September 02, 2020

    ๐Ÿ›  Fixed

    • 0๏ธโƒฃ TypeCatalogueInstanceProvider throws first chance MissingMethodException trying to instantiate DefaultEnumerableValueFormatter (#1790)

    ๐Ÿš€ With special thanks for contributions to this release from:

  • v6.2.0

    July 23, 2020

    ๐Ÿ†• New

    • Apply Object member rules even when the methods are overridden (#1777)
    • ๐Ÿ”ง DoesNothing configuration for methods that return Task (#1784)

    โž• Additional Items

    • Explain that DoesNothing only applies to void- or Task-returning members (#1782, #1784)
    • Document how to have a get/set property invoke a side-effect on a call to set and still persist the supplied value (#1783)
    • ๐Ÿ›  Fix the case of the GetAssemblyFileNamesToScanForExtensions method in the documentation (#1786)

    ๐Ÿš€ With special thanks for contributions to this release from:

  • v6.1.0

    June 08, 2020

    ๐Ÿ†• New

    • โž• Add creation option that would allow calling object class methods on a strict Fake (#1765)
    • ๐Ÿ‘ป Throw informative exception when IBootstrapper.GetAssemblyFileNamesToScanForExtensions returns null (#1689)
    • โž• Add ArgumentConstraintManagerExtensions.StartsWith and .EndsWith overloads that take a StringComparison (#1771)

    โž• Additional Items

    • Document that Dummies are made from public constructors (#1763)
    • โšก๏ธ Update MinVer to 2.3.0 (#1773)
    • ๐Ÿ›  Fix compiler warnings before release (#1776)

    ๐Ÿš€ With thanks for contributions to thiis release from

  • v6.0.1

    April 10, 2020

    ๐Ÿ›  Fixed

    • Source Stepping doesn't work because PDBs can't be found (#1751, #1685)
    • ๐Ÿ”ง Bad error message when configuring explicitly implemented interface method (#1759)

    โž• Additional Items

    ๐Ÿš€ With special thanks for contributions to this release from:

    • first-time contributor Stefan Ollinger - @dozed
  • v6.0.0

    January 17, 2020

    ๐Ÿ”„ Changed

    • ๐Ÿ”€ Stop merging Castle.Core (#1258)
    • ๐Ÿ”ฆ Expose nullability annotations (#1613)
    • ๐Ÿ— Limit typeparams for Fake options and builder classes (#1664)
    • Resolve Dummy Lazy values lazily (#1656)
    • ๐Ÿ“‡ Rename scope parameter to manager in ArgumentConstraintManagerExtensions methods (#1687)
    • ๐Ÿšš Move analyzers from the main FakeItEasy repository to the FakeItEasy/FakeItEasy.Analyzers repository (#1735)
      • The Analyzers and the main FakeItEasy package will now release on their own cadence. There never was a tight coupling between packages with the same version, and now that's made explicit.

    โœ‚ Removed from the public API

    • Repeated API (#1296)
    • Analyzer diagnostic FakeItEasy0006, "Assertion uses legacy Repeated class" (#1296)

    ๐Ÿ†• New

    • โž• Add support for calling the wrapped object's method (#1717)
    • โž• Add and remove null parameter checks (#1686, #1708)
    • ๐Ÿ‘ป Fall back to other formatters when IArgumentValueFormatter.GetArgumentValueAsString throws an exception or returns null (#1690)
    • โž• Add ArgumentConstraintManagerExtensions.Contains overload that takes a StringComparison (#1681)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix Contains string argument constraint, once again using StringComparison.Ordinal (accidentally switched to StringComparison.CurrentCulture in release5.4.0) (#1748)

    โž• Additional Items

    ๐Ÿš€ With special thanks for contributions to this release from:

  • v6.0.0-beta.1

    December 19, 2019

    ๐Ÿ”„ Changed

    • ๐Ÿ”€ Stop merging Castle.Core (#1258)
    • ๐Ÿ”ฆ Expose nullability annotations (#1613)
    • ๐Ÿ— Limit typeparams for Fake options and builder classes (#1664)
    • Resolve Dummy Lazy values lazily (#1656)
    • ๐Ÿ“‡ Rename scope parameter to manager in ArgumentConstraintManagerExtensions methods (#1687)
    • ๐Ÿšš Move analyzers from the main FakeItEasy repository to the FakeItEasy/FakeItEasy.Analyzers repository (#1735)
      • The Analyzers and the main FakeItEasy package will now release on their own cadence. There never was a tight coupling between packages with the same version, and now that's made explicit.

    โœ‚ Removed from the public API

    • Repeated API (#1296)
    • Analyzer diagnostic FakeItEasy0006, "Assertion uses legacy Repeated class" (#1296)

    ๐Ÿ†• New

    • โž• Add support for calling the wrapped object's method (#1717)
    • โž• Add and remove null parameter checks (#1686, #1708)
    • ๐Ÿ‘ป Fall back to other formatters when IArgumentValueFormatter.GetArgumentValueAsString throws an exception or returns null (#1690)

    ๐Ÿ›  Fixed

    โž• Additional Items

    ๐Ÿš€ With special thanks for contributions to this release from:

  • v5.5.0

    November 25, 2019

    ๐Ÿ†• New

    • Fake.TryGetFakeManager and Fake.IsFake methods (#1709)

    ๐Ÿš€ With special thanks for contributions to this release from:

  • v5.4.1

    November 14, 2019

    ๐Ÿ›  Fixed

    • ReturnValue not set on completed call returned from Fake.GetCalls (#1696)
  • v5.4.0

    October 23, 2019

    ๐Ÿ”„ Changed

    ๐Ÿ†• New

    Now targets netstandard2.1, as well as all the old favorites (#1658)

    โœจ Enhanced support for ValueTask and ValueTask<TResult>, comparable to that for Task and Task<TResult> (#1658):

    • a ValueTask Dummy is an actual completed ValueTask
    • a ValueTask<TResult> Dummy is an actual ValueTask<TResult> that is already completed and whose Result is a Dummy of type TResult, or a default TResult if no Dummy can be made for TResult
    • unconfigured Fake methods that accept a cancellation token and return a ValueTask (or ValueTask<T>) will return a cancelled task object
    • new convenience overloads for configuring Fake methods that return ValueTask or ValueTask<T>:

    ๐Ÿ“ฆ If your test project targets a framework compatible with .NET Standard 2.1 or higher, these last two features are available in the FakeItEasy package itself. Otherwise, you can access them by referencing the new FakeItEasy.Extensions.ValueType NuGet package.

    Analyzers now target .NET Standard 2.0 (#1667)

    โž• Additional Items

    • โœ‚ Remove unused internal option to skip formatting of argument values (#1665)
    • โœ… Parameterize approval tests (#1669)
    • ๐Ÿ‘Œ Support building only part of the target frameworks (#1662)
    • ๐Ÿš€ Create a bot account for release process automation (#1663)
  • v5.3.0

    October 16, 2019

    ๐Ÿ†• New

    • ๐Ÿ‘‰ Make Dummy ValueTuples' members Dummies, to match Tuple (#1637)
    • Detect and reject an "argument constraint factory method" that produces multiple constraints (#1628)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘ป Stack overflow exception when concurrently creating two Dummies of a type that takes a parameter of its own type (#1639)
    • Fakes that wrap another object are not considered to be equal to themselves (#1630)
    • ๐Ÿ‘ป Exception thrown from argument constraint factory prevents detection of misused A<T>._, A<T>.Ignored, or A<T>.That (#1644)
    • ๐Ÿ‘ป Exception thrown by argument constraint factory is wrapped in TargetInvocationException, not UserCallbackException (#1646)
    • Exceptions thrown by "action" callbacks are wrapped in UserCallbackException (#1640)

    โž• Additional Items

    • ๐Ÿ— Build requires Visual Studio 2019 or Visual Studio Build Tools 2019, and tests now run against netcoreapp3.0 (#1632)
    • โž• Add parentheses to test method in quickstart (#1621)
    • โš  Pre-reduce nullable warnings (#1620)
    • Check for nullity using is null or is object (#1624)
    • Protect out and ref parameters value producer (#1625)
    • Simplify type checking in AnyCallRule (#1626)
    • ๐Ÿ“ฆ Embed FakeItEasy icon in package (#1627)
    • ๐Ÿš€ GitHub API calls fail during deployment (#1618)
    • ๐Ÿ›  Fix capitalization of .NET in docs (#1653)
    • โšก๏ธ Updated build tools (#1631, #1655)
    • ๐Ÿš€ Automatically add "this change has been released" note to issues (#1652)
    • ๐Ÿ‘‰ Make wording consistent in DummyCreationSpecs and don't use A.Dummy directly (#1659)

    ๐Ÿš€ With special thanks for contributions to this release from: