@jpsim jpsim released this Apr 8, 2018 · 413 commits to master since this release

Assets 5

This is the last release to support building with Swift 3.2 and Swift 3.3.
The next release will require Swift 4.0 or higher to build.


  • None.


  • Add LowerACLThanParent rule.
    Keith Smiley

  • Add UIOffsetMake to legacy_constructor rule.
    Nealon Young

  • Add a new excluded config parameter to the explicit_type_interface rule
    to exempt certain types of variables from the rule.
    Rounak Jain

  • Add empty_string opt-in rule to validate against comparing strings to ""
    instead of using .isEmpty.
    Davide Sibilio

  • Add untyped_error_in_catch opt-in rule to warn against declaring errors
    without an explicit type in catch statements instead of using the implicit
    error variable.
    Daniel Metzing

  • Add all keyword for use in disable / enable statement:
    // swiftlint:disable all.
    It allows disabling SwiftLint entirely, in-code, for a particular section.

  • Adds --force-exclude option to lint and autocorrect commands, which will
    force SwiftLint to exclude files specified in the config excluded even if
    they are explicitly specified with --path.
    Ash Furrow

  • Adds discouraged_optional_collection opt-in rule to encourage the use of
    empty collections instead of optional collections.
    Ornithologist Coder

  • Add 4.1.0, 4.1.1 and 4.2.0 to Swift version detection.
    Norio Nomura

  • Support building with Swift 4.1.
    Norio Nomura

Bug Fixes

  • Fixes an issue with the yoda_condition rule where the severity would always
    display as a warning, and the reason would display as the severity type.

  • Fix TODOs lint message to state that TODOs should be resolved instead of
    Adonis Peralta

  • Fix some cases where colon rule wouldn't autocorrect dictionary literals.
    Marcelo Fabri

  • Fix linux crash on sources with surrogate pair emojis as variable names.
    Cyril Lashkevich

  • Make legacy_constructor rule more reliable, especially for autocorrecting.
    Marcelo Fabri

  • Fix colon rule autocorrect when preprocessor macros are present.
    Marcelo Fabri

  • Fix crash when saving cache if there're entries referring to the same path
    but with different capitalization.
    Marcelo Fabri

  • Fix several rules (empty_enum_arguments, explicit_init
    empty_parentheses_with_trailing_closure, joined_default_parameter,
    redundant_optional_initialization, redundant_void_return and
    unused_closure_parameter) rules autocorrection inside functions or other
    Marcelo Fabri

  • Fix redundant_void_return rule autocorrect when preprocessor macros are
    John Szumski

  • Fix issue where the autocorrect done message used the plural form of "files"
    even if only 1 file changed.
    John Szumski

  • Fix false positives in attributes rule when using Swift 4.1.
    Marcelo Fabri