All Versions
99
Latest Version
Avg Release Cycle
29 days
Latest Release
-

Changelog History
Page 5

  • v0.30.0 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • None.
    โœจ Enhancements
    • โž• Add duplicate_imports rule to prevent importing the same module twice.
      Samuel Susla #1881

    • Add unused_setter_value rule to validate that setter arguments are used in properties.
      Marcelo Fabri #1136

    • Add only_single_muted_parameter configuration on trailing_closure rule to only enforce using trailing closure on functions that take one single muted parameter.
      Marcelo Fabri

    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix false positives on identical_operands rule when the right side of the operand has a chained optional.
      JP Simard #2564
  • v0.29.4 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • ๐Ÿ›  Fix unused_import correction deleting unrelated ranges when there are multiple violations in a single file.
      JP Simard #2561
    โœจ Enhancements
    • โž• Add strong_iboutlet opt-in rule to enforce that @IBOutlets are not declared as weak.
      Marcelo Fabri #2433
    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix inaccessible custom rules in nested configurations.
      Timofey Solonin #1815 #2441

    • Improve superfluous_disable_command to warn against disabling non-existent rules.
      Kim de Vos #2348

    • ๐Ÿ›  Fix false positives on identical_operands rule when the right side of the operand does not terminate.
      Xavier Lowmiller #2467

  • v0.29.3 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • Skip @IBInspectable and deinit declarations in unused_private_declaration.
      JP Simard
    โœจ Enhancements
    • Allow configuring discouraged_object_literal rule to only discourage one kind of object literal.
      Marcelo Fabri #2439

    • Adds xct_specific_matcher opt-in rule to enforce specific matchers over XCTAssertEqual and XCTAssertNotEqual.
      Ornithologist Coder #1874

    • โž• Add last_where opt-in rule that warns against using .filter { /* ... */ }.last in collections, as .last(where: { /* ... */ }) is more efficient.
      Marcelo Fabri

    • Add unused_control_flow_label rule to validate that control flow labels are used.
      Marcelo Fabri #2227

    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix false positives on first_where rule when calling filter without a closure parameter (for example on a Realm collection).
      Marcelo Fabri

    • Fix false positives on sorted_first_last rule when calling sorted with a different argument than by: (e.g. on a Realm collection).
      Marcelo Fabri #2533

    • Fix false positives on redundant_objc_attribute rule when using nested types.
      Marcelo Fabri #2539

    • Fix false positives on vertical_whitespace_between_cases rule when a blank line is present but it contains trailing whitespace.
      Ben Staveley-Taylor #2538

  • v0.29.2 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • None.
    โœจ Enhancements
    • Add new opt-in rule vertical_whitespace_opening_braces to warn against empty lines after opening braces.
      Cihat Gรผndรผz #1518

    • Add new opt-in rule vertical_whitespace_closing_braces to warn against empty lines before closing braces.
      Cihat Gรผndรผz #1518

    • Improve performance for unused_private_declaration and unused_import rules for large files.
      Niil ร–hlin

    • โž• Add new legacy_hashing rule to encourage the use of Swift 4.2's new hashing interface.
      Kim de Vos #2108

    • Improve private_unit_test rule to allow private classes with @objc attribute.
      Kim de Vos #2282

    • ๐Ÿ‘Œ Support glob patterns without the star.
      Maksym Grebenets

    • ๐Ÿ‘‰ Make modifier_order rule autocorrectable.
      Timofey Solonin #2353

    ๐Ÿ› Bug Fixes
    • Fix false positives in redundant_objc_attribute for private declarations under @objcMembers.
      Daniel Metzing #2499

    • ๐Ÿ›  Fix an error when pulling SwiftLint as a dependency using Carthage.
      JP Simard

    • ๐Ÿ‘• Non-string values specified in swiftlint_version now fail the lint if it doesn't match the version.
      JP Simard #2518

  • v0.29.1 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • None.
    โœจ Enhancements
    • Add redundant_objc_attribute to warn against already implied @objc attribute.
      Daniel Metzing #2193

    • Add vertical_whitespace_between_cases opt-in rule to enforce a single empty line between switch cases.
      Cihat Gรผndรผz #1517

    • Add multiline_arguments_brackets opt-in rule to warn against multiline function call arguments with surrounding brackets without newline.
      Cihat Gรผndรผz #2306

    • Add multiline_literal_brackets opt-in rule to warn against multiline literal arrays & dictionaries with surrounding brackets without newline.
      Cihat Gรผndรผz #2306

    • Add multiline_parameters_brackets opt-in rule to warn against multiline function definition parameters with surrounding brackets without newline.
      Cihat Gรผndรผz #2306

    • Ignore unspecified modifiers in modifier_order.
      Timofey Solonin #2435

    • ๐Ÿ‘• The lint command now exits with a code of 2 when not using pinned version defined as swiftlint_version in the configuration file.
      Kim de Vos #2074

    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix false positive in nimble_operator rule.
      Marcelo Fabri #2489

    • Fix false positives on explicit_type_interface rule when configured with option allowRedundancy set to true.
      Cihat Gรผndรผz #2425

    • Only mark custom rules as 'enabled in your config' in the output of the rules command when there are one or more configured custom rules.
      jhildensperger

    • ๐Ÿ›  Fix wrong correction when removing testable imports with the unused_import rule.
      JP Simard

    • ๐Ÿ›  Fix false positive with the unused_import rule when importing Foundation when there are attributes in that file requiring Foundation.
      JP Simard

  • v0.29.0 Changes

    ๐Ÿ’ฅ Breaking
    • ๐Ÿ‘• SwiftLint now requires Swift 4.2 or higher to build.
      JP Simard
    Experimental
    • None.
    โœจ Enhancements
    • ๐Ÿ‘Œ Improve the performance of saving or reading cached lint results on platforms with CommonCrypto.
      JP Simard

    • โž• Add markdown reporter which outputs markdown-formatted tables, ideal for rendering in GitLab or GitHub.
      Dani Vela

    • โž• Add testSimulateHomebrewTest() to IntegrationTests that simulates test in homebrew-core/Formula/swiftlint.rb within sandbox.
      Norio Nomura

    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix compiler warnings when building with Swift 4.2 introduced in the last release.
      JP Simard

    • ๐Ÿ›  Fix false positive in explicit_init rule.
      Dominic Freeston

    • ๐Ÿ›  Fix toggle_bool false positive violation when comparing object parameter to an equally named variable.
      Timofey Solonin #2471

    • ๐Ÿ›  Fix false positive on file_name rule with specific patterns.
      Cihat Gรผndรผz #2417

    • Fix crash in no_fallthrough_only and potentially other rules when linting files with unicode characters in certain locations.
      JP Simard #2276

    • ๐Ÿ›  Fix violations with no character/column location not being reported in xcpretty. Now violations with no column location default to a column value of 1 indicating the start of the line.
      JP Simard #2267

  • v0.28.2 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • None.
    โœจ Enhancements
    • Add SWIFTLINT_DISABLE_SOURCEKIT environment variable to allow running SwiftLint without connecting to SourceKit. This will run a subset of rules that don't require SourceKit, which is useful when running in a sandboxed setting such as in Homebrew's CI.
      Norio Nomura
    ๐Ÿ› Bug Fixes
    • None.
  • v0.28.1 Changes

    ๐Ÿš€ This is the last release to support building with Swift 4.0 and Swift 4.1.

    ๐Ÿ’ฅ Breaking
    • None.
    Experimental
    • None.
    โœจ Enhancements
    • None.
    ๐Ÿ› Bug Fixes
    • ๐Ÿ‘Œ Improve the performance of collecting which files to lint by up to 3.5x.
      JP Simard

    • ๐Ÿ‘Œ Improve the performance of looking up cached lint results by up to 10x for complex configurations.
      JP Simard

  • v0.28.0 Changes

    ๐Ÿ’ฅ Breaking
    • ๐Ÿšš Completely remove the --use-tabs option of the autocorrect command that was deprecated in 0.24.1. In its place, define an indentation key in your configuration files.
      JP Simard
    Experimental
    • โž• Add a new swiftlint analyze command which can lint Swift files using the full type-checked AST. Rules of the AnalyzerRule type will be added over time. The compiler log path containing the clean swiftc build command invocation (incremental builds will fail) must be passed to analyze via the --compiler-log-path flag. e.g. --compiler-log-path /path/to/xcodebuild.log
      JP Simard

    • โž• Add an explicit_self analyzer rule to enforce the use of explicit references to self. when accessing instance variables or functions.
      JP Simard #321

    • โž• Add an unused_import analyzer rule to lint for unnecessary imports.
      JP Simard #2248

    • Add an unused_private_declaration analyzer rule to lint for unused private declarations.
      JP Simard

    โœจ Enhancements
    • โž• Add legacy_random opt-in rule to encourage the use of .random(in:) instead of arc4random, arc4random_uniform, and drand48.
      Joshua Kaplan

    • ๐Ÿ‘Œ Improve performance of line_length and multiple_closures_with_trailing_closure rules.
      Marcelo Fabri

    • Add closure_body_length opt-in rule to enforce the maximum number of lines a closure should have. Requires Swift 4.2.
      Ornithologist Coder #52

    • โž• Add SonarQube reporter.
      Yusuke Ohashi #2350

    • Add prohibited_interface_builder opt-in rule to validate that @IBOutlets and @IBActions are not used.
      Marcelo Fabri #2365

    • โž• Add inert_defer rule to validate that defer is not used at the end of a scope.
      Marcelo Fabri #2123

    • โž• Add toggle_bool opt-in rule which suggests using someBool.toggle() over someBool = !someBool. Requires Swift 4.2.
      Dalton Claybrook #2369

    • โž• Add identical_operands opt-in rule to validate that operands are different expressions in comparisons.
      Marcelo Fabri #1371

    • โž• Add collection_alignment opt-in rule to validate that all elements in a collection literal are aligned vertically.
      Dalton Claybrook #2326

    • โž• Add static_operator opt-in rule to enforce that operators are declared as static functions instead of free functions.
      Marcelo Fabri #2395

    • Specify what type of compiler protocol initializer violated the compiler_protocol_init rule.
      Timofey Solonin #2422

    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix comma rule false positives on object literals (for example, images).
      Marcelo Fabri #2345

    • ๐Ÿ›  Fix false positive on file_name rule when using nested types.
      Marcelo Fabri #2325

    • Fix crash on multiline_function_chains rule when using some special characters inside the function calls.
      Marcelo Fabri #2360

    • ๐Ÿ”„ Change autocorrect --format to run format before autocorrect, fixing conflicts between default indentation and rules which modify indentation (i.e. closure_end_indentation).
      Ornithologist Coder #2374

    • ๐Ÿ›  Fix false positive on empty_count rule when assessing binary, octal and hexadecimal integer literals.
      Timofey Solonin #2423

  • v0.27.0 Changes

    ๐Ÿ’ฅ Breaking
    • None.
    โœจ Enhancements
    ๐Ÿ› Bug Fixes
    • ๐Ÿ›  Fix an issue with control_statement where commas in clauses prevented the rule from applying.
      Allen Wu

    • Fix explicit_enum_raw_value, generic_type_name, implicit_return, required_enum_case, quick_discouraged_call, array_init, closure_parameter_position and unused_closure_parameter rules when linting with Swift 4.2.
      Marcelo Fabri

    • ๐Ÿ›  Fix identifier_name rule false positives with enum when linting using Swift 4.2.
      Marcelo Fabri Jacob Greenfield #2231

    • ๐Ÿ›  Fix a crash when running with Swift 4.2.
      Norio Nomura SR-7954

    • ๐Ÿ›  Fix false positive on attributes rule when linting a line that is below a line with a declaration that has attributes.
      Marcelo Fabri #2297

    • redundant_optional_initialization rule now lints local variables.
      Marcelo Fabri #2233

    • Fix autocorrection for redundant_type_annotation rule.
      Marcelo Fabri #2314