All Versions
14
Latest Version
Avg Release Cycle
14 days
Latest Release
38 days ago

Changelog History
Page 1

  • v0.10.0

    February 28, 2020

    πŸ’₯ Breaking

    • None

    Experimental

    • None

    ✨ Enhancements

    • πŸ‘Œ Improve handling of members imported from external modules
      Andrew Chang
    • πŸ‘Œ Improve handling of types and constraints inherited from grandparents
      Andrew Chang
    • πŸ‘‰ Use path prefix for CLI binary installation
      Pavel Ivashkov
    • βž• Add MockingbirdCli as a dependency to MockingbirdTests
      Pavel Ivashkov
    • πŸ“œ Parse and handle parenthesized expressions separately from tuples
      Andrew Chang
    • 🀑 Log warning when trying to mock a non-initializable class
      Andrew Chang
    • πŸ‘Œ Improve target module name resolving
      Andrew Chang

    πŸ› Bug Fixes

    • πŸ›  Fix interleaving of log output by manually flushing
      Andrew Chang
    • Rewrite type facade to use execution context approach for improved stability
      Andrew Chang
    • βž• Add support for reserved keyword parameter names by escaping
      Ryan Meisters
    • Match dot files with a wildcard in ignore rules
      Pavel Ivashkov
    • Ignore objc attributes for all generated hooks
      Andrew Chang
  • v0.9.0

    December 03, 2019

    πŸ’₯ Breaking

    • βœ‚ Remove automatic binary installation from pod install prepare_command. Not all environments (e.g. CI) allow modifying /usr/local/bin. Run $ make install-prebuilt as needed to set up your environment.
      Andrew Chang

    Experimental

    • None

    ✨ Enhancements

    • None

    πŸ› Bug Fixes

    • 🀑 Invalidate cached mocked modules when the CLI version changes
      Andrew Chang
    • Gather module names for inherited types
      Alvar Hansen
    • Include declarations in extensions when flattening inherited types
      Andrew Chang
    • πŸ›  Fix matching closures with wildcard argument matchers
      Andrew Chang
  • v0.8.0

    November 01, 2019

    πŸ’₯ Breaking

    • None

    Experimental

    • βž• Add per-module caching of generated mocks to reduce the overhead in reading large Xcode project files
      Andrew Chang

    ✨ Enhancements

    • πŸ‘Œ Improve CLI error messaging (#11)
      Sterling Hackley
    • πŸ‘Œ Improve support for mocking classes conforming to built-in Swift protocols with implicitly required initializers such as Decodable
      Andrew Chang
    • πŸ‘Œ Improve handling of imports and compilation directives within comment blocks and string literals
      Andrew Chang
    • βž• Add loglevel option to the CLI installer to specify a logging level to use when generating mocks
      Andrew Chang

    πŸ› Bug Fixes

  • v0.7.2

    October 24, 2019
  • v0.7.1

    October 22, 2019
  • v0.7.0

    September 23, 2019

    πŸ’₯ Breaking

    • None

    Experimental

    • None

    ✨ Enhancements

    • πŸ‘Œ Add ability to provide supporting source files for mocking references to types defined in external modules
      Andrew Chang
    • πŸ‘Œ Support types, methods, and variables wrapped in conditional compilation blocks
      Andrew Chang
    • Infer .xcodeproj file from current working directory when running installer
      Andrew Chang
    • πŸ‘Œ Support nested Self protocol conformance in generic where clause
      Andrew Chang
    • πŸ‘Œ Support associated types conforming to multiple types
      Andrew Chang
    • πŸ‘Œ Support Xcode 11 and Swift 5.1
      Andrew Chang
    • βœ‚ Remove per-file inlined Synchronized class
      Andrew Chang

    πŸ› Bug Fixes

    • πŸ›  Fix flaky mock generation due to Xcode running build phases in parallel
      Andrew Chang
    • πŸ›  Fix CLI installer not properly uninstalling existing build phases
      Andrew Chang
    • πŸ›  Fix broken tests due to a regression in Swift 5.1 with handling self-referencing generics
      Andrew Chang
    • πŸ›  Fix false positives from variable type inference system
      Andrew Chang
    • πŸ›  Fix type qualification for types nested in extensions
      Andrew Chang
  • v0.6.1

    September 18, 2019

    Patch Notes

    • πŸ›  Fix CocoaPods regression caused by renaming the Podspec from Mockingbird to MockingbirdFramework
      Andrew Chang
    • πŸ›  Fix handling of opaque types with designated initializers
      Andrew Chang
    • πŸ›  Fix automatic conformance of Codable / Encodable / Decodable opaque types
      Andrew Chang
  • v0.6.0

    September 17, 2019

    Notes

    πŸš€ This is a quiet release of Mockingbird to gather initial developer feedback before the full rollout next week.

    πŸ’₯ Breaking

    • πŸ“‡ Rename --src-targets to --targets in the CLI installer for simplicity
      Andrew Chang

    Experimental

    • 🀑 Flag mocked types that inherit unparsed types, such as from the Swift standard library and auto-generate conformance for common Self constrained protocols in the Swift standard library
      Andrew Chang

    ✨ Enhancements

    • βž• Add --verbose and --quiet logging options to CLI
      Andrew Chang
    • βž• Add CI support to the repo using GitHub Actions which builds, installs, and tests the framework and CLI
      Andrew Chang
    • Return an exit status code of 1 when a fatal CLI error occurs
      Andrew Chang
    • ♻️ Refactor mock generation pipeline rendering step for improved semantics and clarity
      Andrew Chang
    • πŸ‘Œ Improve TypeFacade synchronization implementation
      Andrew Chang

    πŸ› Bug Fixes

    • πŸ›  Fix incorrect counting of invocations for overloaded methods
      Andrew Chang
    • πŸ›  Fix incorrect type qualification level for types which could be shadowed by types defined in external modules
      Andrew Chang
    • πŸ›  Fix mocking types that inherit types with non-public initializers defined in external modules
      Andrew Chang
    • πŸ›  Fix inherited associated type protocols and Self constrained protocols that require type qualification
      Andrew Chang
    • πŸ›  Fix conformance-based generic where clauses and type qualification of generic where clauses
      Andrew Chang
    • πŸ›  Fix support for rethrowing methods
      Andrew Chang
    • πŸ›  Fix mocking empty types with conformance or inheritance
      Andrew Chang
    • πŸ›  Fix incorrect de-duplication of inherited members in class mocks
      Andrew Chang
  • v0.5.0

    September 14, 2019

    πŸ’₯ Breaking

    • None

    Experimental

    • None

    ✨ Enhancements

    • βž• Add support for using a .mockingbird-ignore file to exclude sources or source directories from being mocked
      Andrew Chang
    • βœ… Make mockingbird install fully set up a unit test target by accepting explicit source and destination targets, --src-targets and --destination respectively
      Andrew Chang
    • πŸ‘Œ Support os.log signposts for improved instrumentation when using Instruments.app
      Andrew Chang
    • πŸ‘Œ Improve CLI error handling for malformed or missing arguments
      Andrew Chang
    • πŸ‘ Allow binary pinning by not removing prebuilt binary when running make install-prebuilt
      Andrew Chang
    • πŸ‘Œ Improve performance when writing generated mock files with many mocked types
      Andrew Chang
    • πŸ‘Œ Improve performance of running type specialization on types that don’t require specialization
      Andrew Chang
    • βž• Add GitHub report issue template
      Andrew Chang
    • βž• Add instructions on how to link Mockingbird to a unit test target when building from source
      Andrew Chang

    πŸ› Bug Fixes

    • πŸ›  Fix parsing non-open declarations in external modules
      Andrew Chang
  • v0.4.2

    September 10, 2019