Skip to content

[ruby] Update rubocop-rails 2.35.5 → 2.36.0 (minor) - #2934

Open
depfu[bot] wants to merge 1 commit into
developfrom
depfu/update/rubocop-rails-2.36.0
Open

[ruby] Update rubocop-rails 2.35.5 → 2.36.0 (minor)#2934
depfu[bot] wants to merge 1 commit into
developfrom
depfu/update/rubocop-rails-2.36.0

Conversation

@depfu

@depfu depfu Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ rubocop-rails (2.35.5 → 2.36.0) · Repo · Changelog

Release Notes

2.36.0

Bug fixes

  • #1647: Fix a false negative for Rails/EagerEvaluationLogMessage when the interpolated string is passed to Rails.logger.debug as the sole body of an enclosing block such as each or tap. (@conwayje)
  • #1646: Fix a false negative for Rails/ReversibleMigration when using remove_index without a column inside a change_table block. (@ilianah)
  • #1642: Fix a false negative for Rails/SafeNavigation when using try/try! with a symbol to proc such as foo.try(&:bar). (@koic)
  • #1599: Fix an incorrect autocorrect for Rails/LinkToBlank when Style/TrailingCommaInArguments with EnforcedStyleForMultiline: consistent_comma adds a trailing comma, which produced a duplicate comma. (@koic)
  • #1619: Fix MigratedSchemaVersion setting so it works for all cops. (@lovro-bikic)

Changes

  • #1641: Fix false negatives in Rails/SafeNavigation when using try/try! with operator methods such as [], []=, and ==. (@koic)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

✳️ rubocop (1.88.0 → 1.88.2) · Repo · Changelog

Release Notes

1.88.2

Bug fixes

  • #15417: Fix a false negative for Lint/ToJSON, which did not flag singleton def self.to_json definitions. (@bbatsov)
  • #15418: Fix a false negative for Lint/UnreachableCode, which only flagged the first statement after a flow-of-control statement instead of every unreachable statement that followed it. (@bbatsov)
  • #15416: Fix a false negative for Lint/UselessNumericOperation, which only flagged bare method-call receivers and ignored local variables, instance/class/global variables, and constants (e.g. @x + 0, CONST * 1). (@bbatsov)
  • #15419: Fix a false negative for Lint/Void where safe-navigation calls to nonmutating methods (e.g. x&.sort) were not flagged when CheckForMethodsWithNoSideEffects is enabled. (@bbatsov)
  • #15421: Fix a false negative for Style/ArrayIntersect with the block form using include? (e.g. array1.any? { |e| array2.include?(e) }), which was only detected for member?. (@bbatsov)
  • #15420: Fix a false negative for Style/CollectionCompact, which did not flag grep_v(nil)/grep_v(NilClass) on a safe-navigation call (e.g. array&.grep_v(nil)). (@bbatsov)
  • #15422: Fix a false negative for Style/DefWithParentheses with a single-line definition whose body follows a semicolon (e.g. def foo(); end), where the parentheses can be safely omitted. (@bbatsov)
  • #15388: Fix a false negative for Style/MixinUsage when including multiple modules in one statement. (@bbatsov)
  • #15388: Fix a false negative for Style/ModuleFunction when the module body is a single statement. (@bbatsov)
  • #15388: Fix a false negative for Style/RedundantCurrentDirectoryInPath with double-quoted strings containing interpolation. (@bbatsov)
  • #15395: Fix a false negative for Style/RedundantHeredocDelimiterQuotes with double-quoted delimiters whose body contains interpolation or escapes. (@bbatsov)
  • #15409: Fix a false positive for Gemspec/DuplicatedAssignment with multiple specifications. (@bbatsov)
  • #15403: Fix a false positive for Layout/CommentIndentation with a comment above an inline access modifier (e.g. private def foo) when Layout/AccessModifierIndentation is configured with EnforcedStyle: outdent. (@grk)
  • #15372: Fix a false positive for Style/InvertibleUnlessCondition with a multi-statement begin condition. (@bbatsov)
  • #15360: Fix an incorrect autocorrect for Style/ArgumentsForwarding and Style/MethodDefParentheses when autocorrection conflicts while adding parentheses to method definition arguments. (@koic)
  • #15417: Fix an incorrect autocorrect for Lint/ToJSON that produced invalid Ruby (def to_json(*_args)()) when the method had explicit empty parentheses. (@bbatsov)
  • #15426: Fix an incorrect autocorrect for Style/MethodCallWithoutArgsParentheses when empty parentheses span multiple lines and the method call has a block. (@koic)
  • #15328: Fix a false positive for Style/HashConversion with a splat argument, which previously produced an invalid hash literal. (@bbatsov)
  • #15338: Fix a false positive for Style/HashLookupMethod with safe navigation, where the suggested bracket form would be the unreadable hash&.[](key). (@bbatsov)
  • #15397: Fix an incorrect autocorrect for Style/IdenticalConditionalBranches that hoisted the moved expression to column zero instead of matching the surrounding indentation. (@bbatsov)
  • #15372: Fix an incorrect autocorrect for Style/InvertibleUnlessCondition with mixed &&/|| conditions, which lost the required parentheses when inverting. (@bbatsov)
  • #15428: Fix an incorrect autocorrect for Style/TrivialAccessors when AllowPredicates: false is set and a trivial reader is defined as a predicate class method. (@koic)
  • #15402: Fix an infinite loop and file corruption for Layout/LineLength with SplitStrings when an over-long string is indented under a multi-line parent. (@bbatsov)
  • #15384: Fix a false positive and a false negative for Style/MissingRespondToMissing when method_missing is defined at the top level or alongside sibling classes. (@bbatsov)
  • #15432: Fix false positives in Layout/ElseAlignment when using else within a block that is part of a larger expression. (@koic)
  • #15423: Fix false positives in Layout/MultilineMethodCallIndentation when a method chain is nested inside a parenthesized argument list or a grouped expression within a hash pair value. (@koic)
  • #15424: Fix Style/StructInheritance autocorrect dropping leading indentation when class is inside a module or namespace. (@amckinnie)
  • #15325: Fix Style/DocumentationMethod ignoring AllowedMethods for inline modifier defs. (@bbatsov)
  • #15369: Fix a false positive for Style/LambdaCall when the argument list contains a comment, which the autocorrect would have dropped. (@bbatsov)

Changes

  • #15430: Improve performance of offense reporting by not allocating a new source range per offense outside of embedded sources. (@bbatsov)
  • #15430: Improve investigation performance by dispatching on_new_investigation, on_investigation_end, and on_other_file only to cops that refine them, and by skipping after_* dispatch when no cop needs it. (@bbatsov)
  • #15430: Improve performance of the per-file cop relevancy check by skipping gem requirement evaluation for cops without gem requirements. (@bbatsov)
  • #15430: Improve Lint/Debugger performance on code without debugger calls. (@bbatsov)
  • #15430: Improve autocorrection performance by keeping corrections in memory across inspection iterations and writing each corrected file only once. (@bbatsov)
  • #15415: Mark Lint/NumericOperationWithConstantResult autocorrect as unsafe because it drops the operands, discarding their side effects and silencing cases where the result is not actually constant (e.g. x / x raises when x is 0). (@bbatsov)
  • #15430: Improve performance of cops using AllowedPatterns, ForbiddenPatterns, and AllowedMethods by compiling the configured patterns only once. (@bbatsov)
  • #15430: Improve performance of Style/IfUnlessModifier and other modifier cops on files with many comments or conditionals. (@bbatsov)

1.88.1

Bug fixes

  • #15408: Fix a crash for Bundler/GemComment with a non-literal gem option key. (@bbatsov)
  • #9571: Fix a crash for Layout/ClassStructure when a class body is a single safe-navigation call (e.g. test&.private_methods(def foo; end)). (@bbatsov)
  • #15413: Fix a crash for Gemspec/DevelopmentDependencies when AllowedGems is nil. (@bbatsov)
  • #15404: Fix a crash for Metrics/MethodLength with an anonymous define_method. (@bbatsov)
  • #15414: Fix a crash for Naming/InclusiveLanguage with nil or empty FlaggedTerms. (@bbatsov)
  • #15405: Fix a crash for Security/IoMethods with a non-string-literal argument. (@bbatsov)
  • #15330: Fix a crash for Style/EmptyStringInsideInterpolation with a modifier conditional. (@bbatsov)
  • #15351: Fix a crash for Style/OpenStructUse with a bare OpenStruct root node. (@bbatsov)
  • #15379: Fix a crash for Style/TrailingUnderscoreVariable when a nested destructuring group consists only of underscore variables. (@bbatsov)
  • #15412: Fix a false negative for Security/MarshalLoad with a proc argument. (@bbatsov)
  • #15386: Fix a false negative for Style/MethodDefParentheses with named rest arguments under EnforcedStyle: require_no_parentheses. (@bbatsov)
  • #15396: Fix a false negative for Style/MultilineMethodSignature where a signature that fits on one line was skipped because the multi-line source length was measured instead of the collapsed width. (@bbatsov)
  • #15386: Fix a false negative for Style/OptionalArguments with singleton methods. (@bbatsov)
  • #15383: Fix a false negative for Style/RedundantFilterChain with numbered-parameter blocks. (@bbatsov)
  • #15290: Fix a false negative for Lint/ToEnumArguments when a braced hash is passed to keyword parameters (e.g. to_enum(:m, { required: required })), which raises ArgumentError when the enumerator is used. (@RedZapdos123)
  • #11956: Fix a false positive for Naming/FileName when a class or module name contains multiple consecutive AllowedAcronyms. (@camallen)
  • #15324: Fix a false positive for Style/DirEmpty with a block. (@bbatsov)
  • #15326: Fix a false positive for Style/EmptyLiteral with numbered and it block parameters. (@bbatsov)
  • #15335: Fix a false positive for Style/EnvHome. (@bbatsov)
  • #15345: Fix a false positive for Style/InlineComment with rubocop:todo directives. (@bbatsov)
  • #15348: Fix a false positive for Style/MultilineIfThen. (@bbatsov)
  • #15383: Fix a false positive for Style/NumericPredicate when an allowed method encloses a numbered-parameter or it block. (@bbatsov)
  • #15389: Fix a false positive for Style/OptionHash when the options hash is forwarded with an explicit super. (@bbatsov)
  • #15350: Fix a false positive for Style/RedundantFormat with a lone format sequence. (@bbatsov)
  • #15374: Fix a false positive for Style/RedundantSelf with a rescue exception variable. (@bbatsov)
  • #15376: Fix a false positive for Style/Semicolon with a semicolon inside a string literal. (@bbatsov)
  • #15398: Fix an incorrect autocorrect for Layout/ConditionPosition that dropped a body statement sharing the condition's line via a semicolon. (@bbatsov)
  • #15399: Fix an incorrect autocorrect for Layout/EmptyComment that deleted a heredoc when removing an empty comment trailing its opener. (@bbatsov)
  • #15400: Fix an incorrect autocorrect for Layout/EmptyLineBetweenDefs that inserted a blank line inside a heredoc body when an endless method's body was a heredoc. (@bbatsov)
  • #15401: Fix an incorrect autocorrect for Layout/SpaceAroundOperators that turned **= and /= compound assignments into **//, dropping the assignment. (@bbatsov)
  • #15406: Fix an incorrect autocorrect for Naming/MemoizedInstanceVariableName. (@bbatsov)
  • #15411: Fix an incorrect autocorrect for Naming/RescuedExceptionsVariableName. (@bbatsov)
  • #15319: Fix an incorrect autocorrect for Style/DataInheritance with a brace block. (@bbatsov)
  • #15323: Fix an incorrect autocorrect for Style/EmptyCaseCondition as a yield/super argument. (@bbatsov)
  • #15323: Fix an incorrect autocorrect for Style/EmptyCaseCondition with low-precedence when values. (@bbatsov)
  • #15322: Fix an incorrect autocorrect for Style/EmptyClassDefinition with a namespaced constant. (@bbatsov)
  • #15336: Fix an incorrect autocorrect for Style/EmptyHeredoc. (@bbatsov)
  • #15332: Fix an incorrect autocorrect for Style/EvenOdd. (@bbatsov)
  • #15329: Fix an incorrect autocorrect for Style/ExactRegexpMatch with a single quote. (@bbatsov)
  • #15333: Fix an incorrect autocorrect for Style/FileNull. (@bbatsov)
  • #15334: Fix an incorrect autocorrect for Style/For. (@bbatsov)
  • #15331: Fix an incorrect autocorrect for Style/FormatString with a low-precedence argument. (@bbatsov)
  • #15331: Fix an incorrect autocorrect for Style/FormatString with a splat argument. (@bbatsov)
  • #15337: Fix an incorrect autocorrect for Style/HashSlice. (@bbatsov)
  • #15327: Fix an incorrect autocorrect for Style/HashSyntax with a multi-pair braceless return. (@bbatsov)
  • #15368: Fix an incorrect autocorrect for Style/IfWithSemicolon that changed semantics when the condition was an assignment, by parenthesizing it in the resulting ternary. (@bbatsov)
  • #15340: Fix an incorrect autocorrect for Style/KeywordArgumentsMerging with a block-pass argument. (@bbatsov)
  • #15387: Fix an incorrect autocorrect for Style/KeywordParametersOrder that inserted a spurious blank line when a keyword optional parameter already trailed the parameters list. (@bbatsov)
  • #15341: Fix an incorrect autocorrect for Style/MapIntoArray with a block-pass argument. (@bbatsov)
  • #15342: Fix an incorrect autocorrect for Style/MethodCallWithoutArgsParentheses with it() in a numbered block. (@bbatsov)
  • #15343: Fix an incorrect autocorrect for Style/MinMaxComparison with unless. (@bbatsov)
  • #15348: Fix an incorrect autocorrect for Style/MultilineMemoization with rescue/ensure. (@bbatsov)
  • #15348: Fix an incorrect autocorrect for Style/MultilineMethodSignature. (@bbatsov)
  • #15394: Fix an incorrect autocorrect for Style/NilLambda when a non-lambda proc returns nil with return. (@bbatsov)
  • #15352: Fix an incorrect autocorrect for Style/ParallelAssignment with a %i element needing quoting. (@bbatsov)
  • #15352: Fix an incorrect autocorrect for Style/ParallelAssignment with a %w element needing escaping. (@bbatsov)
  • #15366: Fix an incorrect autocorrect for Style/PercentLiteralDelimiters that produced invalid Ruby for a %s symbol whose content contains the preferred delimiter. (@bbatsov)
  • #15370: Fix an incorrect autocorrect for Style/PerlBackrefs that rewrote $+/$LAST_PAREN_MATCH to the non-equivalent Regexp.last_match(-1); these are no longer flagged. (@bbatsov)
  • #15371: Fix an incorrect autocorrect for Style/RedundantException that changed the exception message when raising RuntimeError with a nil message. (@bbatsov)
  • #15350: Fix an incorrect autocorrect for Style/RedundantFormat with a nil argument. (@bbatsov)
  • #15365: Fix an incorrect autocorrect for Style/RedundantLineContinuation that corrupted an earlier line when removing a line continuation at the end of a multi-line file. (@bbatsov)
  • #15373: Fix an incorrect autocorrect for Style/RedundantRegexpEscape that stripped a necessary \@/\$ escape after # in %r{}/%r// literals, enabling unintended interpolation. (@bbatsov)
  • #15375: Fix an incorrect autocorrect for Style/RedundantStructKeywordInit when keyword_init is not the last pair. (@bbatsov)
  • #15377: Fix an incorrect autocorrect for Style/SingleLineDoEndBlock when the block body contains a heredoc. (@bbatsov)
  • #15378: Fix an incorrect autocorrect for Style/StringHashKeys when the hash key is a heredoc. (@bbatsov)
  • #15380: Fix an incorrect autocorrect for Style/TernaryParentheses when the condition is a modifier if/unless expression. (@bbatsov)
  • #15407: Fix an infinite loop for Gemspec/RequireMFA with multiple specifications. (@bbatsov)
  • #15356: Fix an infinite loop between Lint/AssignmentInCondition and Style/RedundantParentheses when an assignment is a statement of a multi-statement begin in a condition. (@koic)
  • #14370: Fix comment duplication for Style/AccessorGrouping with a single-line trailing comment. (@bbatsov)
  • #15318: Fix --fail-fast not reporting offenses and exiting with a zero status when offenses are found. (@koic)
  • #15312: Fix false positives for Layout/BlockAlignment when EnforcedStyleAlignWith: start_of_block is used and do is on a continuation line of a parenthesisless multiline method call. (@koic)
  • #15339: Fix incorrect autocorrects for Style/HashTransformKeys and Style/HashTransformValues with a splat. (@bbatsov)
  • #15344: Fix incorrect autocorrects for Style/Lambda with block-local arguments. (@bbatsov)
  • #15311: Fix a false negative for Layout/IndentationWidth when the body of a multiline grouped expression in parentheses is not indented. (@koic)
  • #15302: Fix an incorrect autocorrect for Bundler/OrderedGems and Gemspec/OrderedDependencies when the last declaration has no trailing newline, which joined two declarations into a single line. (@koic)
  • #15307: Fix a false positive for Lint/UnescapedBracketInRegexp when a character class starts with a bare ] (e.g. /[^]]/). (@koic)

