Skip to content

Releases: realm/SwiftLint

0.9.1: Air Duct Cleaning

16 Feb 21:40
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes

0.9.0: Appliance Maintenance

12 Feb 20:46
Compare
Choose a tag to compare

This is a big release, with lots of breaking changes and deprecations for users of SwiftLintFramework. If we've removed functionality from the framework's public API that you were depending on, please let us know by filing an issue so we can consider adding it back in.

Breaking
  • Linter.reporter has been removed and Configuration.reporterFromString(_:)
    has been renamed to a free function: reporterFromString(_:).
    JP Simard
  • _ConfigProviderRule & ConfigurableRule have been removed and their
    requirements have been moved to Rule.
    JP Simard
  • Configuration(path:optional:silent) has been changed to
    Configuration(path:rootPath:optional:quiet:).
    JP Simard
  • The static function Configuration.rulesFromDict(_:ruleList:) has been moved
    to an instance method: RuleList.configuredRulesWithDictionary(_:).
    JP Simard
  • The rules parameter in the Configuration initializer has been renamed to
    configuredRules.
    JP Simard
  • Removed a large number of declarations from the public SwiftLintFramework API.
    This is being done to minimize the API surface area in preparation of a 1.0
    release. See #507 for a
    complete record of this change.
    JP Simard
    #479
  • All instances of the abbreviation "config" in the API have been expanded to
    "configuration". The --config command line parameter and
    use_nested_configs configuration key are unaffected.
    JP Simard
  • The use_nested_configs configuration key has been deprecated and its value
    is now ignored. Nested configuration files are now always considered.
    JP Simard
Enhancements
  • swiftlint lint now accepts an optional --reporter parameter which
    overrides existing reporter values in the configuration file. Choose between
    xcode (default), json, csv or checkstyle.
    JP Simard
    #440
  • swiftlint rules now shows a configuration description for all rules.
    JP Simard
  • lint and autocorrect commands now accept a --quiet flag that prevents
    status messages like 'Linting ' & 'Done linting' from being logged.
    JP Simard
    #386
  • All top-level keys in a configuration file that accept an array now also
    accept a single value.
    e.g. included: Source is equivalent to included:\n - Source.
    JP Simard
    #120
  • Improve performance of FunctionParameterCountRule.
    Norio Nomura
  • Improve performance of ColonRule.
    Norio Nomura
Bug Fixes
  • Fix case sensitivity of keywords for valid_docs.
    Ankit Aggarwal
    #298
  • Fixed inconsistencies between violations & corrections in
    StatementPositionRule.
    JP Simard
    #466
  • A warning will now be logged when invalid top-level keys are included in the
    configuration file.
    JP Simard
    #120
  • Fixed LegacyConstructorRule from correcting legacy constructors in string
    literals.
    JP Simard
    #466
  • Fixed an issue where variable_name or type_name would always report a
    violation when configured with only a warning value on either min_length
    or max_length.
    JP Simard
    #522

0.8.0: High Heat

06 Feb 03:45
Compare
Choose a tag to compare
Breaking
  • Setting only warning on SeverityLevelsConfig rules now disables the error
    value.
    Robin Kunde
    #409
  • enabled_rules has been renamed to opt_in_rules.
    Daniel Beard
Enhancements
  • Add whitelist_rules rule whitelists in config files.
    Daniel Beard
    #256
  • Improve performance of ColonRule, LineLengthRule & syntaxKindsByLine.
    Norio Nomura
  • Add command to display rule description:
    swiftlint rules <rule identifier>.
    Tony Li
    #392
  • Add FunctionParameterCountRule.
    Denis Lebedev
    #415
  • Measure complexity of nested functions separately in
    CyclomaticComplexityRule.
    Denis Lebedev
    #424
  • Added exception for multi-line if/guard/while conditions to allow
    opening brace to be on a new line in OpeningBraceRule.
    Scott Hoyt
    #355
  • The rules command now prints a table containing values for: identifier,
    opt-in, correctable, enabled in your config & configuration.
    JP Simard
    #392
  • Reduce maximum memory usage.
    Norio Nomura
Bug Fixes
  • Fix more false positives in ValidDocsRule.
    diogoguimaraes
    #451
  • Fix trailing_newline autocorrect to handle more than one violation per
    line.
    Daniel Beard
    #465
  • Fix complexity measurement for switch statements in CyclomaticComplexityRule.
    Denis Lebedev
    #461

0.7.2: Appliance Manual

29 Jan 01:14
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • None.
Bug Fixes

