Releases: peripheryapp/periphery
Releases · peripheryapp/periphery
3.2.0
Breaking
- The
bazel-outdirectory is no longer automatically excluded from results to allow for the detection of unused code in generated files. Use--report-exclude "**/bazel-out/**/*"to apply the previous behavior.
Enhancements
- Added the
--write-results <file>option. - Added the
github-markdownoutput format. - Added the ability to override the result location and kind with a comment command. This can be used in cases where the unused code exists in a generated source file, but the code to be removed exists in another file.
// periphery:override location="some/dir/en.lproj/Feature.strings:1:1" kind="localized string" var generatedProperty: String = "abc123"
some/dir/en.lproj/Feature.strings:1:1: warning: Localized string 'generatedProperty' is unused
Bug Fixes
- Fix unused import false-positives where the only referenced declaration is generated by a macro.
- Fix building with Bazel on Linux by excluding Xcode support.
- Fix slow baseline filtering for large projects with many results.
- Fix inconsistent unused parameter results when the function is declared in a file that is a member of multiple targets.
- Fix inconsistent results caused by identical extensions declared in different modules.
- Static
@_dynamicReplacementmembers are now retained. - Fix possible concurrent mutation crash when accessing filename matching configuration options.
3.1.0
Breaking
- Assign-only property analysis is disabled with Swift 6.1 due to a Swift bug: swiftlang/swift#80394.
Enhancements
- Comment commands can now be placed inline with declarations:
class Foo { // periphery:ignore ... }
Bug Fixes
- Unused parameter warnings are suppressed in
@available(*, unavailable)functions. - Fix handling of Xcode projects with single and double quotes in their path and scheme names.
@_dynamicReplacementmembers are now retained.- Fix infinite loading of circular Xcode project references.
3.0.3
3.0.2
3.0.1
3.0.0
Breaking
3.0 is a major breaking change and requires some manual migration, please see the 3.0 Migration Guide.
- Support for installing via CocoaPods has been removed.
- Removed support for Swift 5.9/Xcode 15.2.
- Periphery is now available directly from Homebrew, and the
peripheryapp/peripherytap is no longer updated. To migrate run the following:
brew remove periphery
brew untap peripheryapp/periphery
brew update
brew install periphery
Enhancements
- Added support for Swift Testing.
Bug Fixes
- Fix numerous issues where generated code could not be scanned.
- Fix support for Xcode's new folder format.
- Fix cloning private Swift package repositories.
3.0.0.beta9
Periphery 3.0.0.beta9
3.0.0.beta8
Periphery 3.0.0.beta8
3.0.0.beta7
Periphery 3.0.0.beta7
3.0.0.beta6
Periphery 3.0.0.beta6