Release Notes

0.10.0


Breaking

  • None.

Enhancements

  • Added support for Xcode 10.
  • Warn about source files that are members of multiple targets.
  • Diagnosis console now lists active references as their source location.

Bug Fixes

  • Fixed issue where error messages would not be printed before Periphery exits.

0.9.0


Breaking

  • None.

Enhancements

  • Added guided setup flow.

Bug Fixes

  • None.

0.8.1


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Handle explicitly defined PRODUCT_MODULE_NAME.

0.8.0


Breaking

  • None.

Enhancements

  • Added support for Xcode's new build system.
  • Added support for analyzing XCTest targets.
  • Added interactive diagnosis console, enabled with the --diagnose option.
  • Licenses can now be activated using --email and --key options instead of entering them interactively.

Bug Fixes

  • Improve parsing of xcodebuild -list output.
  • Type aliases that define an associated type are now identified as used.

0.7.3


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Workaround issue with xcodebuild using non-UTF8 encoding.

0.7.2


Breaking

  • None.

Enhancements

  • Enable analysis of CocoaPod targets.

Bug Fixes

  • None.

0.7.1


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Improve scheme identification for older workspaces.
  • Fix handling of source files containing single quotes.
  • Fix handling of paths to swiftc that contain hyphens e.g Xcode-9.3.app.

0.7.0


Breaking

  • None.

Enhancements

  • Disabled code signing as it's not necessary and can cause build failures.
  • Schemes are no longer required to be marked as shared in order to be discovered.

Bug Fixes

  • Fixed discovery of xibs/storyboards that reside within a Base.jproj.
  • Fix retention of protocol declarations with a default implementation within an extension.

0.6.2


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Correctly handle projects containing spaces their PRODUCT_NAME.
  • Add support for missing declaration kinds.

0.6.1


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Improve xcodebuild swiftc argument parsing such that CoreData generated model file arguments are retained.
  • Improved invalid scheme error message.

0.6.0


Breaking

  • None.

Enhancements

  • Added trial mode.

Bug Fixes

  • None.

0.5.0


Breaking

  • The --retain-all-enum-cases option has been removed. Unused cases of enums that are not raw representable are always identified. Unused cases of raw representable enums are now implicitly used since their use may be completely dynamic. --aggressive mode disables this implicit behavior.
  • The --retain-objc-annotated option is now enabled by default.

Enhancements

  • Xcode format output is colored to improve readability.

Bug Fixes

  • CodingKey enums are now correctly identified as used if the enclosing class or struct conforms to Decodable.

0.4.0


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Fix retention of declarations marked @IBOutlet or @IBAction.

0.3.0


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Fix issue parsing Xcode projects that contained groups without an associated physical directory.

0.2.0


Breaking

  • None.

Enhancements

  • None.

Bug Fixes

  • Added --project option for use with projects that do not have an .xcworkspace.

0.1.0


  • Initial release.