Skip to content

Releases: peripheryapp/periphery

2.21.1

28 Sep 11:18
af2eb94
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Enums with the @main attribute are now retained.
  • Fixed issue in Swift 6 where declarations that override external type members are incorrectly identified as unused.
  • Unused public/exported imports are excluded from the results even if unused in the declaring file as the exported symbols may be referenced in other files, and thus removing the import would result in a build failure.

3.0.0.beta4

23 Aug 21:12
aa8c80c
Compare
Choose a tag to compare
3.0.0.beta4 Pre-release
Pre-release
Periphery 3.0.0.beta4

3.0.0.beta3

23 Aug 15:59
7e59837
Compare
Choose a tag to compare
3.0.0.beta3 Pre-release
Pre-release
Periphery 3.0.0.beta3

3.0.0.beta2

20 Aug 17:56
9453863
Compare
Choose a tag to compare
3.0.0.beta2 Pre-release
Pre-release
Periphery 3.0.0.beta2

3.0.0.beta1

19 Aug 17:52
0f4d7f8
Compare
Choose a tag to compare
3.0.0.beta1 Pre-release
Pre-release
Periphery 3.0.0.beta1

2.21.0

15 Jun 14:23
3f76904
Compare
Choose a tag to compare
Breaking
  • Removed support for Swift 5.8/Xcode 14.3.
Enhancements
  • Added baseline support. Write a baseline with --write-baseline <file> and use it with --baseline <file>.
Bug Fixes
  • Fix local Swift package support.

2.20.0

29 May 21:54
9e31943
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • Added GitHub Actions output formatter.
Bug Fixes
  • Disable unused import analysis for files retained with --retain-files.
  • Fix handling of Xcode project paths containing spaces.
  • Fix bug causing non-deterministic results for structs with implicit initializers.

2.19.0

20 May 18:32
66019b4
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • Unused import detection is now enabled by default.
  • Added the --retain-encodable-properties option to retain all properties on Encodable types only.
  • Added the --xcode-list-arguments option to pass additional arguments to xcodebuild -list.
  • Added the --skip-schemes-validation option to skip validation of Xcode schemes.
Bug Fixes
  • @State and @Binding properties are now excluded from assign-only property analysis.
  • Unused imports are now detected in files containing no references.

2.18.0

21 Jan 18:49
d5e45e9
Compare
Choose a tag to compare
Breaking
  • The command-line parsing strategy for options that were delimited by a pipe or comma has changed. These options are now parsed as a space delimited list, e.g --option "arg1" "arg2".
  • The option --external-encodable-protocols is deprecated, use --external-codable-protocols instead.
Enhancements
  • Add experimental unused import analysis option --enable-unused-import-analysis.
  • Add experimental automatic code removal option --auto-remove.
  • Assign-only properties on structs with synthesized initializers are now detected.
  • Added the --retain-codable-properties option to retain all properties on Codable types.
  • Results for redundant protocol conformances will now list the inherited protocols that should replace the redundant conformance, if any.
  • Added the --retain-files option to retain all declarations within the given files.
Bug Fixes
  • Subscript functions required by @dynamicMemberLookup are now retained.
  • A newline is no longer printed before non-Xcode formatted results.
  • --external-codable-protocols now retains enums that conform to CodingKey.
  • Fix public accessibility false-positive for actors.
  • Fix public accessibility false-positive for property wrappers.
  • Fix public accessibility false-positive for declarations referenced from a public @inlinable function.
  • Fix public accessibility false-positive for function parameter default values.
  • Fix public accessibility false-positive for inherited and default associated types.
  • Fix public accessibility false-positive for generic types used in the generic argument clause of a return type.
  • Fix public accessibility false-positive for retained/ignored declarations.
  • Fix public accessibility false-positive for enum case parameter types.
  • Fix public accessibility false-positive for properties initialized with generic specialized types.
  • Types associated with assign-only properties are no longer identified as unused until the property is removed.
  • Classes referenced in Info.plist as NSPrincipalClass and WKExtensionDelegateClassName are now retained.

2.17.1

04 Dec 09:12
1a06cd8
Compare
Choose a tag to compare

2.17.1

Breaking
  • None.
Enhancements
  • Add support for indexing plist files via the generic --file-targets-path option.
Bug Fixes
  • None.