Skip to content

Commit de948fc

Browse files
justin808claude
andcommitted
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>
1 parent 5a41694 commit de948fc

File tree

1 file changed

+61
-5
lines changed

1 file changed

+61
-5
lines changed

docs/upgrading/release-notes/16.1.0.md

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ Then run `bundle install` and your package manager's install command.
2424

2525
**Important:** The shakapacker gem and npm package versions must match exactly.
2626

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+
2737
## New Features in v16.1.0
2838

2939
### Doctor Rake Task
@@ -52,28 +62,74 @@ end
5262

5363
### Generator Improvements
5464

65+
**Note:** These improvements only affect newly generated code from `rails g react_on_rails:install` or component generators. Existing applications are unaffected.
66+
5567
- Modern TypeScript patterns with better type inference
5668
- Optimized tsconfig.json with `"moduleResolution": "bundler"`
5769
- Enhanced Redux TypeScript integration
5870
- Smart `bin/dev` defaults
5971

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)
79+
6080
## Bug Fixes
6181

6282
### v16.1.1
6383

64-
- Fixed RSC manifest file path resolution ([PR 1818](https://github.com/shakacode/react_on_rails/pull/1818))
84+
- Fixed RSC manifest file path resolution ([PR 1818](https://github.com/shakacode/react_on_rails/pull/1818)) by [AbanoubGhadban](https://github.com/AbanoubGhadban)
6585

6686
### v16.1.0
6787

68-
- 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)
7292

7393
## Deprecations
7494

7595
Remove `config.generated_assets_dirs` from your configuration - asset paths are now automatically determined from `shakapacker.yml`.
7696

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/).
132+
77133
## Related Resources
78134

79135
- [Changelog](https://github.com/shakacode/react_on_rails/blob/master/CHANGELOG.md)

0 commit comments

Comments
 (0)