Skip to content

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Dec 25, 2025

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 (1.79.2 → 1.82.1) · Repo · Changelog

Release Notes

1.82.1

Bug fixes

  • #14736: Fix an error for Style/TrailingCommaInArguments when EnforcedStyleForMultiline is consistent_comma and keyword arguments use a trailing comma. (@koic)
  • #14737: Fix crash in Layout/RedundantLineBreak when Layout/LineLength is disabled. (@ydakuka)
  • #14719: Fix crash on long lines when Layout/LineLength is disabled. (@floriandejonckheere)
  • #14743: Fix false positives for Layout/MultilineMethodCallIndentation when multiline method chain with block has expected indent width and the method is preceded by splat or double splat. (@koic)
  • #12297: Fix false negative in Layout/IndentationWidth for multiline method chain blocks. (@rscq)
  • #14730: Fix the cache implementation to use consistent cache keys across workers. (@byroot)
  • #14559: Fix false positives for Lint/UselessAssignment when a variable is assigned in loop body and used in loop condition. (@ydakuka)

1.82.0

New features

  • #14655: Add AllowRBSInlineAnnotation option to Layout/LineLength. (@koic)
  • #14569: Add IncludedMacroPatterns configuration option to Style/MethodCallWithArgsParentheses for 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/LiteralAsCondition when there are literals in multiple branches. (@viralpraxis)
  • #14678: Fix an error when running deprecated rake rubocop:auto_correct task. (@koic)
  • #14650: Fix wrong autocorrect for Lint/RedundantSplatExpansion when splatting a single literal. (@earlopain)
  • #14703: Fix false negatives for Layout/RescueEnsureAlignment when using self class definition. (@koic)
  • #14706: Fix false negatives for Lint/NoReturnInBeginEndBlocks when assigning instance variable, class variable, global variable, or constant. (@koic)
  • #14715: Fix false positives for Layout/EmptyLineAfterGuardClause when a guard clause follows a multiline heredoc in a parenthesized method call. (@koic)
  • #14667: Fix false positives for Layout/EndAlignment when a conditional assignment is used on the same line and the end with a safe navigation method call is aligned. (@koic)
  • #14688: Fix false positives for Layout/EndAlignment when a conditional assignment is used on the same line and the end with a numbered block or it block method call is aligned. (@koic)
  • #14699: Fix false positives for Lint/RedundantSafeNavigation when the receiver is used outside the singleton method definition scope. (@koic)
  • #14663: Fix false positives for Style/EndlessMethod when multiline or xstring heredoc is used in method body. (@koic)
  • #10173: Fix false positives for Style/TrailingCommaInArguments when EnforcedStyleForMultiline is set to consistent_comma and a multiline braced hash argument appears after another argument. (@koic)
  • #14680: Handle all OptionParser errors when running rubocop with input that causes an error. (@dvandersluis)
  • #14658: Fix incorrect behavior when Layout/LineLength is disabled. (@koic)
  • #14704: Fix incorrect Position character value in LSP. (@tmtm)
  • #14619: Store remote configuration caches in cache root. (@Jack12816)
  • #14476: Fix Style/ClassAndModuleChildren to skip compact style definitions inside another class or module when EnforcedStyle: nested. (@rscq)
  • #14281: Update Layout/EndAlignment with EnforcedStyleAlignWith: variable to handle conditionals inside begin nodes properly. (@dvandersluis)

Changes

  • #14662: Add autocorrection for Lint/UselessOr. (@r7kamura)
  • #14668: Exclude Severity from configuration parameters. (@r7kamura)
  • #14684: Make Style/CaseEquality allow regexp case equality where the receiver is a regexp literal. (@koic)
  • #14645: Change Lint/CircularArgumentReference to detect offenses within long assignment chains. (@viralpraxis)
  • #14642: Make Gemspec/RubyVersionGlobalsUsage aware of Ruby::VERSION. (@koic)
  • #14695: Make Layout/EmptyLineAfterMagicComment aware of # rbs_inline magic comment. (@koic)
  • #10147: Make Lint/ElseLayout allow a single-line else body in then single-line conditional. (@koic)
  • #14661: Make Lint/RedundantRequireStatement aware of pathname when analyzing Ruby 4.0. (@koic)
  • #14698: Make Lint/UnreachableCode aware of singleton method redefinition. (@koic)
  • #14677: Make Style/RedundantArgument aware of to_i. (@koic)
  • #14660: Rename IgnoreCopDirectives to AllowCopDirectives in Layout/LineLength. (@koic)
  • #14492: Revert #14492, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. (@koic)

1.81.7

Bug fixes

  • #14597: Fix an infinite loop error for Layout/HashAlignment when EnforcedStyle: with_fixed_indentation is specified for Layout/ArgumentAlignment. (@koic)
  • #14621: Fix an error for Naming/PredicateMethod when using an in pattern with empty parentheses body. (@koic)
  • #14631: Fix an error for Style/SoleNestedConditional when using nested single line if. (@koic)
  • #14626: Fix false positives in Style/ConstantVisibility when visibility is declared with multiple constants. (@koic)
  • #14628: Fix false positives for Style/FloatDivision when using Regexp.last_match or nth reference (e.g., $1). (@koic)
  • #14617: Handle non-specific issues with the Gemfile to allow fallback. (@Fryguy)
  • #14622: Fix an error for Naming/MethodName when the first argument to alias contains interpolation. (@earlopain)

1.81.6

Bug fixes

  • #14587: Fix an error for Lint/SelfAssignment when using []= assignment with no arguments. (@koic)
  • #14572: Fix an error for Style/ArrayIntersect when intersection(other).any? is called without a receiver. (@koic)
  • #14599: Fix a crash when Style/ConditionalAssignment is configured with assign_inside_conditional and the conditional contains a multi-line regex. (@martinemde)
  • #14574: Fix false positives for Style/RedundantInterpolation when using a one-line => pattern matching. (@koic)
  • #14602: Fix false positives for Style/EndlessMethod when heredoc is used in method body. (@koic)
  • #14594: Fix false positives for Style/EndlessMethod when the endless method would exceed the maximum line length. (@koic)
  • #14605: Fix false positive for Lint/EmptyInterpolation when interpolation is inside a %W literal. (@dvandersluis)
  • #14604: Fix Style/RedundantFormat false positive when a interpolated value is given to a specifier with a width or precision. (@dvandersluis)
  • #14607: Fix Style/RedundantFormat handling control characters like \n. (@dvandersluis)
  • #14577: Fix an incorrect autocorrect for Style/Semicolon when a method call using hash value omission without parentheses is terminated with a semicolon. (@koic)
  • #14552: Fix a false positive for Security/JSONLoad when create_additions is explicitly specified. (@earlopain)

Changes

  • #14566: Enhance Lint::ConstantOverwrittenInRescue cop to detect offenses within fully qualified constants. (@viralpraxis)
  • #14575: Enhance Lint/ConstantOverwrittenInRescue cop to detect offenses within nested constants. (@viralpraxis)
  • #14596: Change Lint/ConstantOverwrittenInRescue to detect any constant assignment. (@viralpraxis)
  • #14568: Make Style/LambdaCall autocorrection contextual. (@koic)

1.81.1

Bug fixes

  • #14563: Fix incorrect autocorrection for Lint/DeprecatedOpenSSLConstant when Cipher appears twice. (@koic)

Changes

  • #14565: Allow multiline method chain for Style/NumberedParameters and Style/ItBlockParameter with EnforcedStyle: allow_single_line when the block itself is on a single line. (@earlopain)

1.81.0

New features

  • #14512: Add Style/ArrayIntersectWithSingleElement cop. (@r7kamura)
  • #10971: Support EnforcedStyleForMultiline: diff_comma in Style/TrailingCommaInArguments. (@akouryy)

