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.