v0.7.0
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
, orprivate
). - For
private
protocols, the spies are generated withfileprivate
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 explicitfileprivate
access.
- Example:
- 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. 😊