Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -47,23 +47,29 @@ end
appraise "rails-main" do
ruby "~> 4.0"

gem "rack", git: "https://github.com/rack/rack", ref: "8a4475a9f416a72e5b02bd7817e4a8ed684f29b0"
gem "rails", github: "rails/rails", branch: "main"
gem "rack", git: "https://github.com/rack/rack", ref: "a9833c8f3bd6b6d1e0ab35de00a1f1a16b5095f5"
gem "rails", github: "rails/rails", ref: "7a569bc6cbf10cb07023ac63a838fd0a6b39cad4"
# Ractor support, https://github.com/ruby-i18n/i18n/pull/741
gem "i18n", github: "Shopify/i18n", ref: "58aa1dcd3e04c34831e1c2ec06c83391559c7c91"

group :development, :test do
gem "turbo-rails", "~> 2"
gem "rspec-rails", "~> 8"
# Compatibility with frozen default_url_options, unreleased as of 8.0.4
gem "rspec-rails", github: "rspec/rspec-rails", ref: "4832492d8a1683bab4b74dc218576f64b0ff988c"
end
end

appraise "rails-main_head" do
ruby "4.1.0.dev"

gem "rack", git: "https://github.com/rack/rack", ref: "8a4475a9f416a72e5b02bd7817e4a8ed684f29b0"
gem "rails", github: "rails/rails", branch: "main"
gem "rack", git: "https://github.com/rack/rack", ref: "a9833c8f3bd6b6d1e0ab35de00a1f1a16b5095f5"
gem "rails", github: "rails/rails", ref: "7a569bc6cbf10cb07023ac63a838fd0a6b39cad4"
# Ractor support, https://github.com/ruby-i18n/i18n/pull/741
gem "i18n", github: "Shopify/i18n", ref: "58aa1dcd3e04c34831e1c2ec06c83391559c7c91"

group :development, :test do
gem "turbo-rails", "~> 2"
gem "rspec-rails", "~> 8"
# Compatibility with frozen default_url_options, unreleased as of 8.0.4
gem "rspec-rails", github: "rspec/rspec-rails", ref: "4832492d8a1683bab4b74dc218576f64b0ff988c"
end
end
8 changes: 8 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ nav_order: 6

## main

* Support rendering compiled components, including slots, collections, variants, inheritance, and sidecar translations, in non-main Ractors under Rails' experimental `Rails.application.ractorize!`. Methods ViewComponent generates are now defined with Ractor-shareable procs, the compile cache is shareable, and class-level state read while rendering is made shareable before the application is ractorized. Sidecar translations also require an i18n release with Ractor support.

*Joel Hawksley*

* Support Rails main's `ActionView::TemplateDetails::Requested`, which no longer exposes `locale`, `formats`, `variants` or `handlers`, in `MissingTemplateError`. Use `I18n.reserved_keys` when available, since newer i18n deprecates `I18n::RESERVED_KEYS`.

*Joel Hawksley*

* Only register the executor hook that watches component templates when Action View doesn't cache templates at boot. With template caching on, as in production, the hook did nothing but still read `ActionView::Base.cache_template_loading` on every request. That value lives in a class variable, which non-main Ractors can't read on Ruby 4.0, so under Rails' experimental `Rails.application.ractorize!` every request failed.

*Mikael Henriksson*
Expand Down
7 changes: 4 additions & 3 deletions gemfiles/rails_main.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ source "https://rubygems.org"

ruby "~> 4.0"

gem "rails", github: "rails/rails", branch: "main"
gem "rack", git: "https://github.com/rack/rack", ref: "8a4475a9f416a72e5b02bd7817e4a8ed684f29b0"
gem "rails", github: "rails/rails", ref: "7a569bc6cbf10cb07023ac63a838fd0a6b39cad4"
gem "rack", git: "https://github.com/rack/rack", ref: "a9833c8f3bd6b6d1e0ab35de00a1f1a16b5095f5"
gem "i18n", github: "Shopify/i18n", ref: "58aa1dcd3e04c34831e1c2ec06c83391559c7c91"

