Skip to content

Latest commit

 

History

History
172 lines (138 loc) · 6.95 KB

CHANGELOG.md

File metadata and controls

172 lines (138 loc) · 6.95 KB

Changelog

1.4.1

  • Sidestep SourceKit's off-by-one bug when parsing generic parameter inheritance.
  • Fix incorrect where clause parsing.

1.4.0

  • Add tvOS targets and schemes.
  • Integrate tuist, fixing Carthage issues.
  • Fix type equality check to rule out whitespace inconsistencies.

1.3.2

  • Fix image not found error for iOS 13 and beyond.

1.3.1

  • Swift Package Manager support
  • Added tvOS target (thanks @rodrigoff).
  • Fixed accessibility to match enclosing container.
  • Restructured README.

1.3.0

  • Fix closure generation where explicit return type is required in withoutActuallyEscaping since swift 5.1 (XCode 11)
  • Switch swift_version to 5.0 for Cocoapods

1.2.0

Features

  • Objective-C mocking! Mock system classes/protocols as well as dynamic Swift classes. This is an optional subspec Cuckoo/OCMock.
  • Convenience matchers for sequences and dictionaries. No need to use equal(to:) anymore, passing the Array/Set/Dictionary itself is enough from now on!

1.1.1

  • Fix property, initializer, and function accessibility in public protocols.

1.1.0

Features:

  • Add a simple type guesser based on assigned value.

Fixes:

  • Fix accessibility problems.

1.0.6

  • Fix a bug where adding a private name to a function made it generate twice and fail the compilation.

1.0.5

  • Fix generic protocol generation and type erasure with multiple methods of same name.
  • Fix a bug concerning empty public name methods with no private ones.
  • Exit run script with error if it fails to get generator download URL.

1.0.4

  • The run script doesn't use realpath command anymore because it's not available by default on Mac OS.
  • Remove redundant stubbing of optional classes.

1.0.3

  • Add support for optional read-only properties.

1.0.2

  • Fix where clause that doesn't work in Swift 4.
  • Fix some run script bugs.

1.0.1

  • Fix any() not working anymore by itself with optional parameters in functions.

1.0.0

Features:

  • Generics is now fully supported! This includes generic classes, protocols and methods.
  • Dictionary matching out of the box.
  • Better closure matching. Now allowing up to 7 parameter closures.
  • rethrows functions now work properly.
  • Allow non-optional values to be passed as matchers for Optionals just like in normal Swift code.
  • Add support for inout method parameters.

Fixes:

  • Update the build_generator script to work with Swift 5.
  • Fix not being able to put Optional into functions accepting Optionals.
  • Accessibility of variables and functions in public classes are now public as well.

0.13.0

  • Updated for Xcode 10.2 and Swift 5.

0.12.1

  • Add class accessibility support.
  • Add support for attributes (e.g. @available).
  • Add support for subimport (e.g. import struct UICat.Food).
  • Add --clean option to the run script to always build or download the generator (promptly forget to add its documentation to README.md).
  • Ignore final classes (because we mock by inheritance).
  • Smaller fixes and improvements in the whole project.

0.12.0

  • Add first draft of a new Mock initialization DSL.
  • Add enableDefaultImplementation to protocol Mock.
  • Reintroduce support for pre-0.11.0 Cuckoo spies.
  • Add regular expression class and protocol matching.
  • Add glob switch that parses input paths as globs enabling for easier project scaling.
  • Build generator by default. Download using --download [VERSION] option.
  • Modify the run bash script to allow the user to build rather than download the cuckoo_generator.
  • Add a debug flag that generates general info above methods when used.
  • Fix escaping closure (crashing in Xcode 10).

0.11.0

  • Added contribution guide.
  • BREAKING CHANGE: Spies were reworked. They now use superclasses as their victims if enabled. Please see the Readme for more information.
  • BREAKING CHANGE: Verification of properties' get is now a method you have to call, instead of a property. This change was made to remove the "unused result" warning. bug #141

0.10.2

  • Double the maximum parameters in call and callThrows methods. bug #145
  • Make the generator deterministic by sorting input files.
  • Add equalTo for Array and Set where Element is Equatable.

0.10.1

  • Fixed some errors with getters bug #151

0.10.0

  • Updated for Swift 4 (Xcode 9 GM)

0.9.2

  • Fixed crash when source files were using non-ASCII characters - bug #126
  • Added --exclude parameter to explicitly exclude some types from mocking - PR #112 - (thanks to nxtstep for the feature)
  • Fixed compile errors when generating stubs where inner types were returned - bug #118
  • Added possibility to reset multiple mocks with different types at once - but #103

0.9.1

  • Fixed "too complex to resolve in reasonable time" error in generator
  • Fixed directory names for case sensitive file systems - PR #114 - (thanks to sundance2000 for the fix)
  • Moved repository from SwiftKit to Brightify organization on GitHub.

0.9.0

  • Rewritten Generator to use Stencil
  • Use Swift PM for generator binary (results in faster builds)
  • This release works with Swift 3.1

0.8.4

  • Added support for inheritance mocking.

0.8.3

  • Added support for fileprivate (thanks to lvdstam for implementation).
  • Added support for default values (thanks to lvdstam for implementation).
  • Fixed wrongly generated code where public class had internal members.

0.8.2

  • Show error in generator in build log.
  • Fixed crash of generator when instance variable type is not explicitly set.
  • Fixed support of closures and unwrapped optionals.

0.8.1

  • Set "Reflection Metadata" to "None" to fix #72

0.8.0

  • Support for Swift 3
  • Added --no-class-mocking parameter to generator
  • Added Stub objects

0.7.0

  • Updated documentation
  • Added more automated tests
  • Added --file-prefix parameter to generator
  • and and or methods can now be used with Matchable (literals)
  • Using of custom Matchable, ParameterMatcher and CallMatcher is now easier
  • Improved fail messages
  • Merged generator and runtime repositories, making updating easier.
  • Added support for named arguments in methods.
  • Added support for classes with custom initializers.
  • Changed usage of spies. Instead of init(spyOn:) use init().spy(on:).

0.6.0

  • Added release notes
  • Added stub resetting
  • Added thenCallRealImplementation
  • Added argument capturing
  • Added verifyNoMoreInteractions
  • Added on going stubbing
  • Added thenDoNothing