Bug fixes

  • #14560: Fix an error for Style/NilComparison cop when using the var.==(nil) and var.===(nil) syntax. (@viralpraxis)
  • #14535: Fix autocorrect for Style/ExplicitBlockArgument when there are two methods that share the same implementation. (@earlopain)
  • #14527: Fix false negatives for Style/NumberedParameters and Style/ItBlockParameter when using multiline method chain with EnforcedStyle: allow_single_line. (@koic)
  • #14522: Fix false negatives for Layout/MultilineOperationIndentation when using indented code on LHS of equality operator in modifier method definition. (@koic)
  • #14496: Fix false negatives for Layout/EmptyLineBetweenDefs for AllowAdjacentOneLineDefs: false and DefLikeMacros that take no block. (@earlopain)
  • #14553: Fix false positives when EnforcedStyle: allowed_in_returns and !! appears across multiple lines in return position. (@koic)
  • #14557: Fix false positives for Style/RedundantParentheses when parentheses are used around a one-line rescue expression as a condition. (@koic)
  • #14525: Fix false positives for Style/RedundantRegexpEscape when an escaped variable sigil follows # (e.g., /#\@foo/, /#\@@bar/, /#\$baz/). (@koic)
  • #14529: Fix false negative in Layout/RescueEnsureAlignment with a block whose send node is split over multiple lines. (@dvandersluis)
  • #14528: Fix Style/RedundantFormat when the format string has a variable width that isn't given as a literal value. (@dvandersluis)
  • #14541: Fix gemspec parsing error when ParserEngine: parser_prism is configured in a base config file. (@sudoremo)
  • #14544: Fix an incorrect autocorrect for Lint/Void when using a return value in assignment method definition. (@koic)
  • #14543: Fix an incorrect autocorrect for Style/RedundantRegexpArgument when using escaped single quote character. (@koic)
  • #14540: Fix an incorrect autocorrect for Style/UnlessElse when using unless with then. (@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 .rubocop config 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/LineLength autocorrection from splitting a block if its receiver contains a heredoc. (@dvandersluis)
  • #14497: Fix a false positive for Lint/ShadowedArgument when assigning inside a rescue block. (@earlopain)

Changes

  • #14492: Add support for LSP positionEncoding utf-8 and utf-32. (@tmtm)

1.80.2

Bug fixes

  • #14477: Fix a false positive for Style/SafeNavigation when using ternary expression with index access call with method chain. (@koic)
  • #14486: Fix false positives for Style/RedundantParentheses with unary operators and yield, super, or defined?. (@earlopain)
  • #14489: Fix false negatives for Style/RedundantParentheses with method calls taking argument without parentheses like return (x y) if z. (@earlopain)
  • #14499: Fix wrong autocorrect for Style/StringConcatenation when a double-quoted string contains escaped quotes and interpolation. (@earlopain)
  • #14502: Fix wrong autocorrect for Style/StringConcatenation when a single-quoted string contains interpolation like '#{foo}'. (@earlopain)

Changes

  • #14493: Make Naming/PredicateMethod allow the initialize method. (@koic)

1.80.1

Bug fixes

  • #14479: Don't invalidate cache when --display-time option is used on the CLI. (@lovro-bikic)
  • #14473: Fix a false negative for Style/RedundantBegin using begin with multiple statements without rescue or ensure. (@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/EndAlignment when end is not on a separate line. (@lovro-bikic)

1.80.0

Bug fixes

  • #14469: Fix an incorrect autocorrect for Style/BitwisePredicate when using & with LHS flags in conjunction with == for comparisons. (@koic)
  • #14459: Fix wrong autocorrect for Style/For with save navigation in the collection. (@earlopain)
  • #14435: Fix false negatives for regexp cops when Lint/DuplicateRegexpCharacterClassElement is enabled. (@earlopain)
  • #14419: Fix false positives for Lint/UselessAssignment when duplicate assignments appear in nested if branches inside a loop and the variable is used outside while loop. (@koic)
  • #14468: Fix false positives for Naming/MethodName when an operator method is defined using a string. (@koic)
  • #14427: Fix false positives for Style/RedundantParentheses when do...end block is wrapped in parentheses as a method argument. (@koic)
  • #14441: Better hash access handling in Style/SafeNavigation. (@issyl0)
  • #14443: Fix false positive in Layout/EmptyLinesAfterModuleInclusion when include does not have exactly one argument. (@issyl0)
  • #14424: Fix Style/SafeNavigation cop 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/UselessAssignment with for loops when the variable is referenced in the collection. (@earlopain)
  • #14447: Fix wrong autocorrect for Style/RedundantCondition with a parenthesised method call in the condition. (@earlopain)

Changes

  • #14428: Enhance Lint/SelfAssignment to handle indexed assignment with multiple arguments. (@viralpraxis)
  • #14464: Exclude AutoCorrect and Include from configuration parameters. (@r7kamura)
  • #14472: Make Style/RedundantBegin aware of case pattern matching. (@koic)
  • #14448: Register array intersection size checks as offenses under Style/ArrayIntersect. (@lovro-bikic)
  • #14431: Support LSP TextDocumentSyncKind.Incremental. (@tmtm)
  • #14453: Update Style/RedundantBegin to register begin blocks inside if, unless, case, while and until as redundant. (@dvandersluis)

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.

↗️ json (indirect, 2.13.2 → 2.18.0) · Repo · Changelog

Release Notes

2.18.0

What's Changed

  • Add :allow_control_characters parser options, to allow JSON strings containing unescaped ASCII control characters (e.g. newlines).

Full Changelog: v2.17.1...v2.18.0

2.17.1 (from changelog)

  • Fix a regression in parsing of unicode surogate pairs (\uXX\uXX) that could cause an invalid string to be returned.

2.17.0

What's Changed

  • Improve JSON.load and JSON.unsafe_load to allow passing options as second argument.
  • Fix the parser to no longer ignore invalid escapes in strings.
    Only \", \\, \b, \f, \n, \r, \t and \u are valid JSON escapes.
  • Fixed JSON::Coder to use the depth it was initialized with.
  • On TruffleRuby, fix the generator to not call to_json on the return value of as_json for Float::NAN.
  • Fixed handling of state.depth: when to_json changes state.depth but does not restore it, it is reset
    automatically to its initial value.
    In particular, when a NestingError is raised, depth is no longer equal to max_nesting after the call to
    generate, and is reset to its initial value. Similarly when to_json raises an exception.

Full Changelog: v2.16.0...v2.17.0

2.16.0

What's Changed

  • Deprecate JSON::State#[] and JSON::State#[]=. Consider using JSON::Coder instead.
  • JSON::Coder now also yields to the block when encountering strings with invalid encoding.
  • Fix GeneratorError messages to be UTF-8 encoded.
  • Fix memory leak when Exception is raised, or throw is used during JSON generation.
  • Optimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).
  • Optimized numbers parsing using SWAR (thanks to Scott Myron).
  • Optimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).

Full Changelog: v2.15.2...v2.16.0

2.15.2

What's Changed

  • Fix JSON::Coder to have one dedicated depth counter per invocation.
    After encountering a circular reference in JSON::Coder#dump, any further #dump call would raise JSON::NestingError.

Full Changelog: v2.15.1...v2.15.2

2.15.1

What's Changed

  • Fix incorrect escaping in the JRuby extension when encoding shared strings.

Full Changelog: v2.15.0...v2.15.1

2.15.0

What's Changed

  • JSON::Coder callback now receive a second argument to convey whether the object is a hash key.
  • Tuned the floating point number generator to not use scientific notation as aggressively.

Full Changelog: v2.14.1...v2.15.0

2.14.1

What's Changed

  • Fix IndexOutOfBoundsException in the JRuby extension when encoding shared strings.

Full Changelog: v2.14.0...v2.14.1

2.14.0

