Skip to content

Bump rubocop from 1.79.2 to 1.86.1#910

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/bundler/rubocop-1.86.1
Open

Bump rubocop from 1.79.2 to 1.86.1#910
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/bundler/rubocop-1.86.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 10, 2026

Bumps rubocop from 1.79.2 to 1.86.1.

Release notes

Sourced from rubocop's releases.

RuboCop v1.86.1

Bug fixes

  • #11051: Fix Style/AccessModifierDeclarations inline autocorrect dropping comments between the access modifier and the following method definition. (@​dduugg)
  • #14665: Cache plugin integration in CopHelper to avoid repeated loading. (@​55728)
  • #15091: Fix Lint/DuplicateMethods false positives for anonymous classes in constant assignments and method return values. (@​eugeneius)
  • #15055: Fix Lint/DuplicateMethods false positives with anonymous classes inside blocks (e.g. RSpec let, describe). (@​ShkumbinDelija)
  • #15035: Exclude included_modules from Style/ModuleMemberExistenceCheck. (@​koic)
  • #15087: Fix false positive for Style/RedundantLineContinuation when using interpolated string literals. (@​koic)
  • #14361: Fix false positive in file_to_include? when a relative Include pattern matches a parent directory name in the absolute file path. (@​jonas054)
  • #15090: Fix false positives for Layout/EmptyLineAfterGuardClause when consecutive guard clauses use and return. (@​eugeneius)
  • #15070: Fix false positive for Lint/RedundantSafeNavigation when chained safe navigation is used in a conditional expression with InferNonNilReceiver enabled. (@​koic)
  • #15074: Fix false positives in Style/RedundantParentheses when using parentheses around an endless range in assignment. (@​koic)
  • #15048: Fix issue where the url_for is missing for Cops without instance methods. (@​Fryguy)
  • #15051: Fix Style/RedundantParentheses handling of beginless ranges. (@​oggy)
  • #14980: Fix Lint/Syntax zero-length diagnostic range for syntax errors at EOF. (@​55728)
  • #15084: Handle heredocs with methods calls correctly when fixing guard clauses. (@​G-Rath)
  • #11398: Fix incorrect Include path adjustment when local config overrides an inherited Include. (@​jonas054)
  • #15092: Fix Layout/EndAlignment cop error on an empty begin. (@​viralpraxis)
  • #15059: Fix an error in Layout/LineLength when SplitStrings option is enabled and __FILE__ is used. (@​jeromedalbert)
  • #5876: Fix Lint/UnusedMethodArgument false positive when block argument is used via yield. (@​dduugg)
  • #15093: Return tool execution errors instead of protocol errors in MCP server. (@​koic)

Changes

  • #15005: Make Style/OneClassPerFile exclude spec/**/* and test/**/* by default. (@​koic)
  • #15081: Relax parallel dependency to >= 1.10. (@​koic)
  • #15063: Disable Style/RedundantStructKeywordInit cop by default. (@​koic)

RuboCop v1.86.0

New features

Bug fixes

... (truncated)

Changelog

Sourced from rubocop's changelog.

1.86.1 (2026-04-09)

Bug fixes

  • #11051: Fix Style/AccessModifierDeclarations inline autocorrect dropping comments between the access modifier and the following method definition. ([@​dduugg][])
  • #14665: Cache plugin integration in CopHelper to avoid repeated loading. ([@​55728][])
  • #15091: Fix Lint/DuplicateMethods false positives for anonymous classes in constant assignments and method return values. ([@​eugeneius][])
  • #15055: Fix Lint/DuplicateMethods false positives with anonymous classes inside blocks (e.g. RSpec let, describe). ([@​ShkumbinDelija][])
  • #15035: Exclude included_modules from Style/ModuleMemberExistenceCheck. ([@​koic][])
  • #15087: Fix false positive for Style/RedundantLineContinuation when using interpolated string literals. ([@​koic][])
  • #14361: Fix false positive in file_to_include? when a relative Include pattern matches a parent directory name in the absolute file path. ([@​jonas054][])
  • #15090: Fix false positives for Layout/EmptyLineAfterGuardClause when consecutive guard clauses use and return. ([@​eugeneius][])
  • #15070: Fix false positive for Lint/RedundantSafeNavigation when chained safe navigation is used in a conditional expression with InferNonNilReceiver enabled. ([@​koic][])
  • #15074: Fix false positives in Style/RedundantParentheses when using parentheses around an endless range in assignment. ([@​koic][])
  • #15048: Fix issue where the url_for is missing for Cops without instance methods. ([@​Fryguy][])
  • #15051: Fix Style/RedundantParentheses handling of beginless ranges. ([@​oggy][])
  • #14980: Fix Lint/Syntax zero-length diagnostic range for syntax errors at EOF. ([@​55728][])
  • #15084: Handle heredocs with methods calls correctly when fixing guard clauses. ([@​G-Rath][])
  • #11398: Fix incorrect Include path adjustment when local config overrides an inherited Include. ([@​jonas054][])
  • #15092: Fix Layout/EndAlignment cop error on an empty begin. ([@​viralpraxis][])
  • #15059: Fix an error in Layout/LineLength when SplitStrings option is enabled and __FILE__ is used. ([@​jeromedalbert][])
  • #5876: Fix Lint/UnusedMethodArgument false positive when block argument is used via yield. ([@​dduugg][])
  • #15093: Return tool execution errors instead of protocol errors in MCP server. ([@​koic][])

Changes

  • #15005: Make Style/OneClassPerFile exclude spec/**/* and test/**/* by default. ([@​koic][])
  • #15081: Relax parallel dependency to >= 1.10. ([@​koic][])
  • #15063: Disable Style/RedundantStructKeywordInit cop by default. ([@​koic][])

1.86.0 (2026-03-23)

New features

Bug fixes

  • #15015: Fix Style/ConcatArrayLiterals autocorrect deleting code for percent literals with interpolation. ([@​bbatsov][])
  • #14897: Detect constant reassignment after class/module definition in Lint/ConstantReassignment. ([@​ydakuka][])
  • #11829: Fix false negatives for Lint/DuplicateMethods when duplicate methods are defined in anonymous classes and modules not assigned to a constant. ([@​Darhazer][])
  • #14988: Fix false negative in Style/RedundantParentheses when redundant parentheses around range literals in block body. ([@​koic][])
  • #14916: Fix false positive for Layout/MultilineMethodCallIndentation when method chain is inside a hash pair value passed to a multiline chained method call. ([@​ydakuka][])
  • #15010: Fix a false positive for Lint/DuplicateMethods when modules blocks are passed as method arguments. ([@​5hun-s][])
  • #15028: Fix a false positive for Lint/DuplicateMethods when the same method is defined in different anonymous module blocks passed to a no-receiver call (e.g. stub_const). ([@​Darhazer][])
  • #15021: Fix false positives in Layout/EmptyLineAfterGuardClause when using a guard clause followed by a multi-line guard clause with raise, fail, return, break, or next. ([@​koic][])
  • #15001: Fix false positives in Layout/RedundantLineBreak when setting InspectBlocks: true and using rescue or ensure in the block. ([@​koic][])
  • #14997: Fix false positives in Style/FileOpen when assigning File.open to an instance variable, class variable, global variable, or constant. ([@​koic][])

... (truncated)

Commits
  • af80266 Cut 1.86.1
  • eb504ce Update Changelog
  • 9c8fe2c Merge pull request #15085 from G-Rath/fix-style-guard
  • 11d796a Merge pull request #15093 from koic/fix_return_tool_execution_errors_instead_...
  • 4450067 Return tool execution errors instead of protocol errors in MCP server
  • ff64180 Merge pull request #15092 from viralpraxis/fix-an-error-for-layout-end-alignm...
  • 11e04c0 Merge pull request #15091 from eugeneius/duplicate_methods_anonymous_classes
  • b8deea4 Merge pull request #15090 from eugeneius/guard_clause_and_return
  • e130020 Fix Layout/EndAlignment cop error on an empty begin
  • 4808594 Fix DuplicateMethods for anonymous classes in constant assignments and methods
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.79.2 to 1.86.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](rubocop/rubocop@v1.79.2...v1.86.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.86.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies ruby Pull requests that update Ruby code labels Apr 10, 2026
4 similar comments
@github-actions
Copy link
Copy Markdown
Contributor

gem compare json 2.13.2 2.19.3

Compared versions: ["2.13.2", "2.19.3"]
  DIFFERENT date:
    2.13.2: 2025-07-28 00:00:00 UTC
    2.19.3: 1980-01-02 00:00:00 UTC
  DIFFERENT require_paths:
    2.13.2: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.13.2", "lib"]
    2.19.3: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.19.3", "lib"]
  DIFFERENT rubygems_version:
    2.13.2: 3.6.2
    2.19.3: 4.0.3
  DIFFERENT version:
    2.13.2: 2.13.2
    2.19.3: 2.19.3
  DIFFERENT files:
    2.13.2->2.19.3:
      * Added:
            ext/json/ext/json.h +105/-0
            ext/json/ext/vendor/ryu.h +819/-0
            lib/json/add/string.rb +35/-0
      * Changed:
            CHANGES.md +98/-8
            LEGAL +12/-0
            README.md +19/-1
            ext/json/ext/fbuffer/fbuffer.h +47/-66
            ext/json/ext/generator/extconf.rb +1/-1
            ext/json/ext/generator/generator.c +375/-552
            ext/json/ext/parser/extconf.rb +2/-1
            ext/json/ext/parser/parser.c +619/-474
            ext/json/ext/simd/simd.h +42/-22
            ext/json/ext/vendor/fpconv.c +13/-12
            lib/json.rb +56/-1
            lib/json/add/core.rb +1/-0
            lib/json/common.rb +101/-33
            lib/json/ext/generator/state.rb +11/-14
            lib/json/generic_object.rb +0/-8
            lib/json/truffle_ruby/generator.rb +126/-64
            lib/json/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    2.13.2->2.19.3:
      * Changed:
            README.md +19/-1

3 similar comments
@github-actions
Copy link
Copy Markdown
Contributor

gem compare json 2.13.2 2.19.3

Compared versions: ["2.13.2", "2.19.3"]
  DIFFERENT date:
    2.13.2: 2025-07-28 00:00:00 UTC
    2.19.3: 1980-01-02 00:00:00 UTC
  DIFFERENT require_paths:
    2.13.2: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.13.2", "lib"]
    2.19.3: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.19.3", "lib"]
  DIFFERENT rubygems_version:
    2.13.2: 3.6.2
    2.19.3: 4.0.3
  DIFFERENT version:
    2.13.2: 2.13.2
    2.19.3: 2.19.3
  DIFFERENT files:
    2.13.2->2.19.3:
      * Added:
            ext/json/ext/json.h +105/-0
            ext/json/ext/vendor/ryu.h +819/-0
            lib/json/add/string.rb +35/-0
      * Changed:
            CHANGES.md +98/-8
            LEGAL +12/-0
            README.md +19/-1
            ext/json/ext/fbuffer/fbuffer.h +47/-66
            ext/json/ext/generator/extconf.rb +1/-1
            ext/json/ext/generator/generator.c +375/-552
            ext/json/ext/parser/extconf.rb +2/-1
            ext/json/ext/parser/parser.c +619/-474
            ext/json/ext/simd/simd.h +42/-22
            ext/json/ext/vendor/fpconv.c +13/-12
            lib/json.rb +56/-1
            lib/json/add/core.rb +1/-0
            lib/json/common.rb +101/-33
            lib/json/ext/generator/state.rb +11/-14
            lib/json/generic_object.rb +0/-8
            lib/json/truffle_ruby/generator.rb +126/-64
            lib/json/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    2.13.2->2.19.3:
      * Changed:
            README.md +19/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare json 2.13.2 2.19.3

Compared versions: ["2.13.2", "2.19.3"]
  DIFFERENT date:
    2.13.2: 2025-07-28 00:00:00 UTC
    2.19.3: 1980-01-02 00:00:00 UTC
  DIFFERENT require_paths:
    2.13.2: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.13.2", "lib"]
    2.19.3: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.19.3", "lib"]
  DIFFERENT rubygems_version:
    2.13.2: 3.6.2
    2.19.3: 4.0.3
  DIFFERENT version:
    2.13.2: 2.13.2
    2.19.3: 2.19.3
  DIFFERENT files:
    2.13.2->2.19.3:
      * Added:
            ext/json/ext/json.h +105/-0
            ext/json/ext/vendor/ryu.h +819/-0
            lib/json/add/string.rb +35/-0
      * Changed:
            CHANGES.md +98/-8
            LEGAL +12/-0
            README.md +19/-1
            ext/json/ext/fbuffer/fbuffer.h +47/-66
            ext/json/ext/generator/extconf.rb +1/-1
            ext/json/ext/generator/generator.c +375/-552
            ext/json/ext/parser/extconf.rb +2/-1
            ext/json/ext/parser/parser.c +619/-474
            ext/json/ext/simd/simd.h +42/-22
            ext/json/ext/vendor/fpconv.c +13/-12
            lib/json.rb +56/-1
            lib/json/add/core.rb +1/-0
            lib/json/common.rb +101/-33
            lib/json/ext/generator/state.rb +11/-14
            lib/json/generic_object.rb +0/-8
            lib/json/truffle_ruby/generator.rb +126/-64
            lib/json/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    2.13.2->2.19.3:
      * Changed:
            README.md +19/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare json 2.13.2 2.19.3

Compared versions: ["2.13.2", "2.19.3"]
  DIFFERENT date:
    2.13.2: 2025-07-28 00:00:00 UTC
    2.19.3: 1980-01-02 00:00:00 UTC
  DIFFERENT require_paths:
    2.13.2: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.13.2", "lib"]
    2.19.3: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.19.3", "lib"]
  DIFFERENT rubygems_version:
    2.13.2: 3.6.2
    2.19.3: 4.0.3
  DIFFERENT version:
    2.13.2: 2.13.2
    2.19.3: 2.19.3
  DIFFERENT files:
    2.13.2->2.19.3:
      * Added:
            ext/json/ext/json.h +105/-0
            ext/json/ext/vendor/ryu.h +819/-0
            lib/json/add/string.rb +35/-0
      * Changed:
            CHANGES.md +98/-8
            LEGAL +12/-0
            README.md +19/-1
            ext/json/ext/fbuffer/fbuffer.h +47/-66
            ext/json/ext/generator/extconf.rb +1/-1
            ext/json/ext/generator/generator.c +375/-552
            ext/json/ext/parser/extconf.rb +2/-1
            ext/json/ext/parser/parser.c +619/-474
            ext/json/ext/simd/simd.h +42/-22
            ext/json/ext/vendor/fpconv.c +13/-12
            lib/json.rb +56/-1
            lib/json/add/core.rb +1/-0
            lib/json/common.rb +101/-33
            lib/json/ext/generator/state.rb +11/-14
            lib/json/generic_object.rb +0/-8
            lib/json/truffle_ruby/generator.rb +126/-64
            lib/json/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    2.13.2->2.19.3:
      * Changed:
            README.md +19/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff json 2.13.2 2.19.3

Diff too large (248421 chars)

3 similar comments
@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff json 2.13.2 2.19.3

Diff too large (248421 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff json 2.13.2 2.19.3

Diff too large (248421 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff json 2.13.2 2.19.3

Diff too large (248421 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT date:
    1.27.0: 2025-04-14 00:00:00 UTC
    2.0.1: 1980-01-02 00:00:00 UTC
  DIFFERENT metadata:
    1.27.0: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v1.27.0/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v1.27.0", "wiki_uri" => "https://github.com/grosser/parallel/wiki"}
    2.0.1: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v2.0.1", "wiki_uri" => "https://github.com/grosser/parallel/wiki", "changelog_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/CHANGELOG.md", "rubygems_mfa_required" => "true"}
  DIFFERENT required_ruby_version:
    1.27.0: >= 2.7
    2.0.1: >= 3.3
  DIFFERENT rubygems_version:
    1.27.0: 3.6.2
    2.0.1: 4.0.3
  DIFFERENT version:
    1.27.0: 1.27.0
    2.0.1: 2.0.1
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
            lib/parallel.rb +69/-34
            lib/parallel/version.rb +1/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare json 2.13.2 2.19.3

Compared versions: ["2.13.2", "2.19.3"]
  DIFFERENT date:
    2.13.2: 2025-07-28 00:00:00 UTC
    2.19.3: 1980-01-02 00:00:00 UTC
  DIFFERENT require_paths:
    2.13.2: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.13.2", "lib"]
    2.19.3: ["/opt/hostedtoolcache/Ruby/4.0.2/x64/lib/ruby/gems/4.0.0/extensions/x86_64-linux/4.0.0/json-2.19.3", "lib"]
  DIFFERENT rubygems_version:
    2.13.2: 3.6.2
    2.19.3: 4.0.3
  DIFFERENT version:
    2.13.2: 2.13.2
    2.19.3: 2.19.3
  DIFFERENT files:
    2.13.2->2.19.3:
      * Added:
            ext/json/ext/json.h +105/-0
            ext/json/ext/vendor/ryu.h +819/-0
            lib/json/add/string.rb +35/-0
      * Changed:
            CHANGES.md +98/-8
            LEGAL +12/-0
            README.md +19/-1
            ext/json/ext/fbuffer/fbuffer.h +47/-66
            ext/json/ext/generator/extconf.rb +1/-1
            ext/json/ext/generator/generator.c +375/-552
            ext/json/ext/parser/extconf.rb +2/-1
            ext/json/ext/parser/parser.c +619/-474
            ext/json/ext/simd/simd.h +42/-22
            ext/json/ext/vendor/fpconv.c +13/-12
            lib/json.rb +56/-1
            lib/json/add/core.rb +1/-0
            lib/json/common.rb +101/-33
            lib/json/ext/generator/state.rb +11/-14
            lib/json/generic_object.rb +0/-8
            lib/json/truffle_ruby/generator.rb +126/-64
            lib/json/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    2.13.2->2.19.3:
      * Changed:
            README.md +19/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT date:
    1.27.0: 2025-04-14 00:00:00 UTC
    2.0.1: 1980-01-02 00:00:00 UTC
  DIFFERENT metadata:
    1.27.0: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v1.27.0/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v1.27.0", "wiki_uri" => "https://github.com/grosser/parallel/wiki"}
    2.0.1: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v2.0.1", "wiki_uri" => "https://github.com/grosser/parallel/wiki", "changelog_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/CHANGELOG.md", "rubygems_mfa_required" => "true"}
  DIFFERENT required_ruby_version:
    1.27.0: >= 2.7
    2.0.1: >= 3.3
  DIFFERENT rubygems_version:
    1.27.0: 3.6.2
    2.0.1: 4.0.3
  DIFFERENT version:
    1.27.0: 1.27.0
    2.0.1: 2.0.1
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
            lib/parallel.rb +69/-34
            lib/parallel/version.rb +1/-1

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

gem compare parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT date:
    1.27.0: 2025-04-14 00:00:00 UTC
    2.0.1: 1980-01-02 00:00:00 UTC
  DIFFERENT metadata:
    1.27.0: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v1.27.0/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v1.27.0", "wiki_uri" => "https://github.com/grosser/parallel/wiki"}
    2.0.1: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v2.0.1", "wiki_uri" => "https://github.com/grosser/parallel/wiki", "changelog_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/CHANGELOG.md", "rubygems_mfa_required" => "true"}
  DIFFERENT required_ruby_version:
    1.27.0: >= 2.7
    2.0.1: >= 3.3
  DIFFERENT rubygems_version:
    1.27.0: 3.6.2
    2.0.1: 4.0.3
  DIFFERENT version:
    1.27.0: 1.27.0
    2.0.1: 2.0.1
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
            lib/parallel.rb +69/-34
            lib/parallel/version.rb +1/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
        lib/parallel.rb
                --- /tmp/d20260410-670-g295j7/parallel-1.27.0/lib/parallel.rb	2026-04-10 02:33:46.304636036 +0000
                +++ /tmp/d20260410-670-g295j7/parallel-2.0.1/lib/parallel.rb	2026-04-10 02:33:46.304636036 +0000
                @@ -17,0 +18,11 @@
                +
                +    # marshal_dump that is used for ruby exceptions
                +    # avoid dumping the cause since nobody needs that and it can include undumpable exceptions
                +    def _dump(_depth)
                +      Marshal.dump(@value)
                +    end
                +
                +    # marshal_load that is used for ruby exceptions
                +    def self._load(data)
                +      new(Marshal.load(data))
                +    end
                @@ -258 +269 @@
                -      elsif RUBY_PLATFORM =~ (/java/) && !options[:in_processes]
                +      elsif RUBY_PLATFORM =~ /java/ && !options[:in_processes]
                @@ -462,0 +474,2 @@
                +      use_port = defined?(Ractor::Port)
                +
                @@ -464,13 +477,4 @@
                -      ractors = Array.new(options.fetch(:count)) do
                -        Ractor.new do
                -          loop do
                -            got = receive
                -            (klass, method_name), item, index = got
                -            break if index == :break
                -            begin
                -              Ractor.yield [nil, klass.send(method_name, item), item, index]
                -            rescue StandardError => e
                -              Ractor.yield [e, nil, item, index]
                -            end
                -          end
                -        end
                +      ports = {} # port (ruby 4+) or ractor (ruby 3) => ractor
                +      options.fetch(:count).times do
                +        port, ractor = ractor_build(use_port)
                +        ports[port] = ractor
                @@ -480,3 +484,3 @@
                -      ractors.dup.each do |ractor|
                -        if (set = job_factory.next)
                -          item, index = set
                +      ports.dup.each do |port, ractor|
                +        if (job = job_factory.next)
                +          item, index = job
                @@ -485,3 +489,3 @@
                -        else
                -          ractor.send([[nil, nil], nil, :break]) # stop the ractor
                -          ractors.delete ractor
                +        else # not enough work, `receive` would hang
                +          ractor_stop ractor
                +          ports.delete port
                @@ -491,4 +495,5 @@
                -      # replace with new items
                -      while (set = job_factory.next)
                -        item_next, index_next = set
                -        done, (exception, result, item, index) = Ractor.select(*ractors)
                +      # receive result and send new items to done ractors
                +      while (job = job_factory.next)
                +        # receive result
                +        done_port, (exception, result, item_prev, index_prev) = Ractor.select(*ports.keys)
                +        done_ractor = ports[done_port]
                @@ -496 +501 @@
                -          ractors.delete done
                +          ports.delete done_port
                @@ -499,2 +504 @@
                -        instrument_finish item, index, result, options
                -        results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                +        ractor_result item_prev, index_prev, result, results, results_mutex, options
                @@ -501,0 +506,2 @@
                +        # send new
                +        item_next, index_next = job
                @@ -503 +509 @@
                -        done.send([callback, item_next, index_next])
                +        done_ractor.send([callback, item_next, index_next])
                @@ -507,2 +513,2 @@
                -      ractors.each do |ractor|
                -        (new_exception, result, item, index) = ractor.take
                +      ports.each do |port, ractor|
                +        (new_exception, result, item, index) = use_port ? port.receive : ractor.take
                @@ -511,3 +517,2 @@
                -        instrument_finish item, index, result, options
                -        results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                -        ractor.send([[nil, nil], nil, :break]) # stop the ractor
                +        ractor_result item, index, result, results, results_mutex, options
                +        ractor_stop ractor
                @@ -518,0 +524,30 @@
                +    def ractor_build(use_port)
                +      args = use_port ? [Ractor::Port.new] : []
                +      ractor = Ractor.new(*args) do |port|
                +        loop do
                +          (klass, method_name), item, index = receive
                +          break if index == :break
                +          begin
                +            result = [nil, klass.send(method_name, item), item, index]
                +          rescue StandardError => e
                +            result = [e, nil, item, index]
                +          end
                +          if port
                +            port.send result
                +          else
                +            Ractor.yield result
                +          end
                +        end
                +      end
                +      [use_port ? args.first : ractor, ractor]
                +    end
                +
                +    def ractor_result(item, index, result, results, results_mutex, options)
                +      instrument_finish item, index, result, options
                +      results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                +    end
                +
                +    def ractor_stop(ractor)
                +      ractor.send([[nil, nil], nil, :break])
                +    end
                +
                @@ -624 +659 @@
                -          rescue Exception # # rubocop:disable Lint/RescueException
                +          rescue Exception # rubocop:disable Lint/RescueException
        lib/parallel/version.rb
                --- /tmp/d20260410-670-g295j7/parallel-1.27.0/lib/parallel/version.rb	2026-04-10 02:33:46.304636036 +0000
                +++ /tmp/d20260410-670-g295j7/parallel-2.0.1/lib/parallel/version.rb	2026-04-10 02:33:46.304636036 +0000
                @@ -3 +3 @@
                -  VERSION = Version = '1.27.0' # rubocop:disable Naming/ConstantName
                +  VERSION = Version = '2.0.1' # rubocop:disable Naming/ConstantName

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff json 2.13.2 2.19.3

Diff too large (248421 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
        lib/parallel.rb
                --- /tmp/d20260410-670-eyy2c9/parallel-1.27.0/lib/parallel.rb	2026-04-10 02:33:53.334599281 +0000
                +++ /tmp/d20260410-670-eyy2c9/parallel-2.0.1/lib/parallel.rb	2026-04-10 02:33:53.334599281 +0000
                @@ -17,0 +18,11 @@
                +
                +    # marshal_dump that is used for ruby exceptions
                +    # avoid dumping the cause since nobody needs that and it can include undumpable exceptions
                +    def _dump(_depth)
                +      Marshal.dump(@value)
                +    end
                +
                +    # marshal_load that is used for ruby exceptions
                +    def self._load(data)
                +      new(Marshal.load(data))
                +    end
                @@ -258 +269 @@
                -      elsif RUBY_PLATFORM =~ (/java/) && !options[:in_processes]
                +      elsif RUBY_PLATFORM =~ /java/ && !options[:in_processes]
                @@ -462,0 +474,2 @@
                +      use_port = defined?(Ractor::Port)
                +
                @@ -464,13 +477,4 @@
                -      ractors = Array.new(options.fetch(:count)) do
                -        Ractor.new do
                -          loop do
                -            got = receive
                -            (klass, method_name), item, index = got
                -            break if index == :break
                -            begin
                -              Ractor.yield [nil, klass.send(method_name, item), item, index]
                -            rescue StandardError => e
                -              Ractor.yield [e, nil, item, index]
                -            end
                -          end
                -        end
                +      ports = {} # port (ruby 4+) or ractor (ruby 3) => ractor
                +      options.fetch(:count).times do
                +        port, ractor = ractor_build(use_port)
                +        ports[port] = ractor
                @@ -480,3 +484,3 @@
                -      ractors.dup.each do |ractor|
                -        if (set = job_factory.next)
                -          item, index = set
                +      ports.dup.each do |port, ractor|
                +        if (job = job_factory.next)
                +          item, index = job
                @@ -485,3 +489,3 @@
                -        else
                -          ractor.send([[nil, nil], nil, :break]) # stop the ractor
                -          ractors.delete ractor
                +        else # not enough work, `receive` would hang
                +          ractor_stop ractor
                +          ports.delete port
                @@ -491,4 +495,5 @@
                -      # replace with new items
                -      while (set = job_factory.next)
                -        item_next, index_next = set
                -        done, (exception, result, item, index) = Ractor.select(*ractors)
                +      # receive result and send new items to done ractors
                +      while (job = job_factory.next)
                +        # receive result
                +        done_port, (exception, result, item_prev, index_prev) = Ractor.select(*ports.keys)
                +        done_ractor = ports[done_port]
                @@ -496 +501 @@
                -          ractors.delete done
                +          ports.delete done_port
                @@ -499,2 +504 @@
                -        instrument_finish item, index, result, options
                -        results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                +        ractor_result item_prev, index_prev, result, results, results_mutex, options
                @@ -501,0 +506,2 @@
                +        # send new
                +        item_next, index_next = job
                @@ -503 +509 @@
                -        done.send([callback, item_next, index_next])
                +        done_ractor.send([callback, item_next, index_next])
                @@ -507,2 +513,2 @@
                -      ractors.each do |ractor|
                -        (new_exception, result, item, index) = ractor.take
                +      ports.each do |port, ractor|
                +        (new_exception, result, item, index) = use_port ? port.receive : ractor.take
                @@ -511,3 +517,2 @@
                -        instrument_finish item, index, result, options
                -        results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                -        ractor.send([[nil, nil], nil, :break]) # stop the ractor
                +        ractor_result item, index, result, results, results_mutex, options
                +        ractor_stop ractor
                @@ -518,0 +524,30 @@
                +    def ractor_build(use_port)
                +      args = use_port ? [Ractor::Port.new] : []
                +      ractor = Ractor.new(*args) do |port|
                +        loop do
                +          (klass, method_name), item, index = receive
                +          break if index == :break
                +          begin
                +            result = [nil, klass.send(method_name, item), item, index]
                +          rescue StandardError => e
                +            result = [e, nil, item, index]
                +          end
                +          if port
                +            port.send result
                +          else
                +            Ractor.yield result
                +          end
                +        end
                +      end
                +      [use_port ? args.first : ractor, ractor]
                +    end
                +
                +    def ractor_result(item, index, result, results, results_mutex, options)
                +      instrument_finish item, index, result, options
                +      results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                +    end
                +
                +    def ractor_stop(ractor)
                +      ractor.send([[nil, nil], nil, :break])
                +    end
                +
                @@ -624 +659 @@
                -          rescue Exception # # rubocop:disable Lint/RescueException
                +          rescue Exception # rubocop:disable Lint/RescueException
        lib/parallel/version.rb
                --- /tmp/d20260410-670-eyy2c9/parallel-1.27.0/lib/parallel/version.rb	2026-04-10 02:33:53.334599281 +0000
                +++ /tmp/d20260410-670-eyy2c9/parallel-2.0.1/lib/parallel/version.rb	2026-04-10 02:33:53.334599281 +0000
                @@ -3 +3 @@
                -  VERSION = Version = '1.27.0' # rubocop:disable Naming/ConstantName
                +  VERSION = Version = '2.0.1' # rubocop:disable Naming/ConstantName

@github-actions
Copy link
Copy Markdown
Contributor

gem compare parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT date:
    1.27.0: 2025-04-14 00:00:00 UTC
    2.0.1: 1980-01-02 00:00:00 UTC
  DIFFERENT metadata:
    1.27.0: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v1.27.0/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v1.27.0", "wiki_uri" => "https://github.com/grosser/parallel/wiki"}
    2.0.1: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v2.0.1", "wiki_uri" => "https://github.com/grosser/parallel/wiki", "changelog_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/CHANGELOG.md", "rubygems_mfa_required" => "true"}
  DIFFERENT required_ruby_version:
    1.27.0: >= 2.7
    2.0.1: >= 3.3
  DIFFERENT rubygems_version:
    1.27.0: 3.6.2
    2.0.1: 4.0.3
  DIFFERENT version:
    1.27.0: 1.27.0
    2.0.1: 2.0.1
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
            lib/parallel.rb +69/-34
            lib/parallel/version.rb +1/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
        lib/parallel.rb
                --- /tmp/d20260410-674-nsqhgs/parallel-1.27.0/lib/parallel.rb	2026-04-10 02:33:56.615847912 +0000
                +++ /tmp/d20260410-674-nsqhgs/parallel-2.0.1/lib/parallel.rb	2026-04-10 02:33:56.616847914 +0000
                @@ -17,0 +18,11 @@
                +
                +    # marshal_dump that is used for ruby exceptions
                +    # avoid dumping the cause since nobody needs that and it can include undumpable exceptions
                +    def _dump(_depth)
                +      Marshal.dump(@value)
                +    end
                +
                +    # marshal_load that is used for ruby exceptions
                +    def self._load(data)
                +      new(Marshal.load(data))
                +    end
                @@ -258 +269 @@
                -      elsif RUBY_PLATFORM =~ (/java/) && !options[:in_processes]
                +      elsif RUBY_PLATFORM =~ /java/ && !options[:in_processes]
                @@ -462,0 +474,2 @@
                +      use_port = defined?(Ractor::Port)
                +
                @@ -464,13 +477,4 @@
                -      ractors = Array.new(options.fetch(:count)) do
                -        Ractor.new do
                -          loop do
                -            got = receive
                -            (klass, method_name), item, index = got
                -            break if index == :break
                -            begin
                -              Ractor.yield [nil, klass.send(method_name, item), item, index]
                -            rescue StandardError => e
                -              Ractor.yield [e, nil, item, index]
                -            end
                -          end
                -        end
                +      ports = {} # port (ruby 4+) or ractor (ruby 3) => ractor
                +      options.fetch(:count).times do
                +        port, ractor = ractor_build(use_port)
                +        ports[port] = ractor
                @@ -480,3 +484,3 @@
                -      ractors.dup.each do |ractor|
                -        if (set = job_factory.next)
                -          item, index = set
                +      ports.dup.each do |port, ractor|
                +        if (job = job_factory.next)
                +          item, index = job
                @@ -485,3 +489,3 @@
                -        else
                -          ractor.send([[nil, nil], nil, :break]) # stop the ractor
                -          ractors.delete ractor
                +        else # not enough work, `receive` would hang
                +          ractor_stop ractor
                +          ports.delete port
                @@ -491,4 +495,5 @@
                -      # replace with new items
                -      while (set = job_factory.next)
                -        item_next, index_next = set
                -        done, (exception, result, item, index) = Ractor.select(*ractors)
                +      # receive result and send new items to done ractors
                +      while (job = job_factory.next)
                +        # receive result
                +        done_port, (exception, result, item_prev, index_prev) = Ractor.select(*ports.keys)
                +        done_ractor = ports[done_port]
                @@ -496 +501 @@
                -          ractors.delete done
                +          ports.delete done_port
                @@ -499,2 +504 @@
                -        instrument_finish item, index, result, options
                -        results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                +        ractor_result item_prev, index_prev, result, results, results_mutex, options
                @@ -501,0 +506,2 @@
                +        # send new
                +        item_next, index_next = job
                @@ -503 +509 @@
                -        done.send([callback, item_next, index_next])
                +        done_ractor.send([callback, item_next, index_next])
                @@ -507,2 +513,2 @@
                -      ractors.each do |ractor|
                -        (new_exception, result, item, index) = ractor.take
                +      ports.each do |port, ractor|
                +        (new_exception, result, item, index) = use_port ? port.receive : ractor.take
                @@ -511,3 +517,2 @@
                -        instrument_finish item, index, result, options
                -        results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                -        ractor.send([[nil, nil], nil, :break]) # stop the ractor
                +        ractor_result item, index, result, results, results_mutex, options
                +        ractor_stop ractor
                @@ -518,0 +524,30 @@
                +    def ractor_build(use_port)
                +      args = use_port ? [Ractor::Port.new] : []
                +      ractor = Ractor.new(*args) do |port|
                +        loop do
                +          (klass, method_name), item, index = receive
                +          break if index == :break
                +          begin
                +            result = [nil, klass.send(method_name, item), item, index]
                +          rescue StandardError => e
                +            result = [e, nil, item, index]
                +          end
                +          if port
                +            port.send result
                +          else
                +            Ractor.yield result
                +          end
                +        end
                +      end
                +      [use_port ? args.first : ractor, ractor]
                +    end
                +
                +    def ractor_result(item, index, result, results, results_mutex, options)
                +      instrument_finish item, index, result, options
                +      results_mutex.synchronize { results[index] = (options[:preserve_results] == false ? nil : result) }
                +    end
                +
                +    def ractor_stop(ractor)
                +      ractor.send([[nil, nil], nil, :break])
                +    end
                +
                @@ -624 +659 @@
                -          rescue Exception # # rubocop:disable Lint/RescueException
                +          rescue Exception # rubocop:disable Lint/RescueException
        lib/parallel/version.rb
                --- /tmp/d20260410-674-nsqhgs/parallel-1.27.0/lib/parallel/version.rb	2026-04-10 02:33:56.615847912 +0000
                +++ /tmp/d20260410-674-nsqhgs/parallel-2.0.1/lib/parallel/version.rb	2026-04-10 02:33:56.616847914 +0000
                @@ -3 +3 @@
                -  VERSION = Version = '1.27.0' # rubocop:disable Naming/ConstantName
                +  VERSION = Version = '2.0.1' # rubocop:disable Naming/ConstantName

@github-actions
Copy link
Copy Markdown
Contributor

gem compare parallel 1.27.0 2.0.1

Compared versions: ["1.27.0", "2.0.1"]
  DIFFERENT date:
    1.27.0: 2025-04-14 00:00:00 UTC
    2.0.1: 1980-01-02 00:00:00 UTC
  DIFFERENT metadata:
    1.27.0: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v1.27.0/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v1.27.0", "wiki_uri" => "https://github.com/grosser/parallel/wiki"}
    2.0.1: {"bug_tracker_uri" => "https://github.com/grosser/parallel/issues", "documentation_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/Readme.md", "source_code_uri" => "https://github.com/grosser/parallel/tree/v2.0.1", "wiki_uri" => "https://github.com/grosser/parallel/wiki", "changelog_uri" => "https://github.com/grosser/parallel/blob/v2.0.1/CHANGELOG.md", "rubygems_mfa_required" => "true"}
  DIFFERENT required_ruby_version:
    1.27.0: >= 2.7
    2.0.1: >= 3.3
  DIFFERENT rubygems_version:
    1.27.0: 3.6.2
    2.0.1: 4.0.3
  DIFFERENT version:
    1.27.0: 1.27.0
    2.0.1: 2.0.1
  DIFFERENT files:
    1.27.0->2.0.1:
      * Changed:
            lib/parallel.rb +69/-34
            lib/parallel/version.rb +1/-1

@github-actions
Copy link
Copy Markdown
Contributor

gem compare parser 3.3.9.0 3.3.11.1

Compared versions: ["3.3.9.0", "3.3.11.1"]
  DIFFERENT date:
    3.3.9.0: 2025-07-25 00:00:00 UTC
    3.3.11.1: 2026-03-27 00:00:00 UTC
  DIFFERENT metadata:
    3.3.9.0: {"bug_tracker_uri" => "https://github.com/whitequark/parser/issues", "changelog_uri" => "https://github.com/whitequark/parser/blob/v3.3.9.0/CHANGELOG.md", "documentation_uri" => "https://www.rubydoc.info/gems/parser/3.3.9.0", "source_code_uri" => "https://github.com/whitequark/parser/tree/v3.3.9.0"}
    3.3.11.1: {"bug_tracker_uri" => "https://github.com/whitequark/parser/issues", "changelog_uri" => "https://github.com/whitequark/parser/blob/v3.3.11.1/CHANGELOG.md", "documentation_uri" => "https://www.rubydoc.info/gems/parser/3.3.11.1", "source_code_uri" => "https://github.com/whitequark/parser/tree/v3.3.11.1"}
  DIFFERENT version:
    3.3.9.0: 3.3.9.0
    3.3.11.1: 3.3.11.1
  DIFFERENT files:
    3.3.9.0->3.3.11.1:
      * Changed:
            lib/parser/current.rb +2/-2
            lib/parser/meta.rb +1/-1
            lib/parser/version.rb +1/-1
            parser.gemspec +1/-1
  DIFFERENT development dependencies:
    3.3.9.0->3.3.11.1:
      * Updated:
            bundler from: [">= 1.15", "< 3.0.0"] to: [">= 1.15"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
        README.md
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/README.md	2026-04-10 02:36:31.528799013 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/README.md	2026-04-10 02:36:31.543799016 +0000
                @@ -5,2 +4,0 @@
                -[![Test Coverage](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/test_coverage)](https://codeclimate.com/github/rubocop/rubocop-ast/test_coverage)
                -[![Maintainability](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/maintainability)](https://codeclimate.com/github/rubocop/rubocop-ast/maintainability)
        lib/rubocop/ast/node.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node.rb	2026-04-10 02:36:31.529799013 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node.rb	2026-04-10 02:36:31.544799016 +0000
                @@ -110,0 +111,7 @@
                +        str: :any_str,
                +        dstr: :any_str,
                +        xstr: :any_str,
                +
                +        sym: :any_sym,
                +        dsym: :any_sym,
                +
                @@ -547,0 +555,8 @@
                +      end
                +
                +      def any_str_type?
                +        GROUP_FOR_TYPE[type] == :any_str
                +      end
                +
                +      def any_sym_type?
                +        GROUP_FOR_TYPE[type] == :any_sym
        lib/rubocop/ast/node/mixin/method_dispatch_node.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:36:31.534799014 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:36:31.549799018 +0000
                @@ -35 +35 @@
                -        if loc.respond_to? :keyword
                +        if loc?(:keyword)
        lib/rubocop/ast/node/mixin/parameterized_node.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:36:31.535799014 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:36:31.549799018 +0000
                @@ -67,0 +68 @@
                +
        lib/rubocop/ast/node_pattern.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:36:31.539799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:36:31.551799018 +0000
                @@ -26,0 +27,2 @@
                +      class Invalid < StandardError; end
                +
                @@ -53 +54,0 @@
                -      Invalid = Class.new(StandardError)
        lib/rubocop/ast/node_pattern/compiler.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:36:31.539799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:36:31.552799018 +0000
                @@ -12,0 +13 @@
                +
        lib/rubocop/ast/node_pattern/compiler/binding.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:36:31.539799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:36:31.552799018 +0000
                @@ -28,0 +29,6 @@
                +          # Returns currently bound variable names
                +          # @return [Array<String>] variable names that are currently bound
                +          def bound_variables
                +            @bound.values
                +          end
                +
        lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:36:31.540799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:36:31.552799018 +0000
                @@ -76 +76 @@
                -                  .join(' && ')
                +                           .join(' && ')
        lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:36:31.540799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:36:31.552799018 +0000
                @@ -88 +88 @@
                -          def visit_any_order
                +          def visit_any_order # rubocop:disable Metrics/AbcSize
                @@ -90,0 +91 @@
                +                bound_before = compiler.binding.bound_variables
                @@ -94,0 +96,4 @@
                +                # Initialize unification variables before the loop to persist across iterations
                +                newly_bound = compiler.binding.bound_variables - bound_before
                +                unify_init = compile_unify_init(newly_bound)
                +
                @@ -97 +102 @@
                -                  (#{init}#{matched} = {}; true) &&
                +                  (#{init}#{unify_init}#{matched} = {}; true) &&
                @@ -413,0 +419,7 @@
                +          end
                +
                +          # Generate initialization code for unification variables
                +          # @param newly_bound [Array<String>] variable names that were newly bound
                +          # @return [String] initialization code
                +          def compile_unify_init(newly_bound)
                +            newly_bound.map { |var| "#{var} = nil; " }.join
        lib/rubocop/ast/node_pattern/lexer.rex
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:36:31.540799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:36:31.553799019 +0000
                @@ -24 +24 @@
                -        /"(.+?)"/                 { emit :tSTRING }
                +        /"(.*?)"/                 { emit :tSTRING }
        lib/rubocop/ast/node_pattern/lexer.rex.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:36:31.540799015 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:36:31.553799019 +0000
                @@ -5 +5 @@
                -# Generated by: oedipus_lex version 2.6.2.
                +# Generated by: oedipus_lex version 2.6.3.
                @@ -125 +125 @@
                -          when ss.skip(/"(.+?)"/) then
                +          when ss.skip(/"(.*?)"/) then
        lib/rubocop/ast/processed_source.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/processed_source.rb	2026-04-10 02:36:31.542799016 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/processed_source.rb	2026-04-10 02:36:31.554799019 +0000
                @@ -313 +312,0 @@
                -            require 'prism/translation/parser33'
                @@ -316 +314,0 @@
                -            require 'prism/translation/parser34'
                @@ -318,3 +316,4 @@
                -          when 3.5
                -            require 'prism/translation/parser35'
                -            Prism::Translation::Parser35
                +          when 3.5, 4.0
                +            Prism::Translation::Parser40
                +          when 4.1
                +            Prism::Translation::Parser41
        lib/rubocop/ast/traversal.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/traversal.rb	2026-04-10 02:36:31.542799016 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/traversal.rb	2026-04-10 02:36:31.554799019 +0000
                @@ -81,0 +82 @@
                +
                @@ -88 +89 @@
                -                       lambda empty_else kwnilarg
                +                       lambda empty_else kwnilarg blocknilarg
        lib/rubocop/ast/version.rb
                --- /tmp/d20260410-11344-4bosgr/rubocop-ast-1.46.0/lib/rubocop/ast/version.rb	2026-04-10 02:36:31.542799016 +0000
                +++ /tmp/d20260410-11344-4bosgr/rubocop-ast-1.49.1/lib/rubocop/ast/version.rb	2026-04-10 02:36:31.554799019 +0000
                @@ -6 +6 @@
                -      STRING = '1.46.0'
                +      STRING = '1.49.1'

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop 1.79.2 1.86.1

Diff too large (600695 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare rubocop 1.79.2 1.86.1

Compared versions: ["1.79.2", "1.86.1"]
  DIFFERENT date:
    1.79.2: 2025-08-05 00:00:00 UTC
    1.86.1: 1980-01-02 00:00:00 UTC
  DIFFERENT metadata:
    1.79.2: {"homepage_uri" => "https://rubocop.org/", "changelog_uri" => "https://github.com/rubocop/rubocop/releases/tag/v1.79.2", "source_code_uri" => "https://github.com/rubocop/rubocop/", "documentation_uri" => "https://docs.rubocop.org/rubocop/1.79/", "bug_tracker_uri" => "https://github.com/rubocop/rubocop/issues", "rubygems_mfa_required" => "true"}
    1.86.1: {"homepage_uri" => "https://rubocop.org/", "changelog_uri" => "https://github.com/rubocop/rubocop/releases/tag/v1.86.1", "source_code_uri" => "https://github.com/rubocop/rubocop/", "documentation_uri" => "https://docs.rubocop.org/rubocop/1.86/", "bug_tracker_uri" => "https://github.com/rubocop/rubocop/issues", "rubygems_mfa_required" => "true"}
  DIFFERENT rubygems_version:
    1.79.2: 3.6.2
    1.86.1: 3.6.9
  DIFFERENT version:
    1.79.2: 1.79.2
    1.86.1: 1.86.1
  DIFFERENT files:
    1.79.2->1.86.1:
      * Added:
            lib/rubocop/cli/command/mcp.rb +19/-0
            lib/rubocop/cop/internal_affairs/itblock_handler.rb +69/-0
            lib/rubocop/cop/lint/data_define_override.rb +63/-0
            lib/rubocop/cop/lint/unreachable_pattern_branch.rb +113/-0
            lib/rubocop/cop/mixin/hash_transform_method/autocorrection.rb +63/-0
            lib/rubocop/cop/style/array_intersect_with_single_element.rb +47/-0
            lib/rubocop/cop/style/empty_class_definition.rb +119/-0
            lib/rubocop/cop/style/file_open.rb +84/-0
            lib/rubocop/cop/style/hash_lookup_method.rb +101/-0
            lib/rubocop/cop/style/map_join.rb +123/-0
            lib/rubocop/cop/style/module_member_existence_check.rb +107/-0
            lib/rubocop/cop/style/negative_array_index.rb +220/-0
            lib/rubocop/cop/style/one_class_per_file.rb +115/-0
            lib/rubocop/cop/style/partition_instead_of_double_select.rb +270/-0
            lib/rubocop/cop/style/predicate_with_kind.rb +84/-0
            lib/rubocop/cop/style/reduce_to_hash.rb +184/-0
            lib/rubocop/cop/style/redundant_min_max_by.rb +93/-0
            lib/rubocop/cop/style/redundant_struct_keyword_init.rb +114/-0
            lib/rubocop/cop/style/reverse_find.rb +51/-0
            lib/rubocop/cop/style/select_by_kind.rb +158/-0
            lib/rubocop/cop/style/select_by_range.rb +197/-0
            lib/rubocop/cop/style/tally_method.rb +181/-0
            lib/rubocop/lsp/disable_comment_edits.rb +135/-0
            lib/rubocop/mcp/server.rb +200/-0
      * Changed:
            LICENSE.txt +1/-1
            README.md +2/-2
            config/default.yml +170/-19
            config/obsoletion.yml +9/-0
            exe/rubocop +1/-8
            lib/rubocop.rb +20/-0
            lib/rubocop/cache_config.rb +29/-0
            lib/rubocop/cli.rb +32/-5
            lib/rubocop/cli/command/auto_generate_config.rb +3/-3
            lib/rubocop/cli/command/lsp.rb +1/-1
            lib/rubocop/cli/command/show_cops.rb +2/-2
            lib/rubocop/cli/command/show_docs_url.rb +1/-1
            lib/rubocop/comment_config.rb +62/-17
            lib/rubocop/config.rb +14/-10
            lib/rubocop/config_finder.rb +1/-1
            lib/rubocop/config_loader.rb +20/-21
            lib/rubocop/config_loader_resolver.rb +9/-7
            lib/rubocop/config_obsoletion/extracted_cop.rb +4/-2
            lib/rubocop/config_store.rb +6/-1
            lib/rubocop/config_validator.rb +1/-1
            lib/rubocop/cop/autocorrect_logic.rb +8/-4
            lib/rubocop/cop/bundler/gem_version.rb +28/-28
            lib/rubocop/cop/bundler/ordered_gems.rb +1/-2
            lib/rubocop/cop/correctors/alignment_corrector.rb +26/-7
            lib/rubocop/cop/correctors/condition_corrector.rb +1/-1
            lib/rubocop/cop/correctors/for_to_each_corrector.rb +7/-2
            lib/rubocop/cop/correctors/percent_literal_corrector.rb +2/-2
            lib/rubocop/cop/documentation.rb +2/-3
            lib/rubocop/cop/gemspec/ordered_dependencies.rb +1/-2
            lib/rubocop/cop/gemspec/require_mfa.rb +1/-1
            lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +10/-5
            lib/rubocop/cop/internal_affairs.rb +1/-0
            lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb +8/-8
            lib/rubocop/cop/internal_affairs/location_exists.rb +28/-2
            lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +9/-9
            lib/rubocop/cop/internal_affairs/node_pattern_groups.rb +3/-1
            lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_processor.rb +1/-1
            lib/rubocop/cop/internal_affairs/on_send_without_on_csend.rb +1/-1
            lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +4/-4
            lib/rubocop/cop/layout/argument_alignment.rb +2/-2
            lib/rubocop/cop/layout/array_alignment.rb +1/-1
            lib/rubocop/cop/layout/case_indentation.rb +3/-1
            lib/rubocop/cop/layout/class_structure.rb +13/-6
            lib/rubocop/cop/layout/dot_position.rb +2/-2
            lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +12/-2
            lib/rubocop/cop/layout/empty_line_between_defs.rb +31/-13
            lib/rubocop/cop/layout/empty_lines_after_module_inclusion.rb +2/-2
            lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +1/-0
            lib/rubocop/cop/layout/empty_lines_around_block_body.rb +12/-2
            lib/rubocop/cop/layout/empty_lines_around_class_body.rb +16/-2
            lib/rubocop/cop/layout/empty_lines_around_module_body.rb +16/-2
            lib/rubocop/cop/layout/end_alignment.rb +8/-1
            lib/rubocop/cop/layout/first_argument_indentation.rb +34/-1
            lib/rubocop/cop/layout/first_array_element_line_break.rb +26/-0
            lib/rubocop/cop/layout/first_hash_element_indentation.rb +7/-1
            lib/rubocop/cop/layout/first_hash_element_line_break.rb +28/-28
            lib/rubocop/cop/layout/hash_alignment.rb +3/-6
            lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2/-2
            lib/rubocop/cop/layout/heredoc_indentation.rb +33/-3
            lib/rubocop/cop/layout/indentation_style.rb +1/-1
            lib/rubocop/cop/layout/indentation_width.rb +111/-7
            lib/rubocop/cop/layout/line_continuation_spacing.rb +1/-1
            lib/rubocop/cop/layout/line_length.rb +26/-9
            lib/rubocop/cop/layout/multiline_array_brace_layout.rb +57/-57
            lib/rubocop/cop/layout/multiline_assignment_layout.rb +9/-2
            lib/rubocop/cop/layout/multiline_block_layout.rb +2/-0
            lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +56/-56
            lib/rubocop/cop/layout/multiline_method_call_indentation.rb +204/-39
            lib/rubocop/cop/layout/multiline_operation_indentation.rb +8/-4
            lib/rubocop/cop/layout/parameter_alignment.rb +1/-1
            lib/rubocop/cop/layout/redundant_line_break.rb +1/-1
            lib/rubocop/cop/layout/rescue_ensure_alignment.rb +13/-3
            lib/rubocop/cop/layout/space_after_comma.rb +2/-10
            lib/rubocop/cop/layout/space_after_semicolon.rb +1/-1
            lib/rubocop/cop/layout/space_around_block_parameters.rb +1/-1
            lib/rubocop/cop/layout/space_around_keyword.rb +4/-2
            lib/rubocop/cop/layout/space_in_lambda_literal.rb +9/-8
            lib/rubocop/cop/layout/trailing_whitespace.rb +1/-1
            lib/rubocop/cop/lint/circular_argument_reference.rb +47/-3
            lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb +3/-2
            lib/rubocop/cop/lint/constant_reassignment.rb +59/-9
            lib/rubocop/cop/lint/constant_resolution.rb +1/-1
            lib/rubocop/cop/lint/cop_directive_syntax.rb +14/-8
            lib/rubocop/cop/lint/debugger.rb +0/-2
            lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +4/-1
            lib/rubocop/cop/lint/duplicate_match_pattern.rb +4/-4
            lib/rubocop/cop/lint/duplicate_methods.rb +111/-12
            lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +5/-42
            lib/rubocop/cop/lint/else_layout.rb +19/-0
            lib/rubocop/cop/lint/empty_block.rb +1/-1
            lib/rubocop/cop/lint/empty_conditional_body.rb +6/-1
            lib/rubocop/cop/lint/empty_in_pattern.rb +8/-1
            lib/rubocop/cop/lint/empty_interpolation.rb +11/-0
            lib/rubocop/cop/lint/empty_when.rb +8/-1
            lib/rubocop/cop/lint/float_comparison.rb +1/-1
            lib/rubocop/cop/lint/interpolation_check.rb +7/-2
            lib/rubocop/cop/lint/literal_as_condition.rb +5/-1
            lib/rubocop/cop/lint/literal_in_interpolation.rb +1/-1
            lib/rubocop/cop/lint/missing_cop_enable_directive.rb +17/-8
            lib/rubocop/cop/lint/next_without_accumulator.rb +2/-0
            lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb +4/-0
            lib/rubocop/cop/lint/non_deterministic_require_order.rb +3/-1
            lib/rubocop/cop/lint/number_conversion.rb +1/-1
            lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +23/-9
            lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +0/-9
            lib/rubocop/cop/lint/redundant_require_statement.rb +4/-2
            lib/rubocop/cop/lint/redundant_safe_navigation.rb +23/-6
            lib/rubocop/cop/lint/redundant_splat_expansion.rb +8/-2
            lib/rubocop/cop/lint/rescue_exception.rb +1/-4
            lib/rubocop/cop/lint/safe_navigation_chain.rb +17/-0
            lib/rubocop/cop/lint/safe_navigation_consistency.rb +7/-1
            lib/rubocop/cop/lint/self_assignment.rb +15/-6
            lib/rubocop/cop/lint/shadowed_argument.rb +7/-7
            lib/rubocop/cop/lint/struct_new_override.rb +17/-1
            lib/rubocop/cop/lint/syntax.rb +25/-1
            lib/rubocop/cop/lint/to_json.rb +12/-16
            lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1/-0
            lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +1/-0
            lib/rubocop/cop/lint/unreachable_code.rb +5/-3
            lib/rubocop/cop/lint/unused_method_argument.rb +10/-0
            lib/rubocop/cop/lint/uri_escape_unescape.rb +2/-0
            lib/rubocop/cop/lint/useless_assignment.rb +45/-17
            lib/rubocop/cop/lint/useless_constant_scoping.rb +4/-4
            lib/rubocop/cop/lint/useless_default_value_argument.rb +2/-0
            lib/rubocop/cop/lint/useless_or.rb +15/-2
            lib/rubocop/cop/lint/utils/nil_receiver_checker.rb +24/-9
            lib/rubocop/cop/lint/void.rb +39/-12
            lib/rubocop/cop/message_annotator.rb +1/-1
            lib/rubocop/cop/metrics/block_nesting.rb +23/-0
            lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +4/-3
            lib/rubocop/cop/migration/department_name.rb +12/-1
            lib/rubocop/cop/mixin/check_line_breakable.rb +2/-2
            lib/rubocop/cop/mixin/check_single_line_suitability.rb +4/-6
            lib/rubocop/cop/mixin/code_length.rb +1/-1
            lib/rubocop/cop/mixin/end_keyword_alignment.rb +1/-7
            lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +5/-5
            lib/rubocop/cop/mixin/hash_transform_method.rb +10/-60
            lib/rubocop/cop/mixin/line_length_help.rb +21/-2
            lib/rubocop/cop/mixin/method_complexity.rb +1/-1
            lib/rubocop/cop/mixin/multiline_expression_indentation.rb +1/-1
            lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1/-1
            lib/rubocop/cop/mixin/space_after_punctuation.rb +5/-4
            lib/rubocop/cop/mixin/statement_modifier.rb +0/-6
            lib/rubocop/cop/mixin/trailing_comma.rb +8/-5
            lib/rubocop/cop/naming/block_parameter_name.rb +1/-1
            lib/rubocop/cop/naming/method_name.rb +5/-3
            lib/rubocop/cop/naming/predicate_method.rb +30/-6
            lib/rubocop/cop/naming/predicate_prefix.rb +10/-10
            lib/rubocop/cop/offense.rb +9/-1
            lib/rubocop/cop/registry.rb +20/-13
            lib/rubocop/cop/security/eval.rb +15/-2
            lib/rubocop/cop/security/json_load.rb +33/-11
            lib/rubocop/cop/style/access_modifier_declarations.rb +15/-4
            lib/rubocop/cop/style/accessor_grouping.rb +4/-2
            lib/rubocop/cop/style/alias.rb +4/-1
            lib/rubocop/cop/style/and_or.rb +1/-0
            lib/rubocop/cop/style/arguments_forwarding.rb +24/-6
            lib/rubocop/cop/style/array_intersect.rb +46/-12
            lib/rubocop/cop/style/array_join.rb +4/-2
            lib/rubocop/cop/style/ascii_comments.rb +6/-3
            lib/rubocop/cop/style/attr.rb +5/-2
            lib/rubocop/cop/style/bare_percent_literals.rb +4/-3
            lib/rubocop/cop/style/begin_block.rb +3/-1
            lib/rubocop/cop/style/bitwise_predicate.rb +8/-1
            lib/rubocop/cop/style/block_delimiters.rb +27/-34
            lib/rubocop/cop/style/case_equality.rb +15/-13
            lib/rubocop/cop/style/class_and_module_children.rb +11/-2
            lib/rubocop/cop/style/collection_compact.rb +36/-16
            lib/rubocop/cop/style/colon_method_call.rb +3/-1
            lib/rubocop/cop/style/concat_array_literals.rb +2/-0
            lib/rubocop/cop/style/conditional_assignment.rb +8/-18
            lib/rubocop/cop/style/constant_visibility.rb +17/-12
            lib/rubocop/cop/style/copyright.rb +1/-1
            lib/rubocop/cop/style/documentation.rb +6/-6
            lib/rubocop/cop/style/documentation_method.rb +7/-7
            lib/rubocop/cop/style/double_negation.rb +1/-1
            lib/rubocop/cop/style/each_for_simple_loop.rb +1/-1
            lib/rubocop/cop/style/each_with_object.rb +2/-0
            lib/rubocop/cop/style/empty_block_parameter.rb +1/-1
            lib/rubocop/cop/style/empty_lambda_parameter.rb +1/-1
            lib/rubocop/cop/style/empty_method.rb +0/-6
            lib/rubocop/cop/style/encoding.rb +7/-1
            lib/rubocop/cop/style/end_block.rb +3/-1
            lib/rubocop/cop/style/endless_method.rb +23/-5
            lib/rubocop/cop/style/explicit_block_argument.rb +1/-1
            lib/rubocop/cop/style/float_division.rb +15/-1
            lib/rubocop/cop/style/for.rb +3/-0
            lib/rubocop/cop/style/format_string_token.rb +49/-5
            lib/rubocop/cop/style/global_vars.rb +5/-2
            lib/rubocop/cop/style/guard_clause.rb +27/-22
            lib/rubocop/cop/style/hash_as_last_array_item.rb +27/-9
            lib/rubocop/cop/style/hash_syntax.rb +1/-1
            lib/rubocop/cop/style/hash_transform_keys.rb +17/-7
            lib/rubocop/cop/style/hash_transform_values.rb +17/-7
            lib/rubocop/cop/style/if_inside_else.rb +1/-5
            lib/rubocop/cop/style/if_unless_modifier.rb +57/-17
            lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +12/-12
            lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +4/-1
            lib/rubocop/cop/style/if_with_semicolon.rb +7/-5
            lib/rubocop/cop/style/infinite_loop.rb +1/-1
            lib/rubocop/cop/style/inline_comment.rb +4/-1
            lib/rubocop/cop/style/ip_addresses.rb +1/-2
            lib/rubocop/cop/style/lambda_call.rb +8/-8
            lib/rubocop/cop/style/magic_comment_format.rb +2/-2
            lib/rubocop/cop/style/method_call_with_args_parentheses.rb +17/-4
            lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +15/-2
            lib/rubocop/cop/style/method_def_parentheses.rb +2/-4
            lib/rubocop/cop/style/multiline_if_then.rb +4/-4
            lib/rubocop/cop/style/multiline_method_signature.rb +2/-4
            lib/rubocop/cop/style/mutable_constant.rb +1/-1
            lib/rubocop/cop/style/nil_comparison.rb +11/-10
            lib/rubocop/cop/style/nil_lambda.rb +1/-1
            lib/rubocop/cop/style/non_nil_check.rb +5/-11
            lib/rubocop/cop/style/not.rb +2/-0
            lib/rubocop/cop/style/numeric_literals.rb +3/-2
            lib/rubocop/cop/style/one_line_conditional.rb +21/-12
            lib/rubocop/cop/style/operator_method_call.rb +11/-2
            lib/rubocop/cop/style/parallel_assignment.rb +6/-2
            lib/rubocop/cop/style/percent_literal_delimiters.rb +2/-0
            lib/rubocop/cop/style/preferred_hash_methods.rb +12/-12
            lib/rubocop/cop/style/proc.rb +3/-2
            lib/rubocop/cop/style/raise_args.rb +1/-1
            lib/rubocop/cop/style/redundant_argument.rb +2/-0
            lib/rubocop/cop/style/redundant_begin.rb +37/-3
            lib/rubocop/cop/style/redundant_condition.rb +6/-3
            lib/rubocop/cop/style/redundant_each.rb +3/-3
            lib/rubocop/cop/style/redundant_exception.rb +1/-1
            lib/rubocop/cop/style/redundant_fetch_block.rb +1/-1
            lib/rubocop/cop/style/redundant_format.rb +26/-5
            lib/rubocop/cop/style/redundant_interpolation.rb +11/-2
            lib/rubocop/cop/style/redundant_interpolation_unfreeze.rb +27/-11
            lib/rubocop/cop/style/redundant_line_continuation.rb +16/-0
            lib/rubocop/cop/style/redundant_parentheses.rb +36/-30
            lib/rubocop/cop/style/redundant_percent_q.rb +5/-3
            lib/rubocop/cop/style/redundant_regexp_argument.rb +9/-0
            lib/rubocop/cop/style/redundant_regexp_escape.rb +8/-0
            lib/rubocop/cop/style/redundant_return.rb +3/-1
            lib/rubocop/cop/style/redundant_self_assignment_branch.rb +0/-5
            lib/rubocop/cop/style/redundant_sort.rb +7/-7
            lib/rubocop/cop/style/safe_navigation.rb +25/-8
            lib/rubocop/cop/style/select_by_regexp.rb +51/-21
            lib/rubocop/cop/style/semicolon.rb +25/-7
            lib/rubocop/cop/style/single_line_block_params.rb +2/-2
            lib/rubocop/cop/style/single_line_do_end_block.rb +1/-1
            lib/rubocop/cop/style/single_line_methods.rb +3/-1
            lib/rubocop/cop/style/sole_nested_conditional.rb +8/-1
            lib/rubocop/cop/style/special_global_vars.rb +6/-1
            lib/rubocop/cop/style/string_concatenation.rb +17/-13
            lib/rubocop/cop/style/super_arguments.rb +2/-2
            lib/rubocop/cop/style/symbol_array.rb +1/-1
            lib/rubocop/cop/style/symbol_proc.rb +4/-3
            lib/rubocop/cop/style/trailing_comma_in_arguments.rb +45/-0
            lib/rubocop/cop/style/trailing_comma_in_block_args.rb +1/-1
            lib/rubocop/cop/style/trailing_method_end_statement.rb +1/-0
            lib/rubocop/cop/style/trailing_underscore_variable.rb +11/-11
            lib/rubocop/cop/style/unless_else.rb +10/-9
            lib/rubocop/cop/style/yoda_expression.rb +1/-1
            lib/rubocop/cop/team.rb +4/-4
            lib/rubocop/cop/util.rb +2/-3
            lib/rubocop/cop/utils/format_string.rb +10/-0
            lib/rubocop/cop/variable_force.rb +9/-7
            lib/rubocop/cop/variable_force/branch.rb +30/-6
            lib/rubocop/cop/variable_force/variable.rb +1/-1
            lib/rubocop/cops_documentation_generator.rb +4/-4
            lib/rubocop/directive_comment.rb +48/-4
            lib/rubocop/formatter.rb +22/-21
            lib/rubocop/formatter/clang_style_formatter.rb +5/-2
            lib/rubocop/formatter/disabled_config_formatter.rb +20/-6
            lib/rubocop/formatter/formatter_set.rb +2/-2
            lib/rubocop/formatter/junit_formatter.rb +1/-1
            lib/rubocop/formatter/simple_text_formatter.rb +0/-2
            lib/rubocop/formatter/tap_formatter.rb +5/-2
            lib/rubocop/formatter/worst_offenders_formatter.rb +1/-1
            lib/rubocop/lsp/diagnostic.rb +18/-33
            lib/rubocop/lsp/routes.rb +42/-6
            lib/rubocop/lsp/runtime.rb +13/-3
            lib/rubocop/lsp/stdin_runner.rb +8/-17
            lib/rubocop/magic_comment.rb +20/-0
            lib/rubocop/options.rb +10/-1
            lib/rubocop/path_util.rb +14/-2
            lib/rubocop/plugin/loader.rb +1/-1
            lib/rubocop/rake_task.rb +1/-1
            lib/rubocop/remote_config.rb +10/-8
            lib/rubocop/result_cache.rb +61/-38
            lib/rubocop/rspec/cop_helper.rb +8/-0
            lib/rubocop/rspec/shared_contexts.rb +18/-5
            lib/rubocop/rspec/support.rb +2/-1
            lib/rubocop/runner.rb +18/-7
            lib/rubocop/server/cache.rb +6/-29
            lib/rubocop/server/core.rb +2/-0
            lib/rubocop/target_finder.rb +10/-10
            lib/rubocop/target_ruby.rb +31/-14
            lib/rubocop/version.rb +2/-2
            lib/ruby_lsp/rubocop/addon.rb +23/-8
            lib/ruby_lsp/rubocop/runtime_adapter.rb +49/-15
  DIFFERENT extra_rdoc_files:
    1.79.2->1.86.1:
      * Changed:
            LICENSE.txt +1/-1
            README.md +2/-2
  DIFFERENT runtime dependencies:
    1.79.2->1.86.1:
      * Updated:
            parallel from: ["~> 1.10"] to: [">= 1.10"]
            rubocop-ast from: [">= 1.46.0", "< 2.0"] to: [">= 1.49.0", "< 2.0"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT date:
    3.1.4: 2025-01-13 00:00:00 UTC
    3.2.0: 2025-09-09 00:00:00 UTC
  DIFFERENT description:
    3.1.4: [Unicode 16.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
    3.2.0: [Unicode 17.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
  DIFFERENT version:
    3.1.4: 3.1.4
    3.2.0: 3.2.0
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
            CHANGELOG.md +8/-0
            README.md +5/-5
            lib/unicode/display_width/constants.rb +2/-2
            lib/unicode/display_width/emoji_support.rb +5/-2
  DIFFERENT extra_rdoc_files:
    3.1.4->3.2.0:
      * Changed:
            README.md +5/-5
            CHANGELOG.md +8/-0
  DIFFERENT runtime dependencies:
    3.1.4->3.2.0:
      * Updated:
            unicode-emoji from: ["~> 4.0", ">= 4.0.4"] to: ["~> 4.1"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
        CHANGELOG.md
                --- /tmp/d20260410-11847-yibivg/unicode-display_width-3.1.4/CHANGELOG.md	2026-04-10 02:36:45.502347308 +0000
                +++ /tmp/d20260410-11847-yibivg/unicode-display_width-3.2.0/CHANGELOG.md	2026-04-10 02:36:45.513347351 +0000
                @@ -2,0 +3,8 @@
                +## 3.2.0
                +
                +- Unicode 17.0
                +
                +## 3.1.5
                +
                +- Cache Emoji support level for performance reasons #30, patch by @Earlopain:
                +
        README.md
                --- /tmp/d20260410-11847-yibivg/unicode-display_width-3.1.4/README.md	2026-04-10 02:36:45.503347312 +0000
                +++ /tmp/d20260410-11847-yibivg/unicode-display_width-3.2.0/README.md	2026-04-10 02:36:45.513347351 +0000
                @@ -3 +3 @@
                -Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth()](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                +Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                @@ -5 +5 @@
                -Unicode version: **16.0.0** (September 2024)
                +Unicode version: **17.0.0** (September 2025)
                @@ -111,2 +111,2 @@
                -Single Emoji character with Skin Tone Modifier            | 2
                -Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is configured to `:rgi` / `:rgi_at`
                +Single Emoji character with Skin Tone Modifier            | 2 unless Emoji mode is `:none` or `vs16`
                +Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is `:rgi` / `:rgi_at`
                @@ -191 +191 @@
                -- Copyright (c) 2011, 2015-2024 Jan Lelis, https://janlelis.com, released under the MIT
                +- Copyright (c) 2011, 2015-2025 Jan Lelis, https://janlelis.com, released under the MIT
        data/display_width.marshal.gz
                Binary files /tmp/d20260410-11847-yibivg/unicode-display_width-3.1.4/data/display_width.marshal.gz and /tmp/d20260410-11847-yibivg/unicode-display_width-3.2.0/data/display_width.marshal.gz differ
        lib/unicode/display_width/constants.rb
                --- /tmp/d20260410-11847-yibivg/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb	2026-04-10 02:36:45.503347312 +0000
                +++ /tmp/d20260410-11847-yibivg/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb	2026-04-10 02:36:45.516347362 +0000
                @@ -5,2 +5,2 @@
                -    VERSION = "3.1.4"
                -    UNICODE_VERSION = "16.0.0"
                +    VERSION = "3.2.0"
                +    UNICODE_VERSION = "17.0.0"
        lib/unicode/display_width/emoji_support.rb
                --- /tmp/d20260410-11847-yibivg/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:36:45.503347312 +0000
                +++ /tmp/d20260410-11847-yibivg/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:36:45.516347362 +0000
                @@ -1,2 +1 @@
                -# require "rbconfig"
                -# RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # windows
                +# frozen_string_literal: true
                @@ -15,0 +15,4 @@
                +        @recommended ||= _recommended
                +      end
                +
                +      def self._recommended

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop 1.79.2 1.86.1

Diff too large (600696 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT date:
    1.46.0: 2025-07-16 00:00:00 UTC
    1.49.1: 1980-01-02 00:00:00 UTC
  DIFFERENT rubygems_version:
    1.46.0: 3.5.11
    1.49.1: 4.0.3
  DIFFERENT version:
    1.46.0: 1.46.0
    1.49.1: 1.49.1
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
            README.md +0/-2
            lib/rubocop/ast/node.rb +15/-0
            lib/rubocop/ast/node/mixin/method_dispatch_node.rb +1/-1
            lib/rubocop/ast/node/mixin/parameterized_node.rb +1/-0
            lib/rubocop/ast/node_pattern.rb +2/-1
            lib/rubocop/ast/node_pattern/compiler.rb +1/-0
            lib/rubocop/ast/node_pattern/compiler/binding.rb +6/-0
            lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb +1/-1
            lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb +14/-2
            lib/rubocop/ast/node_pattern/lexer.rex +1/-1
            lib/rubocop/ast/node_pattern/lexer.rex.rb +2/-2
            lib/rubocop/ast/processed_source.rb +4/-5
            lib/rubocop/ast/traversal.rb +2/-1
            lib/rubocop/ast/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    1.46.0->1.49.1:
      * Changed:
            README.md +0/-2
  DIFFERENT runtime dependencies:
    1.46.0->1.49.1:
      * Updated:
            prism from: ["~> 1.4"] to: ["~> 1.7"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop 1.79.2 1.86.1

Diff too large (600696 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-emoji 4.0.4 4.2.0

Compared versions: ["4.0.4", "4.2.0"]
  DIFFERENT date:
    4.0.4: 2024-11-19 00:00:00 UTC
    4.2.0: 2025-12-17 00:00:00 UTC
  DIFFERENT description:
    4.0.4: [Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
    4.2.0: [Emoji 17.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
  DIFFERENT required_ruby_version:
    4.0.4: >= 2.5, < 4.0
    4.2.0: >= 2.5
  DIFFERENT version:
    4.0.4: 4.0.4
    4.2.0: 4.2.0
  DIFFERENT files:
    4.0.4->4.2.0:
      * Changed:
            CHANGELOG.md +11/-0
            Gemfile +2/-0
            Gemfile.lock +5/-1
            README.md +4/-4
            Rakefile +1/-1
            lib/unicode/emoji/constants.rb +4/-3
            lib/unicode/emoji/generated/regex.rb +1/-1
            lib/unicode/emoji/generated/regex_basic.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_picto.rb +1/-1
            lib/unicode/emoji/generated/regex_picto_no_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_possible.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_presentation.rb +1/-1
            lib/unicode/emoji/generated/regex_text.rb +1/-1
            lib/unicode/emoji/generated/regex_valid.rb +1/-1
            lib/unicode/emoji/generated/regex_valid_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed_include_text.rb +1/-1
            lib/unicode/emoji/generated_native/regex.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_text.rb +1/-1
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
            unicode-emoji.gemspec +1/-1
  DIFFERENT test_files:
    4.0.4->4.2.0:
      * Changed:
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
  DIFFERENT Gemfile dependencies
    4.0.4->4.2.0:
      * Added:
            mutex_m [">= 0"] (runtime)
            ostruct [">= 0"] (runtime)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT date:
    1.46.0: 2025-07-16 00:00:00 UTC
    1.49.1: 1980-01-02 00:00:00 UTC
  DIFFERENT rubygems_version:
    1.46.0: 3.5.11
    1.49.1: 4.0.3
  DIFFERENT version:
    1.46.0: 1.46.0
    1.49.1: 1.49.1
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
            README.md +0/-2
            lib/rubocop/ast/node.rb +15/-0
            lib/rubocop/ast/node/mixin/method_dispatch_node.rb +1/-1
            lib/rubocop/ast/node/mixin/parameterized_node.rb +1/-0
            lib/rubocop/ast/node_pattern.rb +2/-1
            lib/rubocop/ast/node_pattern/compiler.rb +1/-0
            lib/rubocop/ast/node_pattern/compiler/binding.rb +6/-0
            lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb +1/-1
            lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb +14/-2
            lib/rubocop/ast/node_pattern/lexer.rex +1/-1
            lib/rubocop/ast/node_pattern/lexer.rex.rb +2/-2
            lib/rubocop/ast/processed_source.rb +4/-5
            lib/rubocop/ast/traversal.rb +2/-1
            lib/rubocop/ast/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    1.46.0->1.49.1:
      * Changed:
            README.md +0/-2
  DIFFERENT runtime dependencies:
    1.46.0->1.49.1:
      * Updated:
            prism from: ["~> 1.4"] to: ["~> 1.7"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
        README.md
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/README.md	2026-04-10 02:37:09.225276365 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/README.md	2026-04-10 02:37:09.248276401 +0000
                @@ -5,2 +4,0 @@
                -[![Test Coverage](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/test_coverage)](https://codeclimate.com/github/rubocop/rubocop-ast/test_coverage)
                -[![Maintainability](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/maintainability)](https://codeclimate.com/github/rubocop/rubocop-ast/maintainability)
        lib/rubocop/ast/node.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node.rb	2026-04-10 02:37:09.227276368 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node.rb	2026-04-10 02:37:09.249276402 +0000
                @@ -110,0 +111,7 @@
                +        str: :any_str,
                +        dstr: :any_str,
                +        xstr: :any_str,
                +
                +        sym: :any_sym,
                +        dsym: :any_sym,
                +
                @@ -547,0 +555,8 @@
                +      end
                +
                +      def any_str_type?
                +        GROUP_FOR_TYPE[type] == :any_str
                +      end
                +
                +      def any_sym_type?
                +        GROUP_FOR_TYPE[type] == :any_sym
        lib/rubocop/ast/node/mixin/method_dispatch_node.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:37:09.237276384 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:37:09.254276410 +0000
                @@ -35 +35 @@
                -        if loc.respond_to? :keyword
                +        if loc?(:keyword)
        lib/rubocop/ast/node/mixin/parameterized_node.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:37:09.238276385 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:37:09.254276410 +0000
                @@ -67,0 +68 @@
                +
        lib/rubocop/ast/node_pattern.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:37:09.242276392 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:37:09.256276413 +0000
                @@ -26,0 +27,2 @@
                +      class Invalid < StandardError; end
                +
                @@ -53 +54,0 @@
                -      Invalid = Class.new(StandardError)
        lib/rubocop/ast/node_pattern/compiler.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:37:09.242276392 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:37:09.257276415 +0000
                @@ -12,0 +13 @@
                +
        lib/rubocop/ast/node_pattern/compiler/binding.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:37:09.243276393 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:37:09.257276415 +0000
                @@ -28,0 +29,6 @@
                +          # Returns currently bound variable names
                +          # @return [Array<String>] variable names that are currently bound
                +          def bound_variables
                +            @bound.values
                +          end
                +
        lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:37:09.243276393 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:37:09.258276416 +0000
                @@ -76 +76 @@
                -                  .join(' && ')
                +                           .join(' && ')
        lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:37:09.244276395 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:37:09.258276416 +0000
                @@ -88 +88 @@
                -          def visit_any_order
                +          def visit_any_order # rubocop:disable Metrics/AbcSize
                @@ -90,0 +91 @@
                +                bound_before = compiler.binding.bound_variables
                @@ -94,0 +96,4 @@
                +                # Initialize unification variables before the loop to persist across iterations
                +                newly_bound = compiler.binding.bound_variables - bound_before
                +                unify_init = compile_unify_init(newly_bound)
                +
                @@ -97 +102 @@
                -                  (#{init}#{matched} = {}; true) &&
                +                  (#{init}#{unify_init}#{matched} = {}; true) &&
                @@ -413,0 +419,7 @@
                +          end
                +
                +          # Generate initialization code for unification variables
                +          # @param newly_bound [Array<String>] variable names that were newly bound
                +          # @return [String] initialization code
                +          def compile_unify_init(newly_bound)
                +            newly_bound.map { |var| "#{var} = nil; " }.join
        lib/rubocop/ast/node_pattern/lexer.rex
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:37:09.244276395 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:37:09.262276423 +0000
                @@ -24 +24 @@
                -        /"(.+?)"/                 { emit :tSTRING }
                +        /"(.*?)"/                 { emit :tSTRING }
        lib/rubocop/ast/node_pattern/lexer.rex.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:37:09.244276395 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:37:09.265276427 +0000
                @@ -5 +5 @@
                -# Generated by: oedipus_lex version 2.6.2.
                +# Generated by: oedipus_lex version 2.6.3.
                @@ -125 +125 @@
                -          when ss.skip(/"(.+?)"/) then
                +          when ss.skip(/"(.*?)"/) then
        lib/rubocop/ast/processed_source.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/processed_source.rb	2026-04-10 02:37:09.245276396 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/processed_source.rb	2026-04-10 02:37:09.268276432 +0000
                @@ -313 +312,0 @@
                -            require 'prism/translation/parser33'
                @@ -316 +314,0 @@
                -            require 'prism/translation/parser34'
                @@ -318,3 +316,4 @@
                -          when 3.5
                -            require 'prism/translation/parser35'
                -            Prism::Translation::Parser35
                +          when 3.5, 4.0
                +            Prism::Translation::Parser40
                +          when 4.1
                +            Prism::Translation::Parser41
        lib/rubocop/ast/traversal.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/traversal.rb	2026-04-10 02:37:09.247276399 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/traversal.rb	2026-04-10 02:37:09.268276432 +0000
                @@ -81,0 +82 @@
                +
                @@ -88 +89 @@
                -                       lambda empty_else kwnilarg
                +                       lambda empty_else kwnilarg blocknilarg
        lib/rubocop/ast/version.rb
                --- /tmp/d20260410-11398-yolgta/rubocop-ast-1.46.0/lib/rubocop/ast/version.rb	2026-04-10 02:37:09.247276399 +0000
                +++ /tmp/d20260410-11398-yolgta/rubocop-ast-1.49.1/lib/rubocop/ast/version.rb	2026-04-10 02:37:09.268276432 +0000
                @@ -6 +6 @@
                -      STRING = '1.46.0'
                +      STRING = '1.49.1'

@github-actions
Copy link
Copy Markdown
Contributor

gem compare rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT date:
    1.46.0: 2025-07-16 00:00:00 UTC
    1.49.1: 1980-01-02 00:00:00 UTC
  DIFFERENT rubygems_version:
    1.46.0: 3.5.11
    1.49.1: 4.0.3
  DIFFERENT version:
    1.46.0: 1.46.0
    1.49.1: 1.49.1
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
            README.md +0/-2
            lib/rubocop/ast/node.rb +15/-0
            lib/rubocop/ast/node/mixin/method_dispatch_node.rb +1/-1
            lib/rubocop/ast/node/mixin/parameterized_node.rb +1/-0
            lib/rubocop/ast/node_pattern.rb +2/-1
            lib/rubocop/ast/node_pattern/compiler.rb +1/-0
            lib/rubocop/ast/node_pattern/compiler/binding.rb +6/-0
            lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb +1/-1
            lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb +14/-2
            lib/rubocop/ast/node_pattern/lexer.rex +1/-1
            lib/rubocop/ast/node_pattern/lexer.rex.rb +2/-2
            lib/rubocop/ast/processed_source.rb +4/-5
            lib/rubocop/ast/traversal.rb +2/-1
            lib/rubocop/ast/version.rb +1/-1
  DIFFERENT extra_rdoc_files:
    1.46.0->1.49.1:
      * Changed:
            README.md +0/-2
  DIFFERENT runtime dependencies:
    1.46.0->1.49.1:
      * Updated:
            prism from: ["~> 1.4"] to: ["~> 1.7"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
        CHANGELOG.md
                --- /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.1.4/CHANGELOG.md	2026-04-10 02:37:19.692824961 +0000
                +++ /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.2.0/CHANGELOG.md	2026-04-10 02:37:19.694824963 +0000
                @@ -2,0 +3,8 @@
                +## 3.2.0
                +
                +- Unicode 17.0
                +
                +## 3.1.5
                +
                +- Cache Emoji support level for performance reasons #30, patch by @Earlopain:
                +
        README.md
                --- /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.1.4/README.md	2026-04-10 02:37:19.692824961 +0000
                +++ /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.2.0/README.md	2026-04-10 02:37:19.694824963 +0000
                @@ -3 +3 @@
                -Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth()](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                +Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                @@ -5 +5 @@
                -Unicode version: **16.0.0** (September 2024)
                +Unicode version: **17.0.0** (September 2025)
                @@ -111,2 +111,2 @@
                -Single Emoji character with Skin Tone Modifier            | 2
                -Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is configured to `:rgi` / `:rgi_at`
                +Single Emoji character with Skin Tone Modifier            | 2 unless Emoji mode is `:none` or `vs16`
                +Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is `:rgi` / `:rgi_at`
                @@ -191 +191 @@
                -- Copyright (c) 2011, 2015-2024 Jan Lelis, https://janlelis.com, released under the MIT
                +- Copyright (c) 2011, 2015-2025 Jan Lelis, https://janlelis.com, released under the MIT
        data/display_width.marshal.gz
                Binary files /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.1.4/data/display_width.marshal.gz and /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.2.0/data/display_width.marshal.gz differ
        lib/unicode/display_width/constants.rb
                --- /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb	2026-04-10 02:37:19.693824962 +0000
                +++ /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb	2026-04-10 02:37:19.694824963 +0000
                @@ -5,2 +5,2 @@
                -    VERSION = "3.1.4"
                -    UNICODE_VERSION = "16.0.0"
                +    VERSION = "3.2.0"
                +    UNICODE_VERSION = "17.0.0"
        lib/unicode/display_width/emoji_support.rb
                --- /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:37:19.693824962 +0000
                +++ /tmp/d20260410-11891-fo1v1o/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:37:19.694824963 +0000
                @@ -1,2 +1 @@
                -# require "rbconfig"
                -# RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # windows
                +# frozen_string_literal: true
                @@ -15,0 +15,4 @@
                +        @recommended ||= _recommended
                +      end
                +
                +      def self._recommended

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
        README.md
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/README.md	2026-04-10 02:37:22.721753940 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/README.md	2026-04-10 02:37:22.731753900 +0000
                @@ -5,2 +4,0 @@
                -[![Test Coverage](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/test_coverage)](https://codeclimate.com/github/rubocop/rubocop-ast/test_coverage)
                -[![Maintainability](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/maintainability)](https://codeclimate.com/github/rubocop/rubocop-ast/maintainability)
        lib/rubocop/ast/node.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node.rb	2026-04-10 02:37:22.722753935 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node.rb	2026-04-10 02:37:22.732753896 +0000
                @@ -110,0 +111,7 @@
                +        str: :any_str,
                +        dstr: :any_str,
                +        xstr: :any_str,
                +
                +        sym: :any_sym,
                +        dsym: :any_sym,
                +
                @@ -547,0 +555,8 @@
                +      end
                +
                +      def any_str_type?
                +        GROUP_FOR_TYPE[type] == :any_str
                +      end
                +
                +      def any_sym_type?
                +        GROUP_FOR_TYPE[type] == :any_sym
        lib/rubocop/ast/node/mixin/method_dispatch_node.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:37:22.726753920 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:37:22.744753848 +0000
                @@ -35 +35 @@
                -        if loc.respond_to? :keyword
                +        if loc?(:keyword)
        lib/rubocop/ast/node/mixin/parameterized_node.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:37:22.726753920 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:37:22.745753844 +0000
                @@ -67,0 +68 @@
                +
        lib/rubocop/ast/node_pattern.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:37:22.728753912 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:37:22.750753824 +0000
                @@ -26,0 +27,2 @@
                +      class Invalid < StandardError; end
                +
                @@ -53 +54,0 @@
                -      Invalid = Class.new(StandardError)
        lib/rubocop/ast/node_pattern/compiler.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:37:22.729753908 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:37:22.751753821 +0000
                @@ -12,0 +13 @@
                +
        lib/rubocop/ast/node_pattern/compiler/binding.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:37:22.729753908 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:37:22.751753821 +0000
                @@ -28,0 +29,6 @@
                +          # Returns currently bound variable names
                +          # @return [Array<String>] variable names that are currently bound
                +          def bound_variables
                +            @bound.values
                +          end
                +
        lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:37:22.729753908 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:37:22.751753821 +0000
                @@ -76 +76 @@
                -                  .join(' && ')
                +                           .join(' && ')
        lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:37:22.729753908 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:37:22.752753816 +0000
                @@ -88 +88 @@
                -          def visit_any_order
                +          def visit_any_order # rubocop:disable Metrics/AbcSize
                @@ -90,0 +91 @@
                +                bound_before = compiler.binding.bound_variables
                @@ -94,0 +96,4 @@
                +                # Initialize unification variables before the loop to persist across iterations
                +                newly_bound = compiler.binding.bound_variables - bound_before
                +                unify_init = compile_unify_init(newly_bound)
                +
                @@ -97 +102 @@
                -                  (#{init}#{matched} = {}; true) &&
                +                  (#{init}#{unify_init}#{matched} = {}; true) &&
                @@ -413,0 +419,7 @@
                +          end
                +
                +          # Generate initialization code for unification variables
                +          # @param newly_bound [Array<String>] variable names that were newly bound
                +          # @return [String] initialization code
                +          def compile_unify_init(newly_bound)
                +            newly_bound.map { |var| "#{var} = nil; " }.join
        lib/rubocop/ast/node_pattern/lexer.rex
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:37:22.729753908 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:37:22.752753816 +0000
                @@ -24 +24 @@
                -        /"(.+?)"/                 { emit :tSTRING }
                +        /"(.*?)"/                 { emit :tSTRING }
        lib/rubocop/ast/node_pattern/lexer.rex.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:37:22.730753904 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:37:22.752753816 +0000
                @@ -5 +5 @@
                -# Generated by: oedipus_lex version 2.6.2.
                +# Generated by: oedipus_lex version 2.6.3.
                @@ -125 +125 @@
                -          when ss.skip(/"(.+?)"/) then
                +          when ss.skip(/"(.*?)"/) then
        lib/rubocop/ast/processed_source.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/processed_source.rb	2026-04-10 02:37:22.730753904 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/processed_source.rb	2026-04-10 02:37:22.754753809 +0000
                @@ -313 +312,0 @@
                -            require 'prism/translation/parser33'
                @@ -316 +314,0 @@
                -            require 'prism/translation/parser34'
                @@ -318,3 +316,4 @@
                -          when 3.5
                -            require 'prism/translation/parser35'
                -            Prism::Translation::Parser35
                +          when 3.5, 4.0
                +            Prism::Translation::Parser40
                +          when 4.1
                +            Prism::Translation::Parser41
        lib/rubocop/ast/traversal.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/traversal.rb	2026-04-10 02:37:22.731753900 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/traversal.rb	2026-04-10 02:37:22.755753805 +0000
                @@ -81,0 +82 @@
                +
                @@ -88 +89 @@
                -                       lambda empty_else kwnilarg
                +                       lambda empty_else kwnilarg blocknilarg
        lib/rubocop/ast/version.rb
                --- /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.46.0/lib/rubocop/ast/version.rb	2026-04-10 02:37:22.731753900 +0000
                +++ /tmp/d20260410-11408-b0pbnl/rubocop-ast-1.49.1/lib/rubocop/ast/version.rb	2026-04-10 02:37:22.755753805 +0000
                @@ -6 +6 @@
                -      STRING = '1.46.0'
                +      STRING = '1.49.1'

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT date:
    3.1.4: 2025-01-13 00:00:00 UTC
    3.2.0: 2025-09-09 00:00:00 UTC
  DIFFERENT description:
    3.1.4: [Unicode 16.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
    3.2.0: [Unicode 17.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
  DIFFERENT version:
    3.1.4: 3.1.4
    3.2.0: 3.2.0
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
            CHANGELOG.md +8/-0
            README.md +5/-5
            lib/unicode/display_width/constants.rb +2/-2
            lib/unicode/display_width/emoji_support.rb +5/-2
  DIFFERENT extra_rdoc_files:
    3.1.4->3.2.0:
      * Changed:
            README.md +5/-5
            CHANGELOG.md +8/-0
  DIFFERENT runtime dependencies:
    3.1.4->3.2.0:
      * Updated:
            unicode-emoji from: ["~> 4.0", ">= 4.0.4"] to: ["~> 4.1"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-emoji 4.0.4 4.2.0

Compared versions: ["4.0.4", "4.2.0"]
  DIFFERENT date:
    4.0.4: 2024-11-19 00:00:00 UTC
    4.2.0: 2025-12-17 00:00:00 UTC
  DIFFERENT description:
    4.0.4: [Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
    4.2.0: [Emoji 17.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
  DIFFERENT required_ruby_version:
    4.0.4: >= 2.5, < 4.0
    4.2.0: >= 2.5
  DIFFERENT version:
    4.0.4: 4.0.4
    4.2.0: 4.2.0
  DIFFERENT files:
    4.0.4->4.2.0:
      * Changed:
            CHANGELOG.md +11/-0
            Gemfile +2/-0
            Gemfile.lock +5/-1
            README.md +4/-4
            Rakefile +1/-1
            lib/unicode/emoji/constants.rb +4/-3
            lib/unicode/emoji/generated/regex.rb +1/-1
            lib/unicode/emoji/generated/regex_basic.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_picto.rb +1/-1
            lib/unicode/emoji/generated/regex_picto_no_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_possible.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_presentation.rb +1/-1
            lib/unicode/emoji/generated/regex_text.rb +1/-1
            lib/unicode/emoji/generated/regex_valid.rb +1/-1
            lib/unicode/emoji/generated/regex_valid_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed_include_text.rb +1/-1
            lib/unicode/emoji/generated_native/regex.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_text.rb +1/-1
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
            unicode-emoji.gemspec +1/-1
  DIFFERENT test_files:
    4.0.4->4.2.0:
      * Changed:
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
  DIFFERENT Gemfile dependencies
    4.0.4->4.2.0:
      * Added:
            mutex_m [">= 0"] (runtime)
            ostruct [">= 0"] (runtime)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-emoji 4.0.4 4.2.0

Diff too large (918756 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT date:
    3.1.4: 2025-01-13 00:00:00 UTC
    3.2.0: 2025-09-09 00:00:00 UTC
  DIFFERENT description:
    3.1.4: [Unicode 16.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
    3.2.0: [Unicode 17.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
  DIFFERENT version:
    3.1.4: 3.1.4
    3.2.0: 3.2.0
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
            CHANGELOG.md +8/-0
            README.md +5/-5
            lib/unicode/display_width/constants.rb +2/-2
            lib/unicode/display_width/emoji_support.rb +5/-2
  DIFFERENT extra_rdoc_files:
    3.1.4->3.2.0:
      * Changed:
            README.md +5/-5
            CHANGELOG.md +8/-0
  DIFFERENT runtime dependencies:
    3.1.4->3.2.0:
      * Updated:
            unicode-emoji from: ["~> 4.0", ">= 4.0.4"] to: ["~> 4.1"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
        CHANGELOG.md
                --- /tmp/d20260410-11931-uh10b4/unicode-display_width-3.1.4/CHANGELOG.md	2026-04-10 02:37:36.355342582 +0000
                +++ /tmp/d20260410-11931-uh10b4/unicode-display_width-3.2.0/CHANGELOG.md	2026-04-10 02:37:36.357342587 +0000
                @@ -2,0 +3,8 @@
                +## 3.2.0
                +
                +- Unicode 17.0
                +
                +## 3.1.5
                +
                +- Cache Emoji support level for performance reasons #30, patch by @Earlopain:
                +
        README.md
                --- /tmp/d20260410-11931-uh10b4/unicode-display_width-3.1.4/README.md	2026-04-10 02:37:36.355342582 +0000
                +++ /tmp/d20260410-11931-uh10b4/unicode-display_width-3.2.0/README.md	2026-04-10 02:37:36.357342587 +0000
                @@ -3 +3 @@
                -Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth()](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                +Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                @@ -5 +5 @@
                -Unicode version: **16.0.0** (September 2024)
                +Unicode version: **17.0.0** (September 2025)
                @@ -111,2 +111,2 @@
                -Single Emoji character with Skin Tone Modifier            | 2
                -Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is configured to `:rgi` / `:rgi_at`
                +Single Emoji character with Skin Tone Modifier            | 2 unless Emoji mode is `:none` or `vs16`
                +Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is `:rgi` / `:rgi_at`
                @@ -191 +191 @@
                -- Copyright (c) 2011, 2015-2024 Jan Lelis, https://janlelis.com, released under the MIT
                +- Copyright (c) 2011, 2015-2025 Jan Lelis, https://janlelis.com, released under the MIT
        data/display_width.marshal.gz
                Binary files /tmp/d20260410-11931-uh10b4/unicode-display_width-3.1.4/data/display_width.marshal.gz and /tmp/d20260410-11931-uh10b4/unicode-display_width-3.2.0/data/display_width.marshal.gz differ
        lib/unicode/display_width/constants.rb
                --- /tmp/d20260410-11931-uh10b4/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb	2026-04-10 02:37:36.356342584 +0000
                +++ /tmp/d20260410-11931-uh10b4/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb	2026-04-10 02:37:36.359342593 +0000
                @@ -5,2 +5,2 @@
                -    VERSION = "3.1.4"
                -    UNICODE_VERSION = "16.0.0"
                +    VERSION = "3.2.0"
                +    UNICODE_VERSION = "17.0.0"
        lib/unicode/display_width/emoji_support.rb
                --- /tmp/d20260410-11931-uh10b4/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:37:36.356342584 +0000
                +++ /tmp/d20260410-11931-uh10b4/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:37:36.359342593 +0000
                @@ -1,2 +1 @@
                -# require "rbconfig"
                -# RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # windows
                +# frozen_string_literal: true
                @@ -15,0 +15,4 @@
                +        @recommended ||= _recommended
                +      end
                +
                +      def self._recommended

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
        CHANGELOG.md
                --- /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.1.4/CHANGELOG.md	2026-04-10 02:37:47.772647819 +0000
                +++ /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.2.0/CHANGELOG.md	2026-04-10 02:37:47.774647808 +0000
                @@ -2,0 +3,8 @@
                +## 3.2.0
                +
                +- Unicode 17.0
                +
                +## 3.1.5
                +
                +- Cache Emoji support level for performance reasons #30, patch by @Earlopain:
                +
        README.md
                --- /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.1.4/README.md	2026-04-10 02:37:47.772647819 +0000
                +++ /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.2.0/README.md	2026-04-10 02:37:47.774647808 +0000
                @@ -3 +3 @@
                -Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth()](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                +Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                @@ -5 +5 @@
                -Unicode version: **16.0.0** (September 2024)
                +Unicode version: **17.0.0** (September 2025)
                @@ -111,2 +111,2 @@
                -Single Emoji character with Skin Tone Modifier            | 2
                -Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is configured to `:rgi` / `:rgi_at`
                +Single Emoji character with Skin Tone Modifier            | 2 unless Emoji mode is `:none` or `vs16`
                +Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is `:rgi` / `:rgi_at`
                @@ -191 +191 @@
                -- Copyright (c) 2011, 2015-2024 Jan Lelis, https://janlelis.com, released under the MIT
                +- Copyright (c) 2011, 2015-2025 Jan Lelis, https://janlelis.com, released under the MIT
        data/display_width.marshal.gz
                Binary files /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.1.4/data/display_width.marshal.gz and /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.2.0/data/display_width.marshal.gz differ
        lib/unicode/display_width/constants.rb
                --- /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb	2026-04-10 02:37:47.773647813 +0000
                +++ /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb	2026-04-10 02:37:47.774647808 +0000
                @@ -5,2 +5,2 @@
                -    VERSION = "3.1.4"
                -    UNICODE_VERSION = "16.0.0"
                +    VERSION = "3.2.0"
                +    UNICODE_VERSION = "17.0.0"
        lib/unicode/display_width/emoji_support.rb
                --- /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:37:47.773647813 +0000
                +++ /tmp/d20260410-11932-dvw5l2/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:37:47.774647808 +0000
                @@ -1,2 +1 @@
                -# require "rbconfig"
                -# RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # windows
                +# frozen_string_literal: true
                @@ -15,0 +15,4 @@
                +        @recommended ||= _recommended
                +      end
                +
                +      def self._recommended

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-emoji 4.0.4 4.2.0

Compared versions: ["4.0.4", "4.2.0"]
  DIFFERENT date:
    4.0.4: 2024-11-19 00:00:00 UTC
    4.2.0: 2025-12-17 00:00:00 UTC
  DIFFERENT description:
    4.0.4: [Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
    4.2.0: [Emoji 17.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
  DIFFERENT required_ruby_version:
    4.0.4: >= 2.5, < 4.0
    4.2.0: >= 2.5
  DIFFERENT version:
    4.0.4: 4.0.4
    4.2.0: 4.2.0
  DIFFERENT files:
    4.0.4->4.2.0:
      * Changed:
            CHANGELOG.md +11/-0
            Gemfile +2/-0
            Gemfile.lock +5/-1
            README.md +4/-4
            Rakefile +1/-1
            lib/unicode/emoji/constants.rb +4/-3
            lib/unicode/emoji/generated/regex.rb +1/-1
            lib/unicode/emoji/generated/regex_basic.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_picto.rb +1/-1
            lib/unicode/emoji/generated/regex_picto_no_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_possible.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_presentation.rb +1/-1
            lib/unicode/emoji/generated/regex_text.rb +1/-1
            lib/unicode/emoji/generated/regex_valid.rb +1/-1
            lib/unicode/emoji/generated/regex_valid_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed_include_text.rb +1/-1
            lib/unicode/emoji/generated_native/regex.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_text.rb +1/-1
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
            unicode-emoji.gemspec +1/-1
  DIFFERENT test_files:
    4.0.4->4.2.0:
      * Changed:
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
  DIFFERENT Gemfile dependencies
    4.0.4->4.2.0:
      * Added:
            mutex_m [">= 0"] (runtime)
            ostruct [">= 0"] (runtime)

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-emoji 4.0.4 4.2.0

Compared versions: ["4.0.4", "4.2.0"]
  DIFFERENT date:
    4.0.4: 2024-11-19 00:00:00 UTC
    4.2.0: 2025-12-17 00:00:00 UTC
  DIFFERENT description:
    4.0.4: [Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
    4.2.0: [Emoji 17.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
  DIFFERENT required_ruby_version:
    4.0.4: >= 2.5, < 4.0
    4.2.0: >= 2.5
  DIFFERENT version:
    4.0.4: 4.0.4
    4.2.0: 4.2.0
  DIFFERENT files:
    4.0.4->4.2.0:
      * Changed:
            CHANGELOG.md +11/-0
            Gemfile +2/-0
            Gemfile.lock +5/-1
            README.md +4/-4
            Rakefile +1/-1
            lib/unicode/emoji/constants.rb +4/-3
            lib/unicode/emoji/generated/regex.rb +1/-1
            lib/unicode/emoji/generated/regex_basic.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_picto.rb +1/-1
            lib/unicode/emoji/generated/regex_picto_no_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_possible.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_presentation.rb +1/-1
            lib/unicode/emoji/generated/regex_text.rb +1/-1
            lib/unicode/emoji/generated/regex_valid.rb +1/-1
            lib/unicode/emoji/generated/regex_valid_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed_include_text.rb +1/-1
            lib/unicode/emoji/generated_native/regex.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_text.rb +1/-1
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
            unicode-emoji.gemspec +1/-1
  DIFFERENT test_files:
    4.0.4->4.2.0:
      * Changed:
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
  DIFFERENT Gemfile dependencies
    4.0.4->4.2.0:
      * Added:
            mutex_m [">= 0"] (runtime)
            ostruct [">= 0"] (runtime)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-emoji 4.0.4 4.2.0

Diff too large (918756 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff rubocop-ast 1.46.0 1.49.1

Compared versions: ["1.46.0", "1.49.1"]
  DIFFERENT files:
    1.46.0->1.49.1:
      * Changed:
        README.md
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/README.md	2026-04-10 02:38:06.214094984 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/README.md	2026-04-10 02:38:06.229095006 +0000
                @@ -5,2 +4,0 @@
                -[![Test Coverage](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/test_coverage)](https://codeclimate.com/github/rubocop/rubocop-ast/test_coverage)
                -[![Maintainability](https://api.codeclimate.com/v1/badges/a29666e6373bc41bc0a9/maintainability)](https://codeclimate.com/github/rubocop/rubocop-ast/maintainability)
        lib/rubocop/ast/node.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node.rb	2026-04-10 02:38:06.215094986 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node.rb	2026-04-10 02:38:06.230095008 +0000
                @@ -110,0 +111,7 @@
                +        str: :any_str,
                +        dstr: :any_str,
                +        xstr: :any_str,
                +
                +        sym: :any_sym,
                +        dsym: :any_sym,
                +
                @@ -547,0 +555,8 @@
                +      end
                +
                +      def any_str_type?
                +        GROUP_FOR_TYPE[type] == :any_str
                +      end
                +
                +      def any_sym_type?
                +        GROUP_FOR_TYPE[type] == :any_sym
        lib/rubocop/ast/node/mixin/method_dispatch_node.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:38:06.220094993 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/method_dispatch_node.rb	2026-04-10 02:38:06.235095015 +0000
                @@ -35 +35 @@
                -        if loc.respond_to? :keyword
                +        if loc?(:keyword)
        lib/rubocop/ast/node/mixin/parameterized_node.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:38:06.221094995 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node/mixin/parameterized_node.rb	2026-04-10 02:38:06.235095015 +0000
                @@ -67,0 +68 @@
                +
        lib/rubocop/ast/node_pattern.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:38:06.224094999 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern.rb	2026-04-10 02:38:06.237095018 +0000
                @@ -26,0 +27,2 @@
                +      class Invalid < StandardError; end
                +
                @@ -53 +54,0 @@
                -      Invalid = Class.new(StandardError)
        lib/rubocop/ast/node_pattern/compiler.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:38:06.225095000 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler.rb	2026-04-10 02:38:06.238095020 +0000
                @@ -12,0 +13 @@
                +
        lib/rubocop/ast/node_pattern/compiler/binding.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:38:06.225095000 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/binding.rb	2026-04-10 02:38:06.238095020 +0000
                @@ -28,0 +29,6 @@
                +          # Returns currently bound variable names
                +          # @return [Array<String>] variable names that are currently bound
                +          def bound_variables
                +            @bound.values
                +          end
                +
        lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:38:06.225095000 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb	2026-04-10 02:38:06.238095020 +0000
                @@ -76 +76 @@
                -                  .join(' && ')
                +                           .join(' && ')
        lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:38:06.226095002 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb	2026-04-10 02:38:06.238095020 +0000
                @@ -88 +88 @@
                -          def visit_any_order
                +          def visit_any_order # rubocop:disable Metrics/AbcSize
                @@ -90,0 +91 @@
                +                bound_before = compiler.binding.bound_variables
                @@ -94,0 +96,4 @@
                +                # Initialize unification variables before the loop to persist across iterations
                +                newly_bound = compiler.binding.bound_variables - bound_before
                +                unify_init = compile_unify_init(newly_bound)
                +
                @@ -97 +102 @@
                -                  (#{init}#{matched} = {}; true) &&
                +                  (#{init}#{unify_init}#{matched} = {}; true) &&
                @@ -413,0 +419,7 @@
                +          end
                +
                +          # Generate initialization code for unification variables
                +          # @param newly_bound [Array<String>] variable names that were newly bound
                +          # @return [String] initialization code
                +          def compile_unify_init(newly_bound)
                +            newly_bound.map { |var| "#{var} = nil; " }.join
        lib/rubocop/ast/node_pattern/lexer.rex
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:38:06.226095002 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex	2026-04-10 02:38:06.239095021 +0000
                @@ -24 +24 @@
                -        /"(.+?)"/                 { emit :tSTRING }
                +        /"(.*?)"/                 { emit :tSTRING }
        lib/rubocop/ast/node_pattern/lexer.rex.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:38:06.226095002 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/node_pattern/lexer.rex.rb	2026-04-10 02:38:06.239095021 +0000
                @@ -5 +5 @@
                -# Generated by: oedipus_lex version 2.6.2.
                +# Generated by: oedipus_lex version 2.6.3.
                @@ -125 +125 @@
                -          when ss.skip(/"(.+?)"/) then
                +          when ss.skip(/"(.*?)"/) then
        lib/rubocop/ast/processed_source.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/processed_source.rb	2026-04-10 02:38:06.227095004 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/processed_source.rb	2026-04-10 02:38:06.240095023 +0000
                @@ -313 +312,0 @@
                -            require 'prism/translation/parser33'
                @@ -316 +314,0 @@
                -            require 'prism/translation/parser34'
                @@ -318,3 +316,4 @@
                -          when 3.5
                -            require 'prism/translation/parser35'
                -            Prism::Translation::Parser35
                +          when 3.5, 4.0
                +            Prism::Translation::Parser40
                +          when 4.1
                +            Prism::Translation::Parser41
        lib/rubocop/ast/traversal.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/traversal.rb	2026-04-10 02:38:06.228095005 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/traversal.rb	2026-04-10 02:38:06.241095024 +0000
                @@ -81,0 +82 @@
                +
                @@ -88 +89 @@
                -                       lambda empty_else kwnilarg
                +                       lambda empty_else kwnilarg blocknilarg
        lib/rubocop/ast/version.rb
                --- /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.46.0/lib/rubocop/ast/version.rb	2026-04-10 02:38:06.228095005 +0000
                +++ /tmp/d20260410-11400-ktlbbh/rubocop-ast-1.49.1/lib/rubocop/ast/version.rb	2026-04-10 02:38:06.241095024 +0000
                @@ -6 +6 @@
                -      STRING = '1.46.0'
                +      STRING = '1.49.1'

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-emoji 4.0.4 4.2.0

Diff too large (918756 chars)

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-emoji 4.0.4 4.2.0

Diff too large (918756 chars)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT date:
    3.1.4: 2025-01-13 00:00:00 UTC
    3.2.0: 2025-09-09 00:00:00 UTC
  DIFFERENT description:
    3.1.4: [Unicode 16.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
    3.2.0: [Unicode 17.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.
  DIFFERENT version:
    3.1.4: 3.1.4
    3.2.0: 3.2.0
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
            CHANGELOG.md +8/-0
            README.md +5/-5
            lib/unicode/display_width/constants.rb +2/-2
            lib/unicode/display_width/emoji_support.rb +5/-2
  DIFFERENT extra_rdoc_files:
    3.1.4->3.2.0:
      * Changed:
            README.md +5/-5
            CHANGELOG.md +8/-0
  DIFFERENT runtime dependencies:
    3.1.4->3.2.0:
      * Updated:
            unicode-emoji from: ["~> 4.0", ">= 4.0.4"] to: ["~> 4.1"]

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-display_width 3.1.4 3.2.0

Compared versions: ["3.1.4", "3.2.0"]
  DIFFERENT files:
    3.1.4->3.2.0:
      * Changed:
        CHANGELOG.md
                --- /tmp/d20260410-11921-17jg3s/unicode-display_width-3.1.4/CHANGELOG.md	2026-04-10 02:38:33.662117561 +0000
                +++ /tmp/d20260410-11921-17jg3s/unicode-display_width-3.2.0/CHANGELOG.md	2026-04-10 02:38:33.663117561 +0000
                @@ -2,0 +3,8 @@
                +## 3.2.0
                +
                +- Unicode 17.0
                +
                +## 3.1.5
                +
                +- Cache Emoji support level for performance reasons #30, patch by @Earlopain:
                +
        README.md
                --- /tmp/d20260410-11921-17jg3s/unicode-display_width-3.1.4/README.md	2026-04-10 02:38:33.662117561 +0000
                +++ /tmp/d20260410-11921-17jg3s/unicode-display_width-3.2.0/README.md	2026-04-10 02:38:33.663117561 +0000
                @@ -3 +3 @@
                -Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth()](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                +Determines the monospace display width of a string in Ruby, which is useful for all kinds of terminal-based applications. The implementation is based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt), the [Emoji specfication](https://www.unicode.org/reports/tr51/) and other data, 100% in Ruby. It does not rely on the OS vendor ([wcwidth](https://github.com/janlelis/wcswidth-ruby)) to provide an up-to-date method for measuring string width in terminals.
                @@ -5 +5 @@
                -Unicode version: **16.0.0** (September 2024)
                +Unicode version: **17.0.0** (September 2025)
                @@ -111,2 +111,2 @@
                -Single Emoji character with Skin Tone Modifier            | 2
                -Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is configured to `:rgi` / `:rgi_at`
                +Single Emoji character with Skin Tone Modifier            | 2 unless Emoji mode is `:none` or `vs16`
                +Skin Tone Modifier used in isolation or with invalid base | 2 if Emoji mode is `:rgi` / `:rgi_at`
                @@ -191 +191 @@
                -- Copyright (c) 2011, 2015-2024 Jan Lelis, https://janlelis.com, released under the MIT
                +- Copyright (c) 2011, 2015-2025 Jan Lelis, https://janlelis.com, released under the MIT
        data/display_width.marshal.gz
                Binary files /tmp/d20260410-11921-17jg3s/unicode-display_width-3.1.4/data/display_width.marshal.gz and /tmp/d20260410-11921-17jg3s/unicode-display_width-3.2.0/data/display_width.marshal.gz differ
        lib/unicode/display_width/constants.rb
                --- /tmp/d20260410-11921-17jg3s/unicode-display_width-3.1.4/lib/unicode/display_width/constants.rb	2026-04-10 02:38:33.662117561 +0000
                +++ /tmp/d20260410-11921-17jg3s/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb	2026-04-10 02:38:33.664117561 +0000
                @@ -5,2 +5,2 @@
                -    VERSION = "3.1.4"
                -    UNICODE_VERSION = "16.0.0"
                +    VERSION = "3.2.0"
                +    UNICODE_VERSION = "17.0.0"
        lib/unicode/display_width/emoji_support.rb
                --- /tmp/d20260410-11921-17jg3s/unicode-display_width-3.1.4/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:38:33.663117561 +0000
                +++ /tmp/d20260410-11921-17jg3s/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb	2026-04-10 02:38:33.664117561 +0000
                @@ -1,2 +1 @@
                -# require "rbconfig"
                -# RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # windows
                +# frozen_string_literal: true
                @@ -15,0 +15,4 @@
                +        @recommended ||= _recommended
                +      end
                +
                +      def self._recommended

@github-actions
Copy link
Copy Markdown
Contributor

gem compare unicode-emoji 4.0.4 4.2.0

Compared versions: ["4.0.4", "4.2.0"]
  DIFFERENT date:
    4.0.4: 2024-11-19 00:00:00 UTC
    4.2.0: 2025-12-17 00:00:00 UTC
  DIFFERENT description:
    4.0.4: [Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
    4.2.0: [Emoji 17.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.
  DIFFERENT required_ruby_version:
    4.0.4: >= 2.5, < 4.0
    4.2.0: >= 2.5
  DIFFERENT version:
    4.0.4: 4.0.4
    4.2.0: 4.2.0
  DIFFERENT files:
    4.0.4->4.2.0:
      * Changed:
            CHANGELOG.md +11/-0
            Gemfile +2/-0
            Gemfile.lock +5/-1
            README.md +4/-4
            Rakefile +1/-1
            lib/unicode/emoji/constants.rb +4/-3
            lib/unicode/emoji/generated/regex.rb +1/-1
            lib/unicode/emoji/generated/regex_basic.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated/regex_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_picto.rb +1/-1
            lib/unicode/emoji/generated/regex_picto_no_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_possible.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_emoji.rb +1/-1
            lib/unicode/emoji/generated/regex_prop_presentation.rb +1/-1
            lib/unicode/emoji/generated/regex_text.rb +1/-1
            lib/unicode/emoji/generated/regex_valid.rb +1/-1
            lib/unicode/emoji/generated/regex_valid_include_text.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed.rb +1/-1
            lib/unicode/emoji/generated/regex_well_formed_include_text.rb +1/-1
            lib/unicode/emoji/generated_native/regex.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +1/-1
            lib/unicode/emoji/generated_native/regex_include_text.rb +1/-1
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
            unicode-emoji.gemspec +1/-1
  DIFFERENT test_files:
    4.0.4->4.2.0:
      * Changed:
            spec/emoji_test_txt_spec.rb +2/-2
            spec/unicode_emoji_spec.rb +7/-2
  DIFFERENT Gemfile dependencies
    4.0.4->4.2.0:
      * Added:
            mutex_m [">= 0"] (runtime)
            ostruct [">= 0"] (runtime)

@github-actions
Copy link
Copy Markdown
Contributor

gem compare --diff unicode-emoji 4.0.4 4.2.0

Diff too large (918756 chars)

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

Labels

dependencies ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants