Releases: peripheryapp/periphery
Releases · peripheryapp/periphery
2.8.1
2.8.0
Breaking
--index-exclude
and--report-exclude
options now accept Bash version 4 glob syntax. Therefore, recursive globs "**" are now supported.
Enhancements
- SwiftUI @(UI/NS)ApplicationDelegateAdaptor wrapped properties and now retained.
- All file types can now be excluded from indexing.
Bug Fixes
- None.
2.7.1
2.7.0
Breaking
- None.
Enhancements
NSEntityMigrationPolicy
subclasses referenced by.xcmappingmodel
are now retained.ValueTransformer
subclasses referenced by.xcdatamodeld
are now retained.- Properties of types directly or indirectly conforming to
Encodable
are now automatically retained. The--external-encodable-protocols
option has been added to instruct Periphery that the specified external protocols also inheritEncodable
.
Bug Fixes
- Fix
--index-exclude
resulting in an error about unindexed files. - Fix an error during guided setup when
xcodebuild
is not setup for command line use. CodingKey
enums ofEncodable
conforming types are now also retained likeDecodable
types.- Fix detection of assign-only properties when the getter is shadowed by a parameter with the same name.
2.6.0
Breaking
- Removed support for Swift <= 5.2.
Enhancements
- Using an index store that does not contain complete data for the requested targets now results in an error.
- The
--index-store-path
option now implies--skip-build
. - Guided setup now omits the
--targets
option from the generated command when 'all' targets are selected for SwiftPM projects. - Add option to guided setup to save the configuration to '.periphery.yml'.
Bug Fixes
- Fix parsing
INFOPLIST_FILE
references containing$(SRCROOT)
.
2.5.2
2.5.1
2.5.0
Breaking
- None.
Enhancements
- Add redundant public accessibility analysis.
- Add arm64 support.
- Add
--retain-assign-only-property-types
option to retain assign-only properties based on their type. - Declarations in an entry point file (e.g main.swift) are no longer blindly retained, even if unused.
- Additional arguments passed to xcodebuild can now override the default set of environment based arguments.
Bug Fixes
- Fix issue where protocol property references could be incorrectly associated with the getter/setter rather than the property itself, leading to erroneous results.
- Fix unused parameter false positive result for identical function signatures at the same location in different files.
2.4.3
2.4.2
Breaking
- None.
Enhancements
- None.
Bug Fixes
- In Swift 5.3 and lower, all optional protocol members are now retained in order to workaround a Swift bug. This bug is resolved in Swift 5.4.
- Cases of public enums are now also retained when using
--retain-public
. - Open method parameters are now also retained when using
--retain-public
. - Empty public protocols that have an implementation in extensions are no longer identified as redundant.
- Foreign protocol method parameters are no longer identified as unused.