- Added
ifExpressionsrule to convert ternaries to if expressions - Added
preferLazyMaprule - Added
redundantExtendedLifetimerule - Added
<!-- no-format -->HTML comment syntax for disabling formatting of markdown code blocks - Added warning when
--enableis used for a rule that is already enabled by default - Added
--redundant-optional-bindingoption, defaulting tosame-name-only - Made
--wrapstringinterpolation preservethe default - Changed default of
--single-line-ternarytoconvert - Distinguished default, opt-in, and deprecated rules in
--rulesand--rule-infooutput - Updated
organizeDeclarationsto categorize associatedtype declarations as beforeMarks - Updated
hoistAwaitandhoistTryto automatically detect and preserve autoclosures within same file as definition - Updated
redundantTypeandpropertyTypesto support moreExpressibleByXLiteraltypes - Updated
redundantReturnto preserve barereturnin closures where removal would create single-expression body - Updated
redundantOptionalBindingto convertif let x = propertytoif let property - Updated
urlMacrorule to supporttry #require(URL(string:))pattern - Updated
redundantBackticksto preserve backticks on Swift Testing@Testfunctions - Updated
swiftTestingTestCaseNamesto convert backticked names with test prefix or underscores - Updated
genericExtensionsrule to support collection types - Updated
unusedPrivateDeclarationsto preserve properties used in compiler-generatedEquatableandHashableconformances - Increased stack size to 1MB for Linux release builds
- Fixed
redundantClosurefalse positive for if statements with no else branch - Fixed spaces around module selectors in generics
- Fixed
preferForLoopincorrectly applying to dollar-prefixed identifiers - Fixed blank line before trailing infix operators
- Fixed
swiftTestingTestCaseNamesnot adding backticks when required - Fixed
--preserve-acronymsto work as substring match, not just exact identifier match - Fixed
genericExtensionsrule leaving stray comma with additional where conditions - Fixed
indentdropping switch case body indentation inside#ifwith--ifdef no-indent - Fixed
redundantSwiftUIGroupremovingGroup(subviews:) - Fixed
redundantReturnremoving redundant returns from switch/if inside a flatMap closure - Fixed
--ifdef no-indentindentation for method chains and directives - Fixed
environmentEntryedge cases - Fixed
redundantInternalstripping required internal inside#ifin non-internal extensions - Fixed indent of trailing closure in method chain member inside
#if - Fixed
spaceAroundParensspurious violations for keyword identifiers after::module selector