group :development, :test do
gem "appraisal", "~> 2"
Expand All @@ -31,7 +32,7 @@ group :development, :test do
gem "rails-dom-testing", "~> 2.3.0"
gem "reactionview"
gem "redis"
gem "rspec-rails", "~> 8"
gem "rspec-rails", github: "rspec/rspec-rails", ref: "4832492d8a1683bab4b74dc218576f64b0ff988c"
gem "rubocop-md", "~> 2"
gem "selenium-webdriver", "~> 4"
gem "simplecov-console", "< 1"
Expand Down
79 changes: 45 additions & 34 deletions gemfiles/rails_main.gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
GIT
remote: https://github.com/Shopify/i18n.git
revision: 58aa1dcd3e04c34831e1c2ec06c83391559c7c91
ref: 58aa1dcd3e04c34831e1c2ec06c83391559c7c91
specs:
i18n (1.15.2)
concurrent-ruby (~> 1.0)

GIT
remote: https://github.com/rack/rack
revision: 8a4475a9f416a72e5b02bd7817e4a8ed684f29b0
ref: 8a4475a9f416a72e5b02bd7817e4a8ed684f29b0
revision: a9833c8f3bd6b6d1e0ab35de00a1f1a16b5095f5
ref: a9833c8f3bd6b6d1e0ab35de00a1f1a16b5095f5
specs:
rack (3.1.1)
rack (3.2.0)

