Skip to content

Releases: peripheryapp/periphery

2.8.1

01 Aug 19:43
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix comment ignore command for properties with multiple bindings.

2.8.0

23 Jul 14:56
Compare
Choose a tag to compare
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

04 Jul 12:05
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix crash caused by cyclic inherited type references.

2.7.0

29 Jun 08:27
Compare
Choose a tag to compare
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 inherit Encodable.
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 of Encodable conforming types are now also retained like Decodable types.
  • Fix detection of assign-only properties when the getter is shadowed by a parameter with the same name.

2.6.0

08 Jun 11:27
Compare
Choose a tag to compare
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

03 Jun 11:30
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix erroneous results for explicit 'getter' accessors.

2.5.1

02 Jun 14:24
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix an issue where scans with many schemes could breaking loading of the index store.

2.5.0

27 May 17:51
Compare
Choose a tag to compare
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

05 Mar 12:39
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Retain constructors of generic structs that cannot be identified as used due to Swift bug SR-7093.

2.4.2

11 Feb 12:43
Compare
Choose a tag to compare
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.