close
Skip to content

Add umbrella for react/renderer/uimanager subtree (#58025) - #58025

Open
coado wants to merge 6 commits into
react:mainfrom
coado:export-D116763079
Open

Add umbrella for react/renderer/uimanager subtree (#58025)#58025
coado wants to merge 6 commits into
react:mainfrom
coado:export-D116763079

Conversation

@coado

@coado coado commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary:

Rolls the umbrella-header + include-guard mechanism across the
react/renderer/uimanager module, classifying the target as public.

  • Adds <React/UIManager.h>, re-exporting the module's public interface headers.
  • Adds <react/cxxstableapi/UmbrellaGuard.h> to the module's public headers.
  • Wires the umbrella header directory into the Buck, CMake, CocoaPods, Gradle,
    and iOS prebuild header configurations.
  • Deprecated SurfaceRegistryBinding.h does not include umbrella guard because it will fail anyway when included directly (it includes AppRegistryBinding that does include guard).

React Native's own sources keep using the fine-grained
<react/renderer/uimanager/...> includes; only outside consumers use the
umbrella.

Changelog: [Internal]

Differential Revision: D116763079

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 20, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Aug 20, 2026
@meta-codesync

meta-codesync Bot commented Aug 20, 2026

Copy link
Copy Markdown

@coado has exported this pull request. If you are a Meta employee, you can view the originating Diff in D116763079.

Dawid Małecki added 5 commits August 20, 2026 04:52
Summary:
Pull Request resolved: react#57312

This change rolls the umbrella-header + include-guard mechanism across the `react/renderer/components/*` modules, classifying each target as public, for-frameworks, or private. The change includes:

- react/renderer/components/progressbar:androidprogressbar - `private`,
- react/renderer/components/switch:androidswitch - `private`,
- react/renderer/components/image:image - `public`,
- react/renderer/components/inputaccessory:inputaccessory - `private`,
- react/renderer/components/legacyviewmanagerinterop:legacyviewmanagerinterop - `private`
- react/renderer/components/modal:modal - `public`,
- react/renderer/components/text:text - `public`,
- react/renderer/components/root:root - `public`,
- react/renderer/components/safeareaview:safeareaview - `private`,
- react/renderer/components/scrollview:scrollview - `public`,
- react/renderer/components/unimplementedview:unimplementedview - `private`,
- react/renderer/components/view:view - `public`,
- react/renderer/components/virtualview:virtualview - `private`,
- react/renderer/components/textinput:textinput - `for frameworks`,

Changelog: [Internal]

Differential Revision: D109316840
Summary:
Move private performance includes out of framework-facing scheduler headers and into their implementation files. Store the conditional CDP reporters behind unique pointers so their declarations can remain private implementation details.

Changelog: [Internal]

Differential Revision: D116621742
Summary:
Adds private guards to `react/performance/timeline:timeline` and
`react/performance/cdpmetrics:cdpmetrics` headers preventing from inclusions when `RN_STABLE_API`  is turned on.

Differential Revision: D109558177
Summary:
Add `<React/MapBuffer.h>` as the canonical public C++ entry point for MapBuffer and MapBufferBuilder. Guard direct leaf-header inclusion for strict API consumers while preserving existing React Native builds and legacy include paths.

Export and stage the umbrella consistently through Buck, CMake, Android Prefab, CocoaPods, and the Apple prebuilt-header inventory.

Changelog:
[General][Added] - Add `<React/MapBuffer.h>` as the stable public C++ entry point for MapBuffer

Differential Revision: D116632721
@meta-codesync meta-codesync Bot changed the title Add umbrella for react/renderer/uimanager subtree Add umbrella for react/renderer/uimanager subtree (#58025) Aug 20, 2026
coado added a commit to coado/react-native that referenced this pull request Aug 20, 2026
Summary:
Pull Request resolved: react#58025

Rolls the umbrella-header + include-guard mechanism across the
`react/renderer/uimanager` module, classifying the target as public.

- Adds `<React/UIManager.h>`, re-exporting the module's public interface headers.
- Adds `<react/cxxstableapi/UmbrellaGuard.h>` to the module's public headers.
- Wires the umbrella header directory into the Buck, CMake, CocoaPods, Gradle,
  and iOS prebuild header configurations.
- Deprecated `SurfaceRegistryBinding.h` does not include umbrella guard because it will fail anyway when included directly (it includes AppRegistryBinding that does include guard).

React Native's own sources keep using the fine-grained
`<react/renderer/uimanager/...>` includes; only outside consumers use the
umbrella.

Changelog: [Internal]

Differential Revision: D116763079
@coado
coado force-pushed the export-D116763079 branch from 40c31b9 to 73ab827 Compare August 20, 2026 12:41
Summary:
Pull Request resolved: react#58025

Rolls the umbrella-header + include-guard mechanism across the
`react/renderer/uimanager` module, classifying the target as public.

- Adds `<React/UIManager.h>`, re-exporting the module's public interface headers.
- Adds `<react/cxxstableapi/UmbrellaGuard.h>` to the module's public headers.
- Wires the umbrella header directory into the Buck, CMake, CocoaPods, Gradle,
  and iOS prebuild header configurations.
- Deprecated `SurfaceRegistryBinding.h` does not include umbrella guard because it will fail anyway when included directly (it includes AppRegistryBinding that does include guard).

React Native's own sources keep using the fine-grained
`<react/renderer/uimanager/...>` includes; only outside consumers use the
umbrella.

Changelog: [Internal]

Differential Revision: D116763079
@coado
coado force-pushed the export-D116763079 branch from 73ab827 to 31453e2 Compare August 20, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant