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

Changelog History
Page 1

  • v6.2.1 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    November 25, 2019

    🆕 New

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

    🚀 With special thanks for contributions to this release from:

  • v5.4.1 Changes

    November 14, 2019

    🛠 Fixed

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

    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 Changes

    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: