You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance v16.1.x release notes based on review feedback
- Add version compatibility matrix table
- Add Security Enhancements section with PR references
- Add Common Upgrade Issues section for troubleshooting
- Add Pro License Features section with link to Pro
- Clarify generator improvements only affect new installations
- Add author attribution to all bug fix entries
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/upgrading/release-notes/16.1.0.md
+61-5Lines changed: 61 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,16 @@ Then run `bundle install` and your package manager's install command.
24
24
25
25
**Important:** The shakapacker gem and npm package versions must match exactly.
26
26
27
+
## Version Compatibility
28
+
29
+
| Component | Minimum | Recommended |
30
+
| ----------- | ------- | ----------- |
31
+
| Ruby | 3.2 | 3.3+ |
32
+
| Node.js | 20 | 22+ |
33
+
| Shakapacker | 8.2.0 | 8.2.0+ |
34
+
| React | 18 | 18+ |
35
+
| Rails | 6.1 | 7.0+ |
36
+
27
37
## New Features in v16.1.0
28
38
29
39
### Doctor Rake Task
@@ -52,28 +62,74 @@ end
52
62
53
63
### Generator Improvements
54
64
65
+
**Note:** These improvements only affect newly generated code from `rails g react_on_rails:install` or component generators. Existing applications are unaffected.
66
+
55
67
- Modern TypeScript patterns with better type inference
56
68
- Optimized tsconfig.json with `"moduleResolution": "bundler"`
57
69
- Enhanced Redux TypeScript integration
58
70
- Smart `bin/dev` defaults
59
71
72
+
## Security Enhancements
73
+
74
+
v16.1.0 includes important security improvements:
75
+
76
+
-**Command injection protection**: Fixed command injection vulnerabilities in generator package installation commands by replacing unsafe string interpolation with secure array-based system calls ([PR 1786](https://github.com/shakacode/react_on_rails/pull/1786)) by [justin808](https://github.com/justin808)
77
+
-**Improved input validation**: Enhanced package manager validation and argument sanitization across all generators ([PR 1786](https://github.com/shakacode/react_on_rails/pull/1786)) by [justin808](https://github.com/justin808)
78
+
-**Hardened DOM selectors**: Using `CSS.escape()` and proper JavaScript escaping for XSS protection ([PR 1791](https://github.com/shakacode/react_on_rails/pull/1791)) by [AbanoubGhadban](https://github.com/AbanoubGhadban)
- Fixed LoadError in `rake react_on_rails:doctor` when using packaged gem
69
-
- Fixed packs generator error when `server_bundle_js_file` is empty
70
-
- Fixed NoMethodError in environments without Shakapacker
71
-
- Fixed inconsistent Shakapacker version requirements
88
+
- Fixed LoadError in `rake react_on_rails:doctor` when using packaged gem ([PR 1795](https://github.com/shakacode/react_on_rails/pull/1795)) by [justin808](https://github.com/justin808)
89
+
- Fixed packs generator error when `server_bundle_js_file` is empty ([PR 1802](https://github.com/shakacode/react_on_rails/pull/1802)) by [justin808](https://github.com/justin808)
90
+
- Fixed NoMethodError in environments without Shakapacker ([PR 1806](https://github.com/shakacode/react_on_rails/pull/1806)) by [justin808](https://github.com/justin808)
91
+
- Fixed inconsistent Shakapacker version requirements ([PR 1806](https://github.com/shakacode/react_on_rails/pull/1806)) by [justin808](https://github.com/justin808)
72
92
73
93
## Deprecations
74
94
75
95
Remove `config.generated_assets_dirs` from your configuration - asset paths are now automatically determined from `shakapacker.yml`.
76
96
97
+
## Common Upgrade Issues
98
+
99
+
### Shakapacker Version Mismatch
100
+
101
+
**Symptom:** Assets fail to compile or inconsistent behavior between development and production.
102
+
103
+
**Solution:** Ensure your Shakapacker gem and npm package versions match exactly:
104
+
105
+
```bash
106
+
# Check gem version
107
+
bundle show shakapacker
108
+
109
+
# Check npm version
110
+
npm list shakapacker
111
+
# or
112
+
yarn list shakapacker
113
+
```
114
+
115
+
Both should show the same version (e.g., 8.2.0).
116
+
117
+
### Missing Server Bundle After Upgrade
118
+
119
+
**Symptom:** Server-side rendering fails with "bundle not found" errors.
120
+
121
+
**Solution:** If you're using `server_bundle_output_path`, ensure the directory exists and your build process outputs to that location. Run `rake react_on_rails:doctor` to diagnose configuration issues.
122
+
123
+
## Pro License Features
124
+
125
+
v16.1.0 introduced foundational changes for React on Rails Pro, including:
126
+
127
+
- Core/Pro separation with clear licensing boundaries
128
+
- Runtime license validation with graceful fallback
129
+
- Enhanced immediate hydration (Pro-only feature)
130
+
131
+
These changes are internal and do not affect open-source users. For information about Pro features like streaming SSR, React Server Components, and enhanced performance optimizations, see [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro/).
0 commit comments