Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 7, 2025

Note

Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to mend[bot].

This notice will be removed on 2025-10-07.


This PR contains the following updates:

Package Update Change
krzysztofzablocki/Sourcery minor 2.2.5 -> 2.3.0
nicklockwood/SwiftFormat minor 0.55.0 -> 0.58.3
realm/SwiftLint minor 0.57.0 -> 0.61.0

Release Notes

krzysztofzablocki/Sourcery (krzysztofzablocki/Sourcery)

v2.3.0

Compare Source

v2.2.7

Compare Source

v2.2.6

Compare Source

nicklockwood/SwiftFormat (nicklockwood/SwiftFormat)

v0.58.3

Compare Source

  • Fixed parsing of [n of X] syntax for InlineArray in Swift 6.2
  • Fixed parsing error when an opening multiline string delimiter is followed by a space
  • Fixed issue where redundantInit rule could leave orphaned parentheses
  • Fixed bug where redundantInit was incorrectly applied to (Foo.self as Bar.Type) expressions
  • Fixed bug with parsing empty property accessors that broke redundantSelf rule
  • Fixed aliasing issue with acronyms rule where one acronym overlaps another
  • Fixed unexpected wrapping of closing parenthesis in wrapArguments rule
  • Added --unknown-rules option to support environments with older SwiftFormat versions

v0.58.2

Compare Source

  • Fixed issue where modifierOrder rule confused async effect for async modifier
  • Fixed issue where testing related rules incorrectly treated functions with arguments as test cases
  • Updated redundantInit rule to apply to init calls with single trailing closure
  • Updated README.md to reflect actual precedence behavior between .swift-version files and --swift-version arguments.

v0.58.1

Compare Source

  • Fixed issue where async effect could be confused for async modifier, breaking docCommentsBeforeModifiers rule in protocol body with async functions
  • Fixed issue where wrapAttributes rule would unexpectedly wrap async effect
  • Fixed issue where .swift-version file was ignored if not also using config file
  • Fixed issue where multiple trailing closure syntax could be applied to ineligible function calls
  • Fixed issue where redundantAsync ignored await keyword in string interpolation
  • Fixed bug where acronyms rule would incorrectly always capitalize potentially matching acronyms one letter before end of identifier
  • Updated redundantLet rule to handle #Preview macro

v0.58.0

Compare Source

  • Added noForceUnwrapInTests rule
  • Added redundantThrows rule
  • Added redundantAsync rule
  • Added preferFinalClasses rule
  • Added support for Swift 6.2 raw identifiers
  • Updated trailingCommas rule to handle cases now supported by Swift 6.2
  • Updated trailingClosures rule to support multiple trailing closures
  • Added support for filtering config file options to a specific file path glob
  • Added --allow-partial-wrapping false option to disallow partial wrapping of functions and collections
  • Updated propertyTypes rule to support array, dictionary, and set literals
  • Added organizeDeclarations threshold options to organize types without adding marks
  • Added --type-body-marks remove option to organizeDeclarations
  • Updated organizeDeclarations to support organizing protocol bodies
  • Updated organizeDeclarations to treat associatedtype declarations as nested types, like typealias declarations.
  • Added --blank-line-after-switch-case always option to blankLineAfterSwitchCase
  • Add --default-test-suite-attributes option to preferSwiftTesting rule
  • Renamed --markdown-files options to strict and lenient
  • Updated redundantPublic rule to apply to private types
  • Updated trailingClosures and trailingCommas rules to support optional function calls
  • Fixed bug where markTypes rule wouldn't add marks after extensions
  • Fixed issue where redundantPublic broke @_spi annotated members
  • Improved parsing of nested markdown code blocks
  • Fixed issue where hoistTry rule could break @Test attribute
  • Fixed issue where redundantVoidReturnType rule could accidentally remove closure type
  • Fix blankLinesAroundMark not ignoring trailing comments at start of scope
  • Renamed throwingTests rule to noForceTryInTests
  • Updated singlePropertyPerLine to preserve async let declarations

v0.57.2

Compare Source

  • Updated trailingCommas rule to handle function declarations with generic arguments.
  • Updated --trailing-commas always to preserve trailing commas rather than unnecessarily removing trailing commas in some edge cases.
  • Fixed spurious deprecation message when using some non-deprecated options.

v0.57.1

Compare Source

  • Fixed issue where trailing commas were unexpectedly removed from initializer argument lists when using --trailing-commas always.
  • Fixed issue where redundantPublic rule didn't handle extensions on types defined in public extensions.
  • Added @Bindable to list of SwiftUI property wrappers used by organizeDeclarations rule.
  • Fixed case-sensitivity issue with preferFileMacro rule.

v0.57.0

Compare Source

  • Options now use --kebab-case. Existing option names without dashes remain supported for backwards compatibility. Some options have been renamed to improve clarity.
  • Added support for :this and :previous in comment directives.
  • Added support for formatting code blocks in Markdown files.
  • Added support for multiple --config file arguments.
  • Added singlePropertyPerLine rule to convert property declarations defining multiple properties into separate declarations.
  • Added redundantMemberwiseInit rule to remove explicit memberwise initializers that are identical to the struct's compiler-synthesized initializer.
  • Added redundantPublic rule to remove public access control from properties of internal types.
  • Added modifiersOnSameLine rule to keep declaration modifiers on the same line.
  • Added throwingTests rule to prefer using try and throws in unit tests rather than try!.
  • Added noGuardInTests rule to prefer convert guard statements in unit tests to try #require(...) / #expect(...) or try XCTUnwrap(...) / XCTAssert(...).
  • Added urlMacro rule to convert URL(string: "...")! initializers to a provided #URL("...") macro.
  • Added --trailing-commas collections-only and --trailing-commas multi-element-lists options to trailingCommas rule.
  • Added --type-blank-lines insert option to blankLinesAtStartOfScope and blankLinesAtEndOfScope rules.
  • Added --wrap-string-interpolation option to support disabling line wrapping within string interpolation.
  • Added --line-between-guards option to blankLinesAfterGuardStatements rule.
  • Added support for SARIF output format.
  • Improved performance of the docComments rule.
  • Fixed bug in docComments rule where trailing comments would be converted to doc comments.
  • Fixed bug where redundantNilInit rule would ignore type bodies with conformances.
  • Fixed bug where wrapEnumCases didn't handle some nested types correctly.
  • Fixed issue where # characters in config files couldn't be escaped.
  • Fixed issue where SwiftFormat for Xcode app would generate invalid config files with unescaped # characters.
  • Fixed issue where --wrap-return-type never didn't respect --allman true.

v0.56.4

Compare Source

  • Fixed issue where trailingCommas rule would not insert trailing commas in function declarations with return type
  • Fixed issue where trailingCommas rule would not insert trailing commas in array literals following ! operator
  • Fixed issue where unusedArguments rule would ignore function declarations with trailing commas
  • Fixed issue where void rule would not handle () types in typealiases
  • Fixed issue where redundantLet rule did not detect code inside result builders when nested in conditional compilation blocks

v0.56.3

Compare Source

  • Fixed issue where trailingCommas rule would insert commas in closure types and tuple types used in typealaises (not supported in Swift 6.1)

v0.56.2

Compare Source

  • Fixed issues where trailingCommas rule would insert commas in @escpaing or @Sendable closure types (not supported in Swift 6.1)
  • Fixed issue where privateStateVariables rule handled @Previewable attributes on previous line incorrectly

v0.56.1

Compare Source

  • Fixed several issues where trailingCommas rule would insert commas in places not actually supported by Swift 6.1
  • Fixed issue where --wrapeffects option would incorrectly unwrap async let properties following function call
  • Fixed issue where redundantEquatable rule would incorrectly remove == implementation in factor of synthesized implementation even if type contained non-Equatable properies like tuples
  • Fixed issue where extensionAccessControl rule would incorrectly hoist public ACL in @preconcurrency conformances
  • Fixed issue where organizeDeclarations rule would sometimes break property declarations with if expression values

