Releases: realm/SwiftLint
0.47.0-rc.4: Smart Appliance
This is a prerelease version. It won't be published to Homebrew or CocoaPods. But there are many other ways to install:
- Downloading the attached
SwiftLint.pkg
installer and launching it - Downloading the attached
portable_swiftlint.zip
archive, extracting it and moving the binary fromportable_swiftlint/swiftlint
to/usr/local/bin
or elsewhere in yourPATH
- Using Mint:
mint install realm/[email protected]
- Cloning and building from source:
git clone https://github.com/realm/SwiftLint.git && cd SwiftLint && git checkout 0.47.0-rc.4 && make install
- Docker:
docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.47.0-rc.4
Changes from 0.46.5: 0.46.5...0.47.0-rc.4
Changes from 0.47.0-rc.3: 0.47.0-rc.3...0.47.0-rc.4
Breaking
-
SwiftLint now requires Swift 5.5 or higher to build.
JP Simard -
The
SwiftLintFramework
podspec has been removed. To our knowledge, this was
completely unused by other projects and was not worth the complexity needed
to justify its continued maintenance, especially in light of the integration
of SwiftSyntax. TheSwiftLint
podspec is still supported.
JP Simard -
SwiftLint now requires at least Swift 5.0 installed in order to lint files.
Marcelo Fabri
Experimental
- The
force_cast
rule and the comment command parsing mechanism have been
updated to use SwiftSyntax instead of SourceKit. Please report any problems
you encounter by opening a GitHub issue. If this is successful, more rules may
use Swift Syntax in the future.
JP Simard
Enhancements
-
Empty files no longer trigger any violations.
JP Simard
#3854 -
The
legacy_random
rule is now enabled by default.
Marcelo Fabri -
The
deployment_target
rule now supports the#unavailable
syntax
added in Swift 5.6.
Marcelo Fabri
#3896 -
Set the
IN_PROCESS_SOURCEKIT
environment variable, which will use
the in-process version of sourcekitd on macOS when Xcode 13 or later is
selected. This avoids the use of XPC, which is prohibited in some sandboxed
environments, such as in Swift Package Manager plugins.
Juozas Valancius
Bug Fixes
-
Extend
class_delegate_protocol
to correctly identify cases with the protocol
body opening brace on a new line.
Tobisaninfo -
Fix SwiftLint.pkg installer installing multiple copies of SwiftLint.
JP Simard
#3815
#3887
0.47.0-rc.3: Smart Appliance
This is a prerelease version. It won't be published to Homebrew or CocoaPods. But there are many other ways to install:
- Downloading the attached
SwiftLint.pkg
installer and launching it - Downloading the attached
portable_swiftlint.zip
archive, extracting it and moving the binary fromportable_swiftlint/swiftlint
to/usr/local/bin
or elsewhere in yourPATH
- Using Mint:
mint install realm/[email protected]
- Cloning and building from source:
git clone https://github.com/realm/SwiftLint.git && cd SwiftLint && git checkout 0.47.0-rc.3 && make install
- Docker:
docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.47.0-rc.3
Changes from 0.46.5: 0.46.5...0.47.0-rc.3
Changes from 0.47.0-rc.2: 0.47.0-rc.2...0.47.0-rc.3
Breaking
-
SwiftLint now requires Swift 5.5 or higher to build.
JP Simard -
The
SwiftLintFramework
podspec has been removed. To our knowledge, this was
completely unused by other projects and was not worth the complexity needed
to justify its continued maintenance, especially in light of the integration
of SwiftSyntax. TheSwiftLint
podspec is still supported.
JP Simard -
SwiftLint now requires at least Swift 5.0 installed in order to lint files.
Marcelo Fabri
Experimental
- The
force_cast
rule and the comment command parsing mechanism have been
updated to use SwiftSyntax instead of SourceKit. Please report any problems
you encounter by opening a GitHub issue. If this is successful, more rules may
use Swift Syntax in the future.
JP Simard
Enhancements
-
Empty files no longer trigger any violations.
JP Simard
#3854 -
The
legacy_random
rule is now enabled by default.
Marcelo Fabri -
The
deployment_target
rule now supports the#unavailable
syntax
added in Swift 5.6.
Marcelo Fabri
#3896 -
SwiftSyntax has been updated to its Swift 5.6 release and may improve parsing
of Swift 5.6 code.
JP Simard -
Add
IN_PROCESS_SOURCEKIT
environment variable, which uses
the in-process version of sourcekitd on macOS when Xcode 13 or later is
selected. This avoids the use of XPC, which is prohibited in some sandboxed
environments, such as in Swift Package Manager plugins.
Juozas Valancius
Bug Fixes
-
Extend
class_delegate_protocol
to correctly identify cases with the protocol
body opening brace on a new line.
Tobisaninfo -
Fix SwiftLint.pkg installer installing multiple copies of SwiftLint.
JP Simard
#3815
#3887
0.47.0-rc.2: Smart Appliance
This is a prerelease version. It won't be published to Homebrew or CocoaPods. But there are many other ways to install:
- Downloading the attached
SwiftLint.pkg
installer and launching it - Downloading the attached
portable_swiftlint.zip
archive, extracting it and moving the binary fromportable_swiftlint/swiftlint
to/usr/local/bin
or elsewhere in yourPATH
- Using Mint:
mint install realm/[email protected]
- Cloning and building from source:
git clone https://github.com/realm/SwiftLint.git && cd SwiftLint && git checkout 0.47.0-rc.2 && make install
- Docker:
docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.47.0-rc.2
Changes from 0.46.5: 0.46.5...0.47.0-rc.2
Changes from 0.47.0-rc.1: 0.47.0-rc.1...0.47.0-rc.2
Breaking
-
SwiftLint now requires Swift 5.5 or higher to build.
JP Simard -
The
SwiftLintFramework
podspec has been removed. To our knowledge, this was
completely unused by other projects and was not worth the complexity needed
to justify its continued maintenance, especially in light of the integration
of SwiftSyntax. TheSwiftLint
podspec is still supported.
JP Simard -
SwiftLint now requires at least Swift 5.0 installed in order to lint files.
Marcelo Fabri
Experimental
- The
force_cast
rule and the comment command parsing mechanism have been
updated to use SwiftSyntax instead of SourceKit. Please report any problems
you encounter by opening a GitHub issue. If this is successful, more rules may
use Swift Syntax in the future.
JP Simard
Enhancements
-
Empty files no longer trigger any violations.
JP Simard
#3854 -
The
legacy_random
rule is now enabled by default.
Marcelo Fabri -
The
deployment_target
rule now supports the#unavailable
syntax
added in Swift 5.6.
Marcelo Fabri
#3896 -
Add
IN_PROCESS_SOURCEKIT
environment variable, which uses
the in-process version of sourcekitd on macOS when Xcode 13 or later is
selected. This avoids the use of XPC, which is prohibited in some sandboxed
environments, such as in Swift Package Manager plugins.
Juozas Valancius
Bug Fixes
-
Extend
class_delegate_protocol
to correctly identify cases with the protocol
body opening brace on a new line.
Tobisaninfo -
Fix SwiftLint.pkg installer installing multiple copies of SwiftLint.
JP Simard
#3815
#3887
0.47.0-rc.1: Smart Appliance
This is a prerelease version. It won't be published to Homebrew or CocoaPods. But there are many other ways to install:
- Downloading the attached
SwiftLint.pkg
installer and launching it - Downloading the attached
portable_swiftlint.zip
archive, extracting it and moving the binary fromportable_swiftlint/swiftlint
to/usr/local/bin
or elsewhere in yourPATH
- Using Mint:
mint install realm/[email protected]
- Cloning and building from source:
git clone https://github.com/realm/SwiftLint.git && cd SwiftLint && git checkout 0.47.0-rc.1 && make install
- Docker:
docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.47.0-rc.1
Changes from 0.46.5: 0.46.5...0.47.0-rc.1
Breaking
-
SwiftLint now requires Swift 5.5 or higher to build.
JP Simard -
The
SwiftLintFramework
podspec has been removed. To our knowledge, this was
completely unused by other projects and was not worth the complexity needed
to justify its continued maintenance, especially in light of the integration
of SwiftSyntax. TheSwiftLint
podspec is still supported.
JP Simard
Experimental
- The
force_cast
rule and the comment command parsing mechanism have been
updated to use SwiftSyntax instead of SourceKit. Please report any problems
you encounter by opening a GitHub issue. If this is successful, more rules may
use Swift Syntax in the future.
JP Simard
0.46.5: Laundry Studio
Breaking
- None.
Experimental
- None.
Enhancements
- None.
Bug Fixes
-
Fix
empty_parentheses_with_trailing_closure
rule when using Swift 5.6.
Marcelo Fabri
#3846 -
Fix false negatives in
closure_parameter_position
rule with Swift 5.6.
Marcelo Fabri
#3845 -
Fix regression in
last_where
rule when using Swift 5.6.
Marcelo Fabri
#3847 -
Fix regression in
unused_import
rule when using Swift 5.6.
JP Simard
#3849 -
Fix regression in
trailing_closure
rule when using Swift 5.6.
Marcelo Fabri
#3848
0.46.4: Detergent Tray
Breaking
- None.
Experimental
- None.
Enhancements
- None.
Bug Fixes
-
Ignore meta class types in
prefer_self_in_static_references
rule.
SimplyDanny
#3804 -
Ignore MARK in multiline comment, fixing cases that would previously crash or
produce invalid results when correcting.
goranche
#1749
#3841 -
Fix false positive in
EmptyEnumArgumentsRule
rule when using Swift 5.6.
Marcelo Fabri
#3850
0.46.3: Detergent Spill
Breaking
- None.
Experimental
- None.
Enhancements
- Change fingerprint generation in
CodeClimateReporter.swift
to use
the relative file path to better support CI/CD on multiple machines.
HA Pors
Bug Fixes
-
Fix crash in the
closure_end_indentation
rule when linting with
Swift 5.6.
JP Simard
#3830 -
Fix default rules section in documentation.
Natan Rolnik
#3857
0.46.2: Detergent Package
Breaking
- None.
Experimental
- None.
Enhancements
- None.
Bug Fixes
-
Fix SwiftLint.pkg installer on macOS 11 or later.
JP Simard
#3815 -
Ignore
prefer_self_in_static_references
rule in extensions
generally.
SimplyDanny
#3775 -
Fix
class_delegate_protocol
false positives when usingwhere
clause.
Steven Magdy
0.46.1: Detergent Container
Breaking
Experimental
- None.
Enhancements
-
Official Docker images are now available. See the
Docker section of the README for usage
instructions.
Francisco Javier Trujillo Mata -
Allow
unused_setter_value
for overrides.
Adrian Debbeler
#2585
Bug Fixes
-
Fix
convenience_type
false positives when using actors.
JP Simard
#3770 -
Fix false positives in the
prefer_self_in_static_references
rule.
SimplyDanny
#3768 -
Fix the regex for expiring TODO comments.
Sergei Shirokov
#3767 -
Fix crash when parsing multi-line attributes with the
attributes
rule.
JP Simard
#3761 -
Fix false positives in
unused_closure_parameter
when using
list element bindings in SwiftUI.
Paul Williamson
#3790 -
Fix the cache path not being properly set when using nested
configurations.
Andrés Cecilia Luque
0.46.0: Detergent Container
Breaking
- The
weak_delegate
rule has been deprecated due to its high false
positive rate. The identifier will become invalid in a future
release.
JP Simard
#2786
Experimental
- None.
Enhancements
-
Official Docker images are now available. See the
Docker section of the README for usage
instructions.
Francisco Javier Trujillo Mata -
Allow
unused_setter_value
for overrides.
Adrian Debbeler
#2585
Bug Fixes
-
Fix
convenience_type
false positives when using actors.
JP Simard
#3770 -
Fix false positives in the
prefer_self_in_static_references
rule.
SimplyDanny
#3768 -
Fix the regex for expiring TODO comments.
Sergei Shirokov
#3767 -
Fix crash when parsing multi-line attributes with the
attributes
rule.
JP Simard
#3761 -
Fix false positives in
unused_closure_parameter
when using
list element bindings in SwiftUI.
Paul Williamson
#3790 -
Fix the cache path not being properly set when using nested
configurations.
Andrés Cecilia Luque