Releases: FakeItEasy/FakeItEasy
Releases · FakeItEasy/FakeItEasy
4.7.1
Fixed
- Faked delegates with in parameters don't honor the read-only semantics (#1388)
- Faked types with in parameters don't honor the read-only semantics under .NET Framework (#1390)
- Attempts to assign values to
in
parameters are silently ignored #1391 (#1391)
With special thanks for contributions to this release from:
- Alex Povar - @zvirja
4.7.0
New
- Avoid asking proxy generators to create Fakes that they can't (#1355, #1365)
- Improve Dummy and Fake constructor caching (#1359)
- Change wording when referring to parameterless constructors during failed fake creation (#1373 )
- Allow faking of non-generic types with methods that have
in
parameters (#1338) - Provide better feedback when user-supplied callbacks (call matchers, argument formatters, and the like) throw (#1341, #1385)
Additional Items
- Update supported platforms in README (#1363)
- Use custom rule for Strict fakes (#1368)
- Missing argument validation in
AnyCallConfiguration.WhenArgumentsMatch
(#1370) - Remove unnecessary pragma about obsolete code (#1376)
- Build with Bullseye and SimpleExec (#1375, #1377, #1378, #1381, #1384)
- Inline variable in build script (#1380)
With special thanks for contributions to this release:
- Mertsch - @Mertsch
4.6.0
New
- Resolve Fakes' constructor arguments lazily (#1350)
Fixed
- EqualityArgumentConstraint doesn't use argument value formatters (#1343)
- Protect against exceptions when resolving constructor arguments for Fake/Dummy creation (#1348)
As a side effect, restores the ability to create astring
Dummy under dotnet core 2.1 RC1.
Additional Items
- Stop trying to run coverity builds (#1334)
- Document limitations of working with
ref
returns orin
parameters (#1337) - Remove internal
GenerateProxy
overload that doesn't take attribute list (#1352)
With special thanks for contributions to this release from:
- Ryan Wischkaemper - @ryanwischkaemper
4.5.1
Fixed
RepeatedAssertionAnalyzer
throwsNullReferenceException
when encountering an expression with no type (such asnameof(symbol)
) (#1328)
Additional Items
- Document that delegates can be faked (#1320)
- Fixed typo in documentation for Asserting Calls Made with Mutable Arguments (#1322)
- Remove retired .nuget Solution Items (#1324)
- Stop reporting tests to AppVeyor (#1326)
With special thanks for contributions to this release from:
4.5.0
New
- Code fix provider to convert assertions using the legacy
Repeated
class to the new API (#1297, #1309)
Includes one-click "fix all issues in solution".
Fixed
- CallToSet fails when configuring a setter defined on a base interface (broken in 4.4.0) (#1316)
Additional Items
- [Analyzer] Quelled SA0001 warning (xml comment analysis disabled) (#1308)
- Changed ProGit book link with expired certificate (#1311)
- Found a better way to describe a call than making an
ExpressionCallMatcher
(#684) - Enable code analysis via Microsoft.CodeAnalysis.FxCopAnalyzers (#1144)
- Write call constraint description to writer instead of building string first (#1313)
- Remove unnecessary
Module
class (#1315) - Make
CallConstraintDescriber
static (#1314)
With special thanks for contributions to this release from:
- @Heteroculturalism
- Serhan Tutar - @randomnoise
4.4.0
Changed
New
- Make descriptions of calls to property accessors more consistent (#1299)
- New API for asserting completed calls (#1292, #1300)
Replaces calls that used theRepeated
class, which will be deprecated in version 5.0.0 and removed in 6.0.0.
Here's the new API:A.CallTo(() => fake.Method()).MustHaveHappened() // as today A.CallTo(() => fake.Method()).MustNotHaveHappened() // as today A.CallTo(() => fake.Method()).MustHaveHappenedOnceExactly() A.CallTo(() => fake.Method()).MustHaveHappenedOnceOrMore() A.CallTo(() => fake.Method()).MustHaveHappenedOnceOrLess() A.CallTo(() => fake.Method()).MustHaveHappenedTwiceExactly() A.CallTo(() => fake.Method()).MustHaveHappenedTwiceOrMore() A.CallTo(() => fake.Method()).MustHaveHappenedTwiceOrLess() A.CallTo(() => fake.Method()).MustHaveHappened(3, Times.Exactly) A.CallTo(() => fake.Method()).MustHaveHappened(3, Times.OrMore) A.CallTo(() => fake.Method()).MustHaveHappened(3, Times.OrLess) A.CallTo(() => fake.Method()).MustHaveHappenedANumberOfTimesMatching(n => n %2 == 0)
Fixed
- Inconsistent wording for call count in assertion error messages (#1278)
Raise.FreeForm.With
is not available from VB.Net and our only alternative is deprecated (#1287)
CreatedRaise.FreeForm<TEventHandler>.With
that can be used from Visual Basic- Word "repeated" in assertion failure messages may mislead reader (#1290)
- Call description is wrong when asserting a call to a property setter (#1298)
Additional Items
- Simplify analyzers packaging (#1283)
- Document Raise.FreeForm.With limitation and dependency (#1286)
- Upgrade to StyleCop.Analyzers 1.1.0-beta006 (#1304)
With special thanks for contributions to this release from:
- Jeremy Holovacs - @jholovacs
- Mertsch - @Mertsch
- MrVermond - @MrVermond
4.3.0
Changed
New
WithVoidReturnType
method (#1272)
Fixed
- Updating to 4.2.0 removes the analyzer from the project file (#1263)
Additional Items
- Fix automatic NuGet deployment (#1262)
- Use simple-targets-csx 6.0.0 (#1266)
- Moved
mkdocs.yml
back to root to fix documentation rendering (#1267) - Use favicon in the docs (#1269)
With special thanks for contributions to this release from:
- Brian Surowiec - @xt0rted
- Rohit Agrawal - @rohit21agrawal
4.2.0
New
- Detect wrong argument constraint type at runtime (#1237)
Fixed
- Interface method does not have an implementation exception (#1257)
(Specifically when faking an interface that has an overloaded method where the parameters in each method are a generic type.)
Additional Items
- Unnecessary reference causes compilation error in
prepare_release.csx
(#1242) - Remove requirement for two people to participate in release activities (#1244)
- Fix warning BC40057 in FakeItEasy.IntegrationTests.VB when TargetFramework is netcoreapp1.0 (#1197)
- Upgrade to build with .NET Core SDK 2.0.2 (#1247)
- Unclutter the root directory (#1249)
- Update to simple-targets-csx 5.3.0 (#1252)
- Document ref argument matching (#1123)
- Change "behaviour" to "behavior" throughout docs (#1256)
With special thanks for contributions to this release from:
- Michael Skarum - @skarum
4.1.1
Fixed
- False positive nested constraint exception when using an argument constraint of the wrong type (#1230)
- Complex nested constraint is not detected (#1232)
Additional Items
prepare_release
now creates release issue with proper labels (#1226)
With special thanks for contributions to this release from:
- Przemysław - @progala2
4.1.0
New
- Enhance formatting of received enumerable arguments in "unmatched call" output (#1193)
- Improve consistency of argument value formatting (#1196)
- AssemblyVersion only includes major version, to avoid assembly binding issues (so it's 4.0.0.0 at the time of this release) (#1209)
- Add params array overload for
IsSameSequenceAs
(#1194) - Upgrade to Castle.Core 4.2.0 (#1210)
- [Analyzer] FakeItEasy.Analyzer description points toward C#/VB.NET packages (#1174)
- [Analyzer] new diagnostic (
FakeItEasy0005
) and code fix for argument constraint type mismatch (#1163) - [Analyzer] diagnostic
FakeItEasy0002
is now an error, not a warning (#1203)
Fixed
- Throw error when argument constraint
That
(orIgnored
, or_
) is nested deeper inA.CallTo
, instead of misbehaving (#1177) - [Analyzer] False positive for FakeItEasy0003 (argument constraint not valid outside call specification) when constraint does not compile (#1202)
Additional Items
- Automatically attach artifacts to GitHub release (#1171, #1183)
- Have AppVeyor detect build failure (#1189)
- Migrate VB.NET projects to SDK-style projects (#1185)
- Use Directory.Build.props for common build properties (#1198)
- Use MSBuild binary logger (#1205)
- Have MSBuild build in parallel (#1216)
- Improve WhenArgumentsMatch documentation (#1200)
- Automate portions of release preparation (#1218)
With special thanks for contributions to this release from:
- Tim Lovell-Smith - @TimLovellSmith
- Gavin van der Merwe - @fir3pho3nixx