v0.56.0

Compare Source

  • Added wrapMultilineFunctionChains rule to wrap chained method calls
  • Added environmentEntry rule to update SwiftUI EnvironmentValues definitions to use the @Entry macro
  • Added redundantEquatable rule to remove explicit Equatable conformances that would be compiler-synthesized
  • Added preferSwiftTesting rule to migrate XCTest-based tests to Swift Testing
  • Added swiftTestingTestCaseNames rule to remove redundant "test" prefix from Swift Testing test case methods.
  • Added preferCountWhere rule to prefer count(where:) over filter(_:).count
  • Added fileMacro rule to prefer either #file or #fileID, which have the same behavior in Swift 6 and later
  • Added blankLinesAfterGuardStatements rule to remove blank lines between consecuitve guard statements, and add blank line after last guard statement.
  • Added privateStateVariables rule to add private access control to @State properties
  • Added emptyExtensions rule to remove extensions that contain no declarations or conformances
  • Added --preserveacronyms option to acronyms rule
  • Added --wrapreturntype never option to wrapArguments rule
  • Updated trailingCommas to support Swift 6.1 trailing comma functionality
  • opaqueGenericParameters now supports protocol requirements without a body
  • --wrapeffects and --wrapreturntype now support protocol requirements and closure types
  • Fixed indentation of trailing closures after chained multiline method call when using same-line closing parens
  • blankLinesAtStartOfScope rule now supports switch cases and closure capture / parameter lists
  • Fixed issue where type under organizeDeclarations line count threshold would ignore swiftformat:sort directives
  • Fixed issue where organizeDeclarations rule would unexpectedly remove non-mark comments
  • Compiling SwiftFormat now requires Swift 5.7+
  • SwiftFormat prerelease builds can now be installed via Homebrew using brew install swiftformat --head. Prerelease builds are subject to breaking changes.

v0.55.6

Compare Source

  • Fixed parsing bugs related to parameter packs (repeat, each keywords)
  • Fixed bug where propertyTypes rule could cause build failure in properties with some type
  • Fixed bug where --callsiteparen balanced would have no effect when using --closingparen same-line
  • Fatal error messages now include the name of the currently-running rule
  • Docker build now uses Swift 6.0.3

v0.55.5

Compare Source

  • Fixed bug with yodaConditions rule mangling generic function calls
  • Fixed indenting of guard else or opening brace following if/switch expression
  • The organizeDeclarations rule no longer treats properties with didSet as computed
  • Improved formatting support for async and throwing closures

v0.55.4

Compare Source

  • Fixed inconsistent indenting of wrapped where clause for switch ... case statements
  • Fixed bug where unusedArguments could remove required arguments in some cases
  • The sortTypealiases rule now correctly handles any keyword

v0.55.3

Compare Source

  • Fixed bug where sortTypealiases rule could mangle generic types, or ones using the any keyword
  • The preferKeyPaths rule now only uses \\.self for Swift 6 and later (fix din't land yet in 5.10)
  • Added speculative fix for plugin artifactbundle not working on ubuntu-latest

v0.55.2

Compare Source

  • Fixed bug where unusedArguments failed to remove arguments that matched switch variable bindings
  • Fixed bug where unusedArguments failed to remove arguments that matched nested function call labels
  • Fixed spurious lint errors for blankLinesAtStartOfScope when using organizeDeclarations rule
  • Fixed bug where indentation errors were incorrectly reported as wrap rule lint errors
  • The preferKeyPaths rule now handles the \\.self case for Swift 5.10 and later
  • Fixed parsing of keyPaths beginning with \.?

v0.55.1

Compare Source

  • Fixed bug where docCommentsBeforeModifiers got confused by enum cases that match modifier names
  • Fixed bug where wrapEnumCases would mangle nested or successive enum declarations
  • Artifact Bundle now includes pre-built binary for ARM-based Linux systems
realm/SwiftLint (realm/SwiftLint)

v0.61.0

Compare Source

Breaking
  • If SWIFTLINT_DISABLE_SOURCEKIT is set to prohibit loading libsourcekitdInProc at runtime,
    rules requiring SourceKit will be disabled and a warning will be printed once per rule.
    SimplyDanny

  • The operator_whitespace rule has been removed and its functionality merged into the
    function_name_whitespace rule. The latter now also checks spacing around the func
    keyword, the function name/operator and its generic parameters while respecting comments.
    On top of that, it supports autocorrection.
    SimplyDanny

  • Expose only TestHelpers and ExtraRulesTests as part of Bazel releases.
    SimplyDanny

Experimental
  • Both Linux release archives (for AMD64 and ARM64) now contain two binaries:
    • A dynamically linked binary that requires libsourcekitdInProc.so together with its
      transitive dependencies to be present on the system at runtime. It is named swiftlint
      and the same binary as before. It supports all built-in rules.
    • A fully statically linked binary named swiftlint-static that does not require
      any dynamic libraries at runtime. Rules requiring SourceKit will be disabled and
      reported to the console when running this binary.
    SimplyDanny
Enhancements
  • A fully statically linked Linux binary can now be built with the Swift SDK and
    the compiler options -Xswiftc -DSWIFTLINT_DISABLE_SOURCEKIT. This binary does not
    require libsourcekitdInProc.so or any other dynamic libraries to be present on the
    system at runtime. Rules requiring SourceKit will be disabled and reported to the console
    when running this binary.
    SimplyDanny

  • Add function_name_whitespace rule to enforce consistent spacing between the func
    keyword, function name, and its generic parameters. Ensures exactly one space between
    func and the function name, and configurable spacing around generics via
    generic_spacing:

    • no_space (default): func name<T>()
    • leading_space: func name <T>()
    • trailing_space: func name<T> ()
    • leading_trailing_space: func name <T> ()
      Supports autocorrection.
      GandaLF2006
  • The operator_whitespace rule now supports autocorrection and better respects comments in
    function declarations. The rule has been deprecated in favor of the new function_name_whitespace
    rule. You can still refer to it by its identifier, but get checking for normal function names
    on top.
    SimplyDanny

  • In line_length rule, treat strings with opening and closing quotes in the same line as
    single-line strings no matter if they are enclosed by triple quotes or not. Furthermore,
    improve detection of comment-only lines.
    SimplyDanny
    #​6220
    #​6219

  • Improve detection of comment-only lines in file_length rule.
    SimplyDanny
    #​6219

  • Rewrite quick_discouraged_call rule with SwiftSyntax.
    SimplyDanny

Bug Fixes
  • Ensure that header matched against always end in a newline in file_header rule.
    SimplyDanny
    #​6227

  • Fix closure_end_indentation rule reporting violations when the called base
    involves chained optional expressions.
    SimplyDanny
    #​6216

v0.60.0

Compare Source

Breaking
  • Remove support for boolean values in the validates_start_with_lowercase option entirely.
    Use the severity levels off, warning or error instead.
    kaseken

  • SwiftLint now requires macOS 13 or higher to run.
    JP Simard

  • In SwiftLintBuildToolPlugin, print the content of the BUILD_WORKSPACE_DIRECTORY
    environment variable only in debug builds.
    SimplyDanny
    #​6135

  • The redundant_optional_initialization rule has been replaced by the
    implicit_optional_initialization rule that enforces implicit or explicit initialization
    of optional variables. Its default style always mimics the behavior of the
    redundant_optional_initialization rule by default. redundant_optional_initialization
    is now an alias for implicit_optional_initialization.
    leo-lem
    #​1940

  • The swiftlint_linux.zip release archive has been renamed to swiftlint_linux_amd64.zip
    to avoid confusion with the new swiftlint_linux_arm64.zip archive.
    Bradley Mackey
    SimplyDanny

Experimental
  • None.
Enhancements
  • Linting got up to 30% faster due to the praiseworthy performance
    improvements done in the SwiftSyntax
    library.

  • Ignore locally defined count identifiers in empty_count rule.
    SimplyDanny
    #​5326

  • The private_swiftui_state rule now applies to ViewModifier types.
    mt00chikin

  • Support for ARM64 Linux binaries has been added. The swiftlint_linux.zip release archive
    has been renamed to swiftlint_linux_amd64.zip. Next to it, a new swiftlint_linux_arm64.zip
    archive has been added. The SwiftLintBinary.artifactbundle.zip now contains both versions
    of the Linux binary, so that the binary plugins
    can now be used on Linux and macOS running no both AMD64 and ARM64 architectures.
    Bradley Mackey
    SimplyDanny

  • Add include_variables configuration option to non_optional_string_data_conversion rule.
    When enabled, the rule will trigger on variables, properties, and function calls in addition
    to string literals. Defaults to false for backward compatibility.
    SimplyDanny
    #​6094

  • Add Sendable conformance to Rule.Type for building with Swift 6.
    erikkerber
    #issue_number

  • Fix false positives for Actor-conforming delegate protocols in the
    class_delegate_protocol rule.
    imsonalbajaj
    #​6054

  • Support extensions and protocols in type_body_length rule. They can be configured using the
    new excluded_types option which by default excludes extension and protocol types.
    This means the rule now checks struct, class, actor and enum by default. To enable
    checking of extensions and protocols, set excluded_types to an empty array or exclude other
    types as needed.
    SimplyDanny

  • Exclude explicit system modules from duplicate_imports analysis, that is, modules
    that are part of the system frameworks but need to be imported explicitly due to being
    declared as explicit module in their module map.
    SimplyDanny
    #​6098

  • Ignore various assignment operators like =, +=, &=, etc. with right-hand side
    ternary expressions otherwise violating the void_function_in_ternary rule.
    SimplyDanny
    #​5611

  • Rewrite the following rules with SwiftSyntax:

    • accessibility_label_for_image
    • accessibility_trait_for_button
    • closure_end_indentation
    • expiring_todo
    • file_header
    • file_length
    • line_length
    • trailing_whitespace
    • vertical_whitespace

    JP Simard
    Matt Pennig

  • Add excluded_paths option to the file_name rule. It allows to exclude complete file
    paths from analysis. All entries are treated as regular expressions. A single match in
    its full path is enough to ignore a file. This is different from the excluded option
    that only accepts and checks against file names.
    Ueeek
    #​6066

  • Fix false positives of redundant_discardable_let rule in @ViewBuilder functions,
    #Preview macro bodies and preview providers when ignore_swiftui_view_bodies is
    enabled.
    kaseken
    #​6063

  • Improve multiline_parameters rule to correctly support
    max_number_of_single_line_parameters and detect mixed formatting.
    GandaLF2006

  • Add new prefer_condition_list rule that triggers when a guard/if/while
    condition is composed of multiple expressions connected by the && operator.
    It suggests to use a condition list instead, which is more idiomatic.
    SimplyDanny

  • Add ignore_coding_keys parameter to nesting rule. Setting this to true prevents
    CodingKey enums from violating the rule.
    braker1nine
    #​5641

  • Support deinitializers and subscripts in function_body_length rule.
    SimplyDanny

  • Extend the xct_specific_matcher rule to support identity operators (=== and !==)
    in addition to the existing equality operators (== and !=).
    SimplyDanny
    #​5849

  • Add new implicit_optional_initialization rule to enforce implicit or explicit
    initialization of optional variables, configurable via style: always | never.
    It replaces the redundant_optional_initialization rule mimicking it with the
    style: always option which is the default.
    leo-lem
    #​1940

  • Add new ignore_identity_closures parameter to prefer_key_paths rule to skip
    conversion of identity closures ({ $0 }) to identity key paths (\.self).
    Note that identity key paths are only supported from Swift 6 on, hence this option
    will be implicitly ignored/set to true when SwiftLint detects a Swift <6 compiler
    to avoid causing compilation errors.
    p4checo
    #​5965

Bug Fixes
  • Fix no_extension_access_modifier rule incorrectly triggering for nonisolated extension.
    The rule now only flags actual access control modifiers (private, public, open,
    internal, fileprivate) and ignores isolation modifiers like nonisolated.
    copilot
    #​6168

  • Improved error reporting when SwiftLint exits, because of an invalid configuration file
    or other error.
    Martin Redington
    #​6052

  • Keep the default severity levels when neither warning nor error values are configured.
    Ensure especially that the error level is not set to nil when the warning level
    isn't set either.
    SimplyDanny

v0.59.1

Compare Source

Breaking
  • Remove opaque_over_existential opt-in rule as it causes too many false positives
    that can even lead to wrong-compilable code when any is required by a protocol the
    type conforms to. In this case, using some can be totally valid even though the
    protocol requirement is not reimplemented for the type causing behavioral changes.
    SimplyDanny
Experimental
  • None.
Enhancements
Bug Fixes
  • None.

v0.59.0

Compare Source

Breaking
  • Remove tracking of correction positions. Print the number of corrections applied instead.
    SimplyDanny
Experimental
  • Introduce swiftlint-dev command line tool that's intended to help to develop SwiftLint by encapsulating repetitive
    tasks. It can already be used to generate templates for new rules including optional configurations and tests. Run
    swift run swiftlint-dev rules template -h to get an overview of the command's usage and the available customization
    options. To register new rules, run swift run swiftlint-dev rules register.
    SimplyDanny
Enhancements
  • Add new option ignores_multiline_strings to line_length rule. It allows to ignore too long
    lines inside of multiline strings.
    thisIsTheFoxe
    #​2689

  • Ignore UIColor initializers in no_magic_numbers rule.
    suojae
    hyeffie
    #​5183

  • Exclude types with a @Suite attribute and functions annotated with @Test from no_magic_numbers rule.
    Also treat a type as a @Suite if it contains @Test functions.
    SimplyDanny
    #​5964

  • Add new opaque_over_existential opt-in rule that triggers when the existential any type of a
    function parameter can be replaced with an opaque some type.
    SimplyDanny

  • Add a new rationale property to rule descriptions, providing a more expansive
    description of the motivation behind each rule.
    Martin Redington
    #​5681

  • Add new allowed_types option to legacy_objc_type rule to ignore certain types.
    kapitoshka438
    #​3723

  • Add excluded_methods configuration option to unneeded_override to opt out checking methods with a given name.
    For example, this helps avoid a conflict with balanced_xctest_lifecycle where one of setUp/tearDown
    is empty but the other is not.
    jaredgrubb

Bug Fixes
  • Fix issue referencing the Tests package from another Bazel workspace.
    jszumski

  • Fix crash when a disable command is preceded by a unicode character.
    SimplyDanny
    #​5945

  • Allow severity of duplicate_imports rule to be configurable.
    SimplyDanny
    #​5978

  • Silence no_magic_numbers rule in conditions of #if directives.
    SimplyDanny
    #​6000

  • Consider types restricting a protocol to classes in composed inherited types in class_delegate_protocol rule.
    SimplyDanny
    #​5982

  • Rewrite type_contents_order rule with SwiftSyntax fixing an issue with experimental availability macros.
    SimplyDanny
    #​5999

  • Update file_name rule to consider macro types.
    fraioli
    #​6026

v0.58.2

Compare Source

Breaking
  • None.
Experimental
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix version being reported by the binary consumed from the Docker image.
    SimplyDanny
    #​5966

v0.58.1

Compare Source

Breaking
  • If you are referring to the swiftlint binary from an Artifact Bundle consumed via Swift Package Manager
    in an Xcode Run Script Build Phase, make sure to update the path from

    "$SWIFT_PACKAGE_DIR"/swiftlintplugins/SwiftLintBinary/SwiftLintBinary.artifactbundle/swiftlint-*/bin/swiftlint

    to

    "$SWIFT_PACKAGE_DIR"/swiftlintplugins/SwiftLintBinary/SwiftLintBinary.artifactbundle/swiftlint-*-macos/bin/swiftlint

    in order to make Xcode use the binary built for macOS.
    SimplyDanny
    #​5954

  • Revert changes to improve performance when exclude patterns resolve to a large set of files. While resolving files
    indeed got much faster in certain setups, it leads to missed exclusions for nested configurations and when the linted
    folder is not the current folder.
    SimplyDanny
    #​5953

Experimental
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix redundant_sendable correction by removing a remaining trailing comma as well when Sendable was last.
    SimplyDanny
    #​5952

  • Remove lints for redundant_sendable on protocols, where Sendable is not redundant.
    riley-williams
    #​5958

  • Add ib_segue_action to default configuration of type_contents_order rule on the same level as ib_action to
    define and document a standard position.
    SimplyDanny
    #​5524

v0.58.0

Compare Source

Breaking
  • The command plugin now requires write permissions so that it works with the --fix option without an error.
    SimplyDanny

  • The artifact bundle name has changed. SwiftLintBinary-macos.artifactbundle.zip is now called
    SwiftLintBinary.artifactbundle.zip. It now includes an AMD64 Linux binary.
    Bradley Mackey
    #​5514

  • The inert_defer and unused_capture_list rules have completely been removed after being deprecated for 2 years.
    SimplyDanny

  • SwiftLint now requires a Swift 5.10 or higher compiler to build.
    The Swift Package Manager plugins continue to work with
    Swift 5.9.
    SimplyDanny

  • The private_unit_test rule's deprecated regex configuration option has been removed after 2 years.
    Martin Redington
    #​5912

Experimental
  • None.
Enhancements
  • Add Xcode command plugin allowing to run SwiftLint from within Xcode.
    SimplyDanny

  • Add new async_without_await opt-in rule that checks if an async declaration contains at least one await.
    Jan Kolarik
    #​5082

  • Support replacing identity expressions with \.self in prefer_key_path rule from Swift 6 on.
    SimplyDanny

  • Support linting only provided file paths with command plugins.
    DanSkeel

  • Add new category for @IBSegueAction to type_contents_order rule.
    dk-talks
    SimplyDanny

  • Add option to disable redundant_discardable_let rule in SwiftUI view bodies.
    SimplyDanny
    #​3855

  • Add new redundant_sendable rule that triggers on Sendable conformances of
    types that are implicitly already Sendable due to being actor-isolated. It
    is enabled by default.
    SimplyDanny

  • Improve performance when exclude patterns resolve to a large set of files.
    SimplyDanny
    #​5018

Bug Fixes
  • Ignore TipKit's #Rule macro in empty_count rule.
    Ueeek
    #​5883

  • Ignore super calls with trailing closures in unneeded_override rule.
    SimplyDanny
    #​5886

  • If violations are detected by lint or analyze, still perform an update
    check for new versions of SwiftLint if requested.
    Martin Redington
    #​5904

v0.57.1

Compare Source

Breaking
  • None.
Experimental
  • None.
Enhancements
  • Suggest failable String(bytes:encoding:) initializer in
    optional_data_string_conversion rule as it accepts all Sequence
    types.
    Jordan Rose
    SimplyDanny

  • Support reading files to lint from Input File Lists provided
    by Run Script Build Phases in Xcode using the command-line
    argument --use-script-input-file-lists.
    BlueVirusX

  • Adds a lenient configuration file setting, equivalent to the --lenient
    command line option.
    Martin Redington
    #​5801

  • Support type casting on configuration option values defined by environment variables.
    Without a cast, these values would always be treated as strings leading to a potentially
    invalid configuration.
    SimplyDanny
    #​5774

  • Add new option max_number_of_single_line_parameters that allows only the specified maximum
    number of parameters to be on one line when allows_single_line = true. If the limit is
    exceeded, the rule will still trigger. Confusing option combinations like allows_single_line = false
    together with max_number_of_single_line_parameters > 1 will be reported.
    kimdv
    SimplyDanny
    #​5781

  • The redundant_type_annotation rule gains a new option,
    ignore_properties, that skips enforcement on members in a
    type declaration (like a struct). This helps the rule coexist with
    the explicit_type_interface rule that requires such redundancy.
    jaredgrubb
    #​3750

  • Allow inherited isolation parameter to be first in function signatures
    depending on the new option ignore_first_isolation_inheritance_parameter
    which is true by default.
    SimplyDanny
    #​5793

Bug Fixes
  • Run command plugin in whole package if no targets are defined in the
    package manifest.
    SimplyDanny
    #​5787

  • Silence superfluous_else rule on if expressions with only a single
    availability condition.
    SimplyDanny
    #​5833

  • Stop triggering the control_statement rule on closures being directly
    called as conditions.
    SimplyDanny
    #​5846

  • Do not trigger self_in_property_initialization rule on self in
    key paths expressions.
    SimplyDanny
    #​5835

  • Allow to specify transitive modules to be taken into account by
    unused_import rule. This avoids that required imports are removed.
    Paul Taykalo
    SimplyDanny
    #​5167

  • Only pass cache path and directory paths to commands that accept these arguments
    in the command plugin.
    SimplyDanny
    #​5848

  • Do not throw deprecation warning if deprecated property is not
    presented in configuration.
    chipp
    #​5791

  • The prefer_type_checking rule will no longer trigger for non-optional
    type casting (as), or for comparisons to optional types.
    Martin Redington
    #​5802

  • Fixes an issue where the superfluous_disable_command rule could generate
    false positives for nested disable commands for custom rules.
    Martin Redington
    #​5788

  • Fixes the --only-rule command line option, when a default .swiftlint.yml
    is absent. Additionally rules specified with --only-rule on the command
    line can now be disabled in a child configuration, to allow specific
    directories to be excluded from the rule (or from being auto-corrected by
    the rule), and --only-rule can now be specified multiple times
    to run multiple rules.
    Martin Redington
    #​5711

  • Fixes file_name rule to match fully-qualified names of nested types.
    Additionally adds a require_fully_qualified_names boolean option to enforce
    that file names match nested types only using their fully-qualified name.
    fraioli
    #​5840

  • Fixes an issue where the vertical_whitespace_between_cases rule does not
    recognize @unknown default.
    Jared Grubb
    #​5788


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from ctreffs as a code owner March 7, 2025 17:45
@renovate renovate bot added the mint label Mar 7, 2025
Copy link

codecov bot commented Mar 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.21%. Comparing base (5a7e7f6) to head (94811fd).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #94   +/-   ##
=======================================
  Coverage   97.21%   97.21%           
=======================================
  Files          24       24           
  Lines        1435     1435           
=======================================
  Hits         1395     1395           
  Misses         40       40           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 0456356 to 6d81778 Compare March 7, 2025 18:09
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch 13 times, most recently from e2e9dd2 to 80e34b5 Compare March 7, 2025 22:37
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 80e34b5 to 47dc135 Compare April 5, 2025 14:52
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 47dc135 to 3af6f7a Compare April 15, 2025 16:46
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 3af6f7a to 1ab3f2c Compare May 2, 2025 22:11
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch 3 times, most recently from 6b48698 to 422a6bb Compare May 14, 2025 12:47
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 422a6bb to 7abaa77 Compare May 27, 2025 20:43
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 7abaa77 to a0db959 Compare June 5, 2025 01:32
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from a0db959 to 3d58f24 Compare June 15, 2025 17:56
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch 2 times, most recently from fb024cd to 1419438 Compare July 14, 2025 14:37
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 1419438 to 1d564e3 Compare July 15, 2025 03:30
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from 1d564e3 to 9830fce Compare August 31, 2025 09:19
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch 3 times, most recently from 6f98caf to dfd0a22 Compare September 24, 2025 16:31
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from dfd0a22 to ff1497a Compare September 29, 2025 17:10
@renovate renovate bot force-pushed the renovate/mint-non-major-dependencies branch from ff1497a to 94811fd Compare October 4, 2025 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants