Skip to content

Cover react/featureflags with Stable API guards (#58083) - #58083

Open
j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D117172757
Open

Cover react/featureflags with Stable API guards (#58083)#58083
j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D117172757

Conversation

@j-piasecki

@j-piasecki j-piasecki commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary:

Classifies react/featureflags:featureflags as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella React/FeatureFlags.h as its public entry point.

This module's headers are generated, so the UmbrellaGuard.h include is added to the templates in scripts/featureflags/templates/common-cxx/ rather than to the headers themselves. ReactNativeFeatureFlagsOverridesOSSStable.h is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling react/nativemodule/featureflags:featureflags target is private under the same model.

The guards are inert unless a consumer defines RN_STRICT_API, so there is no behavior change.

Changelog:
[General][Added] - Add <React/FeatureFlags.h> umbrella header as the public entry point for react/featureflags

Reviewed By: cortinico

Differential Revision: D117172757

@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 24, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner labels Aug 24, 2026
@meta-codesync

meta-codesync Bot commented Aug 24, 2026

Copy link
Copy Markdown

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D117172757.

@facebook-github-tools facebook-github-tools Bot added the p: Facebook Partner: Facebook label Aug 24, 2026
@meta-codesync meta-codesync Bot changed the title Cover react/featureflags with Stable API guards Cover react/featureflags with Stable API guards (#58083) Aug 25, 2026
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 25, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Differential Revision: D117172757
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 25, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Differential Revision: D117172757
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 26, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Differential Revision: D117172757
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 26, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Differential Revision: D117172757

@cortinico cortinico left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 28, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Reviewed By: cortinico

Differential Revision: D117172757
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 28, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Reviewed By: cortinico

Differential Revision: D117172757
@j-piasecki
j-piasecki force-pushed the export-D117172757 branch 2 times, most recently from 6f49430 to b156fac Compare August 28, 2026 12:59
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Aug 28, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Reviewed By: cortinico

Differential Revision: D117172757
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 1, 2026
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Reviewed By: cortinico

Differential Revision: D117172757
Summary:

Classifies `react/featureflags:featureflags` as a public target under the C++ stable API three-tier visibility model and introduces the module umbrella `React/FeatureFlags.h` as its public entry point.

This module's headers are generated, so the `UmbrellaGuard.h` include is added to the templates in `scripts/featureflags/templates/common-cxx/` rather than to the headers themselves. `ReactNativeFeatureFlagsOverridesOSSStable.h` is the module's one hand-written header and is edited directly. The umbrella is not generated, and re-exports all eight of the module's headers.

The sibling `react/nativemodule/featureflags:featureflags` target is private under the same model.

The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change.

Changelog:
[General][Added] - Add `<React/FeatureFlags.h>` umbrella header as the public entry point for `react/featureflags`

Reviewed By: cortinico

Differential Revision: D117172757
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.

2 participants