Skip to content

Conversation

@i7an
Copy link
Contributor

@i7an i7an commented Jan 27, 2026

Motivation

Update dev dependencies

Changes

  • Updated dev dependencies
  • Updated ruby version matrix

Summary by CodeRabbit

  • Chores
    • Updated CI testing matrix to run a refreshed set of Ruby versions for improved compatibility testing
    • Adjusted linting/plugin configuration to streamline static analysis loading
    • Bumped several development dependency versions to keep tooling up to date and secure

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 27, 2026

📝 Walkthrough

Walkthrough

Updated CI Ruby matrix, RuboCop plugin key renamed from require to plugins, and bumped several gem version constraints in the Gemfile. No public API or control-flow changes.

Changes

Cohort / File(s) Summary
CI Configuration
.github/workflows/main.yml
Adjusted Ruby test matrix: removed 3.1.6, 3.2.7, 3.3.7, 3.4.2; added 3.3.10, 3.4.8, 4.0.1.
Linting Configuration
.rubocop.yml
Replaced top-level require with plugins, keeping rubocop-rake and rubocop-rspec.
Dependency Versions
Gemfile
Bumped gem constraints: rake ~> 13.0 → ~> 13.3, rdoc ~> 6.13.0 → ~> 7.1.0, rspec ~> 3.0 → ~> 3, rubocop ~> 1.21 → ~> 1.82.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped through YAML, gems all in tow,
CI got fresher—new Rubies to show,
RuboCop listens in a different way,
Tests and lint hum brighter today! 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is incomplete; it only includes Motivation and Changes sections, missing the required 'How to test' and 'Images and GIFs' sections from the template. Add the 'How to test' section with test cases and 'Images and GIFs' comparison table to match the repository's PR description template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Update dependencies' accurately reflects the main changes in the PR, which focus on updating gem versions in the Gemfile and Ruby versions in the CI matrix.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- '3.4.2'
- '3.3.10'
- '3.4.8'
- '4.0.1'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @.rubocop.yml:
- Around line 1-3: The Gemfile's RuboCop version constraint is too loose
(currently allowing ~> 1.21) which permits versions that don't support the
"plugins:" key; update the Gemfile entry for RuboCop (the gem 'rubocop'
declaration) to require at least ~> 1.72 (e.g., change the version specifier
from '~> 1.21' to '~> 1.72') so the plugins: syntax is supported consistently
across installs and CI.

Copy link
Contributor

@DagonWat DagonWat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but pay attention to coderabbit