Changes

  • #15390: Mark Style/MapCompactWithConditionalBlock autocorrect as unsafe because compact also removes nil elements already present in the collection. (@bbatsov)
  • #15300: Update Metrics/PerceivedComplexity to weight simple case/in pattern branches the same as case/when branches. (@koic)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ concurrent-ruby (indirect, 1.3.7 → 1.3.8) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ json (indirect, 2.20.0 → 2.21.1) · Repo · Changelog

Release Notes

2.21.1 (from changelog)

  • Fix a compilation issue on Window and Microsoft Visual C++.

2.21.0

What's Changed

  • JSON.generate now accept a sort_keys option, which takes either a boolean or a block.
  • Added #empty? and #partial_value? methods on JSON::ResumableParser.
  • Numerous correctness and performance fixes for JSON::ResumableParser.
  • Avoid triggering Ruby's float out of range warning when parsing out of range numbers.
  • Declare C types with Ruby 4.1 RUBY_TYPED_THREAD_SAFE_FREE.

Full Changelog: v2.20.0...v2.21.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ language_server-protocol (indirect, 3.17.0.5 → 3.17.0.6) · Repo · Changelog

Release Notes

3.17.0.6 (from changelog)

  • Regenerate protocol files with the Ruby generator (#141)
    • Add missing LSP 3.17 interfaces and constants
  • Include RBS signature files in the gem package
  • Add dependent gem test workflow (#142)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ parser (indirect, 3.3.11.1 → 3.3.12.0) · Repo · Changelog

Release Notes

3.3.12.0 (from changelog)

API modifications:

  • Bump maintenance branches to 3.3.12 (#1091) (Koichi ITO)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rubocop-ast (indirect, 1.49.1 → 1.50.0) · Repo · Changelog

Release Notes

1.50.0 (from changelog)

Bug fixes

  • #412: Fix Node#argument? returning true for receivers that are structurally equal to an argument (e.g. the receiver in foo.bar(foo)). (@bbatsov)
  • #401: Avoid intermediate array allocations in HashNode#each_key/each_value. (@bbatsov)
  • #409: Fix Node#chained? and MethodDispatchNode#block_literal? returning true for nodes that are merely structurally equal to the receiver or send node (e.g. the argument in foo.bar(foo)). (@bbatsov)
  • #407: Fix the blockless form of the deprecated each_when, each_in_pattern, each_condition, and each_branch methods, which returned an unusable Enumerator. (@bbatsov)
  • #401: Fix force_encoding being a no-op for frozen string inputs. (@bbatsov)
  • #408: Fix ProcessedSource#preceding_line returning the last line of the file for tokens on the first line. (@bbatsov)

Changes

  • #411: Speed up filtered node traversals (each_descendant(:send) etc.) by not allocating an array per visited node, and add the non-splatting Node#type_in? predicate. (@bbatsov)
  • #404: Improve parser_prism performance by building tokens only when they are first accessed. (@bbatsov)
  • #408: Memoize ProcessedSource#checksum and skip the token sort when the tokens are already in order. (@bbatsov)
  • #410: Reduce allocations in keyword? and the method-name predicates (predicate_method?, bang_method?, etc.). (@bbatsov)
  • #405: Use Prism by default when analyzing Ruby 3.3 code. (@bbatsov)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu Bot added the dependencies Pull requests that update a dependency file label Jul 19, 2026
@codecov

codecov Bot commented Jul 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.17%. Comparing base (5c38abc) to head (5ce4ed4).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #2934   +/-   ##
========================================
  Coverage    92.17%   92.17%           
========================================
  Files          432      432           
  Lines         9175     9175           
========================================
  Hits          8457     8457           
  Misses         718      718           
Flag Coverage Δ
javascript 89.37% <ø> (ø)
pull_request 92.17% <ø> (ø)
push 92.17% <ø> (ø)
ruby 92.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants