Skip to content

2.3.0

Compare
Choose a tag to compare
@ileitch ileitch released this 05 Dec 14:00
· 476 commits to master since this release
Breaking
  • JSON and CSV output formats have changed to reflect the fact that declarations can have multiple IDs if they're members of multiple build targets.
  • Declarations accessible by the Objective-C runtime are no longer retained by default. The --no-retain-objc-annotated option has been removed, and --retain-objc-accessible added.
Enhancements
  • Protocols that are never used as an existential type are now explicitly identified as redundant rather than simply unused, which could be confusing.
  • Add --clean-build flag to clean build artifacts before the build step.
  • Add support for files that are members of multiple build targets. Such files no longer produce erroneous results.
Bug Fixes
  • Protocol members whose implementation is provided by an external type, yet aren't referenced via a value type are now identified as unused.
  • @IBInspectable properties are now retained.
  • Declarations ignored with a '// periphery:ignore' comment now also retain their references to other declarations.
  • Fix running Periphery from within Xcode where Xcode's environment variables could cause build failures or incorrect results.
  • Fix an issue where a protocol could incorrectly retain references to methods in an unused conforming declaration.