microsoft / microsoft/react-native-windows

0.85 Release Status

Open
#16,312 0 comments 0 reactions 1 assignee View on GitHub

@anuagragith is already working on this.

Since Jul 15, 2026.

Area: Release Process Needs: Triage :mag:
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

Summary

0.85 Release Status
https://github.com/facebook/react-native/tree/0.85-stable

Tracking issue for the 0.85 release lifecycle (preview → latest → legacy), adapted from the 0.84 release status (#15927).

Checklist

Month before Preview
  • Check that the CI pipeline is passing on main.
Before Preview
  • Promote canary build to preview using wiki instructions ()
    Promoted canary →  preview  ( 0.85.0-preview.1 ): merged RELEASE PR #16320, which ran Publish/Release pipelines 63081 → 163759 and published to the npm  preview  dist-tag. (Enabled by allowlist PR #16318.)
  • Push build to stable branch ()
     0.85-stable  branch cut from  main  (https://github.com/microsoft/react-native-windows/tree/0.85-stable); final release content landed via PR #16311 ("Integrate RN 0.85.3", merge  e4ec8fe57 , all CI green)
  • Draft GitHub release notes from commit log ()
    Generated a curated release-notes draft from the commit log and saved it as a GitHub draft Release ("React Native Windows 0.85.0", in the repo Releases tab). Local copies of the notes:  ...\session-state\96c3bb98-6336-4c87-bf20-11a388dd268f\files\0.85-release-notes-draft.md  and  0.85-release-notes-final.md.
  • Enable CI schedule for new branch of CI pipeline ()
    Verified  0.85-stable  is covered by CI pipeline 210 ("PR", YAML  /.ado/windows-vs-pr.yml ) — it's in the UI branch filters and matched by the  pr: [main, master, "*-stable"]  wildcard. Pipeline: https://dev.azure.com/ms/react-native-windows/_build?definitionId=210
  • Add release schedule for the new stable branch of publish pipeline ()
    Added  0.85-stable  to the Release pipeline allowlist via PR #16318 (added  - '0.85-stable'  to  .ado/release.yml  and  .ado/release-pipeline.yml , commit  02fd85e ): https://github.com/microsoft/react-native-windows/pull/16318 — which enables Publish pipeline 63081 → Release pipeline 163759 (org  microsoft/ReactNative ) to run on the branch. Confirmed working: it subsequently published  0.85.0-preview.1  via RELEASE PR #16320.
  • Update dashboard @ms with an entry for CI ${version} ()
  • Update dashboard @microsoft with an entry for Publish ${version} ()
    Skipping both dashboard tiles — internal monitoring only, matches 0.84 precedent.
    These two items add visualization tiles to internal ADO dashboards (a  CI 0.85  tile on the @ms CI dashboard, a  Publish 0.85  tile on the @microsoft Publish dashboard). They are monitoring widgets only — not release gates: they don't build, publish, or trigger anything.
    • Not needed for the release: the pipelines these tiles would display are already confirmed working for 0.85 — CI pipeline 210 covers  0.85-stable , and Publish pipeline 63081 → Release 163759 already published  0.85.0-preview.1  (RELEASE PR #16320). The tiles add only at-a-glance visibility on top of pipelines we've already validated.
    • Matches 0.84 precedent: the live dashboards have no 0.84 entry — the @ms CI dashboard's newest tile is  CI (0.83) , and the @microsoft Publish dashboard has no 0.84 tile. The immediately-prior release shipped without these entries.
    • Access: editing the @ms CI dashboard is permission-gated (no edit access without team-admin).
    Given they're non-functional, already covered by validated pipelines, and were skipped for 0.84, we're not doing them for 0.85.
  • Update GitHub release notes to use manually curated notes instead of a changelog ()
    The 0.85 draft Release body is hand-curated notes (not an auto-changelog): computed the  origin/0.84-stable..origin/0.85-stable  delta (123 commits), curated the substantive changes, and cross-checked against the  generate-release-notes  script. No PR/review link exists (release notes are a GitHub draft Release, not a PR); internal sign-off pinged to Vlad & Vineeth on Teams (07/30). Local copies:  ...\session-state\96c3bb98-6336-4c87-bf20-11a388dd268f\files\0.85-release-notes-final.md ,  0.85-release-notes-draft.md ,  0.85-internal-review-post.md .
  • Post release notes internally ()
    Drafted the release notes here and got them reviewed by Vineeth - https://github.com/microsoft/react-native-windows/releases
  • Create a draft PR for Updating Website for 0.85 in react-native-windows-samples ()
    Opened PR #1292 in  react-native-windows-samples  — adds the 0.85 versioned docs to websitev2 (278 files:  versioned_docs ,  versions.json ,  versioned_sidebars , config) plus the support-matrix update, following the same process as 0.84 (#1263): https://github.com/microsoft/react-native-windows-samples/pull/1292. Local Docusaurus build passes; Vineeth reviewing, merge held until 0.85 GA (merging makes 0.85 the  latest  docs on the live site).

After Preview
  • Move most issues targeting current release
    Triaged the 0.85 milestone — moved all 45 open issues (0 open PRs; 26 bugs / 21 enhancements / 3 stale security CG alerts) to the Next milestone (#34), leaving 0.85 at 0 open, consistent with the 0.84/0.83 precedent. Remaining items will be re-triaged from Next to Backlog later.

  • Test all Domains in Modern debugger ref: https://reactnative.dev/docs/0.85/react-native-devtools
    Validated all 7 React Native DevTools panels on RNW 0.85 (RN 0.85.3, Hermes): Console, Sources/Breakpoints, Memory, Components, Profiler ✅ (5/7). Network doesn't capture requests — a pre-existing Windows platform gap (WinRT networking never wired to the inspector Network domain), not a 0.85 regression. Performance record→Stop reproducibly disconnects the app — filed #16354; also not an RNW-0.85 regression (debugger packages are stock upstream RN 0.85.3, and RNW's inspector/Hermes/tracing native code has zero diffs between  0.84-stable → 0.85-stable ).

  • [Fabric] [New Arch] Test updated gallery app using wiki instructions
    Validated the updated React Native Gallery on RNW 0.85.0-preview.1 (RN 0.85.3, New Arch/Fabric) following the wiki steps.
    What was done:
    • Bumped the app to RN 0.85.3 / RNW 0.85.0-preview.1 / @react-native-community/cli 20.2.0 / @react-native/* 0.85.3;  yarn install  +  autolink-windows  were clean (no linking changes needed).
    • Debug and Release builds both succeed and the app launches and renders correctly (VS 2026, v145 toolset, Windows SDK 26100).
    Manual GUI walkthrough — all working:
    • Home screen, navigation menu, and component pages render correctly.
    • Clipboard (community native module): copy/paste verified working.
    • lowlight (community JS module): code-sample syntax highlighting works.
    • Core components (Switch, TextInput, etc.) behave correctly.
    One fix needed (not an RNW 0.85 issue):
    • The  @react-native-clipboard/clipboard  module's Windows project is pinned to the old v143 (VS 2022) toolset, which won't build on VS-2026-only machines. Retargeted it to v145 to build. This is a module-side problem (it would fail the same way on 0.84) — filed upstream at react-native-clipboard/clipboard#300.
    Skipped: WACK certification — it validates Microsoft Store publish-readiness, which isn't needed for a preview validation.

  • Check CI Runs for Upgrading Sample Apps
    Verified via  CI (Upgrade)  run #30375278469: Native Module Sample green on  0.85.0-preview.1 ; Calculator fails with  MSB8036: SDK 10.0.22621.0 not found  on the new agents — same on  latest , so pre-existing infra issue, not a 0.85 blocker.

  • Test updated Calculator sample app.
    ✅ Built the committed  Calculator/fabric  sample (RN 0.85.3 +  react-native-windows@0.85.0-preview.1 , cpp-app/Fabric New Arch) locally. Debug + Release (x64) both built, deployed, and launched (exit 0); app rendered the full calculator UI. No  MSB8036 /SDK-22621 error here (this machine has SDK 22621) — confirming the CI (Upgrade) Calculator failures are the agents' missing SDK, not a 0.85 regression. Toolchain: VS 2026 (18.7.4), Node 22.

  • Test updated Native Module sample app.
    ✅ Built the committed  NativeModuleSample/cpp-lib  (RN 0.85.3 +  react-native-windows@0.85.0-preview.1 ) locally.  codegen-windows --check  passes (checked-in codegen current). Debug + Release (x64) example solution both built ( Build succeeded ). Registered + launched the Debug example: Metro bundled  index.js  (5.09 MB, HTTP 200) and it rendered fully with all native modules working live — FancyMath (E/Pi/add=10), SimpleHttpModule (HTTP 200), the full DataMarshalling suite (explicit/sync/JSValue), and the CircleMask Fabric component. ( --no-deploy  is used in CI here because deploy resolves the manifest from the library  sourceDir ; native compile is the validated part.) Toolchain: VS 2026 (18.7.4), Node 22.

  • Do a pass on API Docs using UpdateNativeApiDocs.ps1 script
    Native-API reference docs versioned into 0.85 via website PR #1292 (243 files under websitev2/versioned_docs/version-0.85/native-api/, matching 0.84). Note: UpdateNativeApiDocs.ps1 itself can't be re-run - its source CI artifacts ("WinRT API docs") were retired in #15848 (2026-03-25), before both 0.84 and 0.85 branched - so, as with 0.84 (#1263), the existing native-api docs are carried/versioned forward rather than regenerated. Tracking a true refresh (restore winmd2md generation) in #16355.

  • Integrate any applicable patch/prerelease releases for React Native
    August 5th update - Verified - nothing to integrate. RNW  0.85-stable  already pins RN 0.85.3, which is the final 0.85.x patch on npm (no 0.85.4/prerelease exists). Post-0.85.3 commits on RN's  0.85-stable are CI/infra-only (npm trusted publishing, repo-reference updates), with no Windows-relevant code changes. RN mainline is already on 0.86 (out of scope)

  • Test creating a new RNW application with the preview version (run in both debug/release) -
    ✅ Validated locally against  react-native-windows@0.85.0-preview.1  (built on RN 0.85.3). Scaffolded a fresh app ( npx @react-native-community/cli init --version 0.85.3  →  react-native-windows@preview  →  init-windows  cpp/Fabric New-Arch template). Debug + Release (x64) both built, deployed, and launched successfully (exit 0). Metro bundled  index.js  (5.09 MB, HTTP 200) and the app rendered the JS welcome screen — confirming the JS↔native bridge, Fabric renderer, and Hermes all work end-to-end on the published preview. Toolchain: VS 2026 (18.7.4), Node 22, Windows SDK 26100 + 22621.


Before Release
  • Ensure doc issues are addressed ()
    Documentation disposition complete: no open 0.85 milestone issues. #16355 is tracked as non-blocking docs-infrastructure debt, and website PR #1292 is approved/green and intentionally held for the GA publication step.
  • Promote latest build to legacy using wiki instructions ()
  • LT Review ()

After Release
  • Promote preview build to latest using wiki instructions ()
  • Update preview release notes with any changes from cherry-picked PRs ()
  • Update GitHub release notes to use manually curated notes instead of a changelog ()
  • Send out internal release announcement ()
  • Update website ()
  • Update Sample Apps to 0.85 ()
  • Update React Native Gallery ()
  • Fabric – Publish Updated Gallery to Store ()
    Note: Aug 25th - Published React Native Gallery  2.1.8.0  globally for pre-GA accessibility testing: https://apps.microsoft.com/detail/9NSQT9WCCMBD. The RNW  0.85.0-preview.1  package passed WACK, Store certification, installation/version verification, and smoke testing; vendor accessibility results are pending.
  • [Fabric] Ensure Accessibility is tested through updated Gallery ()
  • Publish release to discord ()

Open Issues
  • (add 0.85-specific blocking issues here)

Adapted from #15927 (0.84 Release Status). Pre-checked items reflect work already completed for 0.85 as of issue creation: canary→preview promote and push to 0.85-stable.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.