All Versions
Latest Version
Avg Release Cycle
29 days
Latest Release

Changelog History
Page 8

  • v0.13.2 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • TrailingCommaRule now only triggers when a declaration is multi-line when using mandatory_comma: true.
      Marcelo Fabri #910 #911
    πŸ› Bug Fixes
    • πŸ›  Fix MarkRule reporting a violation for // MARK: -, which is valid.
      JP Simard #778
  • v0.13.1 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • βž• Add ImplicitGetterRule to warn against using get on computed read-only properties.
      Marcelo Fabri #57

    • βž• Add WeakDelegateRule rule to enforce delegate instance variables to be marked as weak.
      Olivier Halligon

    • βž• Add SyntacticSugar rule that enforces that shorthanded syntax should be used when possible, for example [Int] instead of Array<Int>.
      Marcelo Fabri #319

    • πŸ‘ Allow specifying multiple rule identifiers in comment commands. For example, // swiftlint:disable:next force_cast force_try. Works with all command types (disable/enable) and modifiers (next, this, previous or blank).
      JP Simard #861

    • βž• Add NimbleOperatorRule opt-in rule that enforces using operator overloads instead of free matcher functions when using Nimble.
      Marcelo Fabri #881

    • closure_spacing rule now accepts empty bodies with a space.
      Marcelo Fabri #875

    • βž• Add TrailingCommaRule to enforce/forbid trailing commas in arrays and dictionaries. The default is to forbid them, but this can be changed with the mandatory_comma configuration.
      Marcelo Fabri #883

    • βž• Add support for fileprivate in PrivateOutletRule and PrivateUnitTestRule.
      Marcelo Fabri #781 #831

    • πŸ‘‰ Make MarkRule correctable.

    πŸ› Bug Fixes
    • Rule out a few invalid @IBInspectable cases in valid_ibinspectable.
      Daniel Duan

    • πŸ›  Fix a few edge cases where malformed MARK: comments wouldn't trigger a violation.
      JP Simard #805

    • πŸ‘• Now lints single files passed to --path even if this file is excluded from the configuration file (.swiftlint.yml).
      JP Simard

    • πŸ›  Fixed error severity configuration in colon rule.
      Marcelo Fabri #863

    • switch_case_on_newline rule should ignore trailing comments.
      Marcelo Fabri #874

    • switch_case_on_newline rule shouldn't trigger on enums.
      Marcelo Fabri #878

    • πŸ›  Fix regex bug in Comma Rule causing some violations to not be triggered when there were consecutive violations in the same expression.
      Savio Figueiredo #872

  • v0.13.0 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • πŸ”§ Add ignores_comment configuration for trailing_whitespace rule.
      Javier HernΓ‘ndez #576

    • βž• Added HTML reporter, identifier is html.
      Johnykutty Mathew

    • βž• Add SuperCallRule opt-in rule that warns about methods not calling to super.
      Angel G. Olloqui #803

    • βž• Add RedundantNilCoalesingRule opt-in rule that warns against ?? nil.
      Daniel Beard #764

    • βž• Added opt-in rule to makes closure expressions spacing consistent.
      J. Cheyo Jimenez #770

    • Adds allow_private_set configuration for the private_outlet rule.
      Rohan Dhaimade

    • πŸ‘ Swift 2.3 support.
      Norio Nomura, Syo Ikeda

    • Color literals count as single characters to avoid unintentional line length violations.
      Jonas #742

    • βž• Add SwitchCaseOnNewlineRule opt-in rule that enforces a newline after case pattern: in a switch.
      Marcelo Fabri #681

    • βž• Add ValidIBInspectableRule rule that checks if @IBInspectable declarations are valid. An @IBInspectable is valid if:

      • It's declared as a var (not let)
      • Its type is explicit (not inferred)
      • Its type is one of the supported types

    Marcelo Fabri #756

    • βž• Add ExplicitInitRule opt-in rule to discourage calling init directly.
      Matt Taube #715
    πŸ› Bug Fixes
    • πŸ›  Fixed whitespace being added to TODO messages.
      W. Bagdon #792

    • πŸ›  Fixed regex bug in Vertical Whitespace Rule by using SourceKitten instead. The rule now enabled by default again (no longer opt-in).
      J. Cheyo Jimenez #772

    • Correctable rules no longer apply corrections if the rule is locally disabled.
      J. Cheyo Jimenez

    • πŸ›  Fixed regex bug in Mark Rule where MARK could not be used with only a hyphen but no descriptive text: // MARK: -.
      Ruotger Deecke #778

    • πŸ›  Fixed: Private unit test rule not scoped to test classes.
      Fixed: Private unit test rule config is ignored if regex is missing.
      Cristian Filipov #786

    • πŸ›  Fixed: ConditionalReturnsOnNewline now respects severity configuration.
      Rohan Dhaimade #783

    • πŸ›  Fixed: ConditionalReturnsOnNewline now checks if return is a keyword, avoiding false positives.
      Marcelo Fabri #784

    • ForceUnwrappingRule did not recognize force unwraps in return statements using subscript.
      Norio Nomura #813

  • v0.12.0 Changes

    πŸ’₯ Breaking
    • πŸ›  Fixed: SwiftLint assumes paths in the YAML config file are relative to the current directory even when --path is passed as an argument.
      Cristian Filipov
    ✨ Enhancements
    • βž• Add --enable-all-rules CLI option to lint command to facilitate running all rules, even opt-in and disabled ones, ignoring whitelist_rules.
      JP Simard #1170
    πŸ› Bug Fixes
    • 🐎 Made Vertical Whitespace Rule added in 0.11.2 opt-in due to performance issues.
      JP Simard #772
  • v0.11.2 Changes

    πŸš€ This release has seen a phenomenal uptake in community contributions!

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • βž• Add MarkRule rule to enforce // MARK syntax.
      Krzysztof Rodak #749

    • βž• Add PrivateOutletRule opt-in rule to enforce @IBOutlet instance variables to be private.
      Olivier Halligon

    • βž• Add content of the todo statement to message.
      J. Cheyo Jimenez #478

    • βž• Add LegacyNSGeometryFunctionsRule rule. Add NSSize, NSPoint, and NSRect constants and constructors to existing rules.
      David RΓΆnnqvist

    • βž• Added Vertical Whitespace Rule.
      J. Cheyo Jimenez #548

    • βœ‚ Removed ConditionalBindingCascadeRule.
      J. Cheyo Jimenez #701

    • Allow setting flexible_right_spacing configuration for the colon rule.
      Shai Mishali #730

    • βž• Add Junit reporter.
      Matthew Ellis

    • LeadingWhitespaceRule is now auto correctable.

    • βž• Add included regex for custom rules to control what files are processed.
      bootstraponline #689

    • βž• Add rule to check for private unit tests (private unit tests don't get run by XCTest).
      Cristian Filipov

    • βž• Add configuration for setting a warning threshold.
      woodhamgh 696

    • βž• Adds 'ConditionalReturnsOnNewLineRule' rule.
      Rohan Dhaimade

    • Made - returns: doc optional for initializers.
      Mohpor #557

    πŸ› Bug Fixes
  • v0.11.1 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • πŸ”§ Added statement_mode configuration to the statement_position rule. The
      default mode keeps the current SwiftLint behavior of keeping else and catch statements on the same line as the closing brace before them. The uncuddled_elseconfiguration requires the else and catch to be on a new line with the same leading whitespace as the brace.
      Mike Skiba #651
    πŸ› Bug Fixes
    • βœ‚ Remove extraneous argument label added in LegacyCGGeometryFunctionsRule autocorrect.
      Sarr Blaise 643
  • v0.11.0 Changes

    πŸ’₯ Breaking
    • Now type_name allows lowercase enum values to match the Swift API Design Guidelines.
      Jorge Bernal #654

    • πŸ‘• Embedding frameworks needed by swiftlint was moved from SwiftLintFramework Xcode target to the swiftlint target. The SwiftLintFramework.framework product built by the SwiftLintFramework target no longer contains unnecessary frameworks or multiple copies of the Swift libraries.
      Norio Nomura

    ✨ Enhancements
    • βž• Add --format option to autocorrect command which re-indents Swift files much like pasting into Xcode would. This option isn't currently configurable, but that can change if users request it.
      JP Simard

    • πŸ‘Œ Improve error messages for invalid configuration files.
      Brian Hardy

    • Added the user-configurable option ignores_empty_lines to the trailing_whitespace rule. It can be used to control whether the TrailingWhitespaceRule should report and correct whitespace-indented empty lines. Defaults to false. Added unit tests.
      Reimar Twelker

    πŸ› Bug Fixes
    • πŸ›  Fix false positive in conditional binding cascade violation.
      Norio Nomura #642

    • Another conditional binding fix, this time for enum that has two parameters or an if statement with two case tests.
      Andrew Rahn #667

    • πŸ›  Fix regression in CommaRule ignoring violations when the comma is followed by a comment.
      Norio Nomura #683

  • v0.10.0 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • Now libclang.dylib and sourcekitd.framework are dynamically loaded at runtime by SourceKittenFramework to use the versions included in the Xcode version specified by xcode-select -p or custom toolchains.
      Norio Nomura #167

    • βž• Add LegacyCGGeometryFunctionsRule rule.
      Sarr Blaise #625

    • πŸ‘• SwiftLint no longer crashes when SourceKitService crashes.
      Norio Nomura

    • Rewrite conditional_binding_cascade rule.
      Norio Nomura #617

    • βž• Add autocorrect for ReturnArrowWhitespaceRule.
      Craig Siemens

    πŸ› Bug Fixes
    • πŸ‘• Failed to launch swiftlint when was placed at non standard path.
      Norio Nomura #593

    • ClosingBraceRule no longer triggers across line breaks.
      Josh Friend #592

    • LegacyConstantRule and LegacyConstructorRule failed to autocorrect.
      Norio Nomura #623

  • v0.9.2 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • Return different exit codes to distinguish between types of errors:

      • 0: No errors, maybe warnings in non-strict mode
      • 1: Usage or system error
      • 2: Style violations of severity "Error"
      • 3: No style violations of severity "Error", but violations of severity "warning" with --strict
        JP Simard #166
    • VariableNameRule now accepts symbols starting with more than one uppercase letter to allow for names like XMLString or MIMEType.
      Erik Aigner #566

    πŸ› Bug Fixes
  • v0.9.1 Changes

    πŸ’₯ Breaking
    • None.
    ✨ Enhancements
    • None.
    πŸ› Bug Fixes