GIT
remote: https://github.com/rails/rails.git
revision: 9cc62ec2a5c4ac56f7571f05489da9d27c6df69d
branch: main
revision: 7a569bc6cbf10cb07023ac63a838fd0a6b39cad4
ref: 7a569bc6cbf10cb07023ac63a838fd0a6b39cad4
specs:
actioncable (8.2.0.alpha)
actionpack (= 8.2.0.alpha)
Expand Down Expand Up @@ -52,11 +60,12 @@ GIT
activesupport (= 8.2.0.alpha)
builder (~> 3.1)
erubi (~> 1.11)
herb (>= 0.10)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.7)
activejob (8.2.0.alpha)
activesupport (= 8.2.0.alpha)
globalid (>= 0.3.6)
globalid (>= 1.4.0)
activemodel (8.2.0.alpha)
activesupport (= 8.2.0.alpha)
activerecord (8.2.0.alpha)
Expand All @@ -68,7 +77,7 @@ GIT
activejob (= 8.2.0.alpha)
activerecord (= 8.2.0.alpha)
activesupport (= 8.2.0.alpha)
marcel (~> 1.0)
marcel (~> 2.0)
activesupport (8.2.0.alpha)
base64
bigdecimal
Expand All @@ -80,6 +89,7 @@ GIT
logger (>= 1.4.2)
minitest (>= 5.1)
psych (>= 4)
ractor-dispatch (>= 0.3.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
Expand Down Expand Up @@ -107,6 +117,20 @@ GIT
tsort (>= 0.2)
zeitwerk (~> 2.6)

GIT
remote: https://github.com/rspec/rspec-rails.git
revision: 4832492d8a1683bab4b74dc218576f64b0ff988c
ref: 4832492d8a1683bab4b74dc218576f64b0ff988c
specs:
rspec-rails (8.1.0.pre)
actionpack (>= 7.2)
activesupport (>= 7.2)
railties (>= 7.2)
rspec-core (>= 3.13.0, < 5.0.0)
rspec-expectations (>= 3.13.0, < 5.0.0)
rspec-mocks (>= 3.13.0, < 5.0.0)
rspec-support (>= 3.13.0, < 5.0.0)

PATH
remote: ..
specs:
Expand Down Expand Up @@ -149,7 +173,7 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
concurrent-ruby (1.3.6)
concurrent-ruby (1.3.8)
connection_pool (3.0.2)
crass (1.0.6)
cuprite (0.17)
Expand All @@ -175,7 +199,7 @@ GEM
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (~> 0.7)
globalid (1.3.0)
globalid (1.4.0)
activesupport (>= 6.1)
haml (7.2.0)
temple (>= 0.8.2)
Expand All @@ -190,8 +214,6 @@ GEM
herb (0.10.1-x86_64-darwin)
herb (0.10.1-x86_64-linux-gnu)
herb (0.10.1-x86_64-linux-musl)
i18n (1.14.8)
concurrent-ruby (~> 1.0)
io-console (0.8.2)
irb (1.18.0)
pp (>= 0.6.0)
Expand All @@ -216,11 +238,10 @@ GEM
net-imap
net-pop
net-smtp
marcel (1.1.0)
marcel (2.1.0)
matrix (0.4.3)
method_source (1.1.0)
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (6.0.6)
drb (~> 2.0)
prism (~> 1.5)
Expand All @@ -240,9 +261,6 @@ GEM
net-smtp (0.5.1)
net-protocol
nio4r (2.7.5)
nokogiri (1.19.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogiri (1.19.3-aarch64-linux-gnu)
racc (~> 1.4)
nokogiri (1.19.3-aarch64-linux-musl)
Expand Down Expand Up @@ -285,6 +303,7 @@ GEM
rack (>= 1.3)
rackup (2.3.1)
rack (>= 3)
ractor-dispatch (0.3.0)
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
Expand Down Expand Up @@ -317,14 +336,6 @@ GEM
rspec-mocks (3.13.8)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-rails (8.0.4)
actionpack (>= 7.2)
activesupport (>= 7.2)
railties (>= 7.2)
rspec-core (>= 3.13.0, < 5.0.0)
rspec-expectations (>= 3.13.0, < 5.0.0)
rspec-mocks (>= 3.13.0, < 5.0.0)
rspec-support (>= 3.13.0, < 5.0.0)
rspec-support (3.13.7)
rubocop (1.84.2)
json (~> 2.3)
Expand Down Expand Up @@ -456,6 +467,7 @@ DEPENDENCIES
dry-initializer
erb_lint
haml (~> 7)
i18n!
jbuilder (~> 2)
m (~> 1)
method_source (~> 1)
Expand All @@ -471,7 +483,7 @@ DEPENDENCIES
rake (~> 13)
reactionview
redis
rspec-rails (~> 8)
rspec-rails!
rubocop-md (~> 2)
selenium-webdriver (~> 4)
simplecov (< 1)
Expand Down Expand Up @@ -511,7 +523,7 @@ CHECKSUMS
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
cuprite (0.17) sha256=b140d5dc70d08b97ad54bcf45cd95d0bd430e291e9dffe76fff851fddd57c12b
Expand All @@ -524,7 +536,7 @@ CHECKSUMS
erb_lint (0.9.0) sha256=dfb5e40ad839e8d1f0d56ca85ec9a7ac4c9cd966ec281138282f35b323ca7c31
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
ferrum (0.17.2) sha256=2c2540a850b211a46f4d81de21bfd62048f507e4c327d1807225c3823c17e6ee
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
haml (7.2.0) sha256=87fd2b71f7feab1724337b090a7d767f5ab2d42f08c974f3ead673f18cfcd55a
herb (0.10.1) sha256=e7b64076e275a2e97fc5dd5e8ab9ad1bd55840871395ea8d3e481de73a82d32f
herb (0.10.1-aarch64-linux-gnu) sha256=fd9f4f8e0bcd9a421de55ff8810066550e9bcba8c8bf53737b32a04eb2fcbc49
Expand All @@ -535,7 +547,7 @@ CHECKSUMS
herb (0.10.1-x86_64-darwin) sha256=dc266814a63215eefb82cf4f55ce723bc20218395b13c1631c11ca7cfc782d07
herb (0.10.1-x86_64-linux-gnu) sha256=c7762d411a6d2e1a032cf403b0429155c01ab48b3b5be2a0aab1e921da6b8948
herb (0.10.1-x86_64-linux-musl) sha256=a5bb7c82bbc30a9eb80cb833fea749f543a0709d9f858f7db366a3c2616d969b
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
i18n (1.15.2)
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
jbuilder (2.14.1) sha256=4eb26376ff60ef100cb4fd6fd7533cd271f9998327e86adf20fd8c0e69fabb42
Expand All @@ -546,11 +558,10 @@ CHECKSUMS
loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
m (1.7.0) sha256=058f793da8150c51353cc59366ffae7774683e868bede3c78f81d920fb9d633a
mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941
marcel (1.1.0) sha256=fdcfcfa33cc52e93c4308d40e4090a5d4ea279e160a7f6af988260fa970e0bee
marcel (2.1.0) sha256=f8b0327111dc7e516331eeefe052e981ce50e2bd826c1042a53cdf047fcc3512
matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
minitest-memory (1.1.0) sha256=1251476a6e636a9b3bf4f02cd50a2edd6837db53afb81c5e78474e7144f1b747
minitest-mock (5.27.0) sha256=7040ed7185417a966920987eaa6eaf1be4ea1fc5b25bb03ff4703f98564a55b0
Expand All @@ -560,7 +571,6 @@ CHECKSUMS
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
nokogiri (1.19.3) sha256=78312cbac32a40c812780d9678221b79d51288eec00054c1a8d15f7ce05960e8
nokogiri (1.19.3-aarch64-linux-gnu) sha256=46b89e5d7b9e844c2ee360794240c6ea2a4e6fa0c5892a4ed487db621224b639
nokogiri (1.19.3-aarch64-linux-musl) sha256=8392dfdcd21be7a94dbbe9ccc138dea01b97b24cb2dc02a114ca98bfb1d9a0b7
nokogiri (1.19.3-arm-linux-gnu) sha256=3919d5ffc334ad778a4a9eb88fda7dcb8b1fb58c8a52ac640c6dcd2f038e774f
Expand All @@ -579,10 +589,11 @@ CHECKSUMS
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
puma (8.0.1) sha256=7b94e50c07655718c1fb8ae41a11fc06c7d61293208b3aa608ff71a46d3ad37c
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
rack (3.1.1)
rack (3.2.0)
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
ractor-dispatch (0.3.0) sha256=cd2d46743303e00fe500df168b4dde85080160fd9f04539cada4b4dd5e588f68
rails (8.2.0.alpha)
rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
Expand All @@ -599,7 +610,7 @@ CHECKSUMS
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
rspec-rails (8.0.4) sha256=06235692fc0892683d3d34977e081db867434b3a24ae0dd0c6f3516bad4e22df
rspec-rails (8.1.0.pre)
rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
rubocop (1.84.2) sha256=5692cea54168f3dc8cb79a6fe95c5424b7ea893c707ad7a4307b0585e88dbf5f
rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
Expand Down Expand Up @@ -657,4 +668,4 @@ RUBY VERSION
ruby 4.0.1

BUNDLED WITH
4.1.0.dev
4.0.16
7 changes: 4 additions & 3 deletions gemfiles/rails_main_head.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ source "https://rubygems.org"

ruby "4.1.0.dev"

gem "rails", github: "rails/rails", branch: "main"
gem "rack", git: "https://github.com/rack/rack", ref: "8a4475a9f416a72e5b02bd7817e4a8ed684f29b0"
gem "rails", github: "rails/rails", ref: "7a569bc6cbf10cb07023ac63a838fd0a6b39cad4"
gem "rack", git: "https://github.com/rack/rack", ref: "a9833c8f3bd6b6d1e0ab35de00a1f1a16b5095f5"
gem "i18n", github: "Shopify/i18n", ref: "58aa1dcd3e04c34831e1c2ec06c83391559c7c91"

group :development, :test do
gem "appraisal", "~> 2"
Expand All @@ -31,7 +32,7 @@ group :development, :test do
gem "rails-dom-testing", "~> 2.3.0"
gem "reactionview"
gem "redis"
gem "rspec-rails", "~> 8"
gem "rspec-rails", github: "rspec/rspec-rails", ref: "4832492d8a1683bab4b74dc218576f64b0ff988c"
gem "rubocop-md", "~> 2"
gem "selenium-webdriver", "~> 4"
gem "simplecov-console", "< 1"
Expand Down
Loading
Loading