Skip to content

chore(0.83): prepare stable 0.83.0 with React Native 0.83.10 - #3022

Open
Saad Najmi (Saadnajmi) wants to merge 134 commits into
0.83-stablefrom
0.83/saadnajmi/merge-0.83.10
Open

Saad Najmi (Saadnajmi) wants to merge 134 commits into
0.83-stablefrom
0.83/saadnajmi/merge-0.83.10

Conversation

@Saadnajmi

@Saadnajmi Saad Najmi (Saadnajmi) commented Jul 14, 2026 •

Copy link
Copy Markdown
Collaborator

Current release stack

RNM 0.83.0 with RN 0.83.10. Publish and verify before the next minor.

Validation and backups

The branch-specific repaired source passed hardened immutable installation, constraints, and its complete release-helper selection. The selected 18-head packet records 1,406 passing helper tests. Exact source-tree equivalence is used for rewritten endpoints where applicable; the two changed linear RC checkpoints were tested separately.

Native/API evidence retains its recorded scope. The SwiftPM and RNTester repairs have six focused native build passes. Public stable versions and runtime/API contents were preserved except for the independently reviewed SwiftPM destination repair where applicable.

Public-registry lock correction passed all 18 hosted generation, hardened immutable, constraints, and metadata-audit jobs in run 35769816507. Only equivalent executable-path spelling changes are permitted; dependency versions, checksums, and ranges are unchanged. The previous functional test results remain applicable to this metadata-only correction. Fresh GitHub CI and review remain required. Previous heads are preserved on the same repository under backup/pre-ci-repair-20260922/<original-branch> and backup/pre-public-registry-20260922/<original-branch>; local complete-history bundles were verified as well.

The 0.87 PR sequence is one first-parent path: #3037 → #3104 → #3105 → #3106 → #3100 → #3101 → #3107. The redundant #3102/#3103 reviews are consolidated into #3105.

This section supersedes earlier stack order, source identity, and validation-status notes below.


Summary

This is the single 0.83 stable-line PR for both the upstream sync and the effective RedBox 2.0/AppKit backport. It supersedes #3027.

Provenance

The four additive commits are stacked on the previously reviewed #3022 head:

  1. restore the extracted upstream RedBox 2.0 CoreModules files
  2. apply the focused AppKit V1 adaptation
  3. add the production RCTUIKit table/label/button primitives
  4. add the RedBox 2.0 AppKit consumer

The V1 adaptation is byte-identical to #3027. Every other changed implementation file is byte-identical to the reviewed #3054 production stack. Native RCTUITableView tests and their project wiring are intentionally excluded, matching the repository-owner review decision on #3056.

Validation

  • RNTester macOS build passed (EXIT=0, ** BUILD SUCCEEDED **)
  • all nine changed Objective-C/Objective-C++ implementations compiled
  • RNTester-macOS linked, validated, and produced the app bundle
  • zero compile or linker errors
  • build log SHA-256: d7f6c18b7d570d06a79297c774e6343a92e178910374ea9ab5a99d8ac77aad4e
  • immutable install, lint, format, and focused Jest passed
  • TypeScript failures are pre-existing in files untouched by this PR; generated TypeScript is not configured on this stable branch
  • RedBox 2.0 controller fork ratio remains the reviewed 842 / 144 / 16 total lines / fork lines / top-level macOS guards

manual macOS RedBox 2.0 OFF/ON verification OUTSTANDING; do not undraft until performed

The bounded manual attempt could not obtain a script URL in the DerivedData-built app even with Metro ready and serving the bundle, so no manual OFF or ON behavior item is claimed as passed.

Alex Hunt (huntie) and others added 30 commits November 3, 2025 16:28
Summary:
Pull Request resolved: react#54385

Changelog: [Internal]

`test-release-local` shouldn't be changing the hermes version stored in `version.properties` as this script should be called on a cut branch with hermes already bumped.

Reviewed By: cipolleschi

Differential Revision: D86105703

fbshipit-source-id: 5a1edd9f7a6cd756521749c2b0023ea683dadf82
#publish-packages-to-npm&next
Summary:
Pull Request resolved: react#54419

Changelog: [Internal]

React Native uses `files` field in `package.json` to list everything that should end up in the apckage. `.hermesv1version` file was missing from that list, which is fixed by this diff.

Reviewed By: huntie, cipolleschi

Differential Revision: D86295805

fbshipit-source-id: 8a17191f26f9536884e4aaf09447121c020d1212
…eact#54421)

Summary:
OSS community shared with me that we have a circular dependency in React-utils.podspec that prevent them from building with JSC.
While fixing it, I realized that the dynamic framework build was broken. So I fixed them both.

## Changelog:
[iOS][Fixed] - Fixed build with dynamic frameworks

Pull Request resolved: react#54421

Test Plan: Build RNTester locally with USE_FRAMEWORKS=dynamic

Reviewed By: javache

Differential Revision: D86309592

Pulled By: cipolleschi

fbshipit-source-id: f2995332ae135ce951480b353df7d597ff8a85ec
Summary:
When RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS is enabled, source file paths in dSYMs were incorrectly resolved with extra path segments:

double node_modules (e.g., /path/node_modules/node_modules/...)

The root cause was using File.expand_path(@react_native_path) without the correct base directory. The path was first expanded without a base (causing double node_modules), then fixed to use project_pods_root (ios/Pods/), which still resulted in incorrect paths with an extra ios/ folder.

Fixed by expanding the path relative to Pod::Config.instance.installation_root, which correctly points to the ios/ directory, allowing relative paths like ../node_modules/react-native to resolve properly to the project root's node_modules directory.

## Changelog:

[IOS] [FIXED] - Fix incorrect source path resolution in dSYM remapping in precompiled framework scripts

Pull Request resolved: react#54470

Test Plan:
```
rm -rf ./Pods
pod cache clean --all
RCT_USE_RN_DEP=1 RCT_USE_PREBUILT_RNCORE=1 RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS=1 bundle exec pod install
```

✅ Tested with RN-Tester
✅ Tested in 0.83.rc0 project

Reviewed By: huntie

Differential Revision: D86667786

Pulled By: cipolleschi

fbshipit-source-id: cd6279d02d5ed7188e282e4491c05de35f17a8f1
Summary:
Pull Request resolved: react#54479

Fixes failing CI jobs on `0.83-stable`, e.g. https://github.com/facebook/react-native/actions/runs/19234912061/job/54982161510.

**Changes**

- Simplify main package `package.json` file read with existing `getWorkspaceRoot` util.
- Fix test by mocking `getWorkspaceRoot` (previously: read the real filesystem and caused test breakage outside `main`).
- Add additional `RC0 → RC1` test case.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D86674348

fbshipit-source-id: 0b8feb4cbf7b1ac7cf4cc560f066a0a10aec1b5f
Summary:
Pull Request resolved: react#54407

Introduces a new `InspectorSystemState` object and `ReactNativeApplication.systemStateChanged` CDP event, used to assert whether more than one React Native Host has been registered for the current app lifetime.

This will be used to disable the Performance and Network features in React Native DevTools when the debugger backend is in this currently unsupported state. We intend to implement host lifecycle correctness across all features soon.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D86201689

fbshipit-source-id: b8525359fc01eb7ae666879f2c0fd4c94f0af81a
…act#54408)

Summary:
Pull Request resolved: react#54408

Follows from the parent commit. This will prevent 3P CDP clients from using the `Tracing` or `Network` domains when we are in an unsupported multi React Native Host setup.

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D86201688

fbshipit-source-id: 052d563a371fd77c1a05ad8518e222d6bc1eb372
Local sync from 0.83-stable branch
#publish-packages-to-npm&next
Summary:
Pull Request resolved: react#54454

Changelog: [Internal] - Add feature flag around IntersectionObserver for canary

Reviewed By: rubennorte, cipolleschi

Differential Revision: D86547485

fbshipit-source-id: 0c6d84e276d1f6337a8da0bea141cc371010cd75
…0.83-stable branch.

Changelog: [General][Added] - React Native DevTools: Enable Network inspection features
#publish-packages-to-npm&next
#publish-packages-to-npm&next
Adapt the upstream reload cleanup to AppKit and keep the loading window lifecycle safe across repeated reloads.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Capture CVDisplayLink callback timestamps per queued run-loop tick so macOS consumers receive CADisplayLink-compatible begin and target times.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Share the iOS frame observer path on macOS, capture app-owned NSView content as JPEG without screen recording permission, and expose tracing through RCTHost when debugger support is enabled.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Cover CVDisplayLink timestamp conversion, idempotent lifecycle, JPEG capture, duplicate suppression, missing windows, and emitted frame sequences.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Forward-port c007388 from the 0.86 stack. This canonicalizes the fixes carried on 0.84 release (5f8d15d) and 0.85 release (2b57c6c).

Absolute checkout paths containing hidden or __tests__ ancestors otherwise copy raw Flow sources or ignore the entire package. Preserve absolute paths for file operations, but match package-relative paths.

Independent review exercised six before/after VM cases using real micromatch, Babel and Prettier, including fixture exclusion, Flow sidecars and asset copies.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Adapt 434e93cdad27 from the local 0.87 stable stack to the 0.83 release line. Restrict normalization to relative paths, match complete workspace package names, and select the deepest node_modules package.

This repairs generation of checkout-dependent imports found in the 0.84, 0.85 and 0.86 release snapshots without copying release artifacts into this source fix.

Independent review passed 19 focused tests including real snapshots and post-processing output, targeted ESLint and Prettier. Full type generation remains a release validation step.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Forward-port e4c208d864d7 from the local 0.87 stable stack. ReactNativeDependencies.podspec is one directory below its package root, not two.

Independent review verified Ruby syntax, the real checkout fallback, standard react-native and react-native-macos package layouts, and unchanged successful Node resolution.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Forward-port 03d2ca33950c from the local 0.87 stable stack. Both prebuild entry points return after invalid configuration, so set the process exit code before returning.

Independent review verified 24 subprocess probes across parent and patched CLIs, including invalid and valid platform cases, plus syntax and whitespace checks.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Forward-port upstream React Native react#57483 (3e5e3c2) from the release lines. The omitted-middle ternary returned a boolean rather than the requested numeric weight.

Preserve the fork's AppKit family lookup. Independent review verified upstream patch parity and nine native weight cases including Light, Medium and Bold family selection.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add the AppKit button, label, and table compatibility behavior required by the shared RedBox controllers.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Port the upstream RedBox controllers through the AppKit compatibility primitives and preserve repeated presentation after dismissal or reload.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Route shared Fabric view code through canonical platform headers and select the physical implementation by destination for CocoaPods and SwiftPM builds.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Declare framework-aware dependencies, header mappings, and required Apple framework links for dynamic CocoaPods builds, with focused dependency-path coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep Button from redeclaring the accessibility action handler already supplied by its shared accessibility props.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the public FocusEvent declaration backed by NativeFocusEvent without a duplicate alias.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Import EventSubscription and NativeSyntheticEvent from the public react-native declaration surface instead of a private implementation path.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Regenerates the checked-in public API from the corrected stable type sources.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Select and validate the correct legacy or Hermes V1 metadata consistently in local prebuilds and CI, while preserving explicit nightly and source-build behavior.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Recompose legacy Apple Hermes artifacts with the required macOS slice while preserving validated dSYM and bitcode symbol sidecars.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep private development workspaces unpublished and locally linked, keep public upstream dependencies on the 0.83.10 registry release, preserve fork workspace edges for Changesets, and complete the two published package contents.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Consolidates the superseded version-plan setup into the final Changeset declaration.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Consume the 0.83 Changeset, apply the public 0.83.0 package versions, align runtime/generated version declarations, and record the release changelogs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use one tested contract for Changesets validation, version preparation, publication eligibility, package selection, dist-tags, and branch-aware release behavior.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Record the generated dependency state for the corrected 0.83 package graph and release tooling.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Disable the legacy ADO publisher, serialize stable releases, gate version PRs on current branch heads, and publish prepared packages through GitHub OIDC.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Build source dependencies for RNTester, validate release configuration and helpers, gate registry-dependent initialization tests, and exercise both locally packed public packages.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Documents the Changesets-based stable and patch release flow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Restores Meta-owned Actions YAML and moves fork-owned CodeQL behavior to the Microsoft-prefixed workflow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.