diff --git a/.controlplane/Dockerfile b/.controlplane/Dockerfile index f74978c1..146ce117 100644 --- a/.controlplane/Dockerfile +++ b/.controlplane/Dockerfile @@ -1,5 +1,5 @@ # Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile -ARG RUBY_VERSION=3.4.6 +ARG RUBY_VERSION=3.4.9 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim AS base # Current commit hash environment variable diff --git a/.github/workflows/demo-fleet-smoke.yml b/.github/workflows/demo-fleet-smoke.yml index ea7b31a2..392ca5f4 100644 --- a/.github/workflows/demo-fleet-smoke.yml +++ b/.github/workflows/demo-fleet-smoke.yml @@ -13,7 +13,7 @@ jobs: smoke: uses: shakacode/react_on_rails/.github/workflows/demo-fleet-smoke.yml@613c6c2a251a782328b26d68e7f23daa9b677497 # Source snapshot 2026-07-18 with: - ruby-version: "3.4.6" + ruby-version: "3.4.9" node-version: "22" install-command: >- bundle config set path vendor/bundle && bundle install --jobs 4 --retry 3 && yarn install --frozen-lockfile && diff --git a/.github/workflows/js_test.yml b/.github/workflows/js_test.yml index fafdd9b7..f8c87d44 100644 --- a/.github/workflows/js_test.yml +++ b/.github/workflows/js_test.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: node: [22.x] - ruby: [3.4.6] + ruby: [3.4.9] env: RAILS_ENV: test diff --git a/.github/workflows/lint_test.yml b/.github/workflows/lint_test.yml index 7d0e1deb..98700a99 100644 --- a/.github/workflows/lint_test.yml +++ b/.github/workflows/lint_test.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: node: [22.x] - ruby: [3.4.6] + ruby: [3.4.9] env: RAILS_ENV: test diff --git a/.github/workflows/rspec_test.yml b/.github/workflows/rspec_test.yml index 6b767fc9..810bf81d 100644 --- a/.github/workflows/rspec_test.yml +++ b/.github/workflows/rspec_test.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: node: [22.x] - ruby: [3.4.6] + ruby: [3.4.9] services: postgres: @@ -88,7 +88,7 @@ jobs: run: yarn res:build - name: Build shakapacker chunks - run: NODE_ENV=development bundle exec bin/shakapacker + run: bundle exec bin/shakapacker - name: Start Node renderer for SSR run: | diff --git a/.ruby-version b/.ruby-version index 1cf82530..7bcbb380 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.4.6 +3.4.9 diff --git a/Gemfile b/Gemfile index def9e0fc..b37fd658 100644 --- a/Gemfile +++ b/Gemfile @@ -3,10 +3,10 @@ source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby "3.4.6" +ruby "3.4.9" gem "cpflow", "6.0.1", require: false -gem "react_on_rails_pro", "17.2.0" +gem "react_on_rails_pro", "17.2.1.rc.0" gem "shakapacker", "10.3.2" # Bundle edge Rails instead: gem "rails", github: "rails/rails" diff --git a/Gemfile.lock b/Gemfile.lock index d2bb08ea..6f3893d0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -343,21 +343,21 @@ GEM erb psych (>= 4.0.0) tsort - react_on_rails (17.2.0) + react_on_rails (17.2.1.rc.0) addressable connection_pool execjs (~> 2.5) rails (>= 5.2) rainbow (~> 3.0) shakapacker (>= 6.0) - react_on_rails_pro (17.2.0) + react_on_rails_pro (17.2.1.rc.0) async (>= 2.29) async-http (~> 0.95) execjs (~> 2.9) io-endpoint (~> 0.17.0) jwt (>= 2.8, < 4) nokogiri (>= 1.12, < 2) - react_on_rails (= 17.2.0) + react_on_rails (= 17.2.1.rc.0) redcarpet (3.6.0) redis (5.3.0) redis-client (>= 0.22.0) @@ -540,7 +540,7 @@ DEPENDENCIES rails-html-sanitizer rails_best_practices rainbow - react_on_rails_pro (= 17.2.0) + react_on_rails_pro (= 17.2.1.rc.0) redcarpet redis (~> 5.0) rspec-rails (~> 6.0.0) @@ -562,7 +562,7 @@ DEPENDENCIES web-console RUBY VERSION - ruby 3.4.6p54 + ruby 3.4.9p82 BUNDLED WITH 2.4.17 diff --git a/README.md b/README.md index adc692ed..c8436997 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ See package.json and Gemfile for versions ### Prerequisites - Node `v22.3.0` or above. Be sure that you have Node installed! We suggest using [nvm](https://github.com/creationix/nvm) and running `nvm list` to check the active Node version. See this article [Updating and using nvm](http://forum.shakacode.com/t/updating-and-using-nvm/293). -- Ruby 3.4.6 or above +- Ruby 3.4.9 or above - Postgres v9.2 or above - Redis. Check that you have Redis installed by running `which redis-server`. If missing and on MacOS, install with Homebrew (`brew install redis`) - [Yarn](https://yarnpkg.com/). @@ -184,13 +184,13 @@ assets_bundler: rspack ### Version Targets -- `react_on_rails_pro` gem: `17.1.0` -- `react-on-rails-pro` npm package: `17.1.0` -- `react-on-rails-pro-node-renderer` npm package: `17.1.0` -- `react-on-rails-rsc` npm package: `19.3.0` -- `shakapacker` gem/npm package: `10.2.0` +- `react_on_rails_pro` gem: `17.2.1.rc.0` +- `react-on-rails-pro` npm package: `17.2.1-rc.0` +- `react-on-rails-pro-node-renderer` npm package: `17.2.1-rc.0` +- `react-on-rails-rsc` npm package: `19.3.1` +- `shakapacker` gem/npm package: `10.3.2` - `@rspack/core` and `@rspack/cli`: `2.0.4` -- `react`, `react-dom`, and `react-server-dom-webpack`: `19.2.8` (exact RC validation pins) +- `react`, `react-dom`, and `react-server-dom-webpack`: `19.3.1` (exact RC validation pins) ### Why Rspack diff --git a/conductor-setup.sh b/conductor-setup.sh index b8f880d4..f27bdaf1 100755 --- a/conductor-setup.sh +++ b/conductor-setup.sh @@ -40,7 +40,7 @@ run_cmd() { fi } -# Note: This project requires Ruby 3.4.6. +# Note: This project requires Ruby 3.4.9. # Please ensure you have the correct Ruby version active before running this script. # Check required tools diff --git a/package.json b/package.json index 72d6e8f1..6e536d36 100644 --- a/package.json +++ b/package.json @@ -78,18 +78,18 @@ "postcss-loader": "7.3.3", "postcss-preset-env": "^8.5.0", "prop-types": "^15.8.1", - "react": "19.2.8", - "react-dom": "19.2.8", + "react": "19.3.1", + "react-dom": "19.3.1", "react-error-boundary": "^4.1.2", "react-intl": "^6.4.4", - "react-on-rails-pro": "17.2.0", - "react-on-rails-pro-node-renderer": "17.2.0", - "react-on-rails-rsc": "19.3.0", + "react-on-rails-pro": "17.2.1-rc.0", + "react-on-rails-pro-node-renderer": "17.2.1-rc.0", + "react-on-rails-rsc": "19.3.1", "react-redux": "^8.1.0", "react-router": "^6.30.6", "react-router-dom": "^6.30.6", "react-router-redux": "^4.0.8", - "react-server-dom-webpack": "19.2.8", + "react-server-dom-webpack": "19.3.1", "react-transition-group": "4.4.5", "redux": "^4.2.1", "redux-thunk": "^2.2.0", diff --git a/yarn.lock b/yarn.lock index eca71585..54a40376 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8917,12 +8917,12 @@ react-deep-force-update@^1.0.0: resolved "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.2.tgz" integrity sha512-WUSQJ4P/wWcusaH+zZmbECOk7H5N2pOIl0vzheeornkIMhu+qrNdGFm0bDZLCb0hSF0jf/kH1SgkNGfBdTc4wA== -react-dom@19.2.8: - version "19.2.8" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz#3b46b9eeda877cdff2cf13d2770fff4ae36c2ec2" - integrity sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ== +react-dom@19.3.1: + version "19.3.1" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.3.1.tgz#b384c53cfcbe9c2a5d09d863b98455de9d68afe2" + integrity sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ== dependencies: - scheduler "^0.27.0" + scheduler "^0.28.0" react-error-boundary@^4.1.2: version "4.1.2" @@ -8962,10 +8962,10 @@ react-is@^18.0.0, react-is@^18.3.1: resolved "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== -react-on-rails-pro-node-renderer@17.2.0: - version "17.2.0" - resolved "https://registry.npmjs.org/react-on-rails-pro-node-renderer/-/react-on-rails-pro-node-renderer-17.2.0.tgz#bc6db6b8422f550837cfd3e26c914499c6edcd45" - integrity sha512-E+mu0a3JEwYVivfmuEfLuZwHTBPyflousjeWuOF5yB5TrFkCjwKS3wdqX9ccZ2a/MGyslk/HSU0O7yj7nQ77fg== +react-on-rails-pro-node-renderer@17.2.1-rc.0: + version "17.2.1-rc.0" + resolved "https://registry.npmjs.org/react-on-rails-pro-node-renderer/-/react-on-rails-pro-node-renderer-17.2.1-rc.0.tgz#9c9218d38f2534be695f7bf9143f3021881524fe" + integrity sha512-CBrATBOK7XjrwvPns8sxTNXJ5VLeDHNxxD5prTZNRem9+9I09sRgkUA4+qR24P8HEBP2jAf3FlxlVi3CN8VR2w== dependencies: "@fastify/formbody" "^7.4.0 || ^8.0.2" "@fastify/multipart" "^8.3.1 || ^9.0.3" @@ -8975,28 +8975,28 @@ react-on-rails-pro-node-renderer@17.2.0: lockfile "^1.0.4" pino "^9.14.0 || ^10.1.0" -react-on-rails-pro@17.2.0: - version "17.2.0" - resolved "https://registry.npmjs.org/react-on-rails-pro/-/react-on-rails-pro-17.2.0.tgz#fbc00542b431beb4809a0db678abefb879aa4800" - integrity sha512-89DFq32Nuz+nngBR/7SEZb3Qk2glD2X4/2HtqQYzEiWMAKDh5w1isHcKepezBiLUgXo1x9TTjUntkAWrmToDkA== +react-on-rails-pro@17.2.1-rc.0: + version "17.2.1-rc.0" + resolved "https://registry.npmjs.org/react-on-rails-pro/-/react-on-rails-pro-17.2.1-rc.0.tgz#804bd36f460fd840dfc71ad3e206c23523766282" + integrity sha512-tsznD0FmfDVW3TFfUz+WSiAQ9BBcYGIXnGUkqemDmsNIZcLi+8qkGf9nI1qoPwJu7G1t7RutC326ao+33+kLZw== dependencies: - react-on-rails "17.2.0" + react-on-rails "17.2.1-rc.0" -react-on-rails-rsc@19.3.0: - version "19.3.0" - resolved "https://registry.npmjs.org/react-on-rails-rsc/-/react-on-rails-rsc-19.3.0.tgz#69f304f5ab3fc3143779450588664f5fb3808939" - integrity sha512-K2QuvKMYu2V+8egZbRp+2YO7imPXk+/CKw13WQdQORg0tfsQgy5fVKaKBcRCPAJHD019UfAR6palEwQ2tNvOvg== +react-on-rails-rsc@19.3.1: + version "19.3.1" + resolved "https://registry.npmjs.org/react-on-rails-rsc/-/react-on-rails-rsc-19.3.1.tgz#b614d90ab4871c7b1abb907055bc4de01732544c" + integrity sha512-pQlYW6PvaBBY2Q57H5TpQZ04DOQmrZMnVnHakcPIqcMGogLJ0JiC6hVsVxMofFBcwG326UA/VjLCuj16mEXx6A== dependencies: "@babel/parser" "^7.28.5" acorn-loose "^8.3.0" neo-async "^2.6.1" - react-server-dom-webpack "~19.2.8" + react-server-dom-webpack "~19.3.0" webpack-sources "^3.2.0" -react-on-rails@17.2.0: - version "17.2.0" - resolved "https://registry.npmjs.org/react-on-rails/-/react-on-rails-17.2.0.tgz#6dfb1f9b9eb2c8912c5b5d2d06230b484d80cd3a" - integrity sha512-t6vOTT7fnyIB4VtW3chl3b1DcmQVR01sNhg1nevTol0hySweWCdigAOCfFyTDyGgSiXYD2ZGrZUSKGz2oVOm3Q== +react-on-rails@17.2.1-rc.0: + version "17.2.1-rc.0" + resolved "https://registry.npmjs.org/react-on-rails/-/react-on-rails-17.2.1-rc.0.tgz#2f9cbc6a569037ea1d7ac39ab73edd1b85ccceff" + integrity sha512-kG9u0n2MKV02yJIti+/33//gkOPxbIL0nkceAkaZF1iEl63L2a8uUzO9Xc0d5QKfMLKVAF6bpBc2UzNfqMmMWw== react-proxy@^1.1.7: version "1.1.8" @@ -9043,10 +9043,10 @@ react-router@6.30.6, react-router@^6.30.6: dependencies: "@remix-run/router" "1.23.4" -react-server-dom-webpack@19.2.8, react-server-dom-webpack@~19.2.8: - version "19.2.8" - resolved "https://registry.npmjs.org/react-server-dom-webpack/-/react-server-dom-webpack-19.2.8.tgz#f25752bedff5173500579e72055281a3ee5b7638" - integrity sha512-rFO1VJZ+cH9ZH6hGy9+qmIsmZHZpCMKJZXhWHqT71UnSfg+w+W+gwrwp58MVzMqdFquG8GF1c6C8q0OGphkEdg== +react-server-dom-webpack@19.3.1, react-server-dom-webpack@~19.3.0: + version "19.3.1" + resolved "https://registry.npmjs.org/react-server-dom-webpack/-/react-server-dom-webpack-19.3.1.tgz#c611e30c1d0831192cc4fd9b86f1356d7cca46ea" + integrity sha512-I1Smf6Yc+389rFWPwyYjvCQVK1XFWpb2M9gvgYgfpbZ+LPqkZtb0tT9Fwdk0K+wknK2E+ns82lC0DCYLnXCVGA== dependencies: acorn-loose "^8.3.0" neo-async "^2.6.1" @@ -9070,10 +9070,10 @@ react-transition-group@4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -react@19.2.8: - version "19.2.8" - resolved "https://registry.npmjs.org/react/-/react-19.2.8.tgz#a80663dbb58d69c6fe3fd291d3cb324e8a7dff2d" - integrity sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw== +react@19.3.1: + version "19.3.1" + resolved "https://registry.npmjs.org/react/-/react-19.3.1.tgz#26e9523fc36ea06be5050ebb780249a133260ad7" + integrity sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw== read-cache@^1.0.0: version "1.0.0" @@ -9505,10 +9505,10 @@ saxes@^6.0.0: dependencies: xmlchars "^2.2.0" -scheduler@^0.27.0: - version "0.27.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz#0c4ef82d67d1e5c1e359e8fc76d3a87f045fe5bd" - integrity sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q== +scheduler@^0.28.0: + version "0.28.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz#03d3ca348aeaf8b7502f64468f217b27523f9695" + integrity sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw== schema-utils@^3.0.0, schema-utils@^3.3.0: version "3.3.0"