Skip to content

[Hermes][JS] Consolidate Hermes version files and simplify JS release scripts#56703

Draft
cipolleschi wants to merge 4 commits intomainfrom
cipolleschi/remove-legacy-hermes-phase4
Draft

[Hermes][JS] Consolidate Hermes version files and simplify JS release scripts#56703
cipolleschi wants to merge 4 commits intomainfrom
cipolleschi/remove-legacy-hermes-phase4

Conversation

@cipolleschi
Copy link
Copy Markdown
Contributor

@cipolleschi cipolleschi commented May 6, 2026

Summary

  • Remove sdks/.hermesv1version from package.json files array — only .hermesversion remains
  • Simplify hermes-utils.js: remove readHermesV1Tag(), HERMES_V1_TAG_FILE_PATH; setHermesTag() takes single argument
  • Simplify scripts/releases/utils/hermes-utils.js: single version in getLatestHermesNightlyVersion() and updateHermesRuntimeDependenciesVersions()
  • Simplify bump-hermes-version.js: remove --v1-tag and --hermes-v1-version CLI options
  • Simplify release-hermes-for-branch-cut.js: remove legacy branch/workflow/PR logic, keep only single Hermes branch

Prev PR: #56701
Next PR: #56704

Changelog:

[General][Changed] - Simplified build JS Hermes infrastructure for the Release

Test plan

  • JS tests: yarn jest --no-watchman hermes-utils-test.js — 5/5 tests pass

@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 6, 2026
@facebook-github-tools facebook-github-tools Bot added p: Facebook Partner: Facebook Partner labels May 6, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

Caution

Invalid Base Branch

The base branch for this PR is cipolleschi/remove-legacy-hermes-phase3, which is not main or a -stable branch.
Are you sure you want to target this branch?

@cipolleschi cipolleschi changed the title Consolidate Hermes version files and simplify JS release scripts [Hermes][JS] Consolidate Hermes version files and simplify JS release scripts May 6, 2026
Legacy Hermes support is no longer needed since 0.86 branch has been cut.
This removes all dead code behind `!defined(HERMES_V1_ENABLED)` guards
and the CMake infrastructure that set the HERMES_V1_ENABLED compile
definition.
…solution

Since legacy Hermes is no longer supported, remove the hermesV1Enabled
toggle from the Gradle plugin, version.properties, and all build scripts.
HERMES_V1_VERSION_NAME is renamed to HERMES_VERSION_NAME as the single
Hermes version. CMake flags like HERMESVM_HEAP_HV_MODE are now
unconditional.
Remove the RCT_HERMES_V1_ENABLED environment variable and all conditional
logic in the CocoaPods/Ruby files. The podspec now always reads
HERMES_VERSION_NAME, uses V1 source files, and omits legacy inspector
subspecs. The HERMES_V1_ENABLED=1 preprocessor define is no longer set
since no C++ code checks for it.
@cipolleschi cipolleschi force-pushed the cipolleschi/remove-legacy-hermes-phase3 branch from 3b672ef to 00d6b46 Compare May 7, 2026 12:59
Remove dual .hermesversion/.hermesv1version tag files — only
.hermesversion remains. Simplify hermes-utils.js to single-tag
operations, release scripts to single-version workflows, and
bump-hermes-version.js to single Hermes. Remove legacy branch
handling from release-hermes-for-branch-cut.js.
@cipolleschi cipolleschi force-pushed the cipolleschi/remove-legacy-hermes-phase4 branch from 78b163f to 0d69970 Compare May 7, 2026 12:59
@cipolleschi cipolleschi changed the base branch from cipolleschi/remove-legacy-hermes-phase3 to main May 7, 2026 13:02
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. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant