Skip to content

Update rubocop 1.90.0 → 1.91.0 (minor) - #1082

Merged
depfu[bot] merged 1 commit into
mainfrom
depfu/update/rubocop-1.91.0
Sep 21, 2026
Merged

depfu[bot] merged 1 commit into
mainfrom
depfu/update/rubocop-1.91.0

Conversation

@depfu

@depfu depfu Bot commented Sep 21, 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 (1.90.0 → 1.91.0) · Repo · Changelog

Release Notes

1.91.0

New features

  • #15631: Add a preview channel for unstable behavior. (@bbatsov)
  • #15627: Add a SARIF formatter. (@bbatsov)
  • #15686: Add AllCops: FailLevel, the configuration equivalent of --fail-level. (@bbatsov)
  • #15650: Add AllowedDirectives option to Style/DisableCopsWithinSourceCodeDirective, exempting directive kinds such as generated rubocop:todo comments. (@bbatsov)
  • #15629: Add --changed to inspect only the files git says changed. (@bbatsov)
  • #15628: Add --diff to preview autocorrection without writing files. (@bbatsov)
  • #15615: Add new Lint/MisplacedMagicComment cop to flag magic comments in positions where Ruby ignores them. (@bbatsov)
  • #15600: Add the rubocop:enable-next directive to re-enable cops for the next statement only. (@bbatsov)
  • #15600: Add the rubocop:next directive, combining push-style +/- arguments with disable-next's statement scope. (@bbatsov)
  • #15363: Let a cop's entry in the default configuration carry a Preview section with the defaults it is expected to adopt in the next major release, applied under Preview. (@bbatsov)

Bug fixes

  • #15349: Fix a false positive for Style/RedundantRegexpCharacterClass with \8/\9. (@bbatsov)
  • #15646: Fix an error for Layout/ElseAlignment when else is used with rescue in a class, module, or singleton class body. (@viralpraxis)
  • #15613: Fix an error for Layout/HashAlignment when a hash value starts on the line below its key. (@viralpraxis)
  • #15623: Fix an error for Layout/HashAlignment when the first pair of a hash omits its value, and an incorrect autocorrection when a later pair does. (@viralpraxis)
  • #15602: Fix an error for Layout/IndentationWidth on under-indented code with tab indentation. (@Starlexxx)
  • #15672: Fix an error for Lint/RedundantCopDisableDirective when a file contains more than one rubocop:push/rubocop:pop pair. (@koic)
  • #15625: Fix an error for Style/AccessModifierDeclarations when a body repeats the same access modifier. (@viralpraxis)
  • #15603: Fix an error for Style/AccessModifierDeclarations with EnforcedStyle: inline when an access modifier is the body of an if without an else branch. (@viralpraxis)
  • #15604: Fix an error for Style/ConstantVisibility when a visibility declaration splats anything other than an array literal, e.g. private_constant(*constants(false)). (@viralpraxis)
  • #15647: Fix an error for Style/DocumentationMethod when an inline module_function/ruby2_keywords def is preceded by another argument. (@viralpraxis)
  • #15680: Fix an error for Style/EndlessMethod when a method definition is nested inside another method definition. (@viralpraxis)
  • #15674: Fix an error for Style/FloatDivision when using EnforcedStyle: fdiv and one operand of a float division is itself a parenthesized float division. (@viralpraxis)
  • #15624: Fix an error for Style/HashLookupMethod when the looked-up key is itself a hash lookup. (@viralpraxis)
  • #15642: Fix an error for Style/HashSyntax when hash rockets are enforced and a hash value repeats its key. (@viralpraxis)
  • #15634: Fix an incorrect autocorrect for Lint/LiteralAsCondition when the other operand is a parenthesized return. (@Starlexxx)
  • #15648: Fix an incorrect autocorrect for Lint/ParenthesesAsGroupedExpression when the parentheses contain and, or, not, or a modifier expression. (@Starlexxx)
  • #15612: Fix an incorrect autocorrect for Naming/BlockForwarding with Style/MethodDefParentheses. (@Starlexxx)
  • #15680: Fix an incorrect autocorrect for Style/EndlessMethod when using EnforcedStyle: require_always and the method body has a rescue or ensure clause. (@viralpraxis)
  • #15669: Fix an incorrect autocorrect for Style/FloatDivision when using EnforcedStyle: fdiv and the divisor is a method call with parenthesized arguments. (@viralpraxis)
  • #15678: Fix an incorrect autocorrect for Style/For when using EnforcedStyle: for and the block body has a rescue or ensure clause. (@viralpraxis)
  • #15645: Fix an incorrect autocorrect for Style/GuardClause with Style/MissingElse. (@Starlexxx)
  • #15668: Fix an incorrect autocorrect for Style/MethodCallWithArgsParentheses when EnforcedStyle: omit_parentheses is used together with Style/TrailingCommaInArguments. (@viralpraxis)
  • #15347: Fix an incorrect autocorrect for Style/NestedModifier. (@bbatsov)
  • #15347: Fix an incorrect autocorrect for Style/NonNilCheck. (@bbatsov)
  • #15347: Fix an incorrect autocorrect for Style/Not with a flip-flop or assignment. (@bbatsov)
  • #15349: Fix an incorrect autocorrect for Style/RedundantDoubleSplatHashBraces with a braced merge argument. (@bbatsov)
  • #15349: Fix an incorrect autocorrect for Style/RedundantParentheses around and/or. (@bbatsov)
  • #15349: Fix an incorrect autocorrect for Style/RedundantRegexpConstructor with %r{} delimiters. (@bbatsov)
  • #15614: Fix an infinite loop between Layout/ArgumentAlignment and Layout/HashAlignment with separator style. (@Starlexxx)
  • #15599: Fix an infinite loop error for Layout/CommentIndentation when many comment blocks with the same indentation are separated by empty lines. (@Starlexxx)
  • #15597: Fix an infinite loop error for Layout/EmptyLinesAfterModuleInclusion when a module inclusion is directly before rescue. (@Starlexxx)
  • #15617: Fix an infinite loop between Layout/ExtraSpacing with ForceEqualSignAlignment and Layout/SpaceAroundOperators. (@Starlexxx)
  • #15638: Fix an infinite loop error for Layout/FirstArrayElementIndentation with Layout/ArrayAlignment when EnforcedStyle: with_fixed_indentation is configured. (@RedZapdos123)
  • #15639: Fix an infinite loop error for Layout/FirstParameterIndentation with Layout/ParameterAlignment when EnforcedStyle: with_fixed_indentation is configured. (@RedZapdos123)
  • #15619: Fix an infinite loop for Layout/LineLength with SplitStrings: true when the split point lands on a trailing space. (@Starlexxx)
  • #15675: Fix an infinite loop between Layout/SpaceAroundOperators and Layout/ExtraSpacing with ForceEqualSignAlignment: true for aligned operator assignments. (@Starlexxx)
  • #15598: Fix an infinite loop error for Lint/AssignmentInCondition when an assignment is inside defined?. (@Starlexxx)
  • #15665: Fix an infinite loop between Style/EmptyMethod and Style/SingleLineMethods with AllowIfMethodIsEmpty: false. (@Starlexxx)
  • #15644: Fix an infinite loop error for Style/EndlessMethod when an indented method definition would exceed Layout/LineLength once made endless. (@viralpraxis)
  • #15651: Fix an infinite loop error for Style/EndlessMethod when a method body is a block spread over several lines. (@viralpraxis)
  • #15618: Fix an infinite loop between Style/ParenthesesAroundCondition with AllowSafeAssignment: false and Lint/AssignmentInCondition. (@Starlexxx)
  • #15662: Fix an infinite loop between Layout/SpaceAroundBlockParameters and Layout/SpaceInsideParens when the two cops enforce conflicting styles for a lambda's parameter parentheses. (@viralpraxis)
  • #15670: Fix an infinite loop for Style/NumericLiteralPrefix with signed literals. (@dylanpulver)
  • #15636: Fix Lint/CopDirectiveSyntax falsely reporting multiple directives when valid reason text mentions another directive. (@RedZapdos123)
  • #15679: Fix false positives in Lint/DuplicateMethods for singleton methods in separate anonymous classes. (@rafaelfranca)
  • #15347: Fix incorrect autocorrects for Style/NilComparison with precedence-sensitive operands. (@bbatsov)
  • #15611: Fix Lint/ArgumentMismatch registering false positives for Foo.new calls, which are documented as out of scope but were checked against whichever new the project index could reach. (@HoneyryderChuck)
  • #15610: Fix Lint/ArgumentMismatch registering false positives for calls that resolve to a private method on Object, such as a bare def written at the top level of a DSL file. (@HoneyryderChuck)
  • #15600: Make rubocop:push +Cop arguments enable cops that are disabled in the configuration. (@bbatsov)
  • #9325: Merge Exclude with the default configuration and with inherited files under Preview. (@bbatsov)
  • #15626: Fix RemoteConfig failing to follow relative HTTP redirects for remote configuration files. (@RedZapdos123)
  • #15661: Fix the result cache reading and processing non-regular files. (@viralpraxis)
  • #15621: Fix incorrect analysis results when the result cache cannot compute a file checksum, which could serve one file's cached results for another file. (@koic)
  • #11696: Fix Style/DataInheritance to not register an offense when the class body defines constants, nested classes, or nested modules. (@MatheusRich)
  • #15655: Fix Style/StructInheritance to not register an offense when the class body defines constants, nested classes, or nested modules. (@MatheusRich)

Changes

  • #15363: Disable Metrics/MethodLength, Metrics/AbcSize, Metrics/ClassLength, Metrics/ModuleLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/BlockLength, Metrics/ParameterLists and Metrics/BlockNesting under Preview, ahead of them being disabled by default in RuboCop 2.0. (@bbatsov)
  • #15363: Disable Style/IfUnlessModifier, Style/GuardClause, Style/Next, Style/ClassAndModuleChildren, Style/DoubleNegation, Style/NumericPredicate, Style/SpecialGlobalVars, Style/PerlBackrefs, Style/FrozenStringLiteralComment, Style/FormatStringToken, Style/FormatString, Style/RegexpLiteral, Style/SignalException, Style/Lambda, Style/ParallelAssignment, Style/RaiseArgs, Style/ModuleFunction, Style/BlockDelimiters, Style/NumericLiterals, Style/NegatedIf, Naming/VariableNumber, Naming/HeredocDelimiterNaming, Layout/EmptyLineAfterGuardClause and Bundler/OrderedGems under Preview, ahead of them being disabled by default in RuboCop 2.0. (@bbatsov)
  • #15363: Set AllCops: FailLevel to warning under Preview, so that style offenses are reported without failing the build, ahead of it becoming the default in RuboCop 2.0. (@bbatsov)
  • #15363: Set the community-preferred EnforcedStyle of Style/StringLiterals, Style/StringLiteralsInInterpolation, Layout/CaseIndentation, Layout/EndAlignment, Layout/MultilineMethodCallIndentation, Layout/MultilineOperationIndentation, Layout/FirstHashElementIndentation, Layout/FirstArrayElementIndentation, Layout/ParameterAlignment, Layout/ArgumentAlignment, Style/EmptyMethod, Style/Alias, Style/RescueStandardError and Style/TernaryParentheses under Preview, ahead of them becoming the defaults in RuboCop 2.0. (@bbatsov)
  • #15363: Set the EnforcedStyle of Style/SymbolArray and Style/WordArray to brackets under Preview, ahead of it becoming the default in RuboCop 2.0. (@bbatsov)
  • #15686: Derive a cop's default severity from its department: Security cops now report as warning and Metrics cops as refactor. (@bbatsov)
  • #15363: Disable Style/Documentation under Preview, ahead of it being disabled by default in RuboCop 2.0. (@bbatsov)
  • #15616: Enable Lint/CopDirectiveSyntax by default, so directives that silently disable nothing are reported. (@bbatsov)
  • #15601: Make Style/DirectiveScope convert single-statement signed push/pop scopes and enable/disable pairs to the next, enable-next and disable-next forms. (@bbatsov)
  • #15650: Make AllowedCops and DisallowedCops of Style/DisableCopsWithinSourceCodeDirective match department names as well as cop names. (@bbatsov)
  • #15616: Remove Style/DoubleCopDisableDirective, superseded by Lint/CopDirectiveSyntax, which now reports and corrects more than one directive on a line. (@bbatsov)
  • #15607: Recognize warn_indent as a magic comment. This fixes a false positive for Layout/EmptyLineAfterMagicComment and makes Lint/OrderedMagicComments and Style/MagicCommentFormat aware of it. (@koic)
  • #15650: Rename the AllowTrailingComment option of Style/DisableCopsWithinSourceCodeDirective to AllowWithReason. (@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.

↗️ json (indirect, 2.21.2 → 3.0.2) · Repo · Changelog

Release Notes

3.0.2 (from changelog)

  • Fix JSON.load_file and JSON.load_file! to load on Ruby 2.7.0 through 2.7.2, which cannot parse a leading parameter before ....

3.0.1 (from changelog)

  • Restore the limit positional argument of JSON.dump.

3.0.0

With the removal of the insecure create_additions option, JSON.load and JSON.dump are now safe to use. Them being unsafe by default caused multiple security vulnerabilites in the past.

If you did depend on create_additions, the recommended migration is to implement a custom serializer using JSON::Coder.

All the mutable default options, such as JSON.load_default_options have been removed. They were preventing Ractor compatiblity, and causing bug in libraries using JSON expecting the default behavior. JSON methods now always behave the same unless monkey patched.

All methods options are now either keyword arguments or checked like keyword arguments, meaning unknown options such as typos raise ArgumentError.

Duplicated keys are now rejected by default.

JavaScript comments in documents are no longer supported by default.

Numerous rarely used aliases have been removed.

  • Add JSON::ParserError#json_path to locate parse errors in the document as a JSONPath-style string (e.g. $.foo[0].bar). For duplicate key errors it points at the duplicated key itself.
  • Fix the parser to also reject lone trailing UTF-16 surrogates (\uDCxx with no leading partner), symmetric to the leading-surrogate case. The Java parser already rejected these; this closes the CRuby/JRuby parity gap.
  • JSON.load defaults are now safe to use.
  • All unknown options will now cause an ArgumentError rather than to be ignored.
  • The allow_comments parsing option now defaults to false.
  • The allow_duplicate_key option now defaults to false, for both parsing and generating JSON.
  • Removed the limit positional argument of JSON.dump.
  • Removed the escape_slash alias of script_safe.
  • Removed Kernel#j and Kernel#jj.
  • Removed JSON.load_default_options.
  • Removed JSON.unsafe_load_default_options.
  • Removed JSON.dump_default_options.
  • Removed JSON::State#[] and JSON::State#[]=.
  • Removed JSON.unparse.
  • Removed JSON.fast_generate.
  • Removed JSON.fast_unparse.
  • Removed JSON.pretty_unparse.
  • Removed JSON.restore.
  • Removed JSON::PRETTY_STATE_PROTOTYPE.
  • Removed the insecure create_additions option.
  • Removed JSON::GenericObject.

Full Changelog: v2.21.2...v3.0.0

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

Commits

See the full diff on Github. The new version differs by 37 commits:

↗️ parallel (indirect, 2.1.0 → 2.2.0) · Repo · Changelog

Release Notes

2.2.0 (from changelog)

Added

  • Redact HMAC secrets from inspect output

Fixed

  • filter_map rejects falsy valus
  • restore the outer worker number after direct execution
  • compare producer stop markers by identity
  • ractor stop and crash handling
  • ractor direct mode with 0 workers
  • avoid storing or transferring discarded each results
  • ractor item index works
  • validate worker counts
  • clean up partially created process workers
  • avoid storing or transferring discarded each results

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

Commits

See the full diff on Github. The new version differs by 50 commits:

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

Release Notes

3.3.0 (from changelog)

  • Unicode 18.0
  • Fix bug that emoji handling could not be deactivated when using config object
  • Fix edge case to not modify string when failing parsing binary input as UTF-8

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

Commits

See the full diff on Github. The new version differs by 15 commits:

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

Release Notes

4.3.0 (from changelog)

  • Unicode / Emoji 18.0

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

Commits

See the full diff on Github. The new version differs by 14 commits:


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 label Sep 21, 2026
@depfu
depfu Bot merged commit 864bd1a into main Sep 21, 2026
4 checks passed
@depfu
depfu Bot deleted the depfu/update/rubocop-1.91.0 branch September 21, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants