Skip to content

Fit the rack requirement within RubyGems' 255-character limit - #74

Merged
AdrianCurtin merged 1 commit into
mainfrom
fix/rack-requirement-length
Oct 26, 2026
Merged

AdrianCurtin merged 1 commit into
mainfrom
fix/rack-requirement-length

Conversation

@AdrianCurtin

Copy link
Copy Markdown
Contributor

Rack requirement fits RubyGems' limit

A fix for the 5.8.4 publish. RubyGems refused the push with "Dependency requirements is too long (maximum is 255 characters)": the rack requirement, which excluded each vulnerable 3.x release by name, was 542 characters. No version bump; 5.8.4 is re-tagged on the merge commit.

Changes

  • FIXED: The gemspec requires rack 2.2.23 or later (below 4), which fits the limit and keeps Rack 2.2 applications supported.
  • NEW: Loading the SDK on a vulnerable Rack 3.x release (3.0.x, 3.1.0 to 3.1.20, or 3.2.0 to 3.2.5) prints a one-time warning naming the fixed release, since the gemspec can no longer refuse those releases at install time.
  • CHANGED: The 5.8.4 CHANGELOG entry describes the floor and the warning in place of the per-version exclusions.

Testing

  • New unit tests cover the vulnerable and fixed version ranges, the warn-once behavior, and that every gemspec requirement is 255 characters or shorter.
  • gem build produces rack >= 2.2.23, < 4.

RubyGems refused the 5.8.4 push because the rack requirement, which
excluded each vulnerable 3.x release by name, was 542 characters. Require
rack 2.2.23 or later and warn once at load time when the installed Rack is
a vulnerable 3.x release (3.0.x, 3.1.0 to 3.1.20, or 3.2.0 to 3.2.5),
naming the fixed release. Rack 2.2 applications remain supported.
@AdrianCurtin
AdrianCurtin merged commit 9cb8c14 into main Oct 26, 2026
15 checks passed
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.

1 participant