Skip to content

Commit f6f4da3

Browse files
committed
Raise Ruby floor to 3.3 and refresh deps
Updates the gem to require Ruby >= 3.3.0 (aligned with Rails 8), removes temporary transitive dependency pins, and refreshes runtime/dev dependency versions (including HTTParty, Oj, Rake, and RuboCop plugins). CI coverage is also updated to run on Ruby 3.3.4 and 3.4 to match the new support policy.
1 parent c96f210 commit f6f4da3

5 files changed

Lines changed: 27 additions & 37 deletions

File tree

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
strategy:
1818
matrix:
19-
ruby-version: ['3.1', '3.3.4']
19+
ruby-version: ['3.3.4', '3.4']
2020
steps:
2121
# Step 1: Check out the repository
2222
- name: Check out repository code

CHANGELOG.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,15 @@ Change type: additive (initial extraction)
3737

3838
- Bumped `httparty` to `~> 0.24.0` (from `~> 0.22.0`) and `rubocop-rake` to
3939
`~> 0.7.0` (from `~> 0.6.0`) to track current RubyGems releases.
40-
- Pinned `multi_xml` to `0.7.1` in the `Gemfile`: `httparty`'s dependency on
41-
`multi_xml` is unbounded, and `multi_xml >= 0.7.2` requires Ruby >= 3.2,
42-
which broke CI (still on Ruby 3.1.7) after the `httparty` bump. The pin
43-
keeps the resolved dependency tree within `required_ruby_version` (>= 3.1.0).
4440
- Reverted an attempted development `bundler` bump to `~> 4.0`; kept `~> 2.5`
4541
after CI failed to resolve/install the newer major version.
46-
- Pinned `parallel` to `1.28.0` in the `Gemfile`: `rubocop`'s dependency on
47-
`parallel` is unbounded, and `parallel >= 2.0` requires Ruby >= 3.3, which
48-
also broke the Ruby 3.1.7 CI leg. Audited the full resolved dependency tree
49-
against `required_ruby_version` to rule out further Ruby-version cliffs.
42+
- Raised `required_ruby_version` to `>= 3.3.0` (from `>= 3.1.0`), matching
43+
Rails 8's own Ruby floor. `httparty` and `rubocop` both carry unbounded
44+
transitive dependencies (`multi_xml`, `parallel`) whose newer majors
45+
require Ruby >= 3.2 and >= 3.3 respectively; rather than pin those
46+
transitive deps indefinitely, dropped support for Ruby versions below what
47+
Rails 8 itself requires. Updated the CI matrix to `['3.3.4', '3.4']`
48+
accordingly.
5049

5150
## [0.1.0] - 2026-07-11
5251

Gemfile

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,13 @@
33
source 'https://rubygems.org'
44
gemspec
55

6-
# multi_xml >= 0.7.2 drops Ruby 3.1 support; httparty's dependency on multi_xml
7-
# is unbounded, so pin it directly to stay compatible with required_ruby_version.
8-
gem 'multi_xml', '0.7.1'
9-
106
group :development, :test do
117
gem 'bundler', '~> 2.5'
12-
# parallel >= 2.0 requires Ruby >= 3.3; rubocop's dependency on parallel is
13-
# unbounded, so pin it directly to stay compatible with required_ruby_version.
14-
gem 'parallel', '1.28.0'
15-
gem 'rake', '~> 13.2'
8+
gem 'rake', '~> 13.4'
169
gem 'rspec', '~> 3.13'
17-
gem 'rubocop', '~> 1.64', require: false
18-
gem 'rubocop-performance', '~> 1.21', require: false
19-
gem 'rubocop-rake', '~> 0.7.0', require: false
20-
gem 'rubocop-rspec', '~> 3.0', require: false
10+
gem 'rubocop', '~> 1.88', require: false
11+
gem 'rubocop-performance', '~> 1.26', require: false
12+
gem 'rubocop-rake', '~> 0.7.1', require: false
13+
gem 'rubocop-rspec', '~> 3.10', require: false
2114
gem 'simplecov', '~> 0.22.0', require: false
2215
end

Gemfile.lock

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ PATH
22
remote: .
33
specs:
44
ruby_api_pack_core (0.1.0)
5-
httparty (~> 0.24.0)
6-
oj (~> 3.16)
5+
httparty (~> 0.24.2)
6+
oj (~> 3.17)
77

88
GEM
99
remote: https://rubygems.org/
1010
specs:
1111
ast (2.4.3)
12-
bigdecimal (3.3.1)
12+
bigdecimal (4.1.2)
1313
csv (3.3.5)
1414
diff-lcs (1.6.2)
1515
docile (1.4.1)
@@ -21,13 +21,13 @@ GEM
2121
language_server-protocol (3.17.0.6)
2222
lint_roller (1.1.0)
2323
mini_mime (1.1.5)
24-
multi_xml (0.7.1)
25-
bigdecimal (~> 3.1)
24+
multi_xml (0.9.1)
25+
bigdecimal (>= 3.1, < 5)
2626
oj (3.17.3)
2727
bigdecimal (>= 3.0)
2828
ostruct (>= 0.2)
2929
ostruct (0.6.3)
30-
parallel (1.28.0)
30+
parallel (2.1.0)
3131
parser (3.3.11.1)
3232
ast (~> 2.4.1)
3333
racc
@@ -91,14 +91,12 @@ PLATFORMS
9191

9292
DEPENDENCIES
9393
bundler (~> 2.5)
94-
multi_xml (= 0.7.1)
95-
parallel (= 1.28.0)
96-
rake (~> 13.2)
94+
rake (~> 13.4)
9795
rspec (~> 3.13)
98-
rubocop (~> 1.64)
99-
rubocop-performance (~> 1.21)
100-
rubocop-rake (~> 0.7.0)
101-
rubocop-rspec (~> 3.0)
96+
rubocop (~> 1.88)
97+
rubocop-performance (~> 1.26)
98+
rubocop-rake (~> 0.7.1)
99+
rubocop-rspec (~> 3.10)
102100
ruby_api_pack_core!
103101
simplecov (~> 0.22.0)
104102

ruby_api_pack_core.gemspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
1616
spec.license = 'MIT'
1717

1818
# Specify the required Ruby version
19-
spec.required_ruby_version = '>= 3.1.0'
19+
spec.required_ruby_version = '>= 3.3.0'
2020

2121
# Gem Meta Data
2222
spec.metadata['allowed_push_host'] = 'https://rubygems.org/'
@@ -37,6 +37,6 @@ Gem::Specification.new do |spec|
3737
spec.require_paths = ['lib']
3838

3939
# Main Dependencies
40-
spec.add_dependency 'httparty', '~> 0.24.0'
41-
spec.add_dependency 'oj', '~> 3.16'
40+
spec.add_dependency 'httparty', '~> 0.24.2'
41+
spec.add_dependency 'oj', '~> 3.17'
4242
end

0 commit comments

Comments
 (0)