Periphery Versions Save

A tool to identify unused code in Swift projects.

2.8.5

2 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix a crash while indexing.

2.8.4

2 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix false positive when protocols requirements are satisfied in another file from the one that declares the conformance.
  • Fix redundant public accessibility analysis of enum associated value types.
  • Fix redundant public accessibility analysis of aliased types.
  • Comment commands can now retain redundant protocols.
  • Fix excluding paths that contain relative components, e.g --report-exclude "../file.swift".

2.8.3

2 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix false positive when a class inherits a class with the same name from another module.
  • Retain parameters on protocol function members implemented by an external type.
  • Unused function parameters on unimplemented protocol function members are now retained, as the function may still be referenced from an existential type.
  • Fix incorrect redundant public accessibility on a public superclass when a subclass is used in another module.
  • Result Builder static methods are now retained.
  • Assign-only properties that are assigned multiple times in the same method are now correctly identified as assign-only.
  • Fix issue where properties with identical names at different scopes could cause inconsistent results from assign-only property analysis.

2.8.2

2 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • The DEVELOPER_DIR environment variable is now respected.
  • Updated XcodeProj dependency resolves building with Xcode 13.

2.8.1

2 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix comment ignore command for properties with multiple bindings.

2.8.0

2 years ago
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 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix crash caused by cyclic inherited type references.

2.7.0

2 years ago
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

2 years ago
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 years ago
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix erroneous results for explicit 'getter' accessors.