Skip to content

Commit 7e4abbc

Browse files
ericproulxclaude
andcommitted
Bump minimum required Ruby to 3.3
* `grape.gemspec`: `required_ruby_version = '>= 3.3'`. * `.rubocop.yml`: `TargetRubyVersion: 3.3`. * CI workflows: drop Ruby 3.2 from the `test` and `edge` matrices (and the now-empty `rails_edge` exclude entry). * README install note and an UPGRADING entry for the contract break. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 6aaeb69 commit 7e4abbc

6 files changed

Lines changed: 9 additions & 8 deletions

File tree

.github/workflows/edge.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@ jobs:
66
strategy:
77
fail-fast: false
88
matrix:
9-
ruby: ['3.2', '3.3', '3.4', '4.0', ruby-head, truffleruby-head, jruby-head]
9+
ruby: ['3.3', '3.4', '4.0', ruby-head, truffleruby-head, jruby-head]
1010
gemfile: [rails_edge, rack_edge]
11-
exclude:
12-
- ruby: '3.2'
13-
gemfile: rails_edge
1411
runs-on: ubuntu-latest
1512
continue-on-error: true
1613
env:

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
strategy:
2424
fail-fast: false
2525
matrix:
26-
ruby: ['3.2', '3.3', '3.4', '4.0']
26+
ruby: ['3.3', '3.4', '4.0']
2727
gemfile:
2828
- Gemfile
2929
- gemfiles/rack_2_2.gemfile

.rubocop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
AllCops:
22
NewCops: enable
3-
TargetRubyVersion: 3.2
3+
TargetRubyVersion: 3.3
44
SuggestExtensions: false
55
Exclude:
66
- vendor/**/*

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The maintainers of Grape are working with Tidelift to deliver commercial support
2828

2929
## Installation
3030

31-
Ruby 3.2 or newer is required.
31+
Ruby 3.3 or newer is required.
3232

3333
Grape is available as a gem, to install it run:
3434

UPGRADING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ Upgrading Grape
33

44
### Upgrading to >= 3.3
55

6+
#### Minimum required Ruby is now 3.3
7+
8+
Grape no longer supports Ruby 3.2; 3.3 is now the minimum (`required_ruby_version = '>= 3.3'`). Upgrade your runtime to Ruby 3.3 or newer before bumping Grape.
9+
610
#### `Grape::Exceptions::ValidationErrors.new` keyword renamed `errors:``exceptions:`
711

812
`Grape::Exceptions::ValidationErrors#initialize` now takes its input array under the `exceptions:` keyword instead of `errors:`. The kwarg accepts a mix of `Grape::Exceptions::Validation` and `Grape::Exceptions::ValidationArrayErrors` instances; `ValidationArrayErrors` wrappers are flattened internally via `flat_map(&:errors)`. The `errors` reader on the constructed instance (the grouped `{params => [Validation, ...]}` Hash) is unchanged.

grape.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@ Gem::Specification.new do |s|
2929

3030
s.files = Dir['lib/**/*', 'CHANGELOG.md', 'CONTRIBUTING.md', 'README.md', 'grape.png', 'UPGRADING.md', 'LICENSE', 'grape.gemspec']
3131
s.require_paths = ['lib']
32-
s.required_ruby_version = '>= 3.2'
32+
s.required_ruby_version = '>= 3.3'
3333
end

0 commit comments

Comments
 (0)