Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
96fe40a
Prepare 3.3.0 release and update master to main references
justin808 Nov 23, 2025
2fdf582
Add Ruby 3.1, 3.2, and 3.3 support to CI
justin808 Nov 23, 2025
0c396fe
Downgrade pry-byebug to support Ruby 2.7-3.3
justin808 Nov 23, 2025
4edcf0e
Update Nokogiri to 1.18.10 for Ruby 3.2+ compatibility
justin808 Nov 23, 2025
73bd3eb
Add x86_64-linux-gnu platform to Gemfile.lock
justin808 Nov 25, 2025
a7cb44a
Update CI workflow to use x86_64-linux-gnu platform
justin808 Nov 25, 2025
4d63c8f
Use nokogiri 1.17.2 for Ruby 3.0-3.3 compatibility
justin808 Nov 25, 2025
39d9a4c
Remove unnecessary bundle lock --add-platform from CI workflow
justin808 Nov 25, 2025
11bde98
Support Ruby 2.7 with separate gemfile
justin808 Nov 25, 2025
73a934e
Add nokogiri version constraint for Ruby 3.0+ in main Gemfile
justin808 Nov 25, 2025
59b1635
Fix bundle install path to use absolute path
justin808 Nov 25, 2025
953061a
Add gemfiles/.bundle/ to .gitignore
justin808 Nov 25, 2025
cd73788
Add nokogiri version constraints to all gemfiles
justin808 Nov 25, 2025
f8fb812
Add Ruby 2.7-specific lockfiles for full test coverage
justin808 Nov 25, 2025
e72686e
Add webrick gem dependency for Ruby 3.0+ compatibility
justin808 Dec 12, 2025
052b6c3
Fix CI: simplify check_react_and_ujs job
justin808 Dec 12, 2025
cec3089
Fix capybara version in base.gemfile.ruby27.lock
justin808 Dec 12, 2025
af7d854
Revert test matrix to Ruby 2.7 only
justin808 Dec 12, 2025
afcedf9
Fix capybara nokogiri dependency in base.gemfile.ruby27.lock
justin808 Dec 12, 2025
66eedc9
Remove Ruby 2.7 specific lockfile step from workflow
justin808 Dec 12, 2025
de687d6
Remove nokogiri version constraints from gemfiles
justin808 Dec 12, 2025
87a2072
Reset lockfiles to main and add webrick
justin808 Dec 12, 2025
538f5b6
Use bundler 2.4.9 for rake commands
justin808 Dec 12, 2025
d6e257b
Revert check_react_and_ujs to Ruby 2.7
justin808 Dec 12, 2025
4cab0f7
Align workflow with main branch
justin808 Dec 12, 2025
4953f1f
Fix webrick placement in lockfiles
justin808 Dec 12, 2025
262219b
Remove webrick from gemspec and lockfiles
justin808 Dec 12, 2025
9180073
Remove bundle lock --add-platform step
justin808 Dec 12, 2025
07af836
Add debug step to show Gemfile.lock diff
justin808 Dec 12, 2025
6788b38
Fix pry-byebug version constraint in Gemfile.lock
justin808 Dec 12, 2025
31729e3
Add pry-byebug version constraint to all lockfiles
justin808 Dec 12, 2025
38bdce5
Add bundle lock to test job
justin808 Dec 12, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
ruby: ['2.7', '3.0']
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3']
env:
# $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/LintingGemfile
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: true
matrix:
ruby: [2.7]
ruby: ['2.7']
runs-on: ubuntu-latest
env:
PACKAGE_JSON_FALLBACK_MANAGER: yarn_classic
Expand All @@ -41,13 +41,13 @@ jobs:
with:
bundler: 2.4.9
ruby-version: ${{ matrix.ruby }}
- name: Save dummy app ruby gems to cache
- name: Save ruby gems to cache
uses: actions/cache@v3
with:
path: vendor/bundle
key: root-gem-cache-${{ hashFiles('Gemfile.lock') }}
key: root-gem-cache-${{ matrix.ruby }}-${{ hashFiles('Gemfile.lock') }}
- name: Install Ruby Gems
run: bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle _2.4.9_ install --path=vendor/bundle --jobs=4 --retry=3
run: bundle check --path=vendor/bundle || bundle _2.4.9_ install --path=vendor/bundle --jobs=4 --retry=3
- run: yarn
- run: bundle exec rake react:update
- run: bundle exec rake ujs:update
Expand All @@ -67,7 +67,7 @@ jobs:
installer: pnpm
- name: bun
installer: bun
ruby: [2.7]
ruby: ['2.7']
gemfile:
# These have shakapacker:
- base
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:
uses: actions/cache@v3
with:
path: test/dummy/vendor/bundle
key: dummy-app-gem-cache-${{ hashFiles(format('{0}/gemfiles/{1}.gemfile.lock', github.workspace, matrix.gemfile)) }}
key: dummy-app-gem-cache-${{ matrix.ruby }}-${{ hashFiles(format('{0}/gemfiles/{1}.gemfile.lock', github.workspace, matrix.gemfile)) }}
- name: Install Ruby Gems for dummy app
run: bundle lock --add-platform 'x86_64-linux' && bundle check --path=test/dummy/vendor/bundle || bundle _2.4.9_ install --frozen --path=test/dummy/vendor/bundle --jobs=4 --retry=3
- run: cd test/dummy && yalc add react_ujs && ${{ matrix.js_package_manager.installer }} install
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ coverage/
yalc.lock
/vendor/bundle
.bundle/config
gemfiles/.bundle/
8 changes: 6 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ Changes since the last non-beta release.

_Please add entries here for your pull requests that have not yet been released. Include LINKS for PRs and committers._

