|
16 | 16 | [SimplyDanny](https://github.com/SimplyDanny) |
17 | 17 | [#6501](https://github.com/realm/SwiftLint/issues/6501) |
18 | 18 |
|
| 19 | +* Add new `redundant_final` rule that detects `final` modifiers on declarations |
| 20 | + where they are redundant due to the containing context, such as `final` classes |
| 21 | + or actors. Final actors are themselves implicitly final, so the `final` modifier |
| 22 | + is redundant on them as well. |
| 23 | + [william-laverty](https://github.com/william-laverty) |
| 24 | + [SimplyDanny](https://github.com/SimplyDanny) |
| 25 | + [#6407](https://github.com/realm/SwiftLint/issues/6407) |
| 26 | + |
19 | 27 | * Add `discouraged_default_parameter` opt-in rule that flags default parameter |
20 | 28 | values in functions with configurable access levels. |
21 | 29 | [William-Laverty](https://github.com/William-Laverty) |
|
40 | 48 | [theamodhshetty](https://github.com/theamodhshetty) |
41 | 49 | [#5741](https://github.com/realm/SwiftLint/issues/5741) |
42 | 50 |
|
| 51 | +* Add detection of cases such as `String.init(decoding: data, as: UTF8.self)` and |
| 52 | + `let text: String = .init(decoding: data, as: UTF8.self)` to |
| 53 | + `optional_data_string_conversion` rule. |
| 54 | + [nadeemnali](https://github.com/nadeemnali) |
| 55 | + [#6359](https://github.com/realm/SwiftLint/issues/6359) |
| 56 | + |
| 57 | +* Add new default `invisible_character` rule that detects invisible characters |
| 58 | + like zero-width space (U+200B), zero-width non-joiner (U+200C), |
| 59 | + and FEFF formatting character (U+FEFF) in string literals, which can cause |
| 60 | + hard-to-debug issues. |
| 61 | + [kapitoshka438](https://github.com/kapitoshka438) |
| 62 | + [#6045](https://github.com/realm/SwiftLint/issues/6045) |
| 63 | + |
| 64 | +* Add `variable_shadowing` rule that flags when a variable declaration shadows |
| 65 | + an identifier from an outer scope. |
| 66 | + [nadeemnali](https://github.com/nadeemnali) |
| 67 | + [#6228](https://github.com/realm/SwiftLint/issues/6228) |
| 68 | + |
| 69 | +* Add `legacy_uigraphics_functions` rule to encourage the use of modern |
| 70 | + `UIGraphicsImageRenderer` instead of the legacy `UIGraphics{Begin|End}ImageContext`. |
| 71 | + The modern replacement is safer, cleaner, Retina-aware and more performant. |
| 72 | + [Dimitri Dupuis-Latour](https://github.com/DimDL) |
| 73 | + [#6268](https://github.com/realm/SwiftLint/issues/6268) |
| 74 | + |
43 | 75 | ### Bug Fixes |
44 | 76 |
|
| 77 | +* Detect and autocorrect missing whitespace before `else` in `guard` |
| 78 | + statements for the `statement_position` rule. |
| 79 | + [theamodhshetty](https://github.com/theamodhshetty) |
| 80 | + [#6153](https://github.com/realm/SwiftLint/issues/6153) |
| 81 | + |
45 | 82 | * Add an `ignore_attributes` option to `implicit_optional_initialization` so |
46 | 83 | wrappers/attributes that require explicit `= nil` can be excluded from |
47 | 84 | style checks for both `style: always` and `style: never`. |
|
73 | 110 | [theamodhshetty](https://github.com/theamodhshetty) |
74 | 111 | [#5917](https://github.com/realm/SwiftLint/issues/5917) |
75 | 112 |
|
| 113 | +* Track identifiers declared in tuples to avoid false positives in the |
| 114 | + `redundant_self` rule. |
| 115 | + [SimplyDanny](https://github.com/SimplyDanny) |
| 116 | + [#6553](https://github.com/realm/SwiftLint/issues/6553) |
| 117 | + |
| 118 | +* Respect existing environment variables when setting `BUILD_WORKSPACE_DIRECTORY` |
| 119 | + in build tool plugins. |
| 120 | + [SimplyDanny](https://github.com/SimplyDanny) |
| 121 | + [#6080](https://github.com/realm/SwiftLint/issues/6080) |
| 122 | + |
| 123 | +* `multiline_call_arguments` no longer reports violations for enum-case patterns in |
| 124 | + pattern matching (e.g. if case, switch case, for case, catch). |
| 125 | + [GandaLF2006](https://github.com/GandaLF2006) |
| 126 | + |
76 | 127 | ## 0.63.2: High-Speed Extraction |
77 | 128 |
|
78 | 129 | ### Breaking |
|
0 commit comments