All Versions
18
Latest Version
Avg Release Cycle
31 days
Latest Release
34 days ago

Changelog History
Page 1

  • 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:

  • v5.3.0-beta.1

    October 08, 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

    • 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)
    • ⚡️ Update Bullseye, SimpleExec, and MinVer (#1631)
    • 📦 Embed FakeItEasy icon in package (#1627)
    • 🚀 GitHub API calls fail during deployment (#1618)

    🚀 With special thanks for contributions to this release from:

  • v5.2.0

    September 05, 2019

    🆕 New

    • ➕ Add overloads of Invokes, ReturnsLazily, etc for methods with 5–8 parameters (#1606)
      Previously overloads handled up to 4 parameters.

    ➕ Additional Items

    • Move NUGET_API_KEY and other variables out of appveyor.yml and into environment variables (#1609)
    • ⚡️ Update Bullseye to 3.0.0-beta.3 and SimpleExec to 6.1.0-beta.1 (#1612)
    • 🏗 Shorten input values in build logs (#1615)
    • ⚡️ Update PublicApiGenerator to 9.3.0 (#1616)

    🚀 With special thanks for contributions to this release from:

  • v5.1.2

    August 30, 2019

    🛠 Fixed

    • 👻 Stack overflow exception when creating second Fake of type that takes a parameter of its own type (#1603)

    ➕ Additional Items

    • 📄 Replace term "framework" with "library" in docs (#1587)
    • ✂ Remove Source Browser badge and link (#1589)
    • ⚡️ Update SimpleExec to 6.0.0 (#1594, #1595)
    • ⚡️ Update Bullseye to 2.4.0-rc.2 (#1595, #1596)
    • 🛠 Fix failing test by no longer creating a fake in WrapsAValidObjectOptionsBuilder static constructor (#1600)

    🚀 With special thanks for contributions to this release from:

  • v5.1.1

    April 15, 2019

    🛠 Fixed

    • Calls are recorded after applying the best rule, not when received (#1583)

    ➕ Additional Items

    • 🛠 Fix typo in Why was FakeItEasy created? (#1582)
    • 🛠 Fix deployment failure due to "The filename, directory name, or volume label syntax is incorrect." (#1576)
    • ⬆️ Upgrade MinVer to 1.0.0-rc.1 (#1578)

    🚀 With special thanks for contributions to this release from: