Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
4379f21
Bump hermes version
alanleedev Mar 2, 2026
9f335b0
[rn] Use stable Hermes for dry-run builds on stable branches
fabriziocucci Mar 3, 2026
111bd59
Introduce 'Determine Hermes build flag' step
fabriziocucci Mar 3, 2026
8ae042d
Revert "Introduce 'Determine Hermes build flag' step"
fabriziocucci Mar 3, 2026
c447fa1
Revert "[rn] Use stable Hermes for dry-run builds on stable branches"
fabriziocucci Mar 3, 2026
c35a22d
[LOCAL] Do not use hermesNightly on the release branch
cortinico Jan 6, 2026
3e2367c
Release 0.85.0-rc.0
react-native-bot Mar 3, 2026
2750e60
[LOCAL] Bump Podfile.lock
react-native-bot Mar 4, 2026
2394ead
Restore inspector addPage listener callback (#55925)
huntie Mar 5, 2026
c70f941
Fix unsafe rawPointer access in cloneMultiple (#55613)
coado Mar 4, 2026
f3f3506
Add c++ AnimatedModule to DefaultTurboModules (#55729)
zeyap Mar 4, 2026
410ffb0
[0.85] Add support for custom headers in devsupport (#55976)
cipolleschi Mar 9, 2026
9e1aaa8
Merge branch '0.85-stable' of https://github.com/facebook/react-nativ…
alanleedev Mar 9, 2026
6be3604
Release 0.85.0-rc.1
react-native-bot Mar 9, 2026
8f311e9
[LOCAL] Bump Podfile.lock
react-native-bot Mar 9, 2026
e4619dc
Fix build_debugger_shell job by passing --prepack to yarn build (#56005)
fabriziocucci Mar 9, 2026
85696fe
Revert RCTAnimatedModuleProvider change from D94244698 (#56100)
zeyap Mar 15, 2026
715336c
Release 0.85.0-rc.2
react-native-bot Mar 16, 2026
1c7c810
Release 0.85.0-rc.3
react-native-bot Mar 17, 2026
e2e415f
Release 0.85.0-rc.4
react-native-bot Mar 18, 2026
eae2c5f
Release 0.85.0-rc.5
react-native-bot Mar 18, 2026
5f9054b
[LOCAL] Bump Podfile.lock
react-native-bot Mar 18, 2026
690e281
fix duplicate symbols with React.XCFramework (#56139)
chrfalch Mar 19, 2026
506943c
Bump fmt to 12.1.0 to fix xcode 26.4 (#56099)
leotm Mar 19, 2026
8f22bbd
Release 0.85.0-rc.6
react-native-bot Mar 23, 2026
b3f24a5
[LOCAL] Bump Podfile.lock
react-native-bot Mar 23, 2026
7a5da64
Fix Hermes crash from TurboModule void method NSException handling (#…
fabriziocucci Mar 29, 2026
fc61224
Add header_mappings_dir to React-Fabric.podspec animated subspec (#56…
zoontek Mar 19, 2026
1030a5a
fix(jni) ensure correct export of react/uimanager headers in prefab (…
chrfalch Mar 25, 2026
b2839b1
Release 0.85.0-rc.7
react-native-bot Mar 30, 2026
b93a764
[LOCAL] Bump Podfile.lock
react-native-bot Mar 30, 2026
10644a0
Release 0.85.0
react-native-bot Apr 7, 2026
be03587
[LOCAL] Bump Podfile.lock
react-native-bot Apr 7, 2026
401b162
[0.85] Correclty promote flags to experimental for 0.85 release (#56373)
cortinico Apr 8, 2026
76cf797
Update `generate-artifacts-executor` scripts to skip write/cp for unc…
kitten Mar 3, 2026
9dfd26e
fix: formData upload broken in debug builds (#56406)
riteshshukla04 Apr 10, 2026
2c0ae27
Release 0.85.1
react-native-bot Apr 13, 2026
c634640
[LOCAL] Bump Podfile.lock
react-native-bot Apr 13, 2026
16e6e32
Add pushAnimationMutations to the AnimationBackend (#56401)
Apr 13, 2026
430da64
Avoid moving RawProps during animation backend commit when retries ar…
Apr 17, 2026
5300582
Fix loading banner stuck after a reload
alanjhughes Apr 15, 2026
d19e715
[LOCAL] Skip use-hermes-nightly when hermes-compiler is already pinned
alanjhughes Apr 20, 2026
67baaf3
Release 0.85.2
react-native-bot Apr 20, 2026
0004708
[LOCAL] Bump Podfile.lock
react-native-bot Apr 20, 2026
5e3a3ba
Use pinned Hermes version when version.properties is not 1000.0.0 (#5…
cipolleschi Apr 24, 2026
691b232
[0.85] Backport performance debugging improvements (#56637)
motiz88 May 1, 2026
7846672
[0.85] Add Fast Refresh performance marker and unstable_fastRefreshCo…
motiz88 May 1, 2026
9966cbd
Update debugger-frontend from 8edd9be...194d3f8 (#253) (#56642)
motiz88 May 1, 2026
e77df0c
Add RCTDevSupportHeaders to React Umbrella (#55974) (#56643)
motiz88 May 1, 2026
753c19b
Skip prebuilds for DynamicFrameworks CI jobs (#56593) (#56645)
motiz88 May 1, 2026
7fc99bc
Fix silent tar extraction failure on EdenFS in replace-rncore-version…
motiz88 May 1, 2026
28fb4a2
Add feature flag to enable experimental MutationObserver (#55919) (#5…
fabriziocucci May 1, 2026
de4e138
[0.85] Backport RedBox 2.0 for iOS (#56640)
fabriziocucci May 1, 2026
22ea81b
Release 0.85.3
react-native-bot May 5, 2026
1e01e8d
[LOCAL] Bump Podfile.lock
react-native-bot May 5, 2026
6560d16
Make removeClippedSubviews toggle-resilient (#56211)
javache Mar 27, 2026
e4ac0dd
Revert "Make removeClippedSubviews toggle-resilient (#56211)"
cipolleschi Jun 1, 2026
6efe8cd
Update GH Actions references from facebook/react-native to react/reac…
fabriziocucci Jun 16, 2026
2049278
Unbreak android CI by moving to ubuntu-latest (#57216)
fabriziocucci Jun 16, 2026
f46b40d
Merge React Native 0.85.3 stable into React Native macOS 0.85 release
Copilot Jul 17, 2026
d5e99e1
fix(0.85): port extracted RedBox controllers to macOS
Copilot Jul 17, 2026
6864d74
chore(0.85): prepare React Native 0.85.3 release
Copilot Jul 17, 2026
d17d220
chore(0.85): regenerate Yarn dependencies
Copilot Jul 17, 2026
0097d30
fix(0.85): preserve Hermes V1 release mapping
Copilot Jul 17, 2026
5c41fca
chore(0.85): regenerate CocoaPods artifacts
Copilot Jul 17, 2026
77274e2
chore(0.85): regenerate API snapshots
Copilot Jul 17, 2026
d01cf31
chore(0.85): audit macOS diff tags
Copilot Jul 17, 2026
ea061ef
chore(0.85): align release workspace versions
Copilot Jul 17, 2026
d3eb3f7
fix(0.85): gate stable Apple features on macOS
Copilot Jul 17, 2026
2618ca4
chore(0.85): refresh release dependencies
Copilot Jul 17, 2026
f4d0b4b
chore(0.85): regenerate codegen snapshots
Copilot Jul 17, 2026
1538f9b
fix(0.85): resolve Changesets base remote
Copilot Jul 17, 2026
2b57c6c
fix(0.85): transpile codegen sources from absolute paths
Copilot Jul 17, 2026
87e7142
fix(0.85): align Metro stable dependencies
Copilot Jul 17, 2026
0ed40f8
chore(0.85): refresh Metro dependencies
Copilot Jul 17, 2026
ee2661e
fix(0.85): pin Hermes V1 prebuild artifacts
Copilot Jul 17, 2026
c043252
fix(0.85): select one legacy interop implementation
Copilot Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/sync-react-native-085.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"react-native-macos": patch
"@react-native-macos/virtualized-lists": patch
---

Sync to upstream React Native 0.85.x release.
15 changes: 11 additions & 4 deletions .github/actions/test-ios-helloworld/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,30 @@ runs:
- name: Set nightly Hermes versions
shell: bash
run: |
node ./scripts/releases/use-hermes-nightly.js
HERMES_VERSION=$(sed -n 's/^HERMES_VERSION_NAME=//p' packages/react-native/sdks/hermes-engine/version.properties)
if [ "$HERMES_VERSION" == "1000.0.0" ]; then
node ./scripts/releases/use-hermes-nightly.js
fi
- name: Run yarn install again, with the correct hermes version
uses: ./.github/actions/yarn-install
- name: Download ReactNativeDependencies
if: ${{ inputs.use-frameworks != 'DynamicFrameworks' }}
uses: actions/download-artifact@v7
with:
name: ReactNativeDependencies${{ inputs.flavor }}.xcframework.tar.gz
path: /tmp/third-party
- name: Print third-party folder
if: ${{ inputs.use-frameworks != 'DynamicFrameworks' }}
shell: bash
run: ls -lR /tmp/third-party
- name: Download React Native Prebuilds
if: ${{ inputs.use-frameworks != 'DynamicFrameworks' }}
uses: actions/download-artifact@v7
with:
name: ReactCore${{ inputs.flavor }}.xcframework.tar.gz
path: /tmp/ReactCore
- name: Print ReactCore folder
if: ${{ inputs.use-frameworks != 'DynamicFrameworks' }}
shell: bash
run: ls -lR /tmp/ReactCore
- name: Install iOS dependencies - Configuration ${{ inputs.flavor }};
Expand All @@ -53,11 +60,11 @@ runs:

if [[ ${{ inputs.use-frameworks }} == "DynamicFrameworks" ]]; then
args+=(--frameworks dynamic)
else
export RCT_USE_LOCAL_RN_DEP="/tmp/third-party/ReactNativeDependencies${{ inputs.flavor }}.xcframework.tar.gz"
export RCT_TESTONLY_RNCORE_TARBALL_PATH="/tmp/ReactCore/ReactCore${{ inputs.flavor }}.xcframework.tar.gz"
fi

export RCT_USE_LOCAL_RN_DEP="/tmp/third-party/ReactNativeDependencies${{ inputs.flavor }}.xcframework.tar.gz"
export RCT_TESTONLY_RNCORE_TARBALL_PATH="/tmp/ReactCore/ReactCore${{ inputs.flavor }}.xcframework.tar.gz"

yarn bootstrap ios "${args[@]}" | cat

- name: Run Helloworld tests
Expand Down
5 changes: 4 additions & 1 deletion .github/actions/test-ios-rntester/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ runs:
- name: Set nightly Hermes versions
shell: bash
run: |
node ./scripts/releases/use-hermes-nightly.js
HERMES_VERSION=$(sed -n 's/^HERMES_VERSION_NAME=//p' packages/react-native/sdks/hermes-engine/version.properties)
if [ "$HERMES_VERSION" == "1000.0.0" ]; then
node ./scripts/releases/use-hermes-nightly.js
fi
- name: Run yarn install again, with the correct hermes version
uses: ./.github/actions/yarn-install
- name: Prepare IOS Tests
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/change.mts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ async function getBaseBranch(): Promise<string> {
const repoPath = repoUrl.match(/github\.com[:/](.+?)(?:\.git)?$/)?.[1] ?? '';

const remotes = (await $`git remote -v`.quiet()).stdout;
const remote = (repoPath && remotes.match(new RegExp(`^(\\S+)\\s+.*${repoPath}`, 'm'))?.[1]) ?? 'origin';
const remote = repoPath ? (remotes.match(new RegExp(`^(\\S+)\\s+.*${repoPath}`, 'm'))?.[1] ?? 'origin') : 'origin'; // [macOS]

// In CI, use the PR target branch (e.g., origin/0.81-stable)
if (process.env['GITHUB_BASE_REF']) {
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/analyze-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:
jobs:
analyze_pr:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- name: Check out main branch
uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/api-changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:
jobs:
api_changes:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- name: Check out main branch
uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cache-reaper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
cache-cleaner:
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-for-reproducer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
check-for-reproducer:
runs-on: ubuntu-latest
if: |
github.repository == 'facebook/react-native' && github.event.issue.pull_request == null && github.event.issue.state == 'open' && !contains(github.event.issue.labels.*.name, ':open_umbrella: Umbrella')
github.repository == 'react/react-native' && github.event.issue.pull_request == null && github.event.issue.state == 'open' && !contains(github.event.issue.labels.*.name, ':open_umbrella: Umbrella')
steps:
- uses: actions/checkout@v6
- uses: actions/github-script@v8
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/close-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ permissions:
jobs:
comment-and-label:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- uses: actions/github-script@v8
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ on:

jobs:
create_release:
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/monitor-new-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
jobs:
monitor-issues:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- name: Checkout
uses: actions/checkout@v6
Expand All @@ -34,7 +34,7 @@ jobs:
git_secret: ${{ secrets.GITHUB_TOKEN }}
notifier: "discord"
fetch_data_interval: 6
repo_owner: "facebook"
repo_owner: "react"
repo_name: "react-native"
discord_webhook_url: "${{ secrets.DISCORD_WEBHOOK_URL }}"
discord_id_type: "user"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/needs-attention.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
issues: write # for react-native-community/needs-attention to label issues
name: Apply Needs Attention Label
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- uses: actions/checkout@v6
- name: Apply Needs Attention Label
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
set_release_type:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
outputs:
RELEASE_TYPE: ${{ steps.set_release_type.outputs.RELEASE_TYPE }}
env:
Expand All @@ -22,21 +22,20 @@ jobs:
echo "RELEASE_TYPE=nightly" >> $GITHUB_OUTPUT

prebuild_apple_dependencies:
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
uses: ./.github/workflows/prebuild-ios-dependencies.yml
secrets: inherit

prebuild_react_native_core:
uses: ./.github/workflows/prebuild-ios-core.yml
with:
use-hermes-nightly: true
version-type: nightly
secrets: inherit
needs: [prebuild_apple_dependencies]

build_android:
runs-on: 8-core-ubuntu
if: github.repository == 'facebook/react-native'
runs-on: ubuntu-latest
if: github.repository == 'react/react-native'
needs: [set_release_type]
container:
image: reactnativecommunity/react-native-android:latest
Expand All @@ -61,7 +60,7 @@ jobs:
gradle-cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }}

build_npm_package:
runs-on: 8-core-ubuntu
runs-on: ubuntu-latest
needs:
[
set_release_type,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/on-issue-labeled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
# then invokes actOnLabel to react to any added labels
triage-issue:
runs-on: ubuntu-latest
if: "${{ github.repository == 'facebook/react-native' && contains(github.event.label.name, 'Needs: Triage :mag:') }}"
if: "${{ github.repository == 'react/react-native' && contains(github.event.label.name, 'Needs: Triage :mag:') }}"
steps:
- name: Checkout code
uses: actions/checkout@v6
Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
# Reacts to the label that triggered this workflow (added manually or via other workflows)
act-on-label:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- uses: actions/checkout@v6
- uses: actions/github-script@v8
Expand Down
12 changes: 2 additions & 10 deletions .github/workflows/prebuild-ios-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ on:
type: string
required: false
default: ''
use-hermes-nightly:
description: 'Whether to use the hermes nightly build or read the version from the versions.properties file'
type: boolean
required: false
default: false

jobs:
build-rn-slice:
Expand Down Expand Up @@ -47,12 +42,9 @@ jobs:
- name: Set Hermes version
shell: bash
run: |
if [ "${{ inputs.use-hermes-nightly }}" == "true" ]; then
# We are not publishing nightly versions of Hermes V1 yet.
# For now, we can use the latest version of Hermes V1 published on maven and npm.
HERMES_VERSION=$(sed -n 's/^HERMES_V1_VERSION_NAME=//p' packages/react-native/sdks/hermes-engine/version.properties)
if [ "$HERMES_VERSION" == "1000.0.0" ]; then
HERMES_VERSION="latest-v1"
else
HERMES_VERSION=$(sed -n 's/^HERMES_V1_VERSION_NAME=//p' packages/react-native/sdks/hermes-engine/version.properties)
fi
echo "Using Hermes version: $HERMES_VERSION"
echo "HERMES_VERSION=$HERMES_VERSION" >> $GITHUB_ENV
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-bumped-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
publish_bumped_packages:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
env:
GHA_NPM_TOKEN: ${{ secrets.GHA_NPM_TOKEN }}
steps:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:
set_release_type:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
outputs:
RELEASE_TYPE: ${{ steps.set_release_type.outputs.RELEASE_TYPE }}
env:
Expand All @@ -21,7 +21,7 @@ jobs:

set_hermes_versions:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
outputs:
HERMES_VERSION: ${{ steps.set_hermes_versions.outputs.HERMES_VERSION }}
HERMES_V1_VERSION: ${{ steps.set_hermes_versions.outputs.HERMES_V1_VERSION }}
Expand All @@ -42,7 +42,7 @@ jobs:
echo "HERMES_V1_VERSION=${{ steps.set_hermes_versions.outputs.HERMES_V1_VERSION }}"

prebuild_apple_dependencies:
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
uses: ./.github/workflows/prebuild-ios-dependencies.yml
secrets: inherit

Expand All @@ -52,7 +52,7 @@ jobs:
needs: [prebuild_apple_dependencies]

build_npm_package:
runs-on: 8-core-ubuntu
runs-on: ubuntu-latest
needs:
[
set_release_type,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/retry-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
rerun:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
steps:
- name: rerun ${{ inputs.run_id }}
env:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/stale-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
jobs:
stale:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
permissions:
issues: write
pull-requests: write
Expand All @@ -22,7 +22,7 @@ jobs:
exempt-pr-labels: 'Help Wanted :octocat:, Never gets stale'
stale-asc:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
permissions:
issues: write
pull-requests: write
Expand All @@ -40,7 +40,7 @@ jobs:
exempt-pr-labels: 'Help Wanted :octocat:, Never gets stale'
stale-needs-author-feedback:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
permissions:
issues: write
pull-requests: write
Expand All @@ -58,7 +58,7 @@ jobs:
exempt-pr-labels: "Help Wanted :octocat:, Never gets stale"
stale-needs-author-feedback-asc:
runs-on: ubuntu-latest
if: github.repository == 'facebook/react-native'
if: github.repository == 'react/react-native'
permissions:
issues: write
pull-requests: write
Expand Down
Loading
Loading