Skip to content

Log tier boundary breaks in the C++ API snapshot generator (#58835) - #58835

Closed
j-piasecki wants to merge 2 commits into
react:mainfrom
j-piasecki:export-D123001749
Closed

j-piasecki wants to merge 2 commits into
react:mainfrom
j-piasecki:export-D123001749

Conversation

@j-piasecki

@j-piasecki j-piasecki commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new --log-boundary-breaks flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D123001749

@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 Oct 5, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Oct 5, 2026
@j-piasecki
j-piasecki force-pushed the export-D123001749 branch 2 times, most recently from 1da2e37 to cc2c8b4 Compare October 5, 2026 07:11
@meta-codesync

meta-codesync Bot commented Oct 5, 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 D123001749.

@meta-codesync meta-codesync Bot changed the title Log tier boundary breaks in the C++ API snapshot generator Log tier boundary breaks in the C++ API snapshot generator (#58835) Oct 7, 2026
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58835

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58835

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58835

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58835

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Differential Revision: D123001749
Summary:
Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D123001749
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:
Pull Request resolved: react#58835

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D123001749
Summary:
Pull Request resolved: react#58835

Adds a header tier classifier to the C++ API snapshot generator. A header's tier comes from the stable API guard it includes; headers without one are unclassified. With the new `--log-boundary-breaks` flag, the generator logs every public header that reaches a frameworks or private header, and every frameworks header that reaches a private one, with the include chain. Snapshot output is unchanged.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D123001749
@meta-codesync meta-codesync Bot closed this in 5194f9c Oct 8, 2026
@meta-codesync meta-codesync Bot added the Merged This PR has been merged. label Oct 8, 2026
@meta-codesync

meta-codesync Bot commented Oct 8, 2026

Copy link
Copy Markdown

This pull request has been merged in 5194f9c.

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. Merged This PR has been merged. 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