Skip to content

Commit 141ef37

Browse files
Add Ruby 3.4 & build updates (#5801)
Update bundle to avoid 3.4 mutex_m require error. Test against Rails 7.0 branch which contains Ruby 3.4 fixes. Update changelog to mention Rails < 7.0 support being dropped. Builds on top of #5770 Closes #5776 Closes #5761
1 parent dbc8e77 commit 141ef37

4 files changed

Lines changed: 86 additions & 70 deletions

File tree

.github/workflows/test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
- gemfiles/Gemfile-rails-7-2
1414
- gemfiles/Gemfile-rails-8-0
1515
ruby:
16+
- '3.4'
1617
- '3.3'
1718
- '3.2'
1819
- '3.1'

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
* breaking changes
44
* Drop support to Ruby < 2.7
5-
* Drop support to Rails < 6.0
5+
* Drop support to Rails < 7.0
66
* Remove `SecretKeyFinder` and use `app.secret_key_base` as the default secret key for `Devise.secret_key` if a custom `Devise.secret_key` is not provided.
77

88
This is potentially a breaking change because Devise previously used the following order to find a secret key:
@@ -18,6 +18,7 @@
1818
* Removed deprecations warning output for `Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION` (@soartec-lab)
1919
* Add Rails 8 support.
2020
- Routes are lazy-loaded by default in test and development environments now so Devise loads them before `Devise.mappings` call.
21+
* Add Ruby 3.4 support.
2122
* Password length validator is changed from
2223
2324
```

Gemfile.lock

Lines changed: 82 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -94,36 +94,38 @@ GEM
9494
securerandom (>= 0.3)
9595
tzinfo (~> 2.0, >= 2.0.5)
9696
uri (>= 0.13.1)
97-
base64 (0.1.1)
98-
bcrypt (3.1.19)
99-
bigdecimal (3.1.4)
100-
builder (3.2.4)
97+
base64 (0.3.0)
98+
bcrypt (3.1.20)
99+
bigdecimal (3.3.1)
100+
builder (3.3.0)
101101
concurrent-ruby (1.3.5)
102-
connection_pool (2.4.1)
102+
connection_pool (2.5.4)
103103
crass (1.0.6)
104104
date (3.4.1)
105-
drb (2.1.1)
106-
ruby2_keywords
107-
erubi (1.12.0)
108-
faraday (2.7.11)
109-
base64
110-
faraday-net_http (>= 2.0, < 3.1)
111-
ruby2_keywords (>= 0.0.4)
112-
faraday-net_http (3.0.2)
105+
drb (2.2.3)
106+
erb (5.1.1)
107+
erubi (1.13.1)
108+
faraday (2.14.0)
109+
faraday-net_http (>= 2.0, < 3.5)
110+
json
111+
logger
112+
faraday-net_http (3.4.1)
113+
net-http (>= 0.5.0)
113114
globalid (1.3.0)
114115
activesupport (>= 6.1)
115116
hashie (5.0.0)
116-
i18n (1.14.1)
117+
i18n (1.14.7)
117118
concurrent-ruby (~> 1.0)
118-
io-console (0.6.0)
119-
irb (1.15.1)
119+
io-console (0.8.1)
120+
irb (1.15.2)
120121
pp (>= 0.6.0)
121122
rdoc (>= 4.0.0)
122123
reline (>= 0.4.2)
123124
json (2.15.1)
124-
jwt (2.7.1)
125-
logger (1.6.6)
126-
loofah (2.21.3)
125+
jwt (3.1.2)
126+
base64
127+
logger (1.7.0)
128+
loofah (2.24.1)
127129
crass (~> 1.0.2)
128130
nokogiri (>= 1.12.0)
129131
mail (2.8.1)
@@ -133,11 +135,14 @@ GEM
133135
net-smtp
134136
marcel (1.1.0)
135137
mini_mime (1.1.5)
136-
mini_portile2 (2.8.4)
137-
minitest (5.20.0)
138-
mocha (2.1.0)
138+
mini_portile2 (2.8.9)
139+
minitest (5.26.0)
140+
mocha (2.7.1)
139141
ruby2_keywords (>= 0.0.5)
140-
multi_xml (0.6.0)
142+
multi_xml (0.7.2)
143+
bigdecimal (~> 3.1)
144+
net-http (0.6.0)
145+
uri
141146
net-imap (0.5.12)
142147
date
143148
net-protocol
@@ -148,48 +153,56 @@ GEM
148153
net-smtp (0.5.1)
149154
net-protocol
150155
nio4r (2.7.4)
151-
nokogiri (1.15.4)
156+
nokogiri (1.18.10)
152157
mini_portile2 (~> 2.8.2)
153158
racc (~> 1.4)
154-
oauth2 (2.0.9)
155-
faraday (>= 0.17.3, < 3.0)
156-
jwt (>= 1.0, < 3.0)
159+
oauth2 (2.0.17)
160+
faraday (>= 0.17.3, < 4.0)
161+
jwt (>= 1.0, < 4.0)
162+
logger (~> 1.2)
157163
multi_xml (~> 0.5)
158164
rack (>= 1.2, < 4)
159-
snaky_hash (~> 2.0)
160-
version_gem (~> 1.1)
161-
omniauth (2.1.1)
165+
snaky_hash (~> 2.0, >= 2.0.3)
166+
version_gem (~> 1.1, >= 1.1.9)
167+
omniauth (2.1.4)
162168
hashie (>= 3.4.6)
169+
logger
163170
rack (>= 2.2.3)
164171
rack-protection
165-
omniauth-facebook (9.0.0)
166-
omniauth-oauth2 (~> 1.2)
172+
omniauth-facebook (10.0.0)
173+
bigdecimal
174+
omniauth-oauth2 (>= 1.2, < 3)
167175
omniauth-oauth2 (1.8.0)
168176
oauth2 (>= 1.4, < 3)
169177
omniauth (~> 2.0)
170-
omniauth-openid (2.0.1)
171-
omniauth (>= 1.0, < 3.0)
172-
rack-openid (~> 1.4.0)
178+
omniauth-openid (2.0.2)
179+
omniauth (>= 1.1)
180+
rack-openid (~> 1.4)
181+
ruby-openid (~> 2.1, >= 2.1.8)
182+
version_gem (~> 1.1, >= 1.1.8)
173183
orm_adapter (0.5.0)
174-
pp (0.6.2)
184+
pp (0.6.3)
175185
prettyprint
176186
prettyprint (0.2.0)
177-
psych (5.1.0)
187+
psych (5.2.6)
188+
date
178189
stringio
179-
racc (1.7.1)
180-
rack (2.2.8)
190+
racc (1.8.1)
191+
rack (3.2.3)
181192
rack-openid (1.4.2)
182193
rack (>= 1.1.0)
183194
ruby-openid (>= 2.1.8)
184-
rack-protection (3.1.0)
185-
rack (~> 2.2, >= 2.2.4)
186-
rack-session (1.0.1)
187-
rack (< 3)
188-
rack-test (2.1.0)
195+
rack-protection (4.2.1)
196+
base64 (>= 0.1.0)
197+
logger (>= 1.6.0)
198+
rack (>= 3.0.0, < 4)
199+
rack-session (2.1.1)
200+
base64 (>= 0.1.0)
201+
rack (>= 3.0.0)
202+
rack-test (2.2.0)
189203
rack (>= 1.3)
190-
rackup (1.0.0)
191-
rack (< 3)
192-
webrick
204+
rackup (2.2.1)
205+
rack (>= 3)
193206
rails (8.1.0.rc1)
194207
actioncable (= 8.1.0.rc1)
195208
actionmailbox (= 8.1.0.rc1)
@@ -204,13 +217,13 @@ GEM
204217
activesupport (= 8.1.0.rc1)
205218
bundler (>= 1.15.0)
206219
railties (= 8.1.0.rc1)
207-
rails-dom-testing (2.2.0)
220+
rails-dom-testing (2.3.0)
208221
activesupport (>= 5.0.0)
209222
minitest
210223
nokogiri (>= 1.6)
211-
rails-html-sanitizer (1.6.0)
224+
rails-html-sanitizer (1.6.2)
212225
loofah (~> 2.21)
213-
nokogiri (~> 1.14)
226+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
214227
railties (8.1.0.rc1)
215228
actionpack (= 8.1.0.rc1)
216229
activesupport (= 8.1.0.rc1)
@@ -220,45 +233,46 @@ GEM
220233
thor (~> 1.0, >= 1.2.2)
221234
tsort (>= 0.2)
222235
zeitwerk (~> 2.6)
223-
rake (13.0.6)
224-
rdoc (6.5.0)
236+
rake (13.3.0)
237+
rdoc (6.15.0)
238+
erb
225239
psych (>= 4.0.0)
226-
reline (0.6.0)
240+
tsort
241+
reline (0.6.2)
227242
io-console (~> 0.5)
228-
responders (3.1.0)
229-
actionpack (>= 5.2)
230-
railties (>= 5.2)
231-
rexml (3.2.6)
243+
responders (3.2.0)
244+
actionpack (>= 7.0)
245+
railties (>= 7.0)
246+
rexml (3.4.4)
232247
ruby-openid (2.9.2)
233248
ruby2_keywords (0.0.5)
234249
securerandom (0.4.1)
235-
snaky_hash (2.0.1)
236-
hashie
237-
version_gem (~> 1.1, >= 1.1.1)
238-
sqlite3 (2.6.0)
250+
snaky_hash (2.0.3)
251+
hashie (>= 0.1.0, < 6)
252+
version_gem (>= 1.1.8, < 3)
253+
sqlite3 (2.7.4)
239254
mini_portile2 (~> 2.8.0)
240-
stringio (3.0.8)
241-
thor (1.2.2)
242-
timecop (0.9.8)
255+
stringio (3.1.7)
256+
thor (1.4.0)
257+
timecop (0.9.10)
243258
timeout (0.4.3)
244259
tsort (0.2.0)
245260
tzinfo (2.0.6)
246261
concurrent-ruby (~> 1.0)
247-
uri (1.0.3)
262+
uri (1.0.4)
248263
useragent (0.16.11)
249-
version_gem (1.1.3)
264+
version_gem (1.1.9)
250265
warden (1.2.9)
251266
rack (>= 2.0.9)
252267
webrat (0.7.3)
253268
nokogiri (>= 1.2.0)
254269
rack (>= 1.0)
255270
rack-test (>= 0.5.3)
256-
webrick (1.8.1)
257271
websocket-driver (0.8.0)
258272
base64
259273
websocket-extensions (>= 0.1.0)
260274
websocket-extensions (0.1.5)
261-
zeitwerk (2.6.12)
275+
zeitwerk (2.7.3)
262276

263277
PLATFORMS
264278
ruby

gemfiles/Gemfile-rails-7-0

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ source "https://rubygems.org"
22

33
gemspec path: ".."
44

5-
gem "rails", "~> 7.0.0"
5+
gem "rails", "~> 7.0.0", github: "rails/rails", branch: "7-0-stable"
66
gem "omniauth"
77
gem "omniauth-oauth2"
88
gem "rdoc"

0 commit comments

Comments
 (0)