react_on_rails 16.2.0.beta.3 → 16.2.0.beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +42 -5
- data/CLAUDE.md +59 -0
- data/CONTRIBUTING.md +49 -1
- data/Gemfile.development_dependencies +1 -1
- data/Gemfile.lock +25 -10
- data/SWITCHING_CI_CONFIGS.md +55 -6
- data/Steepfile +51 -0
- data/bin/ci-rerun-failures +68 -22
- data/bin/ci-run-failed-specs +26 -2
- data/bin/ci-switch-config +262 -34
- data/bin/lefthook/check-trailing-newlines +2 -12
- data/bin/lefthook/eslint-lint +0 -10
- data/bin/lefthook/prettier-format +0 -10
- data/bin/lefthook/ruby-autofix +3 -6
- data/knip.ts +35 -9
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb.tt +32 -52
- data/lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml +5 -1
- data/lib/react_on_rails/configuration.rb +56 -12
- data/lib/react_on_rails/controller.rb +3 -3
- data/lib/react_on_rails/dev/server_manager.rb +11 -4
- data/lib/react_on_rails/doctor.rb +249 -2
- data/lib/react_on_rails/helper.rb +12 -3
- data/lib/react_on_rails/pro_helper.rb +2 -44
- data/lib/react_on_rails/react_component/render_options.rb +7 -7
- data/lib/react_on_rails/utils.rb +40 -0
- data/lib/react_on_rails/version.rb +1 -1
- data/react_on_rails_pro/CHANGELOG.md +142 -29
- data/react_on_rails_pro/CONTRIBUTING.md +2 -13
- data/react_on_rails_pro/Gemfile.development_dependencies +1 -0
- data/react_on_rails_pro/Gemfile.lock +24 -3
- data/react_on_rails_pro/README.md +559 -38
- data/react_on_rails_pro/docs/code-splitting-loadable-components.md +1 -1
- data/react_on_rails_pro/docs/contributors-info/releasing.md +2 -2
- data/react_on_rails_pro/docs/installation.md +129 -109
- data/react_on_rails_pro/docs/node-renderer/basics.md +29 -22
- data/react_on_rails_pro/docs/node-renderer/error-reporting-and-tracing.md +8 -8
- data/react_on_rails_pro/docs/node-renderer/js-configuration.md +25 -23
- data/react_on_rails_pro/docs/node-renderer/troubleshooting.md +2 -0
- data/react_on_rails_pro/docs/updating.md +209 -15
- data/react_on_rails_pro/lib/react_on_rails_pro/concerns/stream.rb +58 -4
- data/react_on_rails_pro/lib/react_on_rails_pro/configuration.rb +17 -3
- data/react_on_rails_pro/lib/react_on_rails_pro/license_public_key.rb +9 -9
- data/react_on_rails_pro/lib/react_on_rails_pro/request.rb +41 -25
- data/react_on_rails_pro/lib/react_on_rails_pro/stream_request.rb +27 -7
- data/react_on_rails_pro/lib/react_on_rails_pro/utils.rb +3 -3
- data/react_on_rails_pro/lib/react_on_rails_pro/version.rb +1 -1
- data/react_on_rails_pro/package-scripts.yml +1 -1
- data/react_on_rails_pro/package.json +5 -8
- data/react_on_rails_pro/packages/node-renderer/src/integrations/api.ts +1 -1
- data/react_on_rails_pro/packages/node-renderer/src/master/restartWorkers.ts +39 -17
- data/react_on_rails_pro/packages/node-renderer/src/master.ts +15 -4
- data/react_on_rails_pro/packages/node-renderer/src/shared/configBuilder.ts +44 -5
- data/react_on_rails_pro/packages/node-renderer/src/shared/utils.ts +4 -2
- data/react_on_rails_pro/packages/node-renderer/src/worker/handleGracefulShutdown.ts +49 -0
- data/react_on_rails_pro/packages/node-renderer/src/worker/vm.ts +3 -3
- data/react_on_rails_pro/packages/node-renderer/src/worker.ts +5 -2
- data/react_on_rails_pro/packages/node-renderer/tests/helper.ts +8 -8
- data/react_on_rails_pro/packages/node-renderer/tests/testingNodeRendererConfigs.js +1 -1
- data/react_on_rails_pro/packages/node-renderer/tests/worker.test.ts +19 -19
- data/react_on_rails_pro/rakelib/public_key_management.rake +6 -5
- data/react_on_rails_pro/rakelib/rbs.rake +47 -0
- data/react_on_rails_pro/react_on_rails_pro.gemspec +1 -0
- data/react_on_rails_pro/sig/react_on_rails_pro/cache.rbs +13 -0
- data/react_on_rails_pro/sig/react_on_rails_pro/configuration.rbs +100 -0
- data/react_on_rails_pro/sig/react_on_rails_pro/error.rbs +4 -0
- data/react_on_rails_pro/sig/react_on_rails_pro/utils.rbs +7 -0
- data/react_on_rails_pro/sig/react_on_rails_pro.rbs +5 -0
- data/react_on_rails_pro/spec/dummy/Gemfile.lock +23 -3
- data/react_on_rails_pro/spec/dummy/app/controllers/pages_controller.rb +3 -3
- data/react_on_rails_pro/spec/dummy/bin/dev +4 -8
- data/react_on_rails_pro/spec/dummy/client/node-renderer.js +4 -4
- data/react_on_rails_pro/spec/dummy/config/environments/production.rb +1 -1
- data/react_on_rails_pro/spec/dummy/config/initializers/react_on_rails.rb +28 -12
- data/react_on_rails_pro/spec/dummy/config.ru +1 -1
- data/react_on_rails_pro/spec/dummy/package.json +2 -2
- data/react_on_rails_pro/spec/dummy/spec/helpers/react_on_rails_pro_helper_spec.rb +40 -11
- data/react_on_rails_pro/spec/dummy/spec/rails_helper.rb +1 -1
- data/react_on_rails_pro/spec/dummy/spec/requests/renderer_console_logging_spec.rb +5 -5
- data/react_on_rails_pro/spec/dummy/spec/system/integration_spec.rb +15 -10
- data/react_on_rails_pro/spec/dummy/spec/system/renderer_integration_spec.rb +3 -3
- data/react_on_rails_pro/spec/dummy/yarn.lock +4 -4
- data/react_on_rails_pro/spec/execjs-compatible-dummy/config/environments/production.rb +1 -1
- data/react_on_rails_pro/spec/execjs-compatible-dummy/config/initializers/react_on_rails.rb +16 -43
- data/react_on_rails_pro/spec/react_on_rails_pro/assets_precompile_spec.rb +15 -18
- data/react_on_rails_pro/spec/react_on_rails_pro/cache_spec.rb +1 -1
- data/react_on_rails_pro/spec/react_on_rails_pro/configuration_spec.rb +5 -3
- data/react_on_rails_pro/spec/react_on_rails_pro/license_validator_spec.rb +27 -12
- data/react_on_rails_pro/spec/react_on_rails_pro/request_spec.rb +0 -27
- data/react_on_rails_pro/spec/react_on_rails_pro/spec_helper.rb +1 -1
- data/react_on_rails_pro/spec/react_on_rails_pro/stream_decorator_spec.rb +89 -0
- data/react_on_rails_pro/spec/react_on_rails_pro/stream_spec.rb +144 -0
- data/react_on_rails_pro/spec/react_on_rails_pro/support/caching.rb +1 -1
- data/react_on_rails_pro/spec/react_on_rails_pro/support/mock_block_helper.rb +4 -2
- data/sig/react_on_rails/controller.rbs +1 -1
- data/sig/react_on_rails/error.rbs +4 -0
- data/sig/react_on_rails/helper.rbs +2 -2
- data/sig/react_on_rails/json_parse_error.rbs +10 -0
- data/sig/react_on_rails/prerender_error.rbs +21 -0
- data/sig/react_on_rails/smart_error.rbs +28 -0
- data/sig/react_on_rails.rbs +3 -24
- metadata +14 -4
- data/lib/react_on_rails/pro_utils.rb +0 -37
- data/react_on_rails_pro/spec/dummy/client/app/ror-auto-load-components/TestingStreamableComponent.jsx +0 -15
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Change Log
|
|
2
|
+
|
|
2
3
|
All notable changes to this project will be documented in this file. Items under `Unreleased` is upcoming features that will be out in next release.
|
|
3
4
|
|
|
4
5
|
## Gem and Package Versions
|
|
6
|
+
|
|
5
7
|
Gem and package versions are the same except for beta releases where the gem uses a `.beta` and the package uses a `-beta` (same for `rc`).
|
|
6
8
|
|
|
7
9
|
1. **Gem**: `3.0.0.rc.1`
|
|
@@ -9,54 +11,76 @@ Gem and package versions are the same except for beta releases where the gem use
|
|
|
9
11
|
|
|
10
12
|
You can find the **package** version numbers from this repo's tags and below in this file.
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
---
|
|
13
15
|
|
|
14
16
|
[HEAD compared to 3.3.1]: Click to see all changes compared to the last 3.x version. See the [4.0 Release Notes](https://github.com/shakacode/react_on_rails_pro/blob/master/docs/release-notes/4.0.md).
|
|
15
17
|
|
|
16
18
|
## [Unreleased]
|
|
17
|
-
|
|
19
|
+
|
|
20
|
+
_Add changes in master not yet tagged._
|
|
21
|
+
|
|
22
|
+
### Improved
|
|
23
|
+
- Significantly improved streaming performance by processing React components concurrently instead of sequentially. This reduces latency and improves responsiveness when using `stream_view_containing_react_components`.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- Added `config.concurrent_component_streaming_buffer_size` configuration option to control the memory buffer size for concurrent component streaming (defaults to 64). This allows fine-tuning of memory usage vs. performance for streaming applications.
|
|
18
27
|
|
|
19
28
|
### Added
|
|
29
|
+
|
|
20
30
|
- Added `cached_stream_react_component` helper method, similar to `cached_react_component` but for streamed components.
|
|
21
31
|
- **License Validation System**: Implemented comprehensive JWT-based license validation with offline verification using RSA-256 signatures. License validation occurs at startup in both Ruby and Node.js environments. Supports required fields (`sub`, `iat`, `exp`) and optional fields (`plan`, `organization`, `iss`). FREE evaluation licenses are available for 3 months at [shakacode.com/react-on-rails-pro](https://shakacode.com/react-on-rails-pro). [PR #1857](https://github.com/shakacode/react_on_rails/pull/1857) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
22
32
|
- **Pro-Specific Configurations Moved from Open-Source**: The following React Server Components (RSC) configurations are now exclusively in the Pro gem and should be configured in `ReactOnRailsPro.configure`:
|
|
33
|
+
|
|
23
34
|
- `rsc_bundle_js_file` - Path to the RSC bundle file
|
|
24
35
|
- `react_server_client_manifest_file` - Path to the React server client manifest
|
|
25
36
|
- `react_client_manifest_file` - Path to the React client manifest
|
|
26
37
|
|
|
27
38
|
These configurations were previously available in the open-source `ReactOnRails.configure` block but have been moved to Pro where they belong since RSC is a Pro-only feature.
|
|
39
|
+
|
|
28
40
|
- **Streaming View Helpers Now Pro-Exclusive**: The following view helpers are now defined exclusively in the Pro gem:
|
|
41
|
+
|
|
29
42
|
- `stream_react_component` - Progressive SSR using React 18+ streaming
|
|
30
43
|
- `rsc_payload_react_component` - RSC payload rendering
|
|
31
44
|
|
|
32
45
|
These helpers were previously in the open-source gem but have been moved to Pro as they are Pro-only features.
|
|
46
|
+
|
|
33
47
|
- **Node Renderer Gem Version Validation**: The node renderer now validates that the Ruby gem version (`react_on_rails_pro`) matches the node renderer package version (`@shakacode-tools/react-on-rails-pro-node-renderer`) on every render request. Environment-aware: strict enforcement in development (returns 412 Precondition Failed on mismatch), permissive in production (allows with warning). Includes version normalization to handle Ruby gem vs NPM format differences (e.g., `4.0.0.rc.1` vs `4.0.0-rc.1`). [PR #1881](https://github.com/shakacode/react_on_rails/pull/1881) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
34
48
|
|
|
49
|
+
### Changed
|
|
50
|
+
|
|
51
|
+
- Renamed Node Renderer configuration option `bundlePath` to `serverBundleCachePath` to better clarify its purpose as a cache directory for uploaded server bundles, distinct from Shakapacker's public asset directory. The old `bundlePath` property and `RENDERER_BUNDLE_PATH` environment variable continue to work with deprecation warnings. [PR 2008](https://github.com/shakacode/react_on_rails/pull/2008) by [justin808](https://github.com/justin808).
|
|
52
|
+
|
|
35
53
|
### Changed (Breaking)
|
|
54
|
+
|
|
36
55
|
- `config.prerender_caching`, which controls caching for non-streaming components, now also controls caching for streamed components. To disable caching for an individual render, pass `internal_option(:skip_prerender_cache)`.
|
|
37
56
|
- **Configuration Migration Required**: If you are using RSC features, you must move the RSC-related configurations from `ReactOnRails.configure` to `ReactOnRailsPro.configure` in your initializers. See the migration example in the [React on Rails CHANGELOG](https://github.com/shakacode/react_on_rails/blob/master/CHANGELOG.md#unreleased).
|
|
57
|
+
- Added `async` gem dependency (>= 2.6) to support concurrent streaming functionality.
|
|
38
58
|
|
|
39
59
|
## [4.0.0-rc.15] - 2025-08-11
|
|
40
60
|
|
|
41
61
|
### Fixed
|
|
62
|
+
|
|
42
63
|
- Fixed an issue where, when React Server Components (RSC) support was disabled, the Node Renderer unnecessarily requested bundles on every render. Now, bundles are only requested when actually needed, improving performance and reducing redundant network traffic. [PR 545](https://github.com/shakacode/react_on_rails_pro/pull/545) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
64
|
+
- **Fix `descriptor closed` error**: The errors happens when the node renderer restarts while it's still handling an in-progress request (especially if it's a streaming request that may take more time to handle). Implemented a fix that makes worker shutdown gracefully after it finishes all active requests. When a worker receives the shutdown message, if it doesn't shut down during the `gracefulWorkerRestartTimeout`, the master forcibly kills it. [PR #1970][https://github.com/shakacode/react_on_rails/pull/1970] by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
43
65
|
|
|
44
66
|
### Changed
|
|
67
|
+
|
|
45
68
|
- Upgraded HTTPX dependency from 1.3.4 to ~> 1.5 (currently 1.5.1). [PR 520](https://github.com/shakacode/react_on_rails_pro/pull/520) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
46
69
|
|
|
47
70
|
## [4.0.0-rc.14] - 2025-06-22
|
|
48
71
|
|
|
49
72
|
### Improved
|
|
73
|
+
|
|
50
74
|
- Improved RSC rendering flow by eliminating double rendering of server components and reducing the number of HTTP requests.
|
|
51
75
|
- Updated communication protocol between Node Renderer and Rails to version 2.0.0 which supports the ability to upload multiple bundles at once.
|
|
52
76
|
- Added the ability to communicate between different bundles on the renderer by using the `runOnOtherBundle` function which is globally available for the rendering request.
|
|
53
77
|
|
|
54
78
|
[PR 515](https://github.com/shakacode/react_on_rails_pro/pull/515) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
55
79
|
|
|
56
|
-
|
|
57
80
|
## [4.0.0-rc.13] - 2025-03-07
|
|
58
81
|
|
|
59
82
|
### Added
|
|
83
|
+
|
|
60
84
|
- 🚀 **Introducing React Server Components Support!** 🎉
|
|
61
85
|
- Experience the future of React with full RSC integration
|
|
62
86
|
- Seamlessly use React Server Components in your Rails apps
|
|
@@ -67,24 +91,29 @@ You can find the **package** version numbers from this repo's tags and below in
|
|
|
67
91
|
[PR 422](https://github.com/shakacode/react_on_rails_pro/pull/422) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
68
92
|
|
|
69
93
|
### Changed (Breaking)
|
|
94
|
+
|
|
70
95
|
- `ReactOnRailsPro::Utils#copy_assets` retuns `nil` instead of `Response` object. Because it throws an error if an error occurs.
|
|
71
96
|
|
|
72
97
|
## [4.0.0.rc.11] - 2025-02-09
|
|
73
98
|
|
|
74
99
|
### Changed
|
|
100
|
+
|
|
75
101
|
- [PR 511](https://github.com/shakacode/react_on_rails_pro/pull/511) by [Romex91](https://github.com/Romex91)
|
|
102
|
+
|
|
76
103
|
- Set `bodyLimit` to 100 MB by default to fix error 413.
|
|
77
104
|
- Add `fastifyServerOptions` to the config
|
|
78
105
|
|
|
79
|
-
- Specify exact httpx version until the bug there is fixed [PR #496](https://github.com/shakacode/react_on_rails_pro/pull/496) by
|
|
106
|
+
- Specify exact httpx version until the bug there is fixed [PR #496](https://github.com/shakacode/react_on_rails_pro/pull/496) by [alexeyr-ci](https://github.com/alexeyr-ci)
|
|
80
107
|
|
|
81
108
|
### Changed
|
|
109
|
+
|
|
82
110
|
- Renamed `includeTimerPolyfills` configuration option to `stubTimers`. [PR 506](https://github.com/shakacode/react_on_rails_pro/pull/506) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
83
111
|
- Fail immediately on detecting obsolete config options to prevent unexpected misconfigurations. [PR 506](https://github.com/shakacode/react_on_rails_pro/pull/506) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
84
112
|
|
|
85
113
|
## [4.0.0.rc.9] - 2024-12-05
|
|
86
114
|
|
|
87
115
|
### Changed
|
|
116
|
+
|
|
88
117
|
- Error reporting and tracing integrations are completely redone. See [the docs](./docs/node-renderer/error-reporting-and-tracing.md) for details. [PR 471](https://github.com/shakacode/react_on_rails_pro/pull/471) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
89
118
|
- Upgraded to Fastify 5 by default, with an option to fall back to Fastify 4 on older Node versions. [PR 478](https://github.com/shakacode/react_on_rails_pro/pull/478) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
90
119
|
- Logging now uses Pino instead of Winston, aligning with Fastify. [PR 479](https://github.com/shakacode/react_on_rails_pro/pull/479) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
@@ -95,6 +124,7 @@ You can find the **package** version numbers from this repo's tags and below in
|
|
|
95
124
|
## [4.0.0.rc.6] - 2024-11-12
|
|
96
125
|
|
|
97
126
|
### Added
|
|
127
|
+
|
|
98
128
|
- Added streaming server rendering support:
|
|
99
129
|
- [PR 407](https://github.com/shakacode/react_on_rails_pro/pull/407) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
|
|
100
130
|
- New `stream_view_containing_react_components` helper method that can be used with `stream_react_component` helper method in react_on_rails gem.
|
|
@@ -109,24 +139,29 @@ You can find the **package** version numbers from this repo's tags and below in
|
|
|
109
139
|
- [PR 440](https://github.com/shakacode/react_on_rails_pro/pull/440) by [AbanoubGhadban](https://github.com/AbanoubGhadban)
|
|
110
140
|
|
|
111
141
|
### Removed
|
|
142
|
+
|
|
112
143
|
- Drop support for EOL'd Ruby 2.7 [PR 365](https://github.com/shakacode/react_on_rails_pro/pull/365) by [ahangarha](https://github.com/ahangarha).
|
|
113
144
|
- Drop support for React on Rails below 14.0.4 [PR 415](https://github.com/shakacode/react_on_rails_pro/pull/415) by [rameziophobia](https://github.com/rameziophobia).
|
|
114
145
|
|
|
115
146
|
### Fixed
|
|
147
|
+
|
|
116
148
|
- Updated multiple JS dependencies for bug fixes.
|
|
117
149
|
- Added execute permission for `spec/dummy/bin/dev` [PR 387](https://github.com/shakacode/react_on_rails_pro/pull/387) by [alexeyr](https://github.com/alexeyr).
|
|
118
150
|
- Made default bundle paths in node-renderer and Rails consistent [PR 399](https://github.com/shakacode/react_on_rails_pro/pull/399) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
119
151
|
|
|
120
152
|
### Changed
|
|
153
|
+
|
|
121
154
|
- Support Shakapacker 8.0.0, Modified webpack configurations to use shakapacker instead of webpacker. This drops support for shakapacker 6.X [PR 415](https://github.com/shakacode/react_on_rails_pro/pull/415) by [rameziophobia](https://github.com/rameziophobia).
|
|
122
155
|
- Converted the node-renderer worker from Express to Fastify [PR 398](https://github.com/shakacode/react_on_rails_pro/pull/398) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
123
156
|
|
|
124
157
|
## [3.3.1] - 2025-08-11
|
|
125
158
|
|
|
126
159
|
### Changed
|
|
160
|
+
|
|
127
161
|
- Converted JS code to TS [PR 386](https://github.com/shakacode/react_on_rails_pro/pull/386) and [PR 389](https://github.com/shakacode/react_on_rails_pro/pull/389) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
128
162
|
|
|
129
163
|
### Fixed
|
|
164
|
+
|
|
130
165
|
- Removed file size limit for assets and bundles. [PR 459](https://github.com/shakacode/react_on_rails_pro/pull/459) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
131
166
|
- Enabled use as a `git:` dependency. [PR 490](https://github.com/shakacode/react_on_rails_pro/pull/490) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
132
167
|
- Enabled `queueMicrotask` use in server bundle to support React 19. [PR 505](https://github.com/shakacode/react_on_rails_pro/pull/505) by [alexeyr-ci](https://github.com/alexeyr-ci).
|
|
@@ -134,65 +169,84 @@ You can find the **package** version numbers from this repo's tags and below in
|
|
|
134
169
|
- Made compatible with Ruby 3.4. [PR 541](https://github.com/shakacode/react_on_rails_pro/pull/541) by [alexeyr-ci2](https://github.com/alexeyr-ci2).
|
|
135
170
|
|
|
136
171
|
## [3.2.1] - 2023-06-07
|
|
172
|
+
|
|
137
173
|
Fixed release, supports Ruby 2.7.5.
|
|
138
174
|
|
|
139
175
|
See branch https://github.com/shakacode/react_on_rails_pro/tree/3-support-ruby-2-7
|
|
140
176
|
|
|
141
177
|
### Fixed
|
|
178
|
+
|
|
142
179
|
- Removed console errors when `setTimeout` is used server-size. The call is silently ignored for seamless integration of https://github.com/petyosi/react-virtuoso
|
|
143
180
|
- Numerous Dependabot alerts
|
|
144
181
|
|
|
145
182
|
## Doc and Spec Only Updates
|
|
183
|
+
|
|
146
184
|
React 18 is now supported! Check the [React on Rails CHANGELOG.md](https://github.com/shakacode/react_on_rails/blob/master/CHANGELOG.md) for details and the updates to the [loadable-components instructions](https://github.com/shakacode/react_on_rails_pro/blob/master/docs/code-splitting-loadable-components.md).
|
|
147
185
|
|
|
148
186
|
### Improved
|
|
187
|
+
|
|
149
188
|
- Updated `Rubocop` version from `1.18.3` to `1.36.0`. Fixed Rubocop warnings. [PR 296](https://github.com/shakacode/react_on_rails_pro/pull/296) by [alkesh26](https://github.com/alkesh26).
|
|
150
189
|
- Updated dependencies to address known security vulnerabilities
|
|
151
190
|
|
|
152
191
|
## [3.1.0] - 2022-08-03
|
|
192
|
+
|
|
153
193
|
### Fixed
|
|
194
|
+
|
|
154
195
|
- Removes `include_execjs_polyfills` options from RoRP gem configuration & adds `include_timer_polyfills` option for Node Renderer configuration, which enables use of setTimeout & other timer functions during server rendering. [PR 281](https://github.com/shakacode/react_on_rails_pro/pull/281) by [judahmeek](https://github.com/judahmeek).
|
|
155
196
|
|
|
156
197
|
### Improvement
|
|
198
|
+
|
|
157
199
|
- Warn, do not raise on missing assets [PR 280](https://github.com/shakacode/react_on_rails_pro/pull/280) by [Romex91](https://github.com/Romex91)
|
|
158
200
|
|
|
159
201
|
## [3.0.1] - 2022-07-011
|
|
202
|
+
|
|
160
203
|
### Fixed
|
|
204
|
+
|
|
161
205
|
- Fix possible `uninitialized constant ReactOnRails (NameError)` in `lib/react_on_rails_pro/error.rb:4`. [PR 277](https://github.com/shakacode/react_on_rails_pro/pull/273) by [alexeyr](https://github.com/alexeyr).
|
|
162
206
|
|
|
163
207
|
## [3.0.0] - 2022-07-07
|
|
208
|
+
|
|
164
209
|
### Fixed
|
|
210
|
+
|
|
165
211
|
- Make asset paths in PrepareNodeRenderBundles relative too. The symlink to the bundle itself was made relative in #231, but asset symlinks remained absolute. This makes them relative too. Fixes #272. [PR 273](https://github.com/shakacode/react_on_rails_pro/pull/273) by [alexeyr](https://github.com/alexeyr).
|
|
166
212
|
|
|
167
213
|
## [3.0.0-rc.4] - 2022-06-28
|
|
214
|
+
|
|
168
215
|
### Fixed
|
|
216
|
+
|
|
169
217
|
- Add RAILS_ENV to bundle cache key. This ensures a development bundle will never get accidentally deployed to production. [PR 270](https://github.com/shakacode/react_on_rails_pro/pull/270) by [justin808](https://github.com/justin808).
|
|
170
218
|
- Replace use of utc_timestamp with Utils.bundle_hash. Important fix as timestamps are not stable between build time and the deployment of a Heroku slug. [PR 269](https://github.com/shakacode/react_on_rails_pro/pull/269) by [Judahmeek](https://github.com/Judahmeek).
|
|
171
219
|
|
|
172
220
|
## [3.0.0-rc.3] - 2022-04-14
|
|
173
221
|
|
|
174
222
|
### Fixed
|
|
223
|
+
|
|
175
224
|
- Fix prepare_node_renderer script. [PR 254](https://github.com/shakacode/react_on_rails_pro/pull/254) by [judahmeek](https://github.com/judahmeek).
|
|
176
225
|
- Better logging for error 'Request protocol undefined does not match installed renderer protocol'. [PR 252](https://github.com/shakacode/react_on_rails_pro/pull/252) by [justin808](https://github.com/justin808).
|
|
177
226
|
|
|
178
227
|
## [3.0.0-rc.1] - 2022-02-26
|
|
179
228
|
|
|
180
229
|
### Fixed
|
|
230
|
+
|
|
181
231
|
- Use relative source path for bundle symlink which conflicted with extraction of (Heroku) slugs caching resulting in incorrect extraction of the slugs due to absolute paths in the symlinks. [PR 231](https://github.com/shakacode/react_on_rails_pro/pull/231) by [judahmeek](https://github.com/judahmeek).
|
|
182
232
|
|
|
183
233
|
## [3.0.0-rc.0] - 2021-10-27
|
|
184
234
|
|
|
185
235
|
### Upgrading to 3.0
|
|
236
|
+
|
|
186
237
|
1. Changed rake task name from vm to node:
|
|
187
238
|
Rename react_on_rails_pro:pre_stage_bundle_for_vm_renderer to react_on_rails_pro:pre_stage_bundle_for_node_renderer
|
|
188
239
|
2. **Bundle Caching**: ReactOnRailsPro::AssetsPrecompile will automatically pre_stage_bundle_for_node_renderer if using the node_renderer. So don't do this twice in another place if using ReactOnRailsPro::AssetsPrecompile for bundle caching. You might have modified your own assets:precompile task.
|
|
189
240
|
|
|
190
241
|
### Changed
|
|
242
|
+
|
|
191
243
|
- Moved default location of placed node renderer sym links to be /.node-renderer-bundles as the /tmp directory is typically
|
|
192
244
|
cleared during slug trimming
|
|
193
245
|
|
|
194
246
|
### Added
|
|
247
|
+
|
|
195
248
|
- [PR 220](https://github.com/shakacode/react_on_rails_pro/pull/220) by [justin808](https://github.com/justin808).
|
|
249
|
+
|
|
196
250
|
- **Add `ssr_timeout` configuration** so the Rails server will not wait more than this many seconds for a SSR request to return once issued.
|
|
197
251
|
- Change default for `renderer_use_fallback_exec_js` to `false`.
|
|
198
252
|
- Change default log level to info.
|
|
@@ -200,6 +254,7 @@ React 18 is now supported! Check the [React on Rails CHANGELOG.md](https://githu
|
|
|
200
254
|
- Add support for render functions to be async (returning promises). Also add `include_execjs_polyfills` option to configuration for React on Rails to optionally stop stubbing of setTimeout, setInterval, & clearTimeout polyfills while using NodeRenderer. [PR 210](https://github.com/shakacode/react_on_rails_pro/pull/210) by [judahmeek](https://github.com/judahmeek).
|
|
201
255
|
|
|
202
256
|
### Fixed
|
|
257
|
+
|
|
203
258
|
- Ability to call `server_render_js(raw_js)` fixed. Previously, always errored.
|
|
204
259
|
- Errors during rendering result in ReactOnRails::PrerenderError
|
|
205
260
|
- When retrying rendering, the retry message is more clear
|
|
@@ -207,6 +262,7 @@ React 18 is now supported! Check the [React on Rails CHANGELOG.md](https://githu
|
|
|
207
262
|
## [2.3.0] - 2021-09-22
|
|
208
263
|
|
|
209
264
|
### Added
|
|
265
|
+
|
|
210
266
|
- Configuration option for `ssr_timeout` so the Rails server will not wait more than this many seconds
|
|
211
267
|
for a SSR request to return once issued. Default timeout if not set is 5.
|
|
212
268
|
`config.ssr_timeout = 5`
|
|
@@ -221,110 +277,144 @@ React 18 is now supported! Check the [React on Rails CHANGELOG.md](https://githu
|
|
|
221
277
|
[justin808](https://github.com/justin808) and [ershadul1](https://github.com/ershadul1).
|
|
222
278
|
|
|
223
279
|
## [2.2.0] - 2021-07-13
|
|
280
|
+
|
|
224
281
|
- Change rake react_on_rails_pro:pre_stage_bundle_for_vm_renderer to use symlinks to save slug size. [PR 202](https://github.com/shakacode/react_on_rails_pro/pull/202) by [justin808](https://github.com/justin808).
|
|
225
282
|
|
|
226
283
|
## [2.1.1] - 2021-05-29
|
|
284
|
+
|
|
227
285
|
- Add optional extra cache values for bundle caching. The cache adapter can now provide a method cache_keys. [PR 196](https://github.com/shakacode/react_on_rails_pro/pull/196) by [justin808](https://github.com/justin808).
|
|
228
286
|
|
|
229
287
|
## [2.1.0] - 2021-05-15
|
|
230
288
|
|
|
231
289
|
### Added
|
|
290
|
+
|
|
232
291
|
- Optional production bundle caching. [PR 179](https://github.com/shakacode/react_on_rails_pro/pull/179) by [judahmeek](https://github.com/judahmeek).
|
|
233
292
|
- Added configurations:
|
|
234
293
|
- `excluded_dependency_globs`: don't include these in caches
|
|
235
294
|
- `remote_bundle_cache_adapter`: See `docs/bundle-caching.md
|
|
236
295
|
|
|
237
|
-
|
|
296
|
+
---
|
|
238
297
|
|
|
239
298
|
### 2.0 Upgrade Steps
|
|
299
|
+
|
|
240
300
|
1. Update React on Rails to 12.2.0
|
|
241
301
|
2. Be sure to use an API key that has the Github package access and know your API key username. For questions, message Justin Gordon on Slack or [justin@shakacode.com](mailto:justin@shakacode.com).
|
|
242
302
|
|
|
243
|
-
|
|
244
303
|
In your `config/initializers/react_on_rails_pro.rb`:
|
|
304
|
+
|
|
245
305
|
1. Rename any references from `config.serializer_globs` to `config.dependency_globs`
|
|
246
306
|
1. Rename any references from `vm-renderer` to `node-renderer`
|
|
247
307
|
1. Rename `vmRenderer` to `NodeRenderer`
|
|
248
308
|
|
|
249
309
|
Follow the steps for the new installation that uses Github Packages: [docs/installation.md](https://github.com/shakacode/react_on_rails_pro/blob/master/docs/installation.md).
|
|
310
|
+
|
|
250
311
|
1. Be sure to namespace the package like `require('@shakacode-tools/react-on-rails-pro-node-renderer');`
|
|
251
312
|
1. Add the Honeybadger ("@honeybadger-io/js") or Sentry ("@sentry/node") NPM packages, as those used to be **dependencies**. Now they are optional.
|
|
252
313
|
1. Add the `@sentry/tracing` package if you want to try Sentry tracing. See [Error Reporting and Tracing for Sentry and HoneyBadger](./docs/node-renderer/error-reporting-and-tracing.md).
|
|
253
314
|
|
|
254
315
|
For example, the old code might be:
|
|
316
|
+
|
|
255
317
|
```js
|
|
256
318
|
const { reactOnRailsProVmRenderer } = require('react-on-rails-pro-vm-renderer');
|
|
257
319
|
```
|
|
320
|
+
|
|
258
321
|
New
|
|
322
|
+
|
|
259
323
|
```js
|
|
260
324
|
const { reactOnRailsProNodeRenderer } = require('@shakacode-tools/react-on-rails-pro-node-renderer');
|
|
261
325
|
```
|
|
262
|
-
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
263
329
|
## [2.0.0] - 2021-04-02
|
|
330
|
+
|
|
264
331
|
- See 2.0 Upgrade steps!
|
|
265
332
|
|
|
266
333
|
## [2.0.0.beta.3] - 2021-03-31
|
|
334
|
+
|
|
267
335
|
#### Improved
|
|
336
|
+
|
|
268
337
|
- Warn, do not raise on missing assets [PR 176](https://github.com/shakacode/react_on_rails_pro/pull/176) by [Romex91](https://github.com/Romex91)
|
|
269
338
|
|
|
270
339
|
## [2.0.0.beta.2] - 2021-03-23
|
|
340
|
+
|
|
271
341
|
#### Added
|
|
342
|
+
|
|
272
343
|
- Added option `config.throw_js_errors` so that any errors in SSR will go to the console plus HoneyBadger/Sentry. [PR 174](https://github.com/shakacode/react_on_rails_pro/pull/174) by [justin808](https://github.com/justin808).
|
|
273
344
|
|
|
274
345
|
#### Fixed
|
|
346
|
+
|
|
275
347
|
- Logs missing error reporting packages (Sentry/HoneyBadger) instead of throwing an error. [PR 174](https://github.com/shakacode/react_on_rails_pro/pull/174) by [justin808](https://github.com/justin808).
|
|
276
348
|
|
|
277
349
|
## [2.0.0.beta.1] - 2021-03-14
|
|
278
|
-
* Added Sentry Tracing support. [PR 150](https://github.com/shakacode/react_on_rails_pro/pull/150) by [ashgaliyev](https://github.com/ashgaliyev). To use this feature, you need to add `config.sentryTracing = true` (or ENV `SENTRY_TRACING=true`) and optionally the `config.sentryTracesSampleRate = 0.5` (or ENV `SENTRY_TRACES_SAMPLE_RATE=0.5`). The value of the sample rate is the percentage of requests to trace. For documentation of Sentry Tracing, see the [Sentry Performance Monitoring Docs](https://docs.sentry.io/platforms/ruby/performance/), the [Sentry Distributed Tracing Docs](https://docs.sentry.io/product/performance/distributed-tracing/), and the [Sentry Sampling Transactions Docs](https://docs.sentry.io/platforms/ruby/performance/sampling/). The default **config.sentryTracesSampleRate** is **0.1**.
|
|
279
350
|
|
|
280
|
-
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
-
|
|
351
|
+
- Added Sentry Tracing support. [PR 150](https://github.com/shakacode/react_on_rails_pro/pull/150) by [ashgaliyev](https://github.com/ashgaliyev). To use this feature, you need to add `config.sentryTracing = true` (or ENV `SENTRY_TRACING=true`) and optionally the `config.sentryTracesSampleRate = 0.5` (or ENV `SENTRY_TRACES_SAMPLE_RATE=0.5`). The value of the sample rate is the percentage of requests to trace. For documentation of Sentry Tracing, see the [Sentry Performance Monitoring Docs](https://docs.sentry.io/platforms/ruby/performance/), the [Sentry Distributed Tracing Docs](https://docs.sentry.io/product/performance/distributed-tracing/), and the [Sentry Sampling Transactions Docs](https://docs.sentry.io/platforms/ruby/performance/sampling/). The default **config.sentryTracesSampleRate** is **0.1**.
|
|
352
|
+
|
|
353
|
+
* Renamed `config.serializer_globs`to `config.dependency_globs`. [PR 165](https://github.com/shakacode/react_on_rails_pro/pull/165) by [judahmeek](https://github.com/judahmeek)
|
|
354
|
+
* RORP_CACHE_HIT and RORP_CACHE_KEY is returned for prerender caching, which is only when there is no fragment caching.
|
|
355
|
+
* Improve cache information from react_component_hash. Hash result now includes 2 new keys
|
|
356
|
+
- RORP_CACHE_HIT
|
|
357
|
+
- RORP_CACHE_KEY
|
|
358
|
+
Additionally, ReactOnRailsPro::Utils.printable_cache_key(cache_key) added.
|
|
359
|
+
* [PR 170](https://github.com/shakacode/react_on_rails_pro/pull/170) by [justin808](https://github.com/justin808).
|
|
287
360
|
|
|
288
361
|
## [2.0.0.beta.0] - 2020-12-03
|
|
289
|
-
|
|
362
|
+
|
|
363
|
+
- Renamed VM Renderer to Node Renderer. [PR 140](https://github.com/shakacode/react_on_rails_pro/pull/140) by [justin808](https://github.com/justin808).
|
|
290
364
|
|
|
291
365
|
### Fixed
|
|
366
|
+
|
|
292
367
|
- Cache key not stable between machines same deploy. [PR 159](https://github.com/shakacode/react_on_rails_pro/pull/136) by [justin808](https://github.com/justin808).
|
|
293
368
|
|
|
294
369
|
## [1.5.6] - 2020-12-02
|
|
370
|
+
|
|
295
371
|
Switched to releases being published packages.
|
|
296
372
|
|
|
297
373
|
### Fixed
|
|
374
|
+
|
|
298
375
|
- Minor fix to error messages
|
|
299
376
|
- Updated gem and package dependencies
|
|
300
377
|
|
|
301
378
|
## [1.5.5] - 2020-08-17
|
|
379
|
+
|
|
302
380
|
### Added
|
|
381
|
+
|
|
303
382
|
- Added request retrying in case of timeouts. [PR 136](https://github.com/shakacode/react_on_rails_pro/pull/136) by [ashgaliyev](https://github.com/ashgaliyev).
|
|
304
383
|
|
|
305
384
|
## [1.5.4] - 2020-07-22
|
|
385
|
+
|
|
306
386
|
### Added
|
|
387
|
+
|
|
307
388
|
- Added support for Github packages. To switch from using the Github private repo with a tag, request a new auth token from justin@shakacode.com.
|
|
308
389
|
|
|
309
390
|
## [1.5.3] - 2020-06-30
|
|
391
|
+
|
|
310
392
|
### Added
|
|
393
|
+
|
|
311
394
|
- Added sentry support. [PR 132](https://github.com/shakacode/react_on_rails_pro/pull/132) by [ashgaliyev](https://github.com/ashgaliyev).
|
|
312
395
|
|
|
313
396
|
## [1.5.2] - 2020-06-25
|
|
397
|
+
|
|
314
398
|
### Improved
|
|
399
|
+
|
|
315
400
|
- Added `process` and `Buffer` to the context if `suppportModules === true`. [PR 131](https://github.com/shakacode/react_on_rails_pro/pull/131) by [ashgaliyev](https://github.com/ashgaliyev).
|
|
316
401
|
|
|
317
402
|
## [1.5.1] - 2020-03-25
|
|
403
|
+
|
|
318
404
|
### Improved
|
|
319
|
-
|
|
320
|
-
-
|
|
405
|
+
|
|
406
|
+
- config.assets_to_copy can take a single value in addition to an array. [PR 122](https://github.com/shakacode/react_on_rails_pro/pull/122) [justin808](https://github.com/justin808).
|
|
407
|
+
- Better handling for an invalid renderer_url configuration. [PR 109](https://github.com/shakacode/react_on_rails_pro/pull/109) [justin808](https://github.com/justin808).
|
|
321
408
|
|
|
322
409
|
## [1.5.0] - 2020-03-17
|
|
410
|
+
|
|
323
411
|
### Added
|
|
412
|
+
|
|
324
413
|
- Added support for loadable components SSR [PR 112](https://github.com/shakacode/react_on_rails_pro/pull/112) and [PR 118](https://github.com/shakacode/react_on_rails_pro/pull/118) by [ashgaliyev](https://github.com/ashgaliyev) and [justin808](https://github.com/justin808).
|
|
325
414
|
- New option added to the node-renderer: `supportModules`. This setting is necessary for using [loadable-components](https://github.com/gregberge/loadable-components/). See [Server-side rendering with code-splitting using Loadable/Components](https://github.com/shakacode/react_on_rails_pro/blob/master/docs/code-splitting-loadable-components.md) for more detailss.
|
|
326
415
|
|
|
327
416
|
### Changed
|
|
417
|
+
|
|
328
418
|
- Updated to bundler V2. [PR 114](https://github.com/shakacode/react_on_rails_pro/pull/114) by [justin808](https://github.com/justin808).
|
|
329
419
|
- Updated spec dummy. [PR 115](https://github.com/shakacode/react_on_rails_pro/pull/115) by [justin808](https://github.com/justin808).
|
|
330
420
|
|
|
@@ -333,28 +423,39 @@ Switched to releases being published packages.
|
|
|
333
423
|
## [1.4.4] - 2019-06-10
|
|
334
424
|
|
|
335
425
|
### Fixed
|
|
426
|
+
|
|
336
427
|
- Improve error handling. [PR 103](https://github.com/shakacode/react_on_rails_pro/pull/103) by [justin808](https://github.com/justin808).
|
|
337
428
|
|
|
338
429
|
## [1.4.3] - 2019-06-06
|
|
430
|
+
|
|
339
431
|
### Fixed
|
|
432
|
+
|
|
340
433
|
- Lock timeouts and update error handling. Previously, many renderer errors resulted in crashes rather than a fallback
|
|
341
|
-
to ExecJS. Also, lengthened the lock timeouts for the bundle lock. [PR 100](https://github.com/shakacode/react_on_rails_pro/pull/100) by [justin808](https://github.com/justin808).
|
|
434
|
+
to ExecJS. Also, lengthened the lock timeouts for the bundle lock. [PR 100](https://github.com/shakacode/react_on_rails_pro/pull/100) by [justin808](https://github.com/justin808).
|
|
342
435
|
- Added check to skip pre-render cache for components rendered by `cache_react_component` and `cache_react_component_hash` because this saves on cache storage, thus improving overall performance. [PR 91](https://github.com/shakacode/react_on_rails_pro/pull/91) by [ashgaliyev](https://github.com/ashgaliyev).
|
|
343
436
|
|
|
344
437
|
## [1.4.2] - 2019-05-26
|
|
438
|
+
|
|
345
439
|
### Changed
|
|
440
|
+
|
|
346
441
|
- Removed babel processing. Node v12 recommended. [PR 93](https://github.com/shakacode/react_on_rails_pro/pull/91) by [ashgaliyev](https://github.com/ashgaliyev).
|
|
347
442
|
|
|
348
443
|
## [1.4.1] - 2019-03-19
|
|
444
|
+
|
|
349
445
|
### Fixed
|
|
446
|
+
|
|
350
447
|
- `cached_react_component_hash` incorrectly failed to include the bundle_hash unless `prerender: true` was used as an option. This fix addresses that issue. There is no need to use `prerender: true` as generating a hash only makes sense if prerendering is done. [PR 82](https://github.com/shakacode/react_on_rails_pro/pull/82) by [justin808](https://github.com/justin808).
|
|
351
448
|
|
|
352
449
|
## [1.4.0] - 2019-01-15
|
|
450
|
+
|
|
353
451
|
### Added
|
|
452
|
+
|
|
354
453
|
- Added config option `honeybadgerApiKey` or ENV value `HONEYBADGER_API_KEY` so that errors can flow to HoneyBadger. [PR 93](https://github.com/shakacode/react_on_rails_pro/pull/75) by [ashgaliyev](https://github.com/ashgaliyev).
|
|
355
454
|
|
|
356
455
|
## [1.3.1] - 2018-12-26
|
|
456
|
+
|
|
357
457
|
### Added
|
|
458
|
+
|
|
358
459
|
- Added option `cache_options:` to the cached_react_component_hash and cached_react_component
|
|
359
460
|
a hash including values such as :compress, :expires_in, :race_condition_ttl
|
|
360
461
|
- Added option `:if`, `:unless` to the cached_react_component_hash and cached_react_component
|
|
@@ -365,49 +466,61 @@ to ExecJS. Also, lengthened the lock timeouts for the bundle lock. [PR 100](http
|
|
|
365
466
|
Above are in [PR 82](https://github.com/shakacode/react_on_rails_pro/pull/82) by [justin808](https://github.com/justin808)
|
|
366
467
|
|
|
367
468
|
## [1.3.0] - 2018-12-18
|
|
368
|
-
|
|
469
|
+
|
|
470
|
+
- **Migration:** react_on_rails must be updated to version >= 11.2.1.
|
|
369
471
|
|
|
370
472
|
### Added
|
|
473
|
+
|
|
371
474
|
- Added `config.ssr_pre_hook_js` to call some JavaScript to clear out state from libraries that
|
|
372
475
|
misbehave during server Rendering. For example, suppose that we had to call `SomeLibrary.clearCache()`
|
|
373
476
|
between calls to server renderer. Note, SomeLibrary needs to be globally exposed in the server
|
|
374
477
|
rendering webpack bundle.
|
|
375
478
|
|
|
376
479
|
## [1.2.1] - 2018-08-26
|
|
480
|
+
|
|
377
481
|
### Fixed
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
482
|
+
|
|
483
|
+
- Major overhaul of the node-renderer. Improved logging and error handling, ready for async
|
|
484
|
+
- Fixed race conditions with init of renderer
|
|
485
|
+
- Improved logging
|
|
486
|
+
- Ensuring all places that an error will result in a 400 sent to the rails server.
|
|
487
|
+
- Handle threading issue with writing the bundle by using a lockfile.
|
|
488
|
+
- Change internals so that async rendering is ready.
|
|
489
|
+
- Add debugging instructions
|
|
490
|
+
- Promisified some node APIs and wrote everything with careful async/await syntax, ensuring that errors are always caught and that promises are always returned from the async functions.
|
|
386
491
|
|
|
387
492
|
Above are in [PR 65](https://github.com/shakacode/react_on_rails_pro/pull/65) by [justin808](https://github.com/justin808).
|
|
388
493
|
|
|
389
494
|
## [1.2.0]
|
|
390
|
-
|
|
495
|
+
|
|
496
|
+
- **Migration:** react_on_rails must be updated to version 11.1.x+.
|
|
391
497
|
|
|
392
498
|
### Added
|
|
499
|
+
|
|
393
500
|
- Added `serializer_globs` configuration value to add a MD5 of serializer files to the cache key for fragment caching. [#60](https://github.com/shakacode/react_on_rails_pro/pull/60) by [justin808](https://github.com/justin808).
|
|
394
501
|
- More efficient calculation of the request digest. Previously, we would do a regexp replace to filter out the dom node id because if was randomized. React on Rails 11.1.x provides a default to say not to randomize. [#64](https://github.com/shakacode/react_on_rails_pro/pull/64) by [justin808](https://github.com/justin808).
|
|
395
502
|
|
|
396
503
|
### Fixed
|
|
504
|
+
|
|
397
505
|
- Fix for truncation of code and better error logs. This fixes the issue with truncation of the code when over 1 MB due to large props. Max changes to 10 MB. [#63](https://github.com/shakacode/react_on_rails_pro/pull/63) by [justin808](https://github.com/justin808).
|
|
398
506
|
|
|
399
507
|
## [1.1.0]
|
|
508
|
+
|
|
400
509
|
### Added
|
|
510
|
+
|
|
401
511
|
- Added `tracing` configuration flag to time server rendering calls
|
|
402
512
|
|
|
403
513
|
### Changed
|
|
514
|
+
|
|
404
515
|
- Default usage of PORT and LOG_LEVEL for the node-renderer bin file changed to use values RENDERER_PORT and RENDERER_LOG_LEVEL
|
|
405
516
|
- Default Rails config.server_render is "ExecJS". Previously was "VmRenderer"
|
|
406
517
|
|
|
407
518
|
Above changes in [PR 52](https://github.com/shakacode/react_on_rails_pro/pull/52) by [justin808](https://github.com/justin808).
|
|
408
519
|
|
|
409
520
|
## [1.0.0]
|
|
521
|
+
|
|
410
522
|
### Added
|
|
523
|
+
|
|
411
524
|
- support for node renderer & fallback renderer
|
|
412
525
|
- support for javascript evaluation caching
|
|
413
526
|
- advanced error handling
|
|
@@ -347,24 +347,13 @@ Contact Justin Gordon, [justin@shakacode.com](mailto:justin@shakacode.com) for r
|
|
|
347
347
|
|
|
348
348
|
## Prerequisites
|
|
349
349
|
|
|
350
|
-
You need authentication for
|
|
350
|
+
You need authentication for public package registries:
|
|
351
351
|
|
|
352
352
|
**Public packages (npmjs.org + rubygems.org):**
|
|
353
353
|
- NPM: Run `npm login`
|
|
354
354
|
- RubyGems: Standard credentials via `gem push`
|
|
355
355
|
|
|
356
|
-
|
|
357
|
-
- Get a GitHub personal access token with `write:packages` scope
|
|
358
|
-
- Configure `~/.npmrc`:
|
|
359
|
-
```ini
|
|
360
|
-
//npm.pkg.github.com/:_authToken=<TOKEN>
|
|
361
|
-
always-auth=true
|
|
362
|
-
```
|
|
363
|
-
- Configure `~/.gem/credentials`:
|
|
364
|
-
```yaml
|
|
365
|
-
:github: Bearer <GITHUB_TOKEN>
|
|
366
|
-
```
|
|
367
|
-
- Set environment variable: `export GITHUB_TOKEN=<TOKEN>`
|
|
356
|
+
All React on Rails and React on Rails Pro packages are now published publicly to npmjs.org and RubyGems.org.
|
|
368
357
|
|
|
369
358
|
## Release Command
|
|
370
359
|
|
|
@@ -50,6 +50,7 @@ group :development, :test do
|
|
|
50
50
|
gem 'pry-rails' # Causes rails console to open pry. `DISABLE_PRY_RAILS=1 rails c` can still open with IRB
|
|
51
51
|
gem 'pry-theme' # An easy way to customize Pry colors via theme files
|
|
52
52
|
|
|
53
|
+
gem "rbs", require: false
|
|
53
54
|
gem "rubocop", "1.36.0", require: false
|
|
54
55
|
gem 'rubocop-performance', "1.15.0", require: false
|
|
55
56
|
gem 'rubocop-rspec', "2.13.2", require: false
|