## [3.3.0] - 2024-11-22

#### Added
- Support for Propshaft server rendering. [PR 1345](https://github.com/reactjs/react-rails/pull/1345) by [elektronaut](https://github.com/elektronaut)

#### Fixed
Expand Down Expand Up @@ -594,8 +597,9 @@ _Please add entries here for your pull requests that have not yet been released.
- Server rendering with `prerender: true`
- Transform `.jsx` in the asset pipeline

[Unreleased]: https://github.com/reactjs/react-rails/compare/v3.2.1...main
[3.2.1]: https://github.com/reactjs/react-rails/compare/v3.2.1...v3.2.1
[Unreleased]: https://github.com/reactjs/react-rails/compare/v3.3.0...main
[3.3.0]: https://github.com/reactjs/react-rails/compare/v3.2.1...v3.3.0
[3.2.1]: https://github.com/reactjs/react-rails/compare/v3.2.0...v3.2.1
[3.2.0]: https://github.com/reactjs/react-rails/compare/v3.1.1...v3.2.0
[3.1.1]: https://github.com/reactjs/react-rails/compare/v3.1.0...v3.1.1
[3.1.0]: https://github.com/reactjs/react-rails/compare/v3.0.0...v3.1.0
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ DEPENDENCIES
listen (~> 3.0.0)
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.7, >= 7.0.7.2)
react-rails!
selenium-webdriver
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ React-Rails is a flexible tool to use [React](http://facebook.github.io/react/)

While ShakaCode will continue to support this gem, you might consider migrating to [React on Rails](https://github.com/shakacode/react_on_rails) or [React on Rails Pro with proper Node rendering](https://www.shakacode.com/react-on-rails-pro/).

Why? React on Rails code receives much more active development and testing. For example, consider the [ReactRailsUJS](https://github.com/reactjs/react-rails/blob/master/react_ujs/index.js) implementation compared to the [ReactOnRails Node package](https://github.com/shakacode/react_on_rails/tree/master/node_package) which is written in TypeScript. For another example, React on Rails has work underway to support the latest React features, such as [React Server Components](https://react.dev/reference/rsc/server-components).
Why? React on Rails code receives much more active development and testing. For example, consider the [ReactRailsUJS](https://github.com/reactjs/react-rails/blob/main/react_ujs/index.js) implementation compared to the [ReactOnRails Node package](https://github.com/shakacode/react_on_rails/tree/master/node_package) which is written in TypeScript. For another example, React on Rails has work underway to support the latest React features, such as [React Server Components](https://react.dev/reference/rsc/server-components).

You can find [migration to React on Rails steps here](https://github.com/reactjs/react-rails/blob/master/docs/migrating-from-react-rails-to-react_on_rails.md).
You can find [migration to React on Rails steps here](https://github.com/reactjs/react-rails/blob/main/docs/migrating-from-react-rails-to-react_on_rails.md).

---
## ShakaCode Support
Expand Down
2 changes: 1 addition & 1 deletion VERSIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ You can control what version of React.js (and JSXTransformer) is used by `react-

| Gem | React.js | |
| -------- | -------- | -------------- |
| master | 16.14.0 |
| main | 16.14.0 |
| 2.6.2 | 16.14.0 |
| 2.6.1 | 16.9.0 |
| 2.6.0 | 16.8.6 |
Expand Down
2 changes: 1 addition & 1 deletion docs/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,4 +335,4 @@ MyApp::Application.configure do
end
```

Be sure to restart your Rails server after changing these files. See [VERSIONS.md](https://github.com/reactjs/react-rails/blob/master/VERSIONS.md) to learn which version of React.js is included with your `react-rails` version. In some edge cases you may need to bust the sprockets cache with `rake tmp:clear`
Be sure to restart your Rails server after changing these files. See [VERSIONS.md](https://github.com/reactjs/react-rails/blob/main/VERSIONS.md) to learn which version of React.js is included with your `react-rails` version. In some edge cases you may need to bust the sprockets cache with `rake tmp:clear`
2 changes: 1 addition & 1 deletion gemfiles/base.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ DEPENDENCIES
listen (~> 3.0.0)
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.x)
react-rails!
selenium-webdriver
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/connection_pool_3.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ DEPENDENCIES
listen (~> 3.0.0)
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.7, >= 7.0.7.2)
react-rails!
selenium-webdriver
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/propshaft.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ DEPENDENCIES
listen (~> 3.0.0)
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.7, >= 7.0.7.2)
react-rails!
selenium-webdriver
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/shakapacker.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ DEPENDENCIES
listen (~> 3.0.0)
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.7, >= 7.0.7.2)
react-rails!
selenium-webdriver
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/sprockets_3.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ DEPENDENCIES
mini_racer
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.7, >= 7.0.7.2)
react-rails!
selenium-webdriver
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/sprockets_4.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ DEPENDENCIES
mini_racer
minitest-retry
package_json
pry-byebug
pry-byebug (~> 3.8.0)
rails (~> 7.0.7, >= 7.0.7.2)
react-rails!
selenium-webdriver
Expand Down
2 changes: 1 addition & 1 deletion react-rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Gem::Specification.new do |s|
s.add_development_dependency 'capybara'
s.add_development_dependency 'selenium-webdriver'
s.add_development_dependency 'test-unit', '~> 2.5'
s.add_development_dependency 'pry-byebug'
s.add_development_dependency 'pry-byebug', '~> 3.8.0'
s.add_development_dependency 'package_json'
s.add_development_dependency 'rails', '~> 7.0.7', '>= 7.0.7.2'
s.add_development_dependency 'turbo-rails'
Expand Down