github peripheryapp/periphery 3.2.0

2 months ago
Breaking
  • The bazel-out directory 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-markdown output 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 @_dynamicReplacement members are now retained.
  • Fix possible concurrent mutation crash when accessing filename matching configuration options.

Don't miss a new periphery release

NewReleases is sending notifications on new releases.