0.7.1: Delicate Cycle

26 Jan 19:58
Compare
Choose a tag to compare

Yay, custom rules! 🎉

Thanks to @norio-nomura, @scottrhoyt, @Argent & @diogoguimaraes for making this release possible!

Breaking
  • None.
Enhancements
Bug Fixes

0.7.0: Automatic Permanent Press

24 Jan 22:42
Compare
Choose a tag to compare

This is a big release, with lots of improvements especially with regards to configuration. Big thanks to @scottrhoyt, @marcelofabri, @norio-nomura & @garnett for their contributions to this release! 🎉

Breaking
  • Replaced all uses of XPCDictionary with
    [String: SourceKitRepresentable].
    JP Simard
  • VariableNameMinLengthRule and VariableNameMaxLengthRule have been
    removed. VariableNameRule now has this functionality.
    Scott Hoyt
  • ViolationLevelRule has been removed. This functionality is now provided
    by ConfigProviderRule and SeverityLevelsConfig.
    Scott Hoyt
Enhancements
  • TypeBodyLengthRule now does not count comment or whitespace lines.
    Marcelo Fabri
    #369
  • FunctionBodyLengthRule now does not count comment or whitespace lines.
    Marcelo Fabri
    #258
  • All Rules are now configurable in at least their severity: SeverityConfig.
    Scott Hoyt
    #371
    #130
    #268
  • TypeNameRule and VariableNameRule conform to ConfigProviderRule using
    NameConfig to support min_length, max_length, and excluded names.
    Scott Hoyt
    #388
    #259
    #191
  • Add CyclomaticComplexityRule.
    Denis Lebedev
Bug Fixes
  • Fix crash caused by infinite recursion when using nested config files.
    JP Simard
    #368
  • Fix crash when file contains NULL character.
    Norio Nomura
    #379

0.6.0: Steam Cycle

15 Jan 00:02
Compare
Choose a tag to compare
Breaking
  • ParameterizedRule is removed. Use ConfigurableRule instead.
    Scott Hoyt
    #353
  • To activate a Rule, it must be added to the global masterRuleList.
    Scott Hoyt
Enhancements
  • ConfigurableRule protocol allows for improved rule configuration. See
    CONTRIBUTING for more details.
    Scott Hoyt
    #303
  • VariableNameMinLengthRule now supports excluding certain variable names
    (e.g. "id").
    Scott Hoyt
    #231
  • ViolationLevelRule provides default ConfigurableRule implementation for
    rules that only need integer error and warning levels.
    Scott Hoyt
  • Add AutoCorrect for StatementPositionRule.
    Raphael Randschau
  • Add AutoCorrect for CommaRule.
    Raphael Randschau
  • Add AutoCorrect for LegacyConstructorRule.
    Raphael Randschau
  • Improve performance of LineLengthRule.
    Norio Nomura
  • Add ConditionalBindingCascadeRule.
    Aaron McTavish
    #202
  • Opt-in rules are now supported.
    JP Simard
    #256
  • Add LegacyConstantRule.
    Aaron McTavish
    #319
  • Add opt-in rule to encourage checking isEmpty over comparing count to
    zero.
    JP Simard
    #202
  • Add opt-in "Missing Docs" rule to detect undocumented public declarations.
    JP Simard
Bug Fixes
  • None.

0.5.6: Bug FixLint

14 Jan 02:36
Compare
Choose a tag to compare
Breaking
  • None.
Enhancements
  • Improve performance by reducing calls to SourceKit.
    Norio Nomura
Bug Fixes

0.5.5: Magic Drying Fluff Balls™

04 Jan 21:53
Compare
Choose a tag to compare

http://www.amazon.com/Magic-Drying-Fluff-Balls-Softening/dp/B001EIW1SG

Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Always fail if a YAML configuration file was found but could not be parsed.
    JP Simard
    #310
  • Make commands with modifiers work for violations with line-only locations.
    JP Simard
    #316

0.5.4: Bounce™

03 Jan 00:19
Compare
Choose a tag to compare

Breaking
  • Remove Location.init(file:offset:) in favor of the more explicit
    Location.init(file:byteOffset:) & Location.init(file:characterOffset:).
    JP Simard
Enhancements
  • Add checkstyle reporter to generate XML reports in the Checkstyle 4.3
    format.
    JP Simard
    #277
  • Support command comment modifiers (previous, this & next) to limit the
    command's scope to a single line.
    JP Simard
    #222
  • Add nested .swiftlint.yml configuration support.
    Scott Hoyt
    #299
Bug Fixes