Skip to content

0.5.0

Latest

Choose a tag to compare

@davesnx davesnx released this 03 Apr 15:07
· 22 commits to main since this release

CHANGES:

  • Support Promise caching in react.client.components by @davesnx
  • Reorder head content exactly like react-dom/server by @davesnx
  • Implement hydration-compatible useId using React's tree-position-based algorithm, matching React 19 output. Adds ?identifier_prefix to renderToString, renderToStaticMarkup, renderToStream and render_html. Fixes #93
  • Fix renderToString rendering Suspense children twice (once as trial, once with markers) due to side-effectful match expression. Children are now rendered into a separate buffer
  • Change shape for React.Event.* since Js.t is now supported. All methods fail at runtime with Runtime.fail_impossible_action_in_ssr
  • [server-reason-react.ppx] Strip units at any position (supporting mlx difference with [@jsx] transformations)
  • Add runtime error with clear message when React.cloneElement is used with uppercase components by @davesnx
  • Allow [@platform js] and [@browser_only] on externals to conditionally exclude them from native builds. Fixes #170 by @davesnx
  • Generate makeProps in the PPX by @davesnx in #364
  • Implement Js.t natively with Js.Internal and a type registry by @davesnx in #363
  • Add React.useActionState by @davesnx
  • Add key into client components by @davesnx
  • Fix several functions in Belt to match specification (Belt.Array.setExn, Belt.Array.concat, Belt.MutableMap.remove, Belt.HashMap.keepMapInPlace, and avoid double callback evaluation) by @yasunariw in #362
  • Implement Belt.Array.getUndefined and annotate Belt.Array.push as not implemented by @davesnx
  • Remove deprecated folder from Belt and reorganise Belt tests by @davesnx
  • Fix leaking was_previous when node was closing by @davesnx in #361
  • Fix React.cloneElement on Static {} components by @davesnx in #359
  • Require ppxlib >= 0.36 by @davesnx