New features
- #14655: Add
AllowRBSInlineAnnotationoption toLayout/LineLength. (@koic) - #14569: Add
IncludedMacroPatternsconfiguration option toStyle/MethodCallWithArgsParenthesesfor pattern-based macro method enforcement. (@mmenanno) - #14670: Add new cop
Style/ModuleMemberExistenceCheck. (@lovro-bikic) - #14644: Support
TargetRubyVersion 4.0(experimental). (@koic)
Bug fixes
- #14649: Fix an error for
Lint/LiteralAsConditionwhen there are literals in multiple branches. (@viralpraxis) - #14678: Fix an error when running deprecated
rake rubocop:auto_correcttask. (@koic) - #14650: Fix wrong autocorrect for
Lint/RedundantSplatExpansionwhen splatting a single literal. (@earlopain) - #14703: Fix false negatives for
Layout/RescueEnsureAlignmentwhen using self class definition. (@koic) - #14706: Fix false negatives for
Lint/NoReturnInBeginEndBlockswhen assigning instance variable, class variable, global variable, or constant. (@koic) - #14715: Fix false positives for
Layout/EmptyLineAfterGuardClausewhen a guard clause follows a multiline heredoc in a parenthesized method call. (@koic) - #14667: Fix false positives for
Layout/EndAlignmentwhen a conditional assignment is used on the same line and theendwith a safe navigation method call is aligned. (@koic) - #14688: Fix false positives for
Layout/EndAlignmentwhen a conditional assignment is used on the same line and theendwith a numbered block oritblock method call is aligned. (@koic) - #14699: Fix false positives for
Lint/RedundantSafeNavigationwhen the receiver is used outside the singleton method definition scope. (@koic) - #14663: Fix false positives for
Style/EndlessMethodwhen multiline or xstring heredoc is used in method body. (@koic) - #10173: Fix false positives for
Style/TrailingCommaInArgumentswhenEnforcedStyleForMultilineis set toconsistent_commaand a multiline braced hash argument appears after another argument. (@koic) - #14680: Handle all
OptionParsererrors when runningrubocopwith input that causes an error. (@dvandersluis) - #14658: Fix incorrect behavior when
Layout/LineLengthis disabled. (@koic) - #14704: Fix incorrect Position character value in LSP. (@tmtm)
- #14619: Store remote configuration caches in cache root. (@Jack12816)
- #14476: Fix
Style/ClassAndModuleChildrento skip compact style definitions inside another class or module whenEnforcedStyle: nested. (@rscq) - #14281: Update
Layout/EndAlignmentwithEnforcedStyleAlignWith: variableto handle conditionals insidebeginnodes properly. (@dvandersluis)
Changes
- #14662: Add autocorrection for
Lint/UselessOr. (@r7kamura) - #14668: Exclude
Severityfrom configuration parameters. (@r7kamura) - #14684: Make
Style/CaseEqualityallow regexp case equality where the receiver is a regexp literal. (@koic) - #14645: Change
Lint/CircularArgumentReferenceto detect offenses within long assignment chains. (@viralpraxis) - #14642: Make
Gemspec/RubyVersionGlobalsUsageaware ofRuby::VERSION. (@koic) - #14695: Make
Layout/EmptyLineAfterMagicCommentaware of# rbs_inlinemagic comment. (@koic) - #10147: Make
Lint/ElseLayoutallow a single-lineelsebody inthensingle-line conditional. (@koic) - #14661: Make
Lint/RedundantRequireStatementaware ofpathnamewhen analyzing Ruby 4.0. (@koic) - #14698: Make
Lint/UnreachableCodeaware of singleton method redefinition. (@koic) - #14677: Make
Style/RedundantArgumentaware ofto_i. (@koic) - #14660: Rename
IgnoreCopDirectivestoAllowCopDirectivesinLayout/LineLength. (@koic) - #14492: Revert #14492, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. (@koic)