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 https://github.com/heartcombo/devise/pull/5770
Closes https://github.com/heartcombo/devise/pull/5776
Closes https://github.com/heartcombo/devise/pull/5761
This commit is contained in:
Carlos Antonio da Silva
2025-10-21 17:28:05 -03:00
committed by GitHub
parent dbc8e77ea0
commit 141ef37339
4 changed files with 86 additions and 70 deletions

View File

@@ -13,6 +13,7 @@ jobs:
- gemfiles/Gemfile-rails-7-2
- gemfiles/Gemfile-rails-8-0
ruby:
- '3.4'
- '3.3'
- '3.2'
- '3.1'

View File

@@ -2,7 +2,7 @@
* breaking changes
* Drop support to Ruby < 2.7
* Drop support to Rails < 6.0
* Drop support to Rails < 7.0
* 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.
This is potentially a breaking change because Devise previously used the following order to find a secret key:
@@ -18,6 +18,7 @@
* Removed deprecations warning output for `Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION` (@soartec-lab)
* Add Rails 8 support.
- Routes are lazy-loaded by default in test and development environments now so Devise loads them before `Devise.mappings` call.
* Add Ruby 3.4 support.
* Password length validator is changed from
```

View File

@@ -94,36 +94,38 @@ GEM
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
base64 (0.1.1)
bcrypt (3.1.19)
bigdecimal (3.1.4)
builder (3.2.4)
base64 (0.3.0)
bcrypt (3.1.20)
bigdecimal (3.3.1)
builder (3.3.0)
concurrent-ruby (1.3.5)
connection_pool (2.4.1)
connection_pool (2.5.4)
crass (1.0.6)
date (3.4.1)
drb (2.1.1)
ruby2_keywords
erubi (1.12.0)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
drb (2.2.3)
erb (5.1.1)
erubi (1.13.1)
faraday (2.14.0)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
globalid (1.3.0)
activesupport (>= 6.1)
hashie (5.0.0)
i18n (1.14.1)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
io-console (0.6.0)
irb (1.15.1)
io-console (0.8.1)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
json (2.15.1)
jwt (2.7.1)
logger (1.6.6)
loofah (2.21.3)
jwt (3.1.2)
base64
logger (1.7.0)
loofah (2.24.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
@@ -133,11 +135,14 @@ GEM
net-smtp
marcel (1.1.0)
mini_mime (1.1.5)
mini_portile2 (2.8.4)
minitest (5.20.0)
mocha (2.1.0)
mini_portile2 (2.8.9)
minitest (5.26.0)
mocha (2.7.1)
ruby2_keywords (>= 0.0.5)
multi_xml (0.6.0)
multi_xml (0.7.2)
bigdecimal (~> 3.1)
net-http (0.6.0)
uri
net-imap (0.5.12)
date
net-protocol
@@ -148,48 +153,56 @@ GEM
net-smtp (0.5.1)
net-protocol
nio4r (2.7.4)
nokogiri (1.15.4)
nokogiri (1.18.10)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oauth2 (2.0.9)
faraday (>= 0.17.3, < 3.0)
jwt (>= 1.0, < 3.0)
oauth2 (2.0.17)
faraday (>= 0.17.3, < 4.0)
jwt (>= 1.0, < 4.0)
logger (~> 1.2)
multi_xml (~> 0.5)
rack (>= 1.2, < 4)
snaky_hash (~> 2.0)
version_gem (~> 1.1)
omniauth (2.1.1)
snaky_hash (~> 2.0, >= 2.0.3)
version_gem (~> 1.1, >= 1.1.9)
omniauth (2.1.4)
hashie (>= 3.4.6)
logger
rack (>= 2.2.3)
rack-protection
omniauth-facebook (9.0.0)
omniauth-oauth2 (~> 1.2)
omniauth-facebook (10.0.0)
bigdecimal
omniauth-oauth2 (>= 1.2, < 3)
omniauth-oauth2 (1.8.0)
oauth2 (>= 1.4, < 3)
omniauth (~> 2.0)
omniauth-openid (2.0.1)
omniauth (>= 1.0, < 3.0)
rack-openid (~> 1.4.0)
omniauth-openid (2.0.2)
omniauth (>= 1.1)
rack-openid (~> 1.4)
ruby-openid (~> 2.1, >= 2.1.8)
version_gem (~> 1.1, >= 1.1.8)
orm_adapter (0.5.0)
pp (0.6.2)
pp (0.6.3)
prettyprint
prettyprint (0.2.0)
psych (5.1.0)
psych (5.2.6)
date
stringio
racc (1.7.1)
rack (2.2.8)
racc (1.8.1)
rack (3.2.3)
rack-openid (1.4.2)
rack (>= 1.1.0)
ruby-openid (>= 2.1.8)
rack-protection (3.1.0)
rack (~> 2.2, >= 2.2.4)
rack-session (1.0.1)
rack (< 3)
rack-test (2.1.0)
rack-protection (4.2.1)
base64 (>= 0.1.0)
logger (>= 1.6.0)
rack (>= 3.0.0, < 4)
rack-session (2.1.1)
base64 (>= 0.1.0)
rack (>= 3.0.0)
rack-test (2.2.0)
rack (>= 1.3)
rackup (1.0.0)
rack (< 3)
webrick
rackup (2.2.1)
rack (>= 3)
rails (8.1.0.rc1)
actioncable (= 8.1.0.rc1)
actionmailbox (= 8.1.0.rc1)
@@ -204,13 +217,13 @@ GEM
activesupport (= 8.1.0.rc1)
bundler (>= 1.15.0)
railties (= 8.1.0.rc1)
rails-dom-testing (2.2.0)
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (~> 1.14)
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)
railties (8.1.0.rc1)
actionpack (= 8.1.0.rc1)
activesupport (= 8.1.0.rc1)
@@ -220,45 +233,46 @@ GEM
thor (~> 1.0, >= 1.2.2)
tsort (>= 0.2)
zeitwerk (~> 2.6)
rake (13.0.6)
rdoc (6.5.0)
rake (13.3.0)
rdoc (6.15.0)
erb
psych (>= 4.0.0)
reline (0.6.0)
tsort
reline (0.6.2)
io-console (~> 0.5)
responders (3.1.0)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.6)
responders (3.2.0)
actionpack (>= 7.0)
railties (>= 7.0)
rexml (3.4.4)
ruby-openid (2.9.2)
ruby2_keywords (0.0.5)
securerandom (0.4.1)
snaky_hash (2.0.1)
hashie
version_gem (~> 1.1, >= 1.1.1)
sqlite3 (2.6.0)
snaky_hash (2.0.3)
hashie (>= 0.1.0, < 6)
version_gem (>= 1.1.8, < 3)
sqlite3 (2.7.4)
mini_portile2 (~> 2.8.0)
stringio (3.0.8)
thor (1.2.2)
timecop (0.9.8)
stringio (3.1.7)
thor (1.4.0)
timecop (0.9.10)
timeout (0.4.3)
tsort (0.2.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uri (1.0.3)
uri (1.0.4)
useragent (0.16.11)
version_gem (1.1.3)
version_gem (1.1.9)
warden (1.2.9)
rack (>= 2.0.9)
webrat (0.7.3)
nokogiri (>= 1.2.0)
rack (>= 1.0)
rack-test (>= 0.5.3)
webrick (1.8.1)
websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
zeitwerk (2.6.12)
zeitwerk (2.7.3)
PLATFORMS
ruby

View File

@@ -2,7 +2,7 @@ source "https://rubygems.org"
gemspec path: ".."
gem "rails", "~> 7.0.0"
gem "rails", "~> 7.0.0", github: "rails/rails", branch: "7-0-stable"
gem "omniauth"
gem "omniauth-oauth2"
gem "rdoc"