rubocop/rubocop (rubocop)
### [`v1.66.0`](https://togithub.com/rubocop/rubocop/blob/HEAD/CHANGELOG.md#1660-2024-08-31)
[Compare Source](https://togithub.com/rubocop/rubocop/compare/v1.65.1...v1.66.0)
##### New features
- [#13077](https://togithub.com/rubocop/rubocop/pull/13077): Add new global `StringLiteralsFrozenByDefault` option for correct analysis with `RUBYOPT=--enable=frozen-string-literal`. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13080](https://togithub.com/rubocop/rubocop/pull/13080): Add new `DocumentationExtension` global option to serve documentation with extensions different than `.html`. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13074](https://togithub.com/rubocop/rubocop/issues/13074): Add new `Lint/UselessNumericOperation` cop to check for inconsequential numeric operations. (\[[@zopolis4](https://togithub.com/zopolis4)]\[])
- [#13061](https://togithub.com/rubocop/rubocop/issues/13061): Add new `Style/RedundantInterpolationUnfreeze` cop to check for `dup` and `@+` on interpolated strings in Ruby >= 3.0. (\[[@earlopain](https://togithub.com/earlopain)]\[])
##### Bug fixes
- [#13093](https://togithub.com/rubocop/rubocop/issues/13093): Fix an error for `Lint/ImplicitStringConcatenation` when implicitly concatenating a string literal with a line break and string interpolation. (\[[@koic](https://togithub.com/koic)]\[])
- [#13098](https://togithub.com/rubocop/rubocop/issues/13098): Fix an error for `Style/IdenticalConditionalBranches` when handling empty case branches. (\[[@koic](https://togithub.com/koic)]\[])
- [#13113](https://togithub.com/rubocop/rubocop/pull/13113): Fix an error for `Style/IfWithSemicolon` when a nested `if` with a semicolon is used. (\[[@koic](https://togithub.com/koic)]\[])
- [#13097](https://togithub.com/rubocop/rubocop/issues/13097): Fix an error for `Style/InPatternThen` when using alternative pattern matching deeply. (\[[@koic](https://togithub.com/koic)]\[])
- [#13159](https://togithub.com/rubocop/rubocop/pull/13159): Fix an error for `Style/OneLineConditional` when using if/then/else/end with multiple expressions in the `then` body. (\[[@koic](https://togithub.com/koic)]\[])
- [#13092](https://togithub.com/rubocop/rubocop/pull/13092): Fix an incorrect autocorrect for `Layout/EmptyLineBetweenDefs` when two method definitions are on the same line separated by a semicolon. (\[[@koic](https://togithub.com/koic)]\[])
- [#13116](https://togithub.com/rubocop/rubocop/pull/13116): Fix an incorrect autocorrect for `Style/IfWithSemicolon` when a single-line `if/;/end` has an argument in the then body expression. (\[[@koic](https://togithub.com/koic)]\[])
- [#13161](https://togithub.com/rubocop/rubocop/pull/13161): Fix incorrect autocorrect for `Style/IfWithSemicolon` when using multiple expressions in the `else` body. (\[[@koic](https://togithub.com/koic)]\[])
- [#13132](https://togithub.com/rubocop/rubocop/pull/13132): Fix incorrect autocorrect for `Style/TrailingBodyOnMethodDefinition` when an expression precedes a method definition on the same line with a semicolon. (\[[@koic](https://togithub.com/koic)]\[])
- [#13164](https://togithub.com/rubocop/rubocop/pull/13164): Fix incorrect autocorrect behavior for `Layout/BlockAlignment` when `EnforcedStyleAlignWith: either (default)`. (\[[@koic](https://togithub.com/koic)]\[])
- [#13087](https://togithub.com/rubocop/rubocop/pull/13087): Fix an incorrect autocorrect for `Style/MultipleComparison` when expression with more comparisons precedes an expression with less comparisons. (\[[@fatkodima](https://togithub.com/fatkodima)]\[])
- [#13172](https://togithub.com/rubocop/rubocop/pull/13172): Fix an error for `Layout/EmptyLinesAroundExceptionHandlingKeywords` when `ensure` or `else` and `end` are on the same line. (\[[@koic](https://togithub.com/koic)]\[])
- [#13107](https://togithub.com/rubocop/rubocop/issues/13107): Fix an error for `Lint/ImplicitStringConcatenation` when there are multiple adjacent string interpolation literals on the same line. (\[[@koic](https://togithub.com/koic)]\[])
- [#13111](https://togithub.com/rubocop/rubocop/pull/13111): Fix an error for `Style/GuardClause` when if clause is empty and correction would not fit on single line because of `Layout/LineLength`. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13137](https://togithub.com/rubocop/rubocop/pull/13137): Fix an error for `Style/ParallelAssignment` when using `__FILE__`. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13143](https://togithub.com/rubocop/rubocop/pull/13143): Fix an error during `TargetRubyVersion` detection if the gemspec is not valid syntax. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13131](https://togithub.com/rubocop/rubocop/pull/13131): Fix false negatives for `Lint/Void` when using `ensure`, `defs` and `numblock`. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[])
- [#13174](https://togithub.com/rubocop/rubocop/pull/13174): Fix false negatives for `Style/MapIntoArray` when initializing the destination using `Array[]`, `Array([])`, or `Array.new([])`. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[])
- [#13173](https://togithub.com/rubocop/rubocop/pull/13173): Fix false negatives for `Style/EmptyLiteral` when using `Array[]`, `Hash[]`, `Array.new([])` and `Hash.new([])`. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[])
- [#13126](https://togithub.com/rubocop/rubocop/issues/13126): Fix a false positive for `Style/Alias` when using multiple `alias` in `def`. (\[[@koic](https://togithub.com/koic)]\[])
- [#13085](https://togithub.com/rubocop/rubocop/issues/13085): Fix a false positive for `Style/EmptyElse` when a comment-only `else` is used after `elsif` and `AllowComments: true` is set. (\[[@koic](https://togithub.com/koic)]\[])
- [#13118](https://togithub.com/rubocop/rubocop/issues/13118): Fix a false positive for `Style/MapIntoArray` when splatting. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13105](https://togithub.com/rubocop/rubocop/issues/13105): Fix false positives for `Style/ArgumentsForwarding` when forwarding kwargs/block arg with non-matching additional args. (\[[@koic](https://togithub.com/koic)]\[])
- [#13139](https://togithub.com/rubocop/rubocop/issues/13139): Fix false positives for `Style/RedundantCondition` when using modifier `if` or `unless`. (\[[@koic](https://togithub.com/koic)]\[])
- [#13134](https://togithub.com/rubocop/rubocop/pull/13134): Fix false negative for `Lint/Void` when using using frozen literals. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[])
- [#13148](https://togithub.com/rubocop/rubocop/pull/13148): Fix incorrect autocorrect for `Lint/EmptyConditionalBody` when missing `elsif` body with `end` on the same line. (\[[@koic](https://togithub.com/koic)]\[])
- [#13109](https://togithub.com/rubocop/rubocop/pull/13109): Fix an error for the `Lockfile` parser when it contains incompatible `BUNDLED WITH` versions. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13112](https://togithub.com/rubocop/rubocop/pull/13112): Fix detection of `TargetRubyVersion` through the gemfile if the gemfile ruby version is below 2.7. (\[[@earlopain](https://togithub.com/earlopain)]\[])
- [#13155](https://togithub.com/rubocop/rubocop/pull/13155): Fixes an error when the server cache directory has too long path, causing rubocop to fail even with caching disabled. (\[[@protocol7](https://togithub.com/protocol7)]\[])
##### Changes
- [#13050](https://togithub.com/rubocop/rubocop/issues/13050): Allow `get_!`, `set_!`, `get_?`, `set_?`, `get_=`, and `set_=` in `Naming/AccessorMethodName`. (\[[@koic](https://togithub.com/koic)]\[])
- [#13103](https://togithub.com/rubocop/rubocop/issues/13103): Make `Lint/UselessAssignment` autocorrection safe. (\[[@koic](https://togithub.com/koic)]\[])
- [#13099](https://togithub.com/rubocop/rubocop/issues/13099): Make `Style/RedundantRegexpArgument` respect the `EnforcedStyle` of `Style/StringLiterals`. (\[[@koic](https://togithub.com/koic)]\[])
- [#13165](https://togithub.com/rubocop/rubocop/pull/13165): Remove dependency on the `rexml` gem. (\[[@bquorning](https://togithub.com/bquorning)]\[])
- [#13090](https://togithub.com/rubocop/rubocop/pull/13090): Require RuboCop AST 1.32.0+ to use `RuboCop::AST::RationalNode`. (\[[@koic](https://togithub.com/koic)]\[])
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 becomes conflicted, 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.65.1'
->'1.66.0'
Release Notes
rubocop/rubocop (rubocop)
### [`v1.66.0`](https://togithub.com/rubocop/rubocop/blob/HEAD/CHANGELOG.md#1660-2024-08-31) [Compare Source](https://togithub.com/rubocop/rubocop/compare/v1.65.1...v1.66.0) ##### New features - [#13077](https://togithub.com/rubocop/rubocop/pull/13077): Add new global `StringLiteralsFrozenByDefault` option for correct analysis with `RUBYOPT=--enable=frozen-string-literal`. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13080](https://togithub.com/rubocop/rubocop/pull/13080): Add new `DocumentationExtension` global option to serve documentation with extensions different than `.html`. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13074](https://togithub.com/rubocop/rubocop/issues/13074): Add new `Lint/UselessNumericOperation` cop to check for inconsequential numeric operations. (\[[@zopolis4](https://togithub.com/zopolis4)]\[]) - [#13061](https://togithub.com/rubocop/rubocop/issues/13061): Add new `Style/RedundantInterpolationUnfreeze` cop to check for `dup` and `@+` on interpolated strings in Ruby >= 3.0. (\[[@earlopain](https://togithub.com/earlopain)]\[]) ##### Bug fixes - [#13093](https://togithub.com/rubocop/rubocop/issues/13093): Fix an error for `Lint/ImplicitStringConcatenation` when implicitly concatenating a string literal with a line break and string interpolation. (\[[@koic](https://togithub.com/koic)]\[]) - [#13098](https://togithub.com/rubocop/rubocop/issues/13098): Fix an error for `Style/IdenticalConditionalBranches` when handling empty case branches. (\[[@koic](https://togithub.com/koic)]\[]) - [#13113](https://togithub.com/rubocop/rubocop/pull/13113): Fix an error for `Style/IfWithSemicolon` when a nested `if` with a semicolon is used. (\[[@koic](https://togithub.com/koic)]\[]) - [#13097](https://togithub.com/rubocop/rubocop/issues/13097): Fix an error for `Style/InPatternThen` when using alternative pattern matching deeply. (\[[@koic](https://togithub.com/koic)]\[]) - [#13159](https://togithub.com/rubocop/rubocop/pull/13159): Fix an error for `Style/OneLineConditional` when using if/then/else/end with multiple expressions in the `then` body. (\[[@koic](https://togithub.com/koic)]\[]) - [#13092](https://togithub.com/rubocop/rubocop/pull/13092): Fix an incorrect autocorrect for `Layout/EmptyLineBetweenDefs` when two method definitions are on the same line separated by a semicolon. (\[[@koic](https://togithub.com/koic)]\[]) - [#13116](https://togithub.com/rubocop/rubocop/pull/13116): Fix an incorrect autocorrect for `Style/IfWithSemicolon` when a single-line `if/;/end` has an argument in the then body expression. (\[[@koic](https://togithub.com/koic)]\[]) - [#13161](https://togithub.com/rubocop/rubocop/pull/13161): Fix incorrect autocorrect for `Style/IfWithSemicolon` when using multiple expressions in the `else` body. (\[[@koic](https://togithub.com/koic)]\[]) - [#13132](https://togithub.com/rubocop/rubocop/pull/13132): Fix incorrect autocorrect for `Style/TrailingBodyOnMethodDefinition` when an expression precedes a method definition on the same line with a semicolon. (\[[@koic](https://togithub.com/koic)]\[]) - [#13164](https://togithub.com/rubocop/rubocop/pull/13164): Fix incorrect autocorrect behavior for `Layout/BlockAlignment` when `EnforcedStyleAlignWith: either (default)`. (\[[@koic](https://togithub.com/koic)]\[]) - [#13087](https://togithub.com/rubocop/rubocop/pull/13087): Fix an incorrect autocorrect for `Style/MultipleComparison` when expression with more comparisons precedes an expression with less comparisons. (\[[@fatkodima](https://togithub.com/fatkodima)]\[]) - [#13172](https://togithub.com/rubocop/rubocop/pull/13172): Fix an error for `Layout/EmptyLinesAroundExceptionHandlingKeywords` when `ensure` or `else` and `end` are on the same line. (\[[@koic](https://togithub.com/koic)]\[]) - [#13107](https://togithub.com/rubocop/rubocop/issues/13107): Fix an error for `Lint/ImplicitStringConcatenation` when there are multiple adjacent string interpolation literals on the same line. (\[[@koic](https://togithub.com/koic)]\[]) - [#13111](https://togithub.com/rubocop/rubocop/pull/13111): Fix an error for `Style/GuardClause` when if clause is empty and correction would not fit on single line because of `Layout/LineLength`. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13137](https://togithub.com/rubocop/rubocop/pull/13137): Fix an error for `Style/ParallelAssignment` when using `__FILE__`. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13143](https://togithub.com/rubocop/rubocop/pull/13143): Fix an error during `TargetRubyVersion` detection if the gemspec is not valid syntax. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13131](https://togithub.com/rubocop/rubocop/pull/13131): Fix false negatives for `Lint/Void` when using `ensure`, `defs` and `numblock`. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[]) - [#13174](https://togithub.com/rubocop/rubocop/pull/13174): Fix false negatives for `Style/MapIntoArray` when initializing the destination using `Array[]`, `Array([])`, or `Array.new([])`. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[]) - [#13173](https://togithub.com/rubocop/rubocop/pull/13173): Fix false negatives for `Style/EmptyLiteral` when using `Array[]`, `Hash[]`, `Array.new([])` and `Hash.new([])`. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[]) - [#13126](https://togithub.com/rubocop/rubocop/issues/13126): Fix a false positive for `Style/Alias` when using multiple `alias` in `def`. (\[[@koic](https://togithub.com/koic)]\[]) - [#13085](https://togithub.com/rubocop/rubocop/issues/13085): Fix a false positive for `Style/EmptyElse` when a comment-only `else` is used after `elsif` and `AllowComments: true` is set. (\[[@koic](https://togithub.com/koic)]\[]) - [#13118](https://togithub.com/rubocop/rubocop/issues/13118): Fix a false positive for `Style/MapIntoArray` when splatting. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13105](https://togithub.com/rubocop/rubocop/issues/13105): Fix false positives for `Style/ArgumentsForwarding` when forwarding kwargs/block arg with non-matching additional args. (\[[@koic](https://togithub.com/koic)]\[]) - [#13139](https://togithub.com/rubocop/rubocop/issues/13139): Fix false positives for `Style/RedundantCondition` when using modifier `if` or `unless`. (\[[@koic](https://togithub.com/koic)]\[]) - [#13134](https://togithub.com/rubocop/rubocop/pull/13134): Fix false negative for `Lint/Void` when using using frozen literals. (\[[@vlad-pisanov](https://togithub.com/vlad-pisanov)]\[]) - [#13148](https://togithub.com/rubocop/rubocop/pull/13148): Fix incorrect autocorrect for `Lint/EmptyConditionalBody` when missing `elsif` body with `end` on the same line. (\[[@koic](https://togithub.com/koic)]\[]) - [#13109](https://togithub.com/rubocop/rubocop/pull/13109): Fix an error for the `Lockfile` parser when it contains incompatible `BUNDLED WITH` versions. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13112](https://togithub.com/rubocop/rubocop/pull/13112): Fix detection of `TargetRubyVersion` through the gemfile if the gemfile ruby version is below 2.7. (\[[@earlopain](https://togithub.com/earlopain)]\[]) - [#13155](https://togithub.com/rubocop/rubocop/pull/13155): Fixes an error when the server cache directory has too long path, causing rubocop to fail even with caching disabled. (\[[@protocol7](https://togithub.com/protocol7)]\[]) ##### Changes - [#13050](https://togithub.com/rubocop/rubocop/issues/13050): Allow `get_!`, `set_!`, `get_?`, `set_?`, `get_=`, and `set_=` in `Naming/AccessorMethodName`. (\[[@koic](https://togithub.com/koic)]\[]) - [#13103](https://togithub.com/rubocop/rubocop/issues/13103): Make `Lint/UselessAssignment` autocorrection safe. (\[[@koic](https://togithub.com/koic)]\[]) - [#13099](https://togithub.com/rubocop/rubocop/issues/13099): Make `Style/RedundantRegexpArgument` respect the `EnforcedStyle` of `Style/StringLiterals`. (\[[@koic](https://togithub.com/koic)]\[]) - [#13165](https://togithub.com/rubocop/rubocop/pull/13165): Remove dependency on the `rexml` gem. (\[[@bquorning](https://togithub.com/bquorning)]\[]) - [#13090](https://togithub.com/rubocop/rubocop/pull/13090): Require RuboCop AST 1.32.0+ to use `RuboCop::AST::RationalNode`. (\[[@koic](https://togithub.com/koic)]\[])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 becomes conflicted, 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.