Skip to content

Remove legacy Hermes C++ code and HERMES_V1_ENABLED compile definition (#56731)#56731

Open
cipolleschi wants to merge 1 commit intofacebook:mainfrom
cipolleschi:export-D104228879
Open

Remove legacy Hermes C++ code and HERMES_V1_ENABLED compile definition (#56731)#56731
cipolleschi wants to merge 1 commit intofacebook:mainfrom
cipolleschi:export-D104228879

Conversation

@cipolleschi
Copy link
Copy Markdown
Contributor

@cipolleschi cipolleschi commented May 8, 2026

Summary:

  • Remove all dead C++ code behind !defined(HERMES_V1_ENABLED) guards in HermesExecutorFactory.cpp and HermesInstance.cpp
  • Delete Registration.h, Registration.cpp, ConnectionDemux.h, ConnectionDemux.cpp, and ConnectionDemuxTests.cpp (entirely legacy code)
  • Remove HERMES_V1_ENABLED compile definition from react-native-flags.cmake
  • Remove HERMES_V1_ENABLED cache variable from Android CMakeLists.txt

This is Phase 1 of removing legacy Hermes support. Since Hermes V1 is already the default on all platforms and the 0.86 branch has been cut, all legacy Hermes code
is dead and can be safely removed.

Changelog:

[General][Breaking] - Remove Legacy Hermes from C++ code

Test plan

  • Android: ./gradlew :packages:rn-tester:android:app:assembleDebug — BUILD SUCCEEDED
  • iOS: xcodebuild rn-tester on iPhone 16 Pro simulator — BUILD SUCCEEDED

Reviewed By: cortinico

Differential Revision: D104228879

@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 May 8, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented May 8, 2026

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

Copy link
Copy Markdown
Contributor

@cortinico cortinico left a comment

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.

@facebook-github-tools facebook-github-tools Bot added p: Facebook Partner: Facebook Partner labels May 8, 2026
facebook#56731)

Summary:

  - Remove all dead C++ code behind `!defined(HERMES_V1_ENABLED)` guards in `HermesExecutorFactory.cpp` and `HermesInstance.cpp`
  - Delete `Registration.h`, `Registration.cpp`, `ConnectionDemux.h`, `ConnectionDemux.cpp`, and `ConnectionDemuxTests.cpp` (entirely legacy code)
  - Remove `HERMES_V1_ENABLED` compile definition from `react-native-flags.cmake`
  - Remove `HERMES_V1_ENABLED` cache variable from Android `CMakeLists.txt`

  This is Phase 1 of removing legacy Hermes support. Since Hermes V1 is already the default on all platforms and the 0.86 branch has been cut, all legacy Hermes code
   is dead and can be safely removed.

## Changelog:
[General][Breaking] - Remove Legacy Hermes from C++ code

  ## Test plan
  - [x] Android: `./gradlew :packages:rn-tester:android:app:assembleDebug` — BUILD SUCCEEDED
  - [x] iOS: `xcodebuild` rn-tester on iPhone 16 Pro simulator — BUILD SUCCEEDED

Reviewed By: cortinico

Differential Revision: D104228879
@meta-codesync meta-codesync Bot changed the title Remove legacy Hermes C++ code and HERMES_V1_ENABLED compile definition Remove legacy Hermes C++ code and HERMES_V1_ENABLED compile definition (#56731) May 8, 2026
@cipolleschi cipolleschi force-pushed the export-D104228879 branch from 69d2c50 to ff90cda Compare May 8, 2026 13:03
meta-codesync Bot pushed a commit that referenced this pull request May 8, 2026
#56731)

Summary:

  - Remove all dead C++ code behind `!defined(HERMES_V1_ENABLED)` guards in `HermesExecutorFactory.cpp` and `HermesInstance.cpp`
  - Delete `Registration.h`, `Registration.cpp`, `ConnectionDemux.h`, `ConnectionDemux.cpp`, and `ConnectionDemuxTests.cpp` (entirely legacy code)
  - Remove `HERMES_V1_ENABLED` compile definition from `react-native-flags.cmake`
  - Remove `HERMES_V1_ENABLED` cache variable from Android `CMakeLists.txt`

  This is Phase 1 of removing legacy Hermes support. Since Hermes V1 is already the default on all platforms and the 0.86 branch has been cut, all legacy Hermes code
   is dead and can be safely removed.

## Changelog:
[General][Breaking] - Remove Legacy Hermes from C++ code

  ## Test plan
  - [x] Android: `./gradlew :packages:rn-tester:android:app:assembleDebug` — BUILD SUCCEEDED
  - [x] iOS: `xcodebuild` rn-tester on iPhone 16 Pro simulator — BUILD SUCCEEDED

Reviewed By: cortinico

Differential Revision: D104228879
cipolleschi added a commit to cipolleschi/react-native that referenced this pull request May 8, 2026
facebook#56731)

Summary:

  - Remove all dead C++ code behind `!defined(HERMES_V1_ENABLED)` guards in `HermesExecutorFactory.cpp` and `HermesInstance.cpp`
  - Delete `Registration.h`, `Registration.cpp`, `ConnectionDemux.h`, `ConnectionDemux.cpp`, and `ConnectionDemuxTests.cpp` (entirely legacy code)
  - Remove `HERMES_V1_ENABLED` compile definition from `react-native-flags.cmake`
  - Remove `HERMES_V1_ENABLED` cache variable from Android `CMakeLists.txt`

  This is Phase 1 of removing legacy Hermes support. Since Hermes V1 is already the default on all platforms and the 0.86 branch has been cut, all legacy Hermes code
   is dead and can be safely removed.

## Changelog:
[General][Breaking] - Remove Legacy Hermes from C++ code

  ## Test plan
  - [x] Android: `./gradlew :packages:rn-tester:android:app:assembleDebug` — BUILD SUCCEEDED
  - [x] iOS: `xcodebuild` rn-tester on iPhone 16 Pro simulator — BUILD SUCCEEDED

Reviewed By: cortinico

Differential Revision: D104228879
meta-codesync Bot pushed a commit that referenced this pull request May 8, 2026
#56731)

Summary:

  - Remove all dead C++ code behind `!defined(HERMES_V1_ENABLED)` guards in `HermesExecutorFactory.cpp` and `HermesInstance.cpp`
  - Delete `Registration.h`, `Registration.cpp`, `ConnectionDemux.h`, `ConnectionDemux.cpp`, and `ConnectionDemuxTests.cpp` (entirely legacy code)
  - Remove `HERMES_V1_ENABLED` compile definition from `react-native-flags.cmake`
  - Remove `HERMES_V1_ENABLED` cache variable from Android `CMakeLists.txt`

  This is Phase 1 of removing legacy Hermes support. Since Hermes V1 is already the default on all platforms and the 0.86 branch has been cut, all legacy Hermes code
   is dead and can be safely removed.

## Changelog:
[General][Breaking] - Remove Legacy Hermes from C++ code

  ## Test plan
  - [x] Android: `./gradlew :packages:rn-tester:android:app:assembleDebug` — BUILD SUCCEEDED
  - [x] iOS: `xcodebuild` rn-tester on iPhone 16 Pro simulator — BUILD SUCCEEDED

Reviewed By: cortinico

Differential Revision: D104228879
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. fb-exported meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants