Skip to content

React Native macOS 0.83–0.87: PR stack and release tracker #3098

Description

@Saadnajmi

Stack at a glance

Read left to right. Arrows show ancestry with intermediate commits collapsed; the green boxes are release branches. Publication follows 0.83 → 0.84 → 0.85 → 0.86 → 0.87.

flowchart LR
    shared["Shared fixes<br/>#3099"] --> m84["0.84 mainline<br/>#3030"]
    m84 --> m85["0.85 mainline<br/>#3033"]
    m85 --> redbox["RedBox + AppKit<br/>#3058 → #3054"]
    redbox --> m86["0.86 mainline<br/>#3035"]
    m86 --> m87["0.87 mainline<br/>#3037"]

    base83["0.83-stable"] --> r83["0.83.0<br/>#3022"]
    m84 --> r84["0.84.0<br/>#3031"]
    m85 --> r85["0.85.0<br/>#3034"]
    m86 --> r86["0.86.0<br/>#3036"]
    m87 --> r87["0.87.0<br/>#3107 · detail below"]

    classDef mainline fill:#dbeafe,stroke:#2563eb,color:#111827
    classDef release fill:#dcfce7,stroke:#16a34a,color:#111827
    class shared,m84,m85,redbox,m86,m87 mainline
    class r83,r84,r85,r86,r87 release
Loading

The next minor descends from the preceding mainline, rather than its release branch. The 0.83 release line is separate. Documentation #3038 branches from #3037.

Merge and release order

This tracker records the intended order for React Native macOS 0.83–0.87. Checkboxes indicate merged PRs.
All active implementation PRs are open. The 0.87 portion now follows one first-parent path.

Shared fixes and 0.83

0.84

0.85 and RedBox

0.86

0.87 — one linear stack

Re-stack complete: active branch heads, jj bookmarks, and PR bases are updated and verified in this order. Existing PR numbers are retained.

flowchart LR
    fork["0.87 mainline<br/>#3037"] --> foundation["Apple foundations<br/>#3104"]
    foundation --> integration["Integration + headers<br/>#3105"]
    integration --> interop["Interop<br/>#3106"]
    interop --> sync["Upstream 0.87.1<br/>#3100"]
    sync --> hermes["Hermes tests<br/>#3101"]
    hermes --> release["0.87.0 release<br/>#3107"]

    classDef mainline fill:#dbeafe,stroke:#2563eb,color:#111827
    classDef feature fill:#ede9fe,stroke:#7c3aed,color:#111827
    classDef preparation fill:#fef3c7,stroke:#d97706,color:#111827
    classDef stable fill:#dcfce7,stroke:#16a34a,color:#111827
    class fork mainline
    class foundation,integration,interop feature
    class sync,hermes preparation
    class release stable
Loading

Reusable features precede stable-release preparation. The topology-only final release tree was byte-identical to the original candidate; separately reviewed and validated CI repairs are now included. Stable releases #3022, #3031, #3034, and #3036 keep their earlier separate release branches and checkpoints.

Consolidated header reviews: #3102 and #3103 are closed as superseded by #3105. Their complete implementations remain included; the original branches and review history are preserved.

Documentation

Validation and follow-up

The reviewed repair packet passed 1,406 release-helper tests across the 18 active heads. Both changed linear RC checkpoints passed separate immutable installs, constraints, graph, packing, and helper checks. All 27 active remote destinations and same-remote backups were verified under backup/pre-ci-repair-20260922/<original-branch>. Final current-head CI acceptance is recorded below.

Local release validation includes five exact-peer clean consumers, 56 consumer checks, ten verified tarball hashes, and five read-only publication previews.
Native and API validation retains its recorded source-tree scope; it does not imply that every build ran at every final commit.

The 2026-09-21 synchronization verified 24 remote destinations and 15 same-repository backups.
Backup branches use backup/pre-release-sync-20260921-1447/<original-branch>.

These CI observations describe the initial post-push snapshot. Each PR's current Checks tab remains authoritative.

Completed CI follow-up

Current release heads: 0.83 88195ce7d609, 0.84 959a063f7bfa, 0.85 5162d0eab630, 0.86 33dc11c33805, 0.87 1a9971c257ba.

The subsequent Flow/lint correction is also committed and pushed: five source repairs and three tree-identical ancestry caps, with all 14 destinations and backup/pre-flow-lint-20260922/… backups verified. Full Flow, ESLint, and formatting passed; API declarations, generated outputs, package versions and locks are preserved.

Fresh CI acceptance is complete for all 18 recorded heads. No PR merges or npm publications have occurred.

Final technical acceptance

All 18 expected current-head CI check sets passed at 2026-09-23 02:34:29 UTC, with no failed or pending checks in the completed observer snapshot. Source corrections, generated snapshots, fixture/format repairs, public-registry metadata, review replies, guarded pushes, and the linear jj/PR stack are complete.

The remaining steps are owner/reviewer actions: review resolution and approval, merge in order, configure/verify npm-publish and both npm Trusted Publishers, publish 0.83.0 through 0.87.0 in order, then verify each published release before continuing. No PR merges or npm publication have been performed by this task.

Release rules

  • Merge the shared fixes into main before the upgrade PRs.
  • Retarget dependent PRs as their predecessors merge.
  • Keep release branches separate from the next minor's mainline ancestry.
  • Publish 0.83.0 → 0.84.0 → 0.85.0 → 0.86.0 → 0.87.0.
  • Verify each publication before the next release.
  • Use Changesets and GitHub trusted publishing. Publish virtualized-lists before core, with exactly one dist-tag per package upload.
  • Recalculate tags from the current registry state. Skip already-published versions without tag mutation.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions