Skip to content

Latest commit

 

History

History
126 lines (70 loc) · 6.94 KB

CHANGELOG.md

File metadata and controls

126 lines (70 loc) · 6.94 KB

Changelog

5.0.0

Major Changes

  • #191 77ba3da Thanks @lemonmade! - Added support for React 18 by having the consumer own the versions of react and react-reconciler. If you are currently using React 17 only, and are rendering in the “remote” context, you will need to add a dependency on react-reconciler^0.27.0. If you are using React 18, you will need to manually install the version of react-reconciler that matches up to that version (currently, ^0.29.0).

  • #191 77ba3da Thanks @lemonmade! - Removed re-export of @remote-ui/rpc. If you need retain or release, import them directly from @remote-ui/rpc instead.

4.6.0

Minor Changes

  • #197 e15d142 Thanks @lemonmade! - Added a number of methods that align more closely with the corresponding DOM API, and deprecated a few existing methods with overlapping functionality:

    • RemoteParent.appendChild is deprecated, with a new RemoteParent.append API recommended instead. This new API matches the Element.append DOM API: it allows you to pass multiple children, including strings that are converted to text nodes.
    • RemoteParent.insertChildBefore is deprecated, with a new RemoteParent.insertBefore API recommended instead. This matches the Node.insertBefore DOM API, including the fact that the second argument can be null (in which case, the method behaves the same as append
    • RemoteParent.replaceChildren is new, and matches the Element.replaceChildren DOM API. It allows passing any number of children/ strings, and those are used to fully replace the existing children.
    • RemoteComponent.remove and RemoteText.remove are new, and match the Element.remove DOM API.
    • RemoteText.updateText is deprecated in favor of a new RemoteText.update method, which is a little shorter.

Patch Changes

Deprecated

  • The render function is deprecated. Please move to using the new createRoot instead, which matches the API provided by React.

[4.5.1] - 2022-05-16

  • Fixed a missing useAttached() export in the @shopify/remote-ui/host entrypoint.

[4.5.0]

  • Added a parent property to the ControllerOptions#renderComponent() method, which allows you to customize the host rendering of a component based on where it is in the UI component tree (pull request)

[4.4.5]

[4.4.3]

[4.4.2]

  • Fixed rendering a single child inside a component that takes fragmentProps (pull request).

[4.4.0] - 2022-01-13

  • Calling render() multiple times with the same RemoteRoot now updates the root React element being rendered to the RemoteRoot (pull request).

[4.3.0] - 2021-11-08

Breaking Change

[4.2.2] - 2021-10-15

  • Prevented children from being rendered unnecessarily in React when a remote node does not have any children (pull request)

[4.2.0] - 2021-07-19

  • Add component and text renderer to controller (pull request)

[4.1.5] - 2021-06-29

[4.1.4] - 2021-06-28

[4.1.0] - 2021-05-31

  • Add RemoteFragment to support component props as sub tree (39be759).

[4.0.0] - 2020-02-13

  • Breaking: now uses the jsx-runtime transform, and therefore requires React ^17.0.0 (pull request).
  • Breaking: updated the dependency on @remote-ui/core to 2.0.0.

[3.0.0] - 2020-12-04

  • Breaking: the RemoteRenderer component no longer accepts a components mapping directly (pull request). Instead, it accepts a controller prop, which you must construct with your component mapping using the new createController 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).

[2.0.0] - 2020-10-01

  • Breaking: calling render() will no longer call RemoteRoot#mount() after the initial reconciliation (pull request). To reproduce the old behavior, you can use the new third argument to render(), 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();
    });

[1.0.6] - 2020-06-25

  • 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.

[1.0.3] - 2020-06-24

Fixed

  • Added entry point information to package.json.

[1.0.1] - 2020-06-23

Fixed

  • Fixed a build issue that caused errors when using a number of packages in projects that do not have [email protected] installed.

[1.0.0] - 2020-06-23

Initial release.