microsoft / microsoft/react-native-windows
Native-API reference docs no longer regenerated - UpdateNativeApiDocs.ps1 broken since #15848 (WinRT API docs artifacts retired)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 17.3k
- Forks
- 1.2k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 33
Description
Summary
The website's Native-API reference (the "Microsoft.ReactNative APIs" pages under docs/native-api / websitev2/.../native-api) is auto-generated from Microsoft.ReactNative.winmd via winmd2md.exe, then integrated by react-native-windows-samples/.github/scripts/UpdateNativeApiDocs.ps1.
That script can no longer be run: it downloads two CI build artifacts — WinRT Api docs - Universal Build X64Debug-1 (Old Arch) and … X64DebugFabric-1 (New Arch) — but the pipeline step that produced them was removed in react-native-windows #15848 "Unified CI/PR Pipeline" (merged 2026-03-25). The deleted step lived in .ado/jobs/universal.yml:
winmd2md.exe /experimental /outputDirectory vnext\target\winmd2md ...\Microsoft.ReactNative.winmd
displayName: "Generate WinRT API docs"
artifactName: 'WinRT API docs - $(Agent.JobName)-$(System.JobAttempt)'
Because this removal predates both 0.84-stable and 0.85-stable, neither release regenerated the native-api docs. Instead, the existing (last genuinely generated ~0.80-era, e.g. samples #1086 / #1120) docs are simply carried/versioned forward each release (0.84 via #1263, 0.85 via #1292). As a result the published native-api reference can drift from the actual shipped WinRT API surface.
Impact
- Native-API reference docs may be stale relative to the current API surface (missing/renamed types, new members, arch badges not reflecting reality).
- The documented release step "Do a pass on API Docs using
UpdateNativeApiDocs.ps1" is currently a no-op / version-snapshot only, not a real refresh.
What needs to happen (options)
- Restore doc generation in the unified pipeline — re-add the
winmd2md"Generate WinRT API docs" step (bothX64DebugandX64DebugFabric) to the current.ado/jobs/universal-single.yml(or wherever appropriate) so theWinRT API docs …artifacts are published again. ThenUpdateNativeApiDocs.ps1 -BuildId <N>works as before. - Or provide a local/one-shot generation path (run
winmd2md.exeagainst a locally builtMicrosoft.ReactNative.winmdfor both architectures) and adapt the script to consume local folders instead of ADO artifacts. - Update
UpdateNativeApiDocs.ps1for the current site layout — it currently targets the legacy Docusaurus v1 paths (docs/native-api+website/sidebars.json); confirm/port towebsitev2as needed.
References
- Removal commit: react-native-windows #15848 "Unified CI/PR Pipeline" (2026-03-25) — deleted
.ado/jobs/universal.ymlincl. the "Generate WinRT API docs" step. - Script:
react-native-windows-samples/.github/scripts/UpdateNativeApiDocs.ps1 - Last real regeneration precedent: samples #1086 (0.80), #1120 (2025-12-24).
- Carried-forward-only releases: 0.84 (#1263), 0.85 (#1292).
- Surfaced during 0.85 release validation (#16312, "Do a pass on API Docs…").
Type / severity
Tech-debt / documentation infrastructure. Not a release blocker (docs still build and are versioned), but should be fixed so future releases publish accurate native-api docs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with react-native-windows-samples/.github/scripts/UpdateNativeApiDocs.ps1 and the current .ado/jobs/universal-single.yml, then compare them with the removed generation step from .ado/jobs/universal.yml. Verify how both X64Debug and X64DebugFabric artifacts are produced and whether the script still targets docs/native-api or must use websitev2. Done means a repeatable generation path produces current native-api pages during release validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell, yaml
- Domain
- build-system, ci-cd, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100