All Versions
Latest Version
Avg Release Cycle
135 days
Latest Release
742 days ago

Changelog History
Page 2

  • v3.0.0 Changes

    October 01, 2017
    • ⚠ [FIX] Fixed warning about System.ComponentModel.TypeConverter 4.0.1 (#311). Thanks to Stefan Kert for this PR.
    • ⚡️ [UPDATE] [BREAKING] Migrated to new csproj format, targeting .NET Standard 1.3. ⬇️ Dropped support for older .NET platforms (pre-.NET46). Uses NuGet for dependencies rather than shipping them ilmerged. Thanks to Alexandr Nikitin for this work. Also thanks to @StefanKert and @robertcoltheart for review feedback.
    • ⚡️ [UPDATE] Stopped shipping ZIP distribution, now exclusively using NuGet. (#319)
    • 📚 [UPDATE] Stopped shipping documentation with the NuGet package. This information is available in the source repository. (#319)
  • v2.0.3 Changes

    April 01, 2017
    • 🛠 [FIX] Fixed issue with stubbing multiple return values and then accessing them in parallel. (#282, #294). Thanks to Janusz Białobrzewski (@jbialobr) for implementing this, and to Alexandr Nikitin and Alex Povar for reviewing and contributing to Janusz' PR.
    • ⚡️ [UPDATE] .NET Core build now targets netstandard-1.3 (was 1.5). Thanks to Ian Johnson (@ipjohnson) for this change. (#303)
    • ⚡️ [UPDATE] .NET Core build is now signed, which removes a warning when referencing .NET standard library. Thanks to Connie Yau (@conniey) for this change. (#302)
    • 🚚 [FIX] Removed redundant .NET standard dependencies when referencing NSubstitute as a .NET Framework library. Thanks to Alex Povar (@zvirja). (#295)
  • v2.0.2 Changes

    February 01, 2017
    • 🚀 Dropped Release Candidate tag now that Castle.Core 4.0.0 final has been 🚀 released.
    • 🚀 [UPDATE] Updated all builds to use Castle Core 4.0.0 release.
    • [NEW] Task-compatible ReturnsNull extension method added to ReturnsExtensions (#270). Thanks to Michael Wolfenden for implementing this.
    • 👍 [NEW] Support for delegates with out/ref parameters (#271, #273). Thanks to Oleg Sych for raising this, and to Alexandr Nikitin for this fix. (Implemented for NET40/45/Core, not for NET35 at present)
  • v2.0.1 Changes

    December 01, 2016
    • 🔀 [NEW] Initial custom handler support (#259). Mainly for integration with libraries like AutoFixture, this allows some basic fallback logic to be injected into a substitute's call handling pipeline. Thanks to Alex Povar (@zvirja) for implementing this and incorporating review comments, and also to Marcio Rinaldi (@mrinaldi) for his initial work on this in #234. Also thanks to @alexandrnikitin for a related spike (#156), and his work with Alex and Marcio in refining this feature and reviewing and merging the final PR.
    • ⚡️ [UPDATE] Improved concurrency support, relating to how NSubstitute tracks the last call and queued call specifications (#264). Thanks a lot to Alex Povar (@Zvirja) for designing and implementing this improvement. Thanks to Alexandr Nikitin for reviewing this PR.
  • v2.0.0 Changes

    August 01, 2016
    • 🏗 Build:
    • 👷 [NEW] Initial .NET Core support. Thanks to @alexandrnikitin for tonnes of work on this. Thanks also to Peter Jas (@jasonwilliams200OK) for both .NET Core code contributions and help with CI setup. And thanks to everyone who contributed to the conversation and testing in
    • 🔧 [NEW] Clear substitute configuration using sub.ClearSubstitute(ClearOptions). This extension can be brought in to scope via using NSubstitute.ClearExtensions;. Thanks to @trullock for defining and implementing this change, and to @alexandrnikitin for review feedback. (#157, #235, #179)
    • 📚 [DOC] Improved CallInfo.ArgAt documentation, thanks to asbjornu. (#231)
    • 👻 [FIX] Fix an issue with Received.InOrder when an exception is thrown. Thanks to @m3zercat for finding and fixing this. (#237)
  • v1.10.0 Changes

    March 01, 2016
    • 🏗 [NEW] Callbacks builder for more control over When..Do callbacks. Thanks to bartoszgolek. (#202, #200)
    • [NEW] Auto-substitute for IQueryable. Thanks to emragins. (#67)
    • [FIX] Fix bug when showing params arguments for value types (#214)
    • [FIX] Fix bug when showing params arguments for Received.InOrder calls (#211)
  • v1.9.2 Changes

    October 01, 2015
    • ⚡️ [UPDATE] Mark Exceptions as [Serializable]. Thanks to David Mann. (#201)
    • [FIX] Fix bug with concurrently creating delegate substitutes. Thanks to Alexandr Nikitin. (#205)
  • v1.9.1 Changes

    October 01, 2015
    • [FIX] Fix bug introduced in 1.9.0 that made checking a call was Received() clear previously stubbed values for that call.
  • v1.9.0 Changes

    October 01, 2015
    • [NEW] Allow awaiting of async methods with Received()/DidNotReceive(). Thanks to Marcio Rinaldi for this contribution. (#190, #191)
    • 🔀 [NEW] Task-specific Returns methods to make it easier to stub async methods. Thanks to Antony Koch for implementing this, and thanks to Marius Gundersen and Alexandr Nikitin for the suggestion and discussion regarding the change. (#189) (Also thanks to Jake Ginnivan who tried adding this back in #91, but I didn't merge that part of the PR in. Sorry!)
    • [NEW] ReturnsForAll extension method. Thanks to Mike Hanson for this contribution. (#198, #196)
  • v1.8.2 Changes

    May 01, 2015
    • [NEW] Convenience .ReturnsNull() extensions in NSubstitute.ReturnsExtensions. Thanks to Michal Wereda for this contribution. (#181)
    • [NEW] CallInfo.ArgAt(int) added to match argument at a given position and cast to the required type. Thanks to @jotabe-net for this contribution. (#175)
    • [NEW] Convenience Throws() extensions in NSubstitute.ExceptionExtensions (sub.MyCall().Throws(ex)). Thanks to Michal Wereda for this contribution. Thanks also to Geir Sagberg for helpful suggestions relating to this feature. (#172)