rubocop/rubocop (rubocop)
### [`v1.69.0`](https://redirect.github.com/rubocop/rubocop/blob/HEAD/CHANGELOG.md#1690-2024-11-26)
[Compare Source](https://redirect.github.com/rubocop/rubocop/compare/v1.68.0...v1.69.0)
##### New features
- [#13439](https://redirect.github.com/rubocop/rubocop/pull/13439): Add new `Lint/HashNewWithKeywordArgumentsAsDefault` cop. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#11191](https://redirect.github.com/rubocop/rubocop/issues/11191): Add new `Lint/BinaryOperatorWithIdenticalOperands` cop. (\[[@zopolis4](https://redirect.github.com/zopolis4)]\[])
- [#13486](https://redirect.github.com/rubocop/rubocop/issues/13486): Add new `Style/DigChain` cop. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13490](https://redirect.github.com/rubocop/rubocop/issues/13490): Add new `Style/FileNull` cop. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13484](https://redirect.github.com/rubocop/rubocop/pull/13484): Add new `Style/FileTouch` cop. (\[[@lovro-bikic](https://redirect.github.com/lovro-bikic)]\[])
- [#13437](https://redirect.github.com/rubocop/rubocop/issues/13437): Add a new cop `Lint/UselessDefined` to detect cases such as `defined?('Foo')` when `defined?(Foo)` was intended. (\[[@earlopain](https://redirect.github.com/earlopain)]\[])
##### Bug fixes
- [#13455](https://redirect.github.com/rubocop/rubocop/pull/13455): Fix a false positive for `Layout/EmptyLineAfterGuardClause` when using a guard clause outside oneliner block. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13412](https://redirect.github.com/rubocop/rubocop/issues/13412): Fix a false positive for `Style/RedundantLineContinuation` when there is a line continuation at the end of Ruby code followed by `__END__` data. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13476](https://redirect.github.com/rubocop/rubocop/pull/13476): Allow to write generics type of RBS::Inline annotation after subclass definition in `Style/CommentedKeyword`. (\[[@dak2](https://redirect.github.com/dak2)]\[])
- [#13441](https://redirect.github.com/rubocop/rubocop/pull/13441): Fix an incorrect autocorrect for `Style/IfWithSemicolon` when using `return` with value in `if` with a semicolon is used. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13448](https://redirect.github.com/rubocop/rubocop/pull/13448): Fix an incorrect autocorrect for `Style/IfWithSemicolon` when the then body contains an arithmetic operator method call with an argument. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13199](https://redirect.github.com/rubocop/rubocop/issues/13199): Make `Style/RedundantCondition` skip autocorrection when a branch has a comment. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13411](https://redirect.github.com/rubocop/rubocop/pull/13411): Fix `Style/BitwisePredicate` when having regular method. (\[[@d4be4st](https://redirect.github.com/d4be4st)]\[])
- [#13432](https://redirect.github.com/rubocop/rubocop/pull/13432): Fix false positive for `Lint/FloatComparison` against nil. (\[[@lovro-bikic](https://redirect.github.com/lovro-bikic)]\[])
- [#13461](https://redirect.github.com/rubocop/rubocop/pull/13461): Fix false positives for `Lint/InterpolationCheck` when using invalid syntax in interpolation. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13402](https://redirect.github.com/rubocop/rubocop/issues/13402): Fix a false positive for `Lint/SafeNavigationConsistency` when using unsafe navigation with both `&&` and `||`. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13434](https://redirect.github.com/rubocop/rubocop/issues/13434): Fix a false positive for `Naming/MemoizedInstanceVariableName` for assignment methods\`. (\[[@earlopain](https://redirect.github.com/earlopain)]\[])
- [#13415](https://redirect.github.com/rubocop/rubocop/issues/13415): Fix false positives for `Naming/MemoizedInstanceVariableName` when using `initialize_clone`, `initialize_copy`, or `initialize_dup`. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13421](https://redirect.github.com/rubocop/rubocop/issues/13421): Fix false positives for `Style/SafeNavigation` when using a method chain that exceeds the `MaxChainLength` value and includes safe navigation operator. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13433](https://redirect.github.com/rubocop/rubocop/issues/13433): Fix autocorrection for `Style/AccessModifierDeclarations` for multiple inline symbols. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13430](https://redirect.github.com/rubocop/rubocop/issues/13430): Fix EmptyLinesAroundMethodBody for methods with arguments spanning multiple lines. (\[[@aduth](https://redirect.github.com/aduth)]\[])
- [#13438](https://redirect.github.com/rubocop/rubocop/pull/13438): Fix incorrect correction in `Lint/Void` if an operator is called in a void context using a dot. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13419](https://redirect.github.com/rubocop/rubocop/pull/13419): Fix `Lint/DeprecatedOpenSSLConstant` false positive when the argument is a safe navigation method call. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13404](https://redirect.github.com/rubocop/rubocop/pull/13404): Fix `Style/AccessModifierDeclarations` to register (as positive or negative, depending on `AllowModifiersOnSymbols` value) access modifiers with multiple symbols. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13436](https://redirect.github.com/rubocop/rubocop/pull/13436): Fix incorrect offense and autocorrect for `Lint/RedundantSplatExpansion` when percent literal array is used in a safe navigation method call. (\[[@lovro-bikic](https://redirect.github.com/lovro-bikic)]\[])
- [#13442](https://redirect.github.com/rubocop/rubocop/pull/13442): Fix an incorrect autocorrect for `Style/NestedTernaryOperator` when ternary operators are nested and the inner condition is parenthesized. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13444](https://redirect.github.com/rubocop/rubocop/pull/13444): Fix an incorrect autocorrect for `Style/OneLineConditional` when the else branch of a ternary operator has multiple expressions. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13483](https://redirect.github.com/rubocop/rubocop/issues/13483): Fix an incorrect autocorrect for `Style/RedundantRegexpArgument` when using escaped double quote character. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13497](https://redirect.github.com/rubocop/rubocop/pull/13497): Fix infinite loop error for `Style/IfWithSemicolon` when using nested if/;/end in if body. (\[[@koic](https://redirect.github.com/koic)]\[])
- [#13477](https://redirect.github.com/rubocop/rubocop/issues/13477): Update `Layout/LeadingCommentSpace` to accept multiline shebangs at the top of the file. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13453](https://redirect.github.com/rubocop/rubocop/issues/13453): Update `Style/AccessModifierDeclarations` to handle `attr_*` methods with multiple parameters. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#12597](https://redirect.github.com/rubocop/rubocop/issues/12597): Update `Style/SingleLineDoEndBlock` to not register an offense if it will introduce a conflicting `Layout/RedundantLineBreak` offense. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
##### Changes
- [#11680](https://redirect.github.com/rubocop/rubocop/issues/11680): Add autocorrection for strings to `Layout/LineLength` when `SplitStrings` is set to `true`. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13470](https://redirect.github.com/rubocop/rubocop/pull/13470): Make `Style/ArrayIntersect` aware of `none?`. (\[[@earlopain](https://redirect.github.com/earlopain)]\[])
- [#13481](https://redirect.github.com/rubocop/rubocop/pull/13481): Support unicode-display_width v3. (\[[@gemmaro](https://redirect.github.com/gemmaro)]\[])
- [#13473](https://redirect.github.com/rubocop/rubocop/pull/13473): Update `Lint/ItWithoutArgumentsInBlock` to not register offenses in Ruby 3.4. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13420](https://redirect.github.com/rubocop/rubocop/pull/13420): Update `Lint/RedundantSafeNavigation` to register an offense when the receiver is `self`. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#11393](https://redirect.github.com/rubocop/rubocop/issues/11393): Update `Lint/UnusedMethodArgument` to allow the class names for `IgnoreNotImplementedMethods` to be configured. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
- [#13058](https://redirect.github.com/rubocop/rubocop/issues/13058): Update `Style/AccessModifierDeclarations` to accept modifier with splatted method call. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
'~> 1.68.0'
->'~> 1.69.0'
Release Notes
rubocop/rubocop (rubocop)
### [`v1.69.0`](https://redirect.github.com/rubocop/rubocop/blob/HEAD/CHANGELOG.md#1690-2024-11-26) [Compare Source](https://redirect.github.com/rubocop/rubocop/compare/v1.68.0...v1.69.0) ##### New features - [#13439](https://redirect.github.com/rubocop/rubocop/pull/13439): Add new `Lint/HashNewWithKeywordArgumentsAsDefault` cop. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#11191](https://redirect.github.com/rubocop/rubocop/issues/11191): Add new `Lint/BinaryOperatorWithIdenticalOperands` cop. (\[[@zopolis4](https://redirect.github.com/zopolis4)]\[]) - [#13486](https://redirect.github.com/rubocop/rubocop/issues/13486): Add new `Style/DigChain` cop. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13490](https://redirect.github.com/rubocop/rubocop/issues/13490): Add new `Style/FileNull` cop. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13484](https://redirect.github.com/rubocop/rubocop/pull/13484): Add new `Style/FileTouch` cop. (\[[@lovro-bikic](https://redirect.github.com/lovro-bikic)]\[]) - [#13437](https://redirect.github.com/rubocop/rubocop/issues/13437): Add a new cop `Lint/UselessDefined` to detect cases such as `defined?('Foo')` when `defined?(Foo)` was intended. (\[[@earlopain](https://redirect.github.com/earlopain)]\[]) ##### Bug fixes - [#13455](https://redirect.github.com/rubocop/rubocop/pull/13455): Fix a false positive for `Layout/EmptyLineAfterGuardClause` when using a guard clause outside oneliner block. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13412](https://redirect.github.com/rubocop/rubocop/issues/13412): Fix a false positive for `Style/RedundantLineContinuation` when there is a line continuation at the end of Ruby code followed by `__END__` data. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13476](https://redirect.github.com/rubocop/rubocop/pull/13476): Allow to write generics type of RBS::Inline annotation after subclass definition in `Style/CommentedKeyword`. (\[[@dak2](https://redirect.github.com/dak2)]\[]) - [#13441](https://redirect.github.com/rubocop/rubocop/pull/13441): Fix an incorrect autocorrect for `Style/IfWithSemicolon` when using `return` with value in `if` with a semicolon is used. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13448](https://redirect.github.com/rubocop/rubocop/pull/13448): Fix an incorrect autocorrect for `Style/IfWithSemicolon` when the then body contains an arithmetic operator method call with an argument. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13199](https://redirect.github.com/rubocop/rubocop/issues/13199): Make `Style/RedundantCondition` skip autocorrection when a branch has a comment. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13411](https://redirect.github.com/rubocop/rubocop/pull/13411): Fix `Style/BitwisePredicate` when having regular method. (\[[@d4be4st](https://redirect.github.com/d4be4st)]\[]) - [#13432](https://redirect.github.com/rubocop/rubocop/pull/13432): Fix false positive for `Lint/FloatComparison` against nil. (\[[@lovro-bikic](https://redirect.github.com/lovro-bikic)]\[]) - [#13461](https://redirect.github.com/rubocop/rubocop/pull/13461): Fix false positives for `Lint/InterpolationCheck` when using invalid syntax in interpolation. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13402](https://redirect.github.com/rubocop/rubocop/issues/13402): Fix a false positive for `Lint/SafeNavigationConsistency` when using unsafe navigation with both `&&` and `||`. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13434](https://redirect.github.com/rubocop/rubocop/issues/13434): Fix a false positive for `Naming/MemoizedInstanceVariableName` for assignment methods\`. (\[[@earlopain](https://redirect.github.com/earlopain)]\[]) - [#13415](https://redirect.github.com/rubocop/rubocop/issues/13415): Fix false positives for `Naming/MemoizedInstanceVariableName` when using `initialize_clone`, `initialize_copy`, or `initialize_dup`. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13421](https://redirect.github.com/rubocop/rubocop/issues/13421): Fix false positives for `Style/SafeNavigation` when using a method chain that exceeds the `MaxChainLength` value and includes safe navigation operator. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13433](https://redirect.github.com/rubocop/rubocop/issues/13433): Fix autocorrection for `Style/AccessModifierDeclarations` for multiple inline symbols. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13430](https://redirect.github.com/rubocop/rubocop/issues/13430): Fix EmptyLinesAroundMethodBody for methods with arguments spanning multiple lines. (\[[@aduth](https://redirect.github.com/aduth)]\[]) - [#13438](https://redirect.github.com/rubocop/rubocop/pull/13438): Fix incorrect correction in `Lint/Void` if an operator is called in a void context using a dot. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13419](https://redirect.github.com/rubocop/rubocop/pull/13419): Fix `Lint/DeprecatedOpenSSLConstant` false positive when the argument is a safe navigation method call. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13404](https://redirect.github.com/rubocop/rubocop/pull/13404): Fix `Style/AccessModifierDeclarations` to register (as positive or negative, depending on `AllowModifiersOnSymbols` value) access modifiers with multiple symbols. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13436](https://redirect.github.com/rubocop/rubocop/pull/13436): Fix incorrect offense and autocorrect for `Lint/RedundantSplatExpansion` when percent literal array is used in a safe navigation method call. (\[[@lovro-bikic](https://redirect.github.com/lovro-bikic)]\[]) - [#13442](https://redirect.github.com/rubocop/rubocop/pull/13442): Fix an incorrect autocorrect for `Style/NestedTernaryOperator` when ternary operators are nested and the inner condition is parenthesized. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13444](https://redirect.github.com/rubocop/rubocop/pull/13444): Fix an incorrect autocorrect for `Style/OneLineConditional` when the else branch of a ternary operator has multiple expressions. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13483](https://redirect.github.com/rubocop/rubocop/issues/13483): Fix an incorrect autocorrect for `Style/RedundantRegexpArgument` when using escaped double quote character. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13497](https://redirect.github.com/rubocop/rubocop/pull/13497): Fix infinite loop error for `Style/IfWithSemicolon` when using nested if/;/end in if body. (\[[@koic](https://redirect.github.com/koic)]\[]) - [#13477](https://redirect.github.com/rubocop/rubocop/issues/13477): Update `Layout/LeadingCommentSpace` to accept multiline shebangs at the top of the file. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13453](https://redirect.github.com/rubocop/rubocop/issues/13453): Update `Style/AccessModifierDeclarations` to handle `attr_*` methods with multiple parameters. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#12597](https://redirect.github.com/rubocop/rubocop/issues/12597): Update `Style/SingleLineDoEndBlock` to not register an offense if it will introduce a conflicting `Layout/RedundantLineBreak` offense. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) ##### Changes - [#11680](https://redirect.github.com/rubocop/rubocop/issues/11680): Add autocorrection for strings to `Layout/LineLength` when `SplitStrings` is set to `true`. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13470](https://redirect.github.com/rubocop/rubocop/pull/13470): Make `Style/ArrayIntersect` aware of `none?`. (\[[@earlopain](https://redirect.github.com/earlopain)]\[]) - [#13481](https://redirect.github.com/rubocop/rubocop/pull/13481): Support unicode-display_width v3. (\[[@gemmaro](https://redirect.github.com/gemmaro)]\[]) - [#13473](https://redirect.github.com/rubocop/rubocop/pull/13473): Update `Lint/ItWithoutArgumentsInBlock` to not register offenses in Ruby 3.4. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13420](https://redirect.github.com/rubocop/rubocop/pull/13420): Update `Lint/RedundantSafeNavigation` to register an offense when the receiver is `self`. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#11393](https://redirect.github.com/rubocop/rubocop/issues/11393): Update `Lint/UnusedMethodArgument` to allow the class names for `IgnoreNotImplementedMethods` to be configured. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[]) - [#13058](https://redirect.github.com/rubocop/rubocop/issues/13058): Update `Style/AccessModifierDeclarations` to accept modifier with splatted method call. (\[[@dvandersluis](https://redirect.github.com/dvandersluis)]\[])Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.