What's Changed

  • Add new allow_duplicate_key generator options. By default a warning is now emitted when a duplicated key is encountered.
    In json 3.0 an error will be raised.
    >> Warning[:deprecated] = true
    >> puts JSON.generate({ foo: 1, "foo" => 2 })
    (irb):2: warning: detected duplicate key "foo" in {foo: 1, "foo" => 2}.
    This will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`
    {"foo":1,"foo":2}
    >> JSON.generate({ foo: 1, "foo" => 2 }, allow_duplicate_key: false)
    detected duplicate key "foo" in {foo: 1, "foo" => 2} (JSON::GeneratorError)
  • Fix JSON.generate strict: true mode to also restrict hash keys.
  • Fix JSON::Coder to also invoke block for hash keys that aren't strings nor symbols.
  • Fix JSON.unsafe_load usage with proc
  • Fix the parser to more consistently reject invalid UTF-16 surogate pairs.

Full Changelog: v2.13.2...v2.14.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.

↗️ parser (indirect, 3.3.9.0 → 3.3.10.0) · Repo · Changelog

Release Notes

3.3.10.0 (from changelog)

API modifications:

  • Bump maintenance branches to 3.3.10 (#1083) (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.

↗️ prism (indirect, 1.4.0 → 1.7.0) · Repo · Changelog

Release Notes

1.7.0

Added

  • Support 4.1 as a version option.
  • Add equal_loc to CallNode.
  • Add len()/is_empty() to ConstantList and NodeList in the Rust API.

Changed

  • Rename version 3.5 to version 4.0.
  • Fix compiling the gem from source on Windows.
  • Fix parsing of unary method calls like 42.~@.
  • Reject def f a, (b) = 1.
  • Reject endless method as a block parameter default.
  • Reject variable capture in alternative pattern.
  • Many fixes in regards to memory safety, found through fuzzing.
  • Many fixes to better handle invalid syntax, also found through fuzzing.
  • Fix the ruby version used by the ripper translator.
  • Fix ruby_parser translation comment processing.

1.6.0

Added

  • Add support for passing "current" as the version option to Prism.* APIs.

Changed

  • Remove a compiler warning for a missing unsigned cast for a shift value.

1.5.2

Changed

  • Fix character literal forced encoding when a unicode escape sequence is used.
  • Reject 1 if foo = bar baz.
  • Clear static literal flag on interpolated strings.
  • Reject optional argument/endless method definition ambiguity.

1.5.1

Changed

  • Revert of a bug introduced with static literal flags on interpolated strings.

1.5.0

Added

  • Add Prism::Translation::ParserCurrent.
  • Add Integer::to_u32_digits for the Rust API.
  • Add pm_comment_type_t field for the Rust API.
  • Support leading logical operators for CRuby 3.5+.

Changed

  • Mark Prism as ractor-safe.
  • Enforce a minimum version for the parser translation layer.
  • Many fixes to the parser translation layer.
  • Accept a newline after the defined? keyword.
  • Reject true && not true.
  • Make it = it assign nil to match parse.y behavior [Bug #21139].
  • Some fixes to the ruby parser translation layer.
  • Ensure call nodes have the correct ending location.
  • Reject foo && return bar.

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.

↗️ regexp_parser (indirect, 2.11.2 → 2.11.3) · Repo · Changelog

Release Notes

2.11.3 (from changelog)

Fixed

  • correctly emit backslash-escaped UTF8 characters in character classes as one token (#104)

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.46.0 → 1.48.0) · Repo · Changelog

Release Notes

1.48.0

New features

  • #391: Support Ruby 4.0 (experimental). (@koic)

1.47.1 (from changelog)

Bug fixes

  • #386: Fix parsing of node patterns that match against the empty string. (@earloapin)

1.47.0 (from changelog)

New features

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.

↗️ unicode-display_width (indirect, 3.1.5 → 3.2.0) · Repo · Changelog

Release Notes

3.2.0 (from changelog)

  • Unicode 17.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.

↗️ unicode-emoji (indirect, 4.0.4 → 4.2.0) · Repo · Changelog

Release Notes

4.2.0 (from changelog)

  • Allow Ruby 4.0
  • Remove Non-Emoji pictographs from spec, since they have been removed in Unicode 17
  • Update valid subdivisions to CLDR 48 (no changes)

4.1.0 (from changelog)

  • Unicode 17
  • Update valid subdivisions to CLDR 47 (no changes)

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 depfu Automatic gem updates label Dec 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

depfu Automatic gem updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant