All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- The
useWorker()
export was removed from@remote-ui/react/host
. If you want the same API, you can use@shopify/react-web-worker
instead. This change was made as a result of deprecating@remote-ui/web-workers
.
- Prevented
children
from being rendered unnecessarily in React when a remote node does not have any children (pull request)
- Add component and text renderer to controller (pull request)
- Fix types dependency (pull request).
- Fix worker webpack build (pull request).
- Add
RemoteFragment
to support component props as sub tree (39be759).
- Breaking: now uses the
jsx-runtime
transform, and therefore requires React^17.0.0
(pull request). - Breaking: updated the dependency on
@remote-ui/core
to2.0.0
.
- Breaking: the
RemoteRenderer
component no longer accepts acomponents
mapping directly (pull request). Instead, it accepts acontroller
prop, which you must construct with your component mapping using the newcreateController
function. If you are only using the remote React utilities (e.g., you were not importing from@remote-ui/react/host
), this change does not affect you. - Loosened the version constraints on React and
react-reconciler
to allow the usage of React 17.x (pull request).
-
Breaking: calling
render()
will no longer callRemoteRoot#mount()
after the initial reconciliation (pull request). To reproduce the old behavior, you can use the new third argument torender()
, a callback that is executed after the initial reconciliation:import {createRemoteRoot} from '@remote-ui/core'; import {render} from '@remote-ui/react'; const root = createRemoteRoot(() => {}); render(<App />, root, () => { root.mount(); });
- Fixed an issue where the
RemoteRenderer
component would throw an error if a remote component was removed from the tree while its host representation was in the process of mounting.
- Added entry point information to
package.json
.
- Fixed a build issue that caused errors when using a number of packages in projects that do not have
[email protected]
installed.
Initial release.