Skip to content

v0.7.0

Compare
Choose a tag to compare
@Matejkob Matejkob released this 03 Dec 21:13
· 4 commits to main since this release
c81a4c3

Changelog for v0.7.0

🚀 What's New

This release introduces access level inheritance and customization, a highly anticipated feature that significantly enhances the flexibility and usability of swift-spyable. Alongside access level improvements, we've added support for Swift 6.0, fixed critical bugs, and improved CI workflows and documentation.

🌟 Key Features

Access Level Inheritance

  • Generated spies now automatically inherit the access level of their annotated protocols (public, internal, fileprivate, or private).
  • For private protocols, the spies are generated with fileprivate access to comply with Swift's access control rules.

Custom Access Level Overrides

  • Introduced the accessLevel argument in the @Spyable macro to allow overriding the inherited access level on a per-spy basis.
    • Example: @Spyable(accessLevel: .fileprivate) generates spies with explicit fileprivate access.
  • Supported values: .public, .package, .internal, .fileprivate, and .private.

🛠 Other Changes and Fixes

  • Support for Generic Functions (#71): Resolved issues with generating spies for protocols containing generic functions. Big thank you to @dafurman! ♥️
  • Swift 6.0 Support: Ensured compatibility with Swift 6.0.

Full Changelog: [Compare v0.6.1...v0.7.0](0.6.1...0.7.0)


Thank you for using swift-spyable! As always, feel free to open issues or contribute to the project to help it grow. 😊