Releases: rubocop/rubocop
Releases · rubocop/rubocop
RuboCop v1.81.7
Bug fixes
- #14597: Fix an infinite loop error for
Layout/HashAlignmentwhenEnforcedStyle: with_fixed_indentationis specified forLayout/ArgumentAlignment. (@koic) - #14621: Fix an error for
Naming/PredicateMethodwhen using aninpattern with empty parentheses body. (@koic) - #14631: Fix an error for
Style/SoleNestedConditionalwhen using nested single lineif. (@koic) - #14626: Fix false positives in
Style/ConstantVisibilitywhen visibility is declared with multiple constants. (@koic) - #14628: Fix false positives for
Style/FloatDivisionwhen usingRegexp.last_matchor nth reference (e.g.,$1). (@koic) - #14617: Handle non-specific issues with the Gemfile to allow fallback. (@Fryguy)
- #14622: Fix an error for
Naming/MethodNamewhen the first argument toaliascontains interpolation. (@earlopain)
RuboCop v1.81.6
Bug fixes
- #14587: Fix an error for
Lint/SelfAssignmentwhen using[]=assignment with no arguments. (@koic) - #14572: Fix an error for
Style/ArrayIntersectwhenintersection(other).any?is called without a receiver. (@koic) - #14599: Fix a crash when
Style/ConditionalAssignmentis configured withassign_inside_conditionaland the conditional contains a multi-line regex. (@martinemde) - #14574: Fix false positives for
Style/RedundantInterpolationwhen using a one-line=>pattern matching. (@koic) - #14602: Fix false positives for
Style/EndlessMethodwhen heredoc is used in method body. (@koic) - #14594: Fix false positives for
Style/EndlessMethodwhen the endless method would exceed the maximum line length. (@koic) - #14605: Fix false positive for
Lint/EmptyInterpolationwhen interpolation is inside a%Wliteral. (@dvandersluis) - #14604: Fix
Style/RedundantFormatfalse positive when a interpolated value is given to a specifier with a width or precision. (@dvandersluis) - #14607: Fix
Style/RedundantFormathandling control characters like\n. (@dvandersluis) - #14577: Fix an incorrect autocorrect for
Style/Semicolonwhen a method call using hash value omission without parentheses is terminated with a semicolon. (@koic) - #14552: Fix a false positive for
Security/JSONLoadwhencreate_additionsis explicitly specified. (@earlopain)
Changes
- #14566: Enhance
Lint::ConstantOverwrittenInRescuecop to detect offenses within fully qualified constants. (@viralpraxis) - #14575: Enhance
Lint/ConstantOverwrittenInRescuecop to detect offenses within nested constants. (@viralpraxis) - #14596: Change
Lint/ConstantOverwrittenInRescueto detect any constant assignment. (@viralpraxis) - #14568: Make
Style/LambdaCallautocorrection contextual. (@koic)
RuboCop v1.81.1
Bug fixes
- #14563: Fix incorrect autocorrection for
Lint/DeprecatedOpenSSLConstantwhenCipherappears twice. (@koic)
Changes
- #14565: Allow multiline method chain for
Style/NumberedParametersandStyle/ItBlockParameterwithEnforcedStyle: allow_single_linewhen the block itself is on a single line. (@earlopain)
RuboCop v1.81.0
New features
- #14512: Add
Style/ArrayIntersectWithSingleElementcop. (@r7kamura) - #10971: Support
EnforcedStyleForMultiline: diff_commainStyle/TrailingCommaInArguments. (@akouryy)
Bug fixes
- #14560: Fix an error for
Style/NilComparisoncop when using thevar.==(nil)andvar.===(nil)syntax. (@viralpraxis) - #14535: Fix autocorrect for
Style/ExplicitBlockArgumentwhen there are two methods that share the same implementation. (@earlopain) - #14527: Fix false negatives for
Style/NumberedParametersandStyle/ItBlockParameterwhen using multiline method chain withEnforcedStyle: allow_single_line. (@koic) - #14522: Fix false negatives for
Layout/MultilineOperationIndentationwhen using indented code on LHS of equality operator in modifier method definition. (@koic) - #14496: Fix false negatives for
Layout/EmptyLineBetweenDefsforAllowAdjacentOneLineDefs: falseandDefLikeMacrosthat take no block. (@earlopain) - #14553: Fix false positives when
EnforcedStyle: allowed_in_returnsand!!appears across multiple lines in return position. (@koic) - #14557: Fix false positives for
Style/RedundantParentheseswhen parentheses are used around a one-linerescueexpression as a condition. (@koic) - #14525: Fix false positives for
Style/RedundantRegexpEscapewhen an escaped variable sigil follows#(e.g.,/#\@foo/,/#\@@bar/,/#\$baz/). (@koic) - #14529: Fix false negative in
Layout/RescueEnsureAlignmentwith a block whose send node is split over multiple lines. (@dvandersluis) - #14528: Fix
Style/RedundantFormatwhen the format string has a variable width that isn't given as a literal value. (@dvandersluis) - #14541: Fix gemspec parsing error when
ParserEngine: parser_prismis configured in a base config file. (@sudoremo) - #14544: Fix an incorrect autocorrect for
Lint/Voidwhen using a return value in assignment method definition. (@koic) - #14543: Fix an incorrect autocorrect for
Style/RedundantRegexpArgumentwhen using escaped single quote character. (@koic) - #14540: Fix an incorrect autocorrect for
Style/UnlessElsewhen usingunlesswiththen. (@koic) - #14507: Fix the built-in Ruby LSP add-on not restarting when config files (
.rubocop.yml,.rubocop_todo.yml) change. (@earlopain) - #14514: Fix the built-in Ruby LSP add-on not respecting
.rubocopconfig file. (@earlopain) - #14508: Fix the built-in Ruby LSP add-on getting in an irrecoverable state when the config is invalid on startup. (@earlopain)
- #14534: Prevent
Layout/LineLengthautocorrection from splitting a block if its receiver contains a heredoc. (@dvandersluis) - #14497: Fix a false positive for
Lint/ShadowedArgumentwhen assigning inside arescueblock. (@earlopain)
Changes
RuboCop v1.80.2
Bug fixes
- #14477: Fix a false positive for
Style/SafeNavigationwhen using ternary expression with index access call with method chain. (@koic) - #14486: Fix false positives for
Style/RedundantParentheseswith unary operators andyield,super, ordefined?. (@earlopain) - #14489: Fix false negatives for
Style/RedundantParentheseswith method calls taking argument without parentheses likereturn (x y) if z. (@earlopain) - #14499: Fix wrong autocorrect for
Style/StringConcatenationwhen a double-quoted string contains escaped quotes and interpolation. (@earlopain) - #14502: Fix wrong autocorrect for
Style/StringConcatenationwhen a single-quoted string contains interpolation like'#{foo}'. (@earlopain)
Changes
RuboCop v1.80.1
Bug fixes
- #14479: Don't invalidate cache when
--display-timeoption is used on the CLI. (@lovro-bikic) - #14473: Fix a false negative for
Style/RedundantBeginusingbeginwith multiple statements withoutrescueorensure. (@koic) - #14475: Fix cop errors during autocorrect for the build in LSP when analyzing as Ruby 3.4. (@earlopain)
Changes
- #14474: Fix false negative for
Layout/EndAlignmentwhenendis not on a separate line. (@lovro-bikic)
RuboCop v1.80.0
Bug fixes
- #14469: Fix an incorrect autocorrect for
Style/BitwisePredicatewhen using&with LHS flags in conjunction with==for comparisons. (@koic) - #14459: Fix wrong autocorrect for
Style/Forwith save navigation in the collection. (@earlopain) - #14435: Fix false negatives for regexp cops when
Lint/DuplicateRegexpCharacterClassElementis enabled. (@earlopain) - #14419: Fix false positives for
Lint/UselessAssignmentwhen duplicate assignments appear in nestedifbranches inside a loop and the variable is used outsidewhileloop. (@koic) - #14468: Fix false positives for
Naming/MethodNamewhen an operator method is defined using a string. (@koic) - #14427: Fix false positives for
Style/RedundantParentheseswhendo...endblock is wrapped in parentheses as a method argument. (@koic) - #14441: Better hash access handling in
Style/SafeNavigation. (@issyl0) - #14443: Fix false positive in
Layout/EmptyLinesAfterModuleInclusionwhenincludedoes not have exactly one argument. (@issyl0) - #14424: Fix
Style/SafeNavigationcop to preserve existing safe navigation in fixed code. (@martinemde) - #14455: Follow module inclusion with nonzero args with an empty line. (@issyl0)
- #14445: Fix false positives for
Lint/UselessAssignmentwithforloops when the variable is referenced in the collection. (@earlopain) - #14447: Fix wrong autocorrect for
Style/RedundantConditionwith a parenthesised method call in the condition. (@earlopain)
Changes
- #14428: Enhance
Lint/SelfAssignmentto handle indexed assignment with multiple arguments. (@viralpraxis) - #14464: Exclude
AutoCorrectandIncludefrom configuration parameters. (@r7kamura) - #14472: Make
Style/RedundantBeginaware ofcasepattern matching. (@koic) - #14448: Register array intersection size checks as offenses under
Style/ArrayIntersect. (@lovro-bikic) - #14431: Support LSP
TextDocumentSyncKind.Incremental. (@tmtm) - #14453: Update
Style/RedundantBeginto registerbeginblocks insideif,unless,case,whileanduntilas redundant. (@dvandersluis)
RuboCop v1.79.2
Bug fixes
- #11664: Cache wasn't getting used when using parallelization. (@jvlara)
- #14411: Fix false negatives for
Layout/EmptyLinesAroundClassBodywhen a class body starts with a blank line and defines a multiline superclass. (@koic) - #14413: Fix a false positive for
Layout/EmptyLinesAroundArgumentswith multiline strings that contain only whitespace. (@earlopain) - #14408: Fix false-positive for
Layout/EmptyLinesAfterModuleInclusionwhen inclusion is called with modifier. (@r7kamura) - #14402: Fix false positives for
Lint/UselessAssignmentwhen duplicate assignments appear inifbranch inside a loop and the variable is used outsidewhileloop. (@koic) - #14416: Fix false positives for
Style/MapToHashwhen usingto_hwith block argument. (@koic) - #14418: Fix false positives for
Style/MapToSetwhen usingto_setwith block argument. (@koic) - #14420: Fix false positives for
Style/SafeNavigationwhen ternary expression with operator method call with method chain. (@koic)
Changes
- #14407: Register offense for parentheses around method calls with blocks in
Style/RedundantParentheses. (@lovro-bikic)
RuboCop v1.79.1
Bug fixes
- #14390: Fix wrong autocorrect for
Style/ArgumentsForwardingwhen the method arguments contain*,**or&, and the method call containsselfas the first argument. (@earlopain) - #14399: Fix false positives for
Layout/EmptyLinesAfterModuleInclusionwhenprependis used with block methods. (@koic) - #14396: Fix a false positive for
Style/RedundantParentheseswhen parentheses are used around a one-linerescueexpression inside a ternary operator. (@koic) - #14383: Fix false positives for
Lint/UselessAssignmentwhen duplicate assignments inifbranch inside a loop. (@koic) - #14394: Fix false positive for
Lint/UselessAssignmentwithretryinrescuebranch. (@earlopain) - #14386: Fix false positives for
Style/RedundantParentheseswhen parentheses are used around a one-linerescueexpression inside array or hash literals. (@koic) - #14395: Fix LSP handling of URI-encoded paths with spaces. (@hakanensari)
Changes
- #14403: Enhance
Naming/MethodNamecop to detect offenses withinaliasandalias_methodcalls. (@viralpraxis) - #14389: Add support for
||toLint/LiteralAsCondition. (@zopolis4)
RuboCop v1.79.0
New features
- #14348: Add new cop
Layout/EmptyLinesAfterModuleInclusion. (@lovro-bikic) - #14374: Enhance
Naming/MethodNamecop to detect offenses withinDatamembers. (@viralpraxis)
Bug fixes
- #14373: Fix an error for
Style/ParallelAssignmentwhen a lambda with parallel assignment is used on the RHS. (@koic) - #14370: Fix comment duplication bug in
Style/AccessorGroupingseparated autocorrect. (@r7kamura) - #14377: Fix a false positive for
Lint/UselessAssignmentwhen the assignment is inside a loop body. (@5hun-s) - #14355: Fix a false negative for
Style/RedundantParentheseswhen using parentheses around arescueexpression on a one-line. (@koic) - #14354: Fix incorrect autocorrect for
Style/AccessModifierDeclarationswhen using a grouped access modifier declaration. (@girasquid) - #14367: Fix an incorrect autocorrect for
Style/SingleLineMethodswhen defining a single-line singleton method. (@koic) - #14344: Fix incorrect autocorrect for
Style/SingleLineMethodswhen a single-line method definition contains a modifier. (@koic) - #14350: Fix
Naming/MethodNamecop false positives withdefine_methodand operator names. (@viralpraxis) - #14333: Fix
Naming/PredicateMethodignoring the implicitnilfrom missingelsebranches. (@earlopain) - #14356: Fix
Style/ItBlockParametercop error onalwaysstyle and missing block body. (@viralpraxis) - #14362: Update
Lint/RequireRangeParenthesesto not register false positives when range elements span multiple lines. (@dvandersluis) - #14309: Update
Style/SoleNestedConditionalto properly correct assignments withinand. (@dvandersluis)
Changes
- #14358: Add
tsortgem to runtime dependency for Ruby 3.5-dev. (@koic) - #14322: Expand the scope of
Style/ItAssignmentto consider all local variable and method parameter names. (@dvandersluis) - #14378: Change
Layout/SpaceAroundKeywordto offend for missing whitespace betweenreturnand opening parenthesis. (@lovro-bikic) - #14360: Make
Layout/SpaceAroundOperatorsaware of alternative and as pattern matchings. (@koic) - #14375: Make
Lint/RedundantSafeNavigationaware of builtin convert methodsto_s,to_i,to_f,to_a, andto_h. (@koic) - #13835: Add
InferNonNilReceiverconfig toLint/RedundantSafeNavigationto check previous code paths if the receiver is non-nil. (@fatkodima) - #14381: Offend
array1.any? { |elem| array2.member?(elem) }andarray1.none? { |elem| array2.member?(elem) }inStyle/ArrayIntersect. (@lovro-bikic)