Releases: peripheryapp/periphery
Releases · peripheryapp/periphery
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
Breaking
- None.
Enhancements
- Added support for Bazel 9.x.
Bug Fixes
- Fix false positive redundant public accessibility for types used in typed throws clauses, e.g.
throws(MyError). - Fix false positive superfluous ignore comment results for assign-only properties.
- Fix incorrect generic protocol extension handling in Swift 6.2.4.
3.6.0
Breaking
- The minimum supported Swift version is now 6.1.2.
Enhancements
- Added the
--bazel-check-visibilityto disable passing--check_visibility=falsetobazel run.
Bug Fixes
- Fix some causes of potentially non-deterministic results.
- Fix incorrect superfluous ignore comment results for protocol members.
3.5.1
Breaking
- None.
Enhancements
- None.
Bug Fixes
- Fix false positive redundant public accessibility for types used in same-type generic requirements on extensions, e.g.
extension SomeProtocol where Self == MyType. - Exclude declarations ignored by a file-level
// periphery:ignore:allcomment from superfluous ignore comment detection. - Superfluous ignore comment results are now included in baselines.
3.5.0
Breaking
- The
--no-coloroption has been replaced with--color=never.
Enhancements
- The
--coloroption now accepts one ofauto,alwaysandnever. Inautomode, color is disabled for dumb terminals and non-TTYs. - Added detection of superfluous
// periphery:ignorecomments. A result is now reported when an ignore comment is unnecessary because the declaration is actually used. Can be disabled with--no-superfluous-ignore-comments. - More unused code is now reported in a single scan, rather than requiring repeated remove-and-rescan cycles.
Bug Fixes
- Fix IBAction methods with named parameters or no parameters incorrectly marked as unused.
- Fix
--retain-swift-ui-previewsfor the#Previewmacro.
3.4.0
Breaking
- None.
Enhancements
- Added the
--no-color/--coloroption to disable/enable colored output. - Added the
--no-retain-spioption to not retain the given SPI (System Programming Interface) attributed members when using--retain-public. - Exclude wrapped properties from assign-only analysis, as Periphery cannot observe the behavior of the property wrapper.
- Improved the readability of result messages.
- Improved Interface Builder file parsing to detect unused
@IBOutlet,@IBAction,@IBInspectable, and@IBSegueActionmembers. Previously, all@IB*members were blindly retained if their containing class was referenced in a XIB or storyboard.
Bug Fixes
- Fix redundant public accessibility false positive for types referenced via static members in property initializers.
- Fix inline ignore comment not working on properties.
- Fix false positive when a constrained protocol extension provides a default implementation that satisfies a requirement of the constraining protocol.
- Fix indexing of xib/storyboard files in SPM projects.
- Fix types conforming to App Intents protocols being reported as unused.
- Fix superclass initializer reported as unused when called on subclass.
- Fix unused parameter false-positive for parameters used in closure capture lists.
- Fix sorting of results with a location override.
3.3.0
Breaking
- None.
Enhancements
- Added the
--retain-unused-imported-modulesoption. - Added the
--format gitlab-codemagicformatting option for GitLabs Code Quality artifact reports - Added the
--bazel-index-storeoption to specify the path of a global index store.
Bug Fixes
- Fix concurrent mutation crash.
- Fix unused import false-positive for when a declaration's associated types are declared in different module than module that declares the declaration.
- Fix unused import false-positive for modules that export unindexed modules.
- Exclude conditionally imported modules from unused import detection, as they may provide symbols for code that was not compiled.
- Fix
--retain-assign-only-property-typesfor properties with trailing comments. - Fix unused parameter analysis for parameters with name enclosed by backticks.
- Fix indexing of Xcode resources (storyboards, etc.) in projects using file system folders.
- Fix infinite loop loading Xcode projects with circular references.