Repository navigation
[AFT] Upgrade Rack to 3 - #1
Draft
SamFriggs111 wants to merge 1 commit into
Draft
SamFriggs111 wants to merge 1 commit into
SamFriggs111 wants to merge 1 commit into
Conversation
Rack 3 needs Rails 7.1 or later, so the development dependency on Rails moves to 8.1. Resolving the lockfile also picks up parslet 2.0 (already required by the gemspec), a modern nokogiri, and Bundler 2.7.2 so the test suite installs and runs on Ruby 3.4. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket: 124607
Follows on from: 104695
The problem
The test setup for this gem locks Rack 2, while the apps that use the gem already run on Rack 3. The locked dependencies are also old enough that the test suite can no longer be installed on a current Ruby, so there is no way to check the gem against the versions it actually runs with.
What this does
Tests run against Rack 3 and Rails 8.1. Rack 3 needs Rails 7.1 or newer, so the Rails version used for testing moves to 8.1, matching the apps that use this gem. For example, the tests now load rack 3.2.7 and rails 8.1.4 instead of rack 2.0.7 and rails 5.2.3.
The test suite installs on Ruby 3.4 again. Resolving the dependencies also brings in parslet 2.0 (which the gem already asks for), a current nokogiri, and a newer Bundler 2 release. All 59 specs pass.
What doesn't change
The gem itself, its version and its runtime dependencies stay the same. Nothing needs releasing, and apps using the gem are unaffected.
Worth a look from the reviewer
RuboCop is still locked at the old version, which does not start on Ruby 3. Moving to a version that does start reports around 40 new offences in existing code, so that is left for separate work. The Appraisal setup for older Rails versions is also unchanged and was already out of step with the gemspec.
🤖 Generated with Claude Code