Skip to content

Releases: realm/SwiftLint

0.5.1: Lint Tray Malfunction

14 Dec 01:15
Compare
Choose a tag to compare
Bug Fixes
  • Make linting faster than 0.5.0, but slower than 0.4.0
    Norio Nomura
    #119
  • Re-introduce --use-script-input-files option for lint & autocorrect
    commands. Should also fix some issues when running SwiftLint from an Xcode
    build phase.
    JP Simard
    #264

0.5.0: Downy™

13 Dec 02:18
Compare
Choose a tag to compare

Big thanks to @marcelofabri and @michallaskowski for contributing to this release!

Breaking
  • init() is no longer a member of the Rule protocol.
Enhancements
  • Add legacy constructor rule.
    Marcelo Fabri
    #202
  • The VariableNameRule now allows variable names when the entire name is
    capitalized. This allows stylistic usage common in cases like URL and other
    acronyms.
    Marcelo Fabri
    #161
  • Add autocorrect command to automatically correct certain violations
    (currently only trailing_newline, trailing_semicolon &
    trailing_whitespace).
    JP Simard
    #5
  • Allow to exclude files from included directory with excluded.
    Michal Laskowski
Bug Fixes
  • Statement position rule no longer triggers for non-keyword uses of catch and
    else.
    JP Simard
    #237
  • Fix issues with multi-byte characters.
    JP Simard
    #234

0.4.0: Wrinkle Release

18 Nov 03:58
Compare
Choose a tag to compare

Lots of cool new/fixed rules in this release. Thanks to @wfleming & @mmorier for their contributions!

Breaking
  • API: Rename RuleExample to RuleDescription, remove StyleViolationType and
    combine Rule().identifier and Rule().example into Rule.description.
    JP Simard
    #183
Enhancements
  • The VariableNameRule now allows capitalized variable names when they are
    declared static. This allows stylistic usage common in cases like
    OptionSetType subclasses.
    Will Fleming
  • Add VariableNameMaxLengthRule and VariableNameMinLengthRule parameter
    rules. Remove length checks on VariableNameRule.
    Mickael Morier
  • Add trailing semicolon rule.
    JP Simard
  • Add force try rule.
    JP Simard
Bug Fixes
  • All rules now print their identifiers in reports.
    JP Simard
    #180
  • ControlStatementRule now detects all violations.
    Mickael Morier
    #187
  • ControlStatementRule no longer triggers a violation for acceptable use of
    parentheses.
    Mickael Morier
    #189
  • Nesting rule no longer triggers a violation for enums nested one level deep.
    JP Simard
    #190
  • ColonRule now triggers a violation even if equal operator is collapse to
    type and value.
    Mickael Morier
    #135

0.3.0: Wrinkly Rules

03 Nov 21:18
Compare
Choose a tag to compare

Lots of new rules in this one. Thanks to @S2dentik, @zippy1978, @Tableau-David-Potter for contributing to this release!

Breaking
  • swiftlint rules now just prints a list of all available rules and their
    identifiers.
Enhancements
  • Support for Swift 2.1.
    JP Simard
  • Added StatementPositionRule to make sure that catch, else if and else
    statements are on the same line as closing brace preceding them and after one
    space.
    Alex Culeva
  • Added Comma Rule to ensure there is a single space after a comma.
    Alex Culeva
  • Add rule identifier to all linter reports.
    zippy1978
  • Add OpeningBraceRule to make sure there is exactly a space before opening
    brace and it is on the same line as declaration.
    Alex Culeva
  • Print to stderr for all informational logs. Only reporter outputs is logged to
    stdout.
    JP Simard
  • JSON and CSV reporters now only print at the very end of the linting
    process.
    JP Simard
  • Add support for guard statements to ControlStatementRule.
    David Potter
  • Lint parameter variables.
    JP Simard
Bug Fixes
  • Custom reporters are now supported even when not running with --use-stdin.
    JP Simard
    #151
  • Deduplicate files in the current directory.
    JP Simard
    #154

0.2.0: Tumble Dry

30 Sep 16:58
Compare
Choose a tag to compare
Breaking
  • SwiftLint now exclusively supports Swift 2.0.
    JP Simard
    #77
  • ViolationSeverity now has an associated type of String and two members:
    .Warning and .Error.
    JP Simard
    #113
Enhancements
  • Configure SwiftLint via a YAML file:
    Supports disabled_rules, included, excluded and passing parameters to
    parameterized rules.
    Pass a configuration file path to --config, defaults to .swiftlint.yml.
    JP Simard
    #1
    #3
    #20
    #26
  • Updated TypeNameRule and VariableNameRule to allow private type & variable
    names to start with an underscore.
    JP Simard
  • Disable and re-enable rules from within source code comments using
    // swiftlint:disable $IDENTIFIER and // swiftlint:enable $IDENTIFIER.
    JP Simard
    #4
  • Add --strict lint flag which makes the lint fail if there are any
    warnings.
    Keith Smiley
  • Violations are now printed to stderr.
    Keith Smiley
  • Custom reporters are now supported. Specify a value for the reporter: key in
    your configuration file. Available reporters are xcode (default), json,
    csv.
    JP Simard
    #42
Bug Fixes
  • Improve performance of TrailingWhitespaceRule.
    Keith Smiley
  • Allow newlines in function return arrow.
    JP Simard

0.1.2: FabricSoftenerRule

24 Aug 20:24
Compare
Choose a tag to compare

Lots of new rules in this release, big thanks to our contributors! SwiftLint now smells as fresh as ever. 🌲

Breaking
  • None.
Enhancements
  • Added OperatorFunctionWhitespaceRule to make sure that
    you use whitespace around operators when defining them.
    Akira Hirakawa
    #60
  • Added ReturnArrowWhitespaceRule to make sure that
    you have 1 space before return arrow and return type.
    Akira Hirakawa
  • Support linting from standard input (use --use-stdin).
    JP Simard
    #78
  • Improve performance of TrailingNewlineRule.
    Keith Smiley
  • Lint parentheses around switch statements.
    Keith Smiley
Bug Fixes
  • None.

0.1.1: Top Loading

29 May 16:46
Compare
Choose a tag to compare

Open Source is pretty great! We've received lots of external contributions in the week since publishing SwiftLint. Keep them coming! ✨

Breaking
  • The Rule and ASTRule protocol members are now non-static.
    aarondaub
  • Split Rule into Rule and ParameterizedRule protocols.
    aarondaub
    #21
Enhancements
  • Added a command line option --path to specify a path to lint.
    Lars Lockefeer
    #16
  • swiftlint now returns a non-zero error code when a warning of high-severity
    or above is found in the source files being linted.
    Pat Wallace
    #30
  • Added rules command to display which rules are currently applied along
    with examples.
    Chris Eidhof
  • Cache parsing to reduce execution time by more than 50%.
    Nikolaj Schumacher
  • Added ControlStatementRule to make sure that if/for/while/do statements
    do not wrap their conditionals in parentheses.
    Andrea Mazzini
  • Character position is now included in violation location where appropriate.
    JP Simard
    #62
  • The following rules now conform to ASTRule:
    FunctionBodyLength, Nesting, TypeBodyLength, TypeName, VariableName.
    JP Simard
Bug Fixes
  • Trailing newline and file length violations are now displayed in Xcode.
    JP Simard
    #43

0.1.0: Fresh Out Of The Dryer

18 May 05:11
Compare
Choose a tag to compare