Skip to content

Update rails release information#149

Open
mateusdeap wants to merge 1 commit intomainfrom
fix/update-rails-release-info
Open

Update rails release information#149
mateusdeap wants to merge 1 commit intomainfrom
fix/update-rails-release-info

Conversation

@mateusdeap
Copy link
Copy Markdown
Collaborator

@mateusdeap mateusdeap commented Mar 21, 2026

Went through all the rails versions and updated the minimum and maximum required versions of ruby, bundler and rubygems to more closely reflect Rails maintenance policy and their gemspec as well as bundler's requirements for ruby versions.

Closes #147

@sentry
Copy link
Copy Markdown

sentry bot commented Mar 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.88%. Comparing base (b945c45) to head (9de41b5).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #149   +/-   ##
=======================================
  Coverage   86.88%   86.88%           
=======================================
  Files          48       48           
  Lines         694      694           
=======================================
  Hits          603      603           
  Misses         91       91           

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

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

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Rails release “requirements” data used by the data:update_rails_releases task so stored RailsRelease records better reflect Rails/Bundler/RubyGems version constraints.

Changes:

  • Adds maximum_bundler_version across Rails versions and adjusts several minimum_bundler_version values.
  • Updates Ruby version ranges for Rails 7.x–8.1 (notably raising max Ruby for 8.0/8.1).
  • Updates minimum RubyGems versions for Rails 7.2+ and 8.x.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 32 to 37
"2.3" => {
minimum_ruby_version: "1.8.7",
maximum_ruby_version: "1.9.3",
minimum_bundler_version: "1.17.3",
minimum_bundler_version: "1.0.0",
maximum_bundler_version: "1.17.3",
minimum_rubygems_version: "1.3.6"
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The task updates maximum Ruby/Bundler versions but never sets maximum_rubygems_version for any Rails version, even though the rails_releases table includes a maximum_rubygems_version column (see db/schema.rb). If the intent is to track max supported RubyGems versions (as mentioned in the PR description), add maximum_rubygems_version values here; otherwise consider removing/renaming the column or updating the PR description to match the implemented behavior.

Copilot uses AI. Check for mistakes.
Comment on lines 137 to 145
"8.0" => {
minimum_ruby_version: "3.2.0",
maximum_ruby_version: "3.4.2",
maximum_ruby_version: "4.0.2",
minimum_bundler_version: "2.5.20",
maximum_bundler_version: "2.5.20",
minimum_rubygems_version: "3.2.3"
},
maximum_bundler_version: "4.0.8",
minimum_rubygems_version: "3.3.3"
},
"8.1" => {
minimum_ruby_version: "3.2.0",
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

This task now includes Rails 8.0/8.1 entries (and updates Bundler/RubyGems constraints too), but the task desc still says it updates minimum Ruby versions only and only up to Rails 7.2. Updating the desc string would keep rake -T output accurate for the expanded scope.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member

@JuanVqz JuanVqz Mar 23, 2026

Choose a reason for hiding this comment

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

It would be great to have a document/section in the readme about where/what we should check to gather this information and what the criteria are that we use to update/add the new minimum/maximum version for future Rails releases.
Could we add a short section in the README documenting how we derive these Rails release compatibility values?

Specifically:
Which sources we use (for Ruby, Bundler, and RubyGems constraints).
The criteria/rules for setting minimum and maximum versions.
That would make future updates more consistent and easier to review.

minimum_ruby_version: "2.7.0",
maximum_ruby_version: "3.1.6",
minimum_bundler_version: "2.4.0",
maximum_bundler_version: "4.0.8",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Bundler 4.0.8 (shows Required Ruby Version: >= 3.2.0): rubygems.org/gems/bundler/versions/4.0.8

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yes, but bundle 2.4 works with Ruby 2.7, that's the point

maximum_ruby_version: "3.3.5",
minimum_bundler_version: "2.3.27",
maximum_bundler_version: "2.5.20",
maximum_bundler_version: "4.0.8",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should this max Bundler be lower for Rails 7.1? Bundler 4.0.8 needs Ruby >= 3.2.0 and the minimum_ruby_version is 2.7.0 which cannot be used at Bundler 4.0.8.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I don't think so. The way I interpret these values is that there is a combination of ruby, bundler and rubygems that works with this version of Rails. So, if you use bundler 4.0.8, you cannot use Ruby 2.7, but you can use 3.3 and then both bundler and ruby at those versions are compatible with Rails 7.

The important thing here is if rails 7 is compatible with bundler 4, not if bundler 4 works with ruby 2.7 (which also happens to be compatible with Rails 7)

end
end

desc "Update minimum Ruby versions from Rails 2.3 to 7.2"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
desc "Update minimum Ruby versions from Rails Releases"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think you misunderstand the title of the task. Maybe it could be "Update minimum Ruby versions for all Rails releases"

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.

Update the Rails Release information at lib/tasks/data.rake

3 participants