@i7an i7an force-pushed the update-dependencies branch from 626ce02 to 79abdfe Compare January 28, 2026 13:51
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@Gemfile`:
- Around line 11-15: The Gemfile currently pins rdoc with "rdoc ~> 7.1.0", which
brings breaking changes (Aliki theme, psych >= 4.0, Ruby >= 2.6); either revert
to a 6.x rdoc pin or explicitly opt back into Darkfish by adding a .rdoc_options
entry (generator_name: darkfish), update your dependency constraints to require
psych >= 4.0 in the lockfile/Gemfile, and ensure CI/build images specify Ruby >=
2.6.0 so the rdoc 7.x upgrade won’t break docs/tests that rely on Darkfish or
older Ruby/psych versions.
🧹 Nitpick comments (1)
.rubocop.yml (1)

10-10: Consider updating TargetRubyVersion to match CI matrix.

The CI matrix reportedly now starts at Ruby 3.3.x (removed 3.1.6, 3.2.7), but TargetRubyVersion is still set to 3.1. If the gem no longer supports Ruby 3.1, consider bumping this to 3.3 to enable RuboCop's newer Ruby-specific cops and avoid false positives for syntax not available in 3.1.

If 3.1 support is intentionally maintained (e.g., for users on older Ruby versions), this can remain as-is.

Comment on lines +11 to +15
gem 'rake', '~> 13.3'
gem 'rdoc', '~> 7.1.0'
gem 'rspec', '~> 3'
gem 'rspec-its'
gem 'rubocop', '~> 1.21'
gem 'rubocop', '~> 1.82'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify latest versions of the gems mentioned in the review

echo "=== Checking gem versions on rubygems.org ==="
for gem in rake rdoc rspec rubocop; do
  echo ""
  echo "=== $gem ==="
  curl -s "https://rubygems.org/api/v1/gems/$gem.json" | jq -r "{name: .name, current_version: .version, homepage: .homepage_uri}" 2>/dev/null || echo "Error fetching $gem"
done

echo ""
echo "=== Checking if rdoc 7.1.0 exists ==="
curl -s "https://rubygems.org/api/v1/versions/rdoc.json" | jq '.[] | select(.number=="7.1.0")' 2>/dev/null

Repository: mailtrap/mailtrap-ruby

Length of output: 1637


🌐 Web query:

rdoc 7.0 breaking changes major version upgrade migration

💡 Result:

RDoc 7.0 (released Dec 18, 2025): notable breaking / migration-impacting changes

  1. Default HTML theme changed to “Aliki” (from Darkfish)
    If you (or your users) depend on Darkfish’s HTML structure/CSS for screenshots, scrapers, custom styling, or documentation-site embedding, expect differences. The theme switch is called out in the 7.0.0 release notes. [1]
    Ruby core docs note that Aliki is the default for RDoc v7.0+, and you can switch back to Darkfish via .rdoc_options. [3][4]

  2. Dependency constraint change: psych >= 4.0.0
    Projects pinned to older psych (or environments where upgrading psych is difficult) may hit resolution issues. RDoc 7.0.0 declares psych >= 4.0.0. [2]

  3. Ruby compatibility floor: >= 2.6.0
    If you still generate docs on Ruby 2.5 or older in CI/release pipelines, you must upgrade that job/runtime. [2]

Practical migration steps

  • If you want the old look (Darkfish), pin the generator/theme in .rdoc_options:
    Use:

    • generator_name: darkfish [4]
      (Ruby’s announcement also mentions switching back to Darkfish via .rdoc_options.) [3]
  • If you stay on Aliki, update any doc-site customizations/tests:
    Re-record snapshots, update CSS hooks, and verify navigation/search behavior (Aliki includes a rebuilt search UX). [1][3]

  • Ensure your build environment resolves psych >= 4:
    If you vendor/lock psych, update the lock and CI images accordingly. [2]

Sources: RDoc v7.0.0 release notes (GitHub) [1], RDoc 7.0.0 gem metadata (RubyGems) [2], Ruby news post on Aliki/RDoc 7.0+ [3], Aliki details + how to switch back/customize in .rdoc_options [4].


🌐 Web query:

rubocop 1.72 plugins key support introduced

💡 Result:

RuboCop added support for the .rubocop.yml plugins: key (the new “plugin system” for loading extension cop gems via the official lint_roller API) starting in RuboCop 1.72.0 (released 2025‑02‑14). The docs explicitly note: “The plugin system was introduced in RuboCop 1.72,” and recommend migrating extension loading from require: to plugins:. [1], [2], [3]


Call out rdoc 7.x breaking changes; versions are valid.

All versions exist and constraints are reasonable. However, the rdoc ~> 7.1.0 major version bump introduces notable breaking changes that merit attention:

  • Default HTML theme changed from Darkfish to Aliki — if your documentation pipeline or tests depend on Darkfish's HTML structure/CSS, you'll need to either update customizations or revert to Darkfish via .rdoc_options (generator_name: darkfish)
  • psych >= 4.0.0 is now required — ensure your build environment and lock file support psych 4.x
  • Ruby >= 2.6.0 is the new floor — if you generate docs on older Ruby versions in CI, upgrade those jobs

The rubocop ~> 1.82 constraint correctly supports the plugins: key (introduced in RuboCop 1.72+).

🤖 Prompt for AI Agents
In `@Gemfile` around lines 11 - 15, The Gemfile currently pins rdoc with "rdoc ~>
7.1.0", which brings breaking changes (Aliki theme, psych >= 4.0, Ruby >= 2.6);
either revert to a 6.x rdoc pin or explicitly opt back into Darkfish by adding a
.rdoc_options entry (generator_name: darkfish), update your dependency
constraints to require psych >= 4.0 in the lockfile/Gemfile, and ensure CI/build
images specify Ruby >= 2.6.0 so the rdoc 7.x upgrade won’t break docs/tests that
rely on Darkfish or older Ruby/psych versions.

@i7an i7an merged commit e730371 into main Jan 28, 2026
7 checks passed
@i7an i7an deleted the update-dependencies branch January 28, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants