Releases: realm/SwiftLint
0.23.0: Permanent Press Cycle
Breaking
- None.
Enhancements
-
Fix csv reporter to output records with new lines.
atetlaw -
Add
contains_over_first_not_nil
rule to encourage usingcontains
over
first(where:) != nil
.
Samuel Susla
#1514 -
Add
fallthrough
rule that flags usage offallthrough
.
Marcelo Fabri
#1834 -
Improve
colon
rule to catch violations in dictionary types
(e.g.[String: Int]
), when usingAny
and on function calls.
Marcelo Fabri
#1074
#1389 -
Add
switch_case_alignment
rule to validate thatcase
anddefault
statements are vertically aligned with their enclosingswitch
statement.
Austin Lu -
Add
array_init
opt-in rule to validate thatArray(foo)
should be preferred
overfoo.map({ $0 })
.
Marcelo Fabri
#1271 -
Truncate long configuration console descriptions to fit in the console window
when runningswiftlint rules
.
JP Simard
#1002 -
Add
multiline_arguments
opt-in rule that warns to either keep
all the arguments of a function call on the same line,
or one per line.
Marcel Jackwerth -
Add
unneeded_break_in_switch
rule to validate that no extrabreak
s are
added inswitch
statements.
Marcelo Fabri
#1870 -
Add
literal_expression_end_indentation
opt-in rule to validate that
array and dictionary literals ends have the same indentation as the line
that started them.
Marcelo Fabri
#1435
Bug Fixes
-
Improve how
opening_brace
rule reports violations locations.
Marcelo Fabri
#1811 -
Fix false negatives in
unneeded_parentheses_in_closure_argument
rule
when using capture lists.
Marcelo Fabri
#1817 -
Fix handling of attributes (
lazy
,objc
, etc.) for thelet_var_whitespace
rule.
David Catmull
#1770
#1812 -
Fix false positives in
for_where
rule when usingif var
insidefor
.
Marcelo Fabri
#1838 -
Fix false positive in
class_delegate_protocol
rule when using Swift 4.0.1.
Marcelo Fabri
#1856 -
Print multi-line configuration values in a single line when running
swiftlint rules
to avoid breaking the table format.
JP Simard
#1002 -
Ignore SwiftLint commands (
swiftlint:(disable|enable)
) infile_header
rule, making it work better withsuperfluous_disable_command
rule.
Marcelo Fabri
#1810 -
Fix false negatives in
generic_type_name
,identifier_name
andtype_name
rules when usingallowed_symbols
.
Marcelo Fabri
0.22.0: Wrinkle-free
Breaking
- Nested configurations will now be merged with parent configurations rather
than replace them outright.
Stéphane Copin
JP Simard
#676
Enhancements
-
Add
is_disjoint
rule to encourage usingSet.isDisjoint(with:)
over
Set.intersection(_:).isEmpty
.
JP Simard -
Add
xctfail_message
rule to enforce XCTFail
calls to include a description of the assertion.
Ornithologist Coder
#1370 -
Add
joined_default_parameter
correctable opt-in rule to discourage
explicit usage of the default separator.
Ornithologist Coder
#1093
#1757 -
Files with extensions other than
.swift
can now be used as arguments
to--file
when linting or autocorrecting.
Marcelo Fabri
#1721 -
Allow
()?
,Void?
,()!
, andVoid!
as return types in
redundant_void_return
rule.
Ryan Booker
#1761 -
Add
single_test_class
opt-in rule to validate that test files
only contain a singleQuickSpec
orXCTestCase
subclass.
Ornithologist Coder
#1779 -
Produce an error when a
// swiftlint:disable
command does not silence
any violations.
JP Simard
#1102 -
Add
quick_discouraged_call
opt-in rule to discourage calls and object
initialization inside 'describe' and 'context' block in Quick tests.
Ornithologist Coder
#1781 -
Invalidate cache when Swift version changes.
Marcelo Fabri -
Add
pattern_matching_keywords
opt-in rule to enforce movinglet
andvar
keywords outside tuples in aswitch
.
Marcelo Fabri
#202 -
Add
explicit_enum_raw_value
opt-in rule to allow refactoring the
Swift API without breaking the API contract.
Mazyod
#1778 -
Add
no_grouping_extension
opt-in rule to disallow the use of extensions
for code grouping purposes within the same file.
Mazyod
#1767 -
Improve
syntactic_sugar
violation message to be type-specific.
Marcelo Fabri
#1803 -
Add
multiple_closures_with_trailing_closure
rule that disallows trailing
closure syntax when passing more than one closure argument to a function.
Erik Strottmann
#1801
Bug Fixes
-
Fix false positive on
force_unwrapping
rule when declaring
local variable with implicity unwrapped type.
Otávio Lima
#1710 -
Fix the warning message and autocorrection of
vertical_whitespace
rule to
display the maximum empty lines allowed ifmax_empty_lines
is greater
than 1.
Hossam Ghareeb
#1763 -
Fix for the wrong configuration being used when using
--path
and a
configuration exists in a parent directory.
Marcelo Fabri
#1744 -
Fix false positive on
unused_enumerated
rule with complex variable
bindings.
Marcelo Fabri
#1787 -
Fix incorrect violations and autocorrections on
unneeded_parentheses_in_closure_argument
rule that were generated in some
cases (mainly when using chained method calls with closures).
Marcelo Fabri
0.21.0: Vintage Washboard
Breaking
- Xcode 8.3 or later and Swift 3.1 or later are required to build.
Norio Nomura
Enhancements
-
Rules are now categorized as
lint
,idiomatic
,style
,metrics
orperformance
. Currently this is just used for documentation purposes
when you runswiftlint rules
orswiftlint generate-docs
.
Marcelo Fabri -
Add rules documentation generation.
Marcelo Fabri
#1078 -
Add
private_over_fileprivate
correctable rule to check for top-level usages
offileprivate
and recommendprivate
instead. This is in line with
SE-0169's goal "forfileprivate
to be used rarely". There is a also a new
strict_fileprivate
opt-in rule that will mark everyfileprivate
as a violation (especially useful with Swift 4).
Jose Cheyo Jimenez
Marcelo Fabri
#1469
#1058 -
Add
let_var_whitespace
opt-in rule to enforce thatlet
/var
declarations
should be separated from other statements by a single blank line.
Uncommon
#1461 -
Improve performance when linting and correcting on Linux,
matching macOS behavior.
JP Simard
#1577 -
Don't trigger
implicit_getter
violations when attributes (such asmutating
or@inline
) are present.
Marcelo Fabri
#1309
#1589 -
Add
--use-tabs
option toAutoCorrectOptions
, enabling formatting using
tabs over spaces.
Cody Winton
#1327 -
Improve
autocorrect
performance by running it in parallel.
Marcelo Fabri
#1578 -
Support building with Xcode 9 beta 3 in Swift 3.2 mode.
JP Simard -
Add support for optional
error
severity level configuration.
Jamie Edge
Marcelo Fabri
#1647 -
Add
unneeded_parentheses_in_closure_argument
opt-in correctable rule that
warns against using parentheses around argument declarations in closures.
Marcelo Fabri
#1483 -
Add
--disabled
flag toswiftlint rules
to print only rules that are
not enabled in the configuration.
Marcelo Fabri -
Add
ignore_comment_only_lines
boolean configuration option
tofile_length
rule. With the option enabled,file_length
will
ignore lines which have only comments.
Samuel Susla
#1165 -
Improve
file_header
rule description.
Marcelo Fabri
#1492 -
Add
trailing_closure
opt-in rule that validates that trailing
closure syntax should be used whenever possible.
Marcelo Fabri
#54 -
Shebang (
#!
) in the beginning of a file is now ignored by all rules.
Marcelo Fabri
#1294 -
Add
block_based_kvo
rule that enforces the usage of the new block based
KVO API added when linting with Swift 3.2 or later.
Marcelo Fabri
#1714 -
Make
file_header
rule ignore doc comments.
Marcelo Fabri
#1719 -
Allow using environment variables in a configuration file in the form of
${SOME_VARIABLE}
. The variables will be expanded when the configuration
is first loaded.
Marcelo Fabri
#1512 -
Treat
yes
,no
,on
andoff
as strings (and not booleans) when loading
configuration files.
Marcelo Fabri
#1424 -
Add
discouraged_direct_init
rule that discourages direct
initialization of certain types.
Ornithologist Coder
#1306
Bug Fixes
-
Fix false positive on
redundant_discardable_let
rule when using
while
statements.
Marcelo Fabri
#1669 -
Fix all custom rules not being applied when any rule is configured
incorrectly.
Jamie Edge
#1586 -
Fix crash when using
--config
with a relative path and
--path
with a file.
Marcelo Fabri
#1694 -
Fix
mark
rule corrections generating invalid code in some cases.
Marcelo Fabri
#1029 -
Fix false positive in
empty_enum_arguments
rule when using wildcards and
where
clauses.
Marcelo Fabri
#1722 -
Fix false positive in
large_tuple
rule when using throwing closure.
Liquidsoul -
Make
vertical_parameter_alignment
more robust, fixing false positives and
detecting previously missed violations.
JP Simard
#1488
0.20.1: More Liquid Fabric Softener
Breaking
- None.
Enhancements
- None.
Bug Fixes
-
Fix typo in
FatalErrorMessageRule
.
Alexander Lash -
Don't trigger an
extension_access_modifier
violation when all extension
members areopen
, asopen extension
is not supported by Swift.
Marcelo Fabri
#1629 -
Don't trigger a
vertical_parameter_alignment_on_call
violation when
trailing closures are used.
Marcelo Fabri
#1635 -
Make
vertical_parameter_alignment_on_call
more flexible when multiline
parameters are used.
Marcelo Fabri
#1630
#1643 -
Use the directory's .swiftlint.yml when
--path
is used.
Marcelo Fabri
#1631
0.20.0: Liquid Fabric Softener
Breaking
- None.
Enhancements
-
Add support for missing triggering cases in
force_unwrapping
when using subscript.
Otávio Lima -
Match
(Void)
as return type in thevoid_return
rule.
Anders Hasselqvist -
Add
multiline_parameters
opt-in rule that warns to either keep
all the parameters of a method or function on the same line,
or one per line.
Ornithologist Coder -
Update
function_parameter_count
rule to ignore overridden methods.
Markus Gasser
#1562 -
Skip files with valid cache & no violations when auto correcting.
Marcelo Fabri
#1554 -
Don't trigger violations from the
private_unit_test
rule when a method has
parameters.
Marcelo Fabri
#1532 -
Don't trigger violations from the
discarded_notification_center_observer
rule when the observer is being returned from a function that is not marked
as@discardableResult
.
Marcelo Fabri
#1525 -
Add
extension_access_modifier
opt-in rule validating that if all the
declarations in a given extension have the same Access Control Level, the ACL
keyword should be applied to the top-level extension.
Marcelo Fabri
#1546 -
Add
vertical_parameter_alignment_on_call
opt-in rule that validates that
parameters are vertically aligned on a method call.
Marcelo Fabri
#1037 -
Add
code_literal
andimage_literal
boolean configuration options to
object_literal
rule. They allow to only check for one or the other
literal type instead of both together.
Cihat Gündüz
#1587
Bug Fixes
-
Fix false positive in
empty_enum_arguments
rule when calling methods.
Marcelo Fabri
#1597 -
Fix crash in
unused_closure_parameter
rule when using unicode identifiers.
Woo-Sik Byun
Marcelo Fabri -
Fix two false positives in
force_unwrapping
rule.
Otávio Lima
#614
#977
#1614 -
Fix custom rules not working correctly with comment commands.
JP Simard
#1558 -
Fix incorrectly using configuration files named
.swiftlint.yml
when they are
located in the same directory as a differently-named, user-provided custom
configuration file.
JP Simard
#1531 -
Fix
empty_count
rule false positive in words that include "count".
Marcelo Fabri
#1622 -
Use
validates_start_with_lowercase
key when decoding configurations for
generic_type_name
,identifier_name
andtype_name
rules. This key was
used on the docs, but internallyvalidates_start_lowercase
was used.
Marcelo Fabri
#1626
0.19.0: Coin-Operated Machine
Breaking
-
Remove support for Swift 2.
Marcelo Fabri
#1387 -
Remove
missing_docs
andvalid_docs
rules since
they were already disabled.
Marcelo Fabri
#1387 -
Add
modificationDate(forFileAtPath:)
function requirement to
LintableFileManager
protocol.
Victor Pimentel -
Several breaking changes to
LinterCache
.
Victor Pimentel
JP Simard -
Remove
Configuration.hash
property.
Victor Pimentel -
Rename
ConditionalReturnsOnNewline
struct to
ConditionalReturnsOnNewlineRule
to match rule naming conventions.
JP Simard
Enhancements
-
Cache linter results for files unmodified since the previous linter run.
Victor Pimentel
JP Simard
Marcelo Fabri
#1184
#1550 -
Add opt-in configurations to
generic_type_name
,identifier_name
and
type_name
rules to allow excluding non-alphanumeric characters and names
that start with uppercase.
Javier Hernández
#541 -
Adds support for
excluded
in custom rules to exclude files.
Nigel Flack
#1437 -
Make
trailing_comma
rule autocorrectable.
Samuel Susla
Jeremy David Giesbrecht
#1326 -
Added
no_extension_access_modifier
opt-in rule to disallow access modifiers
completely, à la SE-0119.
Jose Cheyo Jimenez
#1457 -
Add lowercase and missing colon checks to the
mark
rule.
Jason Moore -
Improve violation reason wording in
function_body_length
,
large_type
, andtype_body_length
rules.
ultimatedbz -
Add
explicit_top_level_acl
opt-in rule that validates that all top
level declarations should explicitly be marked with an Access Control
Level (private
,fileprivate
,internal
,public
oropen
).
J. Cheyo Jimenez
Marcelo Fabri
#58 -
Add
implicit_return
opt-in rule that warns against using thereturn
keyword when it can be omitted inside closures.
Marcelo Fabri
#1194 -
Add option to
unused_optional_binding
rule to ignoretry?
inguard
statements.
Sega-Zero
#1432 -
Add
empty_enum_arguments
correctable rule that warns against using
silent associated values inside acase
.
Marcelo Fabri
#1425
#1549 -
Remove
file.zip
from thePods
directory when installing SwiftLint via
CocoaPods.
Hesham Salman
#1507 -
Add
protocol_property_accessors_order
correctable rule that validates
that the order of accessors isget set
when declaring variables
in protocols.
Marcelo Fabri
#1504 -
Make
Region
&Command
structs conform toEquatable
.
JP Simard -
Make
closure_spacing
aCorrectableRule
.
J. Cheyo Jimenez
Bug Fixes
-
emoji
andcheckstyle
reporter output report sorted by file name.
norio-nomura
#1429 -
Prevent false positive in
shorthand_operator
rule.
sammy-SC
#1254 -
Fix typo in
DiscardedNotificationCenterObserverRule
.
Spencer Kaiser -
Fix
empty_parameters
rule with Swift 3.
Marcelo Fabri
#1460 -
Prevent triggering
redundant_optional_initialization
rule
on alazy var
since it needs initialization.
Marcelo Fabri
#1334 -
Fix
ignores_case_statements
key incyclomatic_complexity
description.
Jeff Blagdon
#1434 -
Fall back to reporting violations on line
1
if no line was provided for the
violation's location, ensuring Xcode always displays the warning or error.
rjhodge
JP Simard
#1520 -
Fix crash or incorrect violation location with strings including multi-byte
unicode characters.
Marcelo Fabri
#1006 -
Fix false positive in
syntactic_sugar
rule when using nested types named
Optional
,ImplicitlyUnwrappedOptional
,Array
orDictionary
.
Marcelo Fabri
#1508 -
Fix false positives in
prohibited_super_call
&overridden_super_call
rules
where calls tosuper
were done in nested scopes such asdefer
blocks.
JP Simard
#1301 -
Fix non-root configurations logging configuration warnings more than once.
JP Simard
#949 -
Fix some overlapping
// swiftlint
commands not being applied.
JP Simard
#1388
Coin-Operated Machine RC1
We encourage you to try this pre-release version of SwiftLint. There are lots of significant changes leading up to a 0.19.0 version, which is why we've decided to share a release candidate before pushing out an official stable release.
We're especially interested in hearing feedback on:
- the newly-reenabled caching support (hence this release's cash-related name 😉 ). We'd love to hear if the cache ever returns any incorrect/stale results.
- the removal of Swift 2 support & Swift 2-only rules like
missing_docs
andvalid_docs
. - lots of new rules & bug fixes.
Installation
- Homebrew:
brew update && brew upgrade swiftlint --HEAD
- CocoaPods:
pod 'SwiftLint', '= 0.19.0-rc.1'
- Portable/pkg: See GitHub release attachments
Breaking
-
Remove support for Swift 2.
Marcelo Fabri
#1387 -
Remove
missing_docs
andvalid_docs
rules since
they were already disabled.
Marcelo Fabri
#1387 -
Add
modificationDate(forFileAtPath:)
function requirement to
LintableFileManager
protocol.
Victor Pimentel -
Several breaking changes to
LinterCache
.
Victor Pimentel
JP Simard -
Remove
Configuration.hash
property.
Victor Pimentel -
Rename
ConditionalReturnsOnNewline
struct to
ConditionalReturnsOnNewlineRule
to match rule naming conventions.
JP Simard
Enhancements
-
Cache linter results for files unmodified since the previous linter run.
Victor Pimentel
JP Simard
#1184 -
Add opt-in configurations to
generic_type_name
,identifier_name
and
type_name
rules to allow excluding non-alphanumeric characters and names
that start with uppercase.
Javier Hernández
#541 -
Adds support for
excluded
in custom rules to exclude files.
Nigel Flack
#1437 -
Make
trailing_comma
rule autocorrectable.
Samuel Susla
Jeremy David Giesbrecht
#1326 -
Added
no_extension_access_modifier
opt-in rule to disallow access modifiers
completely, à la SE-0119.
Jose Cheyo Jimenez
#1457 -
Add lowercase and missing colon checks to the
mark
rule.
Jason Moore -
Improve violation reason wording in
function_body_length
,
large_type
, andtype_body_length
rules.
ultimatedbz -
Add
explicit_top_level_acl
opt-in rule that validates that all top
level declarations should explicitly be marked with an Access Control
Level (private
,fileprivate
,internal
,public
oropen
).
J. Cheyo Jimenez
Marcelo Fabri
#58 -
Add
implicit_return
opt-in rule that warns against using thereturn
keyword when it can be omitted inside closures.
Marcelo Fabri
#1194 -
Add option to
unused_optional_binding
rule to ignoretry?
inguard
statements.
Sega-Zero
#1432 -
Add
empty_enum_arguments
correctable rule that warns against using
silent associated values inside acase
.
Marcelo Fabri
#1425 -
Remove
file.zip
from thePods
directory when installing SwiftLint via
CocoaPods.
Hesham Salman
#1507 -
Add
protocol_property_accessors_order
correctable rule that validates
that the order of accessors isget set
when declaring variables
in protocols.
Marcelo Fabri
#1504
Bug Fixes
-
emoji
andcheckstyle
reporter output report sorted by file name.
norio-nomura
#1429 -
Prevent false positive in
shorthand_operator
rule.
sammy-SC
#1254 -
Fix typo in
DiscardedNotificationCenterObserverRule
.
Spencer Kaiser -
Fix
empty_parameters
rule with Swift 3.
Marcelo Fabri
#1460 -
Prevent triggering
redundant_optional_initialization
rule
on alazy var
since it needs initialization.
Marcelo Fabri
#1334 -
Fix
ignores_case_statements
key incyclomatic_complexity
description.
Jeff Blagdon
#1434 -
Fall back to reporting violations on line
1
if no line was provided for the
violation's location, ensuring Xcode always displays the warning or error.
rjhodge
JP Simard
#1520 -
Fix crash or incorrect violation location with strings including multi-byte
unicode characters.
Marcelo Fabri
#1006 -
Fix false positive in
syntactic_sugar
rule when using nested types named
Optional
,ImplicitlyUnwrappedOptional
,Array
orDictionary
.
Marcelo Fabri
#1508
0.18.1: Misaligned Drum
Breaking
-
Replace YamlSwift with Yams. SwiftLint no longer includes YamlSwift. If your
project implicitly depends on YamlSwift, you need to modify it to depend on
YamlSwift explicitly.
norio-nomura
#1412 -
Yams interprets YAML more strictly than YamlSwift, so if your YAML
configurations previously worked with SwiftLint but didn't fully conform to
the YAML 1.2 standard, you'll need to fix those validation errors.
For example:custom_rules: wrong_regex: name: "wrong regex" regex: "((assert|precondition)\(false)" # '\' in "" means escape sequence strict_regex: name: "strict regex" regex: '((assert|precondition)\(false)' # Use single quotes
Enhancements
-
Support compiling with Xcode 8.3 and Swift 3.1.
Keith Smiley -
Fix false positives on
for_where
rule and skip violation on
complex conditions.
Marcelo Fabri
#1387 -
Print YAML configuration errors in locatable format compatible with Xcode's
Issue Navigator.
Bug Fixes
-
Fix --lenient enforcement not being applied to all violations.
aaroncrespo
#1391 -
Fix false positives in
unused_optional_binding
rule.
Daniel Rodríguez Troitiño
#1376 -
Fix false positives in
redundant_discardable_let
rule.
Jeremy David Giesbrecht
#1415 -
Compile releases in the 'Release' configuration rather than 'Debug'.
0.18.0: Misaligned Drum
Breaking
-
Replace YamlSwift with Yams. SwiftLint no longer includes YamlSwift. If your
project implicitly depends on YamlSwift, you need to modify it to depend on
YamlSwift explicitly.
norio-nomura
#1412 -
Yams interprets YAML more strictly than YamlSwift, so if your YAML
configurations previously worked with SwiftLint but didn't fully conform to
the YAML 1.2 standard, you'll need to fix those validation errors.
For example:custom_rules: wrong_regex: name: "wrong regex" regex: "((assert|precondition)\(false)" # '\' in "" means escape sequence strict_regex: name: "strict regex" regex: '((assert|precondition)\(false)' # Use single quotes
Enhancements
-
Support compiling with Xcode 8.3 and Swift 3.1.
Keith Smiley -
Fix false positives on
for_where
rule and skip violation on
complex conditions.
Marcelo Fabri
#1387 -
Print YAML configuration errors in locatable format compatible with Xcode's
Issue Navigator.
Bug Fixes
-
Fix --lenient enforcement not being applied to all violations.
aaroncrespo
#1391 -
Fix false positives in
unused_optional_binding
rule.
Daniel Rodríguez Troitiño
#1376 -
Fix false positives in
redundant_discardable_let
rule.
Jeremy David Giesbrecht
#1415
0.17.0: Extra Rinse Cycle
This release brings 8 new rules, as well as important bug fixes and improvements to existing ones.
We also temporarily disabled the cache when linting until some important cache-related issues are addressed in a future version.
Breaking
-
variable_name
rule (VariableNameRule
) is nowidentifier_name
(IdentifierNameRule
) as it validates other identifiers as well.
Marcelo Fabri
#663 -
Fix
sorted_imports
rule to sort ignoring case.
Keith Smiley
#1185 -
Temporarily disable cache when linting. This will be re-enabled in a future
version after important cache-related issues have been addressed.
Marcelo Fabri
Enhancements
-
Add
implicitly_unwrapped_optional
opt-in rule that warns against using
implicitly unwrapped optionals, except cases when this IUO is an IBOutlet.
Siarhei Fedartsou
#56 -
Performance improvements to
generic_type_name
,redundant_nil_coalescing
,
mark
,first_where
andvertical_whitespace
rules.
Marcelo Fabri -
Add
discarded_notification_center_observer
rule that warns when the result
ofNotificationCenter.addObserver(forName:object:queue:using:)
is not stored
so it can be removed later.
Marcelo Fabri
#1062 -
Add
notification_center_detachment
rule that warns against an object
removing itself fromNotificationCenter
in an unsafe location.
Marcelo Fabri
#1061 -
Accept
AnyObject
andNSObjectProtocol
inclass_delegate_protocol
.
Jon Shier
#1261 -
Add
ignores_function_declarations
andignores_comments
as options to
LineLengthRule
.
Michael L. Welles
#598
#975 -
Add
for_where
rule that validates thatwhere
is used in afor
loop
instead of a singleif
expression inside the loop.
Marcelo Fabri
#1228 -
unused_enumerated
rule now warns when only the index is being used.
You should use.indices
instead of.enumerated()
in this case.
Marcelo Fabri
#1278 -
Add
ignores_case_statements
as option toCyclomaticComplexityRule
.
Michael L. Welles
#1298 -
Add correctable
redundant_discardable_let
rule that warns when
let _ = foo()
is used to discard a result from a function instead of
_ = foo()
.
Marcelo Fabri
#1232 -
Accept global and local variables in
implicit_getter
rule.
Marcelo Fabri -
Add
--enabled
(or-e
) switch to therules
CLI command, to only display
enabled rules.
Natan Rolnik
#1270 -
Now
nesting
rule can be configured with a type and statement level.
Hayashi Tatsuya
#1318 -
Add
explicit_type_interface
opt-in rule that validates that the properties
have an explicit type interface.
Kim de Vos -
Add
--lenient
CLI option tolint
command. Facilitates running a lint task
that doesn't fail a pipeline of other tasks.
aaroncrespo
#1322 -
Add
fatal_error_message
opt-in rule that validates thatfatalError()
calls
have a message.
Kim de Vos
#1348
Bug Fixes
-
Fix crashes when accessing cached regular expressions when linting in
parallel.
JP Simard
#1344 -
Fix a false positive on
large_tuple
rule when using closures.
Marcelo Fabri
#1234 -
Fix
force_unwrap
false positive for bool negation.
Aaron McTavish
#918 -
Fix false positive and wrong correction on
number_separator
rule.
Marcelo Fabri
#1242 -
Retain closure parameter types when they are specified during autocorrect.
Allen Zeng
#1175 -
Fix
redundant_void_return
matches if return type starts with Void~.
Hayashi Tatsuya -
Ignore
unused_closure_parameter
rule on closures that are called inline.
Marcelo Fabri
#1161 -
Disable
valid_docs
andmissing_docs
rules when running in Swift 2.3 or
later as they have not been updated to work with those versions of Swift.
Both rules are now opt-in because of this.
JP Simard
#728 -
Fix false positive on
large_tuple
rule when using generics inside a tuple.
Marcelo Fabri
#1257 -
Make
ASTRule
default implementation to navigate through the substructure
even if its children are from a different kind. This fixes some violations not
being reported in some contexts.
Marcelo Fabri
#1237 -
Reimplement
switch_case_on_newline
rule to be anASTRule
and be more
reliable, fixing some false negatives and false positives.
Marcelo Fabri
#1268 -
Fix
closure_end_indentation
rule false positive when using single-line
closures.
Marcelo Fabri
#1216 -
Fix
todo
rule messages when the comment is not on a new line.
Marcelo Fabri
#1304 -
Fix false negative on
unused_closure_parameter
rule.
Hayashi Tatsuya -
Fix
checkstyle
report format.
Yuki Oya