Skip to content

[0.88] Sync React 19.3.0 and required Fabric UIManager export #1408

Description

@cipolleschi

Target Branch

0.88

Link to commit or PR to be picked

Description

Requesting the React 19.3.0 sync for the 0.88 release. Please pick the commits in this order:

  1. 73a76ddced2088d925809432fd6b0503f239dbfe (#58398)
  2. b0b71421c1964e046ba2ad156669c7d32e4c538f (#58446)

#58398 is a required runtime prerequisite that is not present on 0.88-stable. The React 19.3 Fabric renderer imports react-native/react-private-interface and dereferences fabricUIManager during module initialization. Without #58398, that property is undefined and renderer initialization fails. The prerequisite exposes the existing Fabric UIManager proxy through the private interface.

I reviewed the contiguous commits after the sync on main. None is a corrective fix required by the React 19.3 update:

  • #58447 only enables previously guarded Fantom tests.
  • #58450 separately enables EventTarget-based event dispatch by default; the synced renderer retains the legacy path, so this behavior rollout is not required for correctness.
  • #58399, #58452, #58454, and #58455 remove bindings, forwarding modules, globals, and getters that the new renderer no longer consumes.

I also reviewed #58443, which landed before the sync. It aligns the FabricUIManager Flow interface and cached-property list with the native binding, but it is not a runtime prerequisite: the existing proxy explicitly falls back to the original native object for uncached properties, and the 0.88 native binding already provides the methods used by the new renderer.

A three-way application check against current origin/0.88-stable shows #58398 applying cleanly. The sync has expected content conflicts only in packages/rn-tester/package.json and private/helloworld/package.json, where the release branch contains 0.88.0-rc.0 version stamps and main contains development versions. The React 19.3 dependency updates should be applied while retaining the 0.88 release version stamps.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type Pick RequestPick requests to include commits inside a React Native release

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions