Skip to content
release-tracker

React 19.3.0

notable

pending: summary queued

Imported 2026-09-22 at 13:52 UTC. Summaries usually land within a few hours; the full release notes are already below.

release-notesgithub.com/facebook/react ยท 186 lines
  1. ### New React Features
  2. - `<ViewTransition />`: Adds `<ViewTransition />` and `addTransitionType` APIs to power View Transition animations in React (@sebmarkbage, @jackpope, @gaearon: [#31975](https://github.com/facebook/react/pull/31975), [#31987](https://github.com/facebook/react/pull/31987), [#31996](https://github.com/facebook/react/pull/31996), [#31999](https://github.com/facebook/react/pull/31999), [#32001](https://github.com/facebook/react/pull/32001), [#32002](https://github.com/facebook/react/pull/32002), [#32028](https://github.com/facebook/react/pull/32028), [#32029](https://github.com/facebook/react/pull/32029), [#32031](https://github.com/facebook/react/pull/32031), [#32034](https://github.com/facebook/react/pull/32034), [#32038](https://github.com/facebook/react/pull/32038), [#32041](https://github.com/facebook/react/pull/32041), [#32050](https://github.com/facebook/react/pull/32050), [#32090](https://github.com/facebook/react/pull/32090), [#32105](https://github.com/facebook/react/pull/32105), [#32254](https://github.com/facebook/react/pull/32254), [#32379](https://github.com/facebook/react/pull/32379), [#32422](https://github.com/facebook/react/pull/32422), [#32462](https://github.com/facebook/react/pull/32462), [#32540](https://github.com/facebook/react/pull/32540), [#32545](https://github.com/facebook/react/pull/32545), [#32585](https://github.com/facebook/react/pull/32585), [#32599](https://github.com/facebook/react/pull/32599), [#32611](https://github.com/facebook/react/pull/32611), [#32612](https://github.com/facebook/react/pull/32612), [#32617](https://github.com/facebook/react/pull/32617), [#32651](https://github.com/facebook/react/pull/32651), [#32653](https://github.com/facebook/react/pull/32653), [#32656](https://github.com/facebook/react/pull/32656), [#32664](https://github.com/facebook/react/pull/32664), [#32699](https://github.com/facebook/react/pull/32699), [#32723](https://github.com/facebook/react/pull/32723), [#32734](https://github.com/facebook/react/pull/32734), [#32751](https://github.com/facebook/react/pull/32751), [#32752](https://github.com/facebook/react/pull/32752), [#32760](https://github.com/facebook/react/pull/32760), [#32761](https://github.com/facebook/react/pull/32761), [#32764](https://github.com/facebook/react/pull/32764), [#32772](https://github.com/facebook/react/pull/32772), [#32790](https://github.com/facebook/react/pull/32790), [#32819](https://github.com/facebook/react/pull/32819), [#32820](https://github.com/facebook/react/pull/32820), [#32822](https://github.com/facebook/react/pull/32822), [#32833](https://github.com/facebook/react/pull/32833), [#32849](https://github.com/facebook/react/pull/32849), [#33094](https://github.com/facebook/react/pull/33094), [#33191](https://github.com/facebook/react/pull/33191), [#33200](https://github.com/facebook/react/pull/33200), [#33206](https://github.com/facebook/react/pull/33206), [#33293](https://github.com/facebook/react/pull/33293), [#33330](https://github.com/facebook/react/pull/33330), [#33331](https://github.com/facebook/react/pull/33331), [#33332](https://github.com/facebook/react/pull/33332), [#33357](https://github.com/facebook/react/pull/33357), [#33362](https://github.com/facebook/react/pull/33362), [#33433](https://github.com/facebook/react/pull/33433), [#33576](https://github.com/facebook/react/pull/33576), [#34374](https://github.com/facebook/react/pull/34374), [#34450](https://github.com/facebook/react/pull/34450), [#34481](https://github.com/facebook/react/pull/34481), [#34500](https://github.com/facebook/react/pull/34500), [#34502](https://github.com/facebook/react/pull/34502), [#34510](https://github.com/facebook/react/pull/34510), [#34511](https://github.com/facebook/react/pull/34511), [#34539](https://github.com/facebook/react/pull/34539), [#35567](https://github.com/facebook/react/pull/35567), [#35564](https://github.com/facebook/react/pull/35564), [#35485](https://github.com/facebook/react/pull/35485), [#35380](https://github.com/facebook/react/pull/35380), [#35063](https://github.com/facebook/react/pull/35063), [#35060](https://github.com/facebook/react/pull/35060), [#34676](https://github.com/facebook/react/pull/34676), [#36917](https://github.com/facebook/react/pull/36917), [#35337](https://github.com/facebook/react/pull/35337), [#35520](https://github.com/facebook/react/pull/35520))
  3. - Fragment Refs: Add Refs to `<Fragment />` to support composable platform behavior (@jackpope, @sebmarkbage, @eps1lon, @Dhakshin2007, @chirokas, @teamleaderleo, @fallintoplace: [#32465](https://github.com/facebook/react/pull/32465), [#32613](https://github.com/facebook/react/pull/32613), [#32619](https://github.com/facebook/react/pull/32619), [#32654](https://github.com/facebook/react/pull/32654), [#32660](https://github.com/facebook/react/pull/32660), [#32682](https://github.com/facebook/react/pull/32682), [#32722](https://github.com/facebook/react/pull/32722), [#32813](https://github.com/facebook/react/pull/32813), [#32814](https://github.com/facebook/react/pull/32814), [#33056](https://github.com/facebook/react/pull/33056), [#33058](https://github.com/facebook/react/pull/33058), [#33093](https://github.com/facebook/react/pull/33093), [#34069](https://github.com/facebook/react/pull/34069), [#34103](https://github.com/facebook/react/pull/34103), [#34544](https://github.com/facebook/react/pull/34544), [#34545](https://github.com/facebook/react/pull/34545), [#37062](https://github.com/facebook/react/pull/37062), [#37061](https://github.com/facebook/react/pull/37061), [#37060](https://github.com/facebook/react/pull/37060), [#36047](https://github.com/facebook/react/pull/36047), [#36010](https://github.com/facebook/react/pull/36010), [#35642](https://github.com/facebook/react/pull/35642), [#35641](https://github.com/facebook/react/pull/35641), [#35637](https://github.com/facebook/react/pull/35637), [#35630](https://github.com/facebook/react/pull/35630), [#34935](https://github.com/facebook/react/pull/34935), [#37457](https://github.com/facebook/react/pull/37457), [#37408](https://github.com/facebook/react/pull/37408), [#37326](https://github.com/facebook/react/pull/37326), [#37251](https://github.com/facebook/react/pull/37251), [#37171](https://github.com/facebook/react/pull/37171), [#37169](https://github.com/facebook/react/pull/37169), [#37168](https://github.com/facebook/react/pull/37168), [#37167](https://github.com/facebook/react/pull/37167), [#37166](https://github.com/facebook/react/pull/37166), [#37165](https://github.com/facebook/react/pull/37165), [#37164](https://github.com/facebook/react/pull/37164), [#37163](https://github.com/facebook/react/pull/37163), [#37162](https://github.com/facebook/react/pull/37162), [#37161](https://github.com/facebook/react/pull/37161), [#37160](https://github.com/facebook/react/pull/37160), [#37125](https://github.com/facebook/react/pull/37125), [#37063](https://github.com/facebook/react/pull/37063))
  4. ### New React DOM Features
  5. - `browser()`: a new `react-dom` API that returns a usable which errors during server rendering and resolves in the browser. `use(browser())` inside a `<Suspense>` boundary marks a subtree as browser-only without reporting a recoverable error (@gnoff: [#37143](https://github.com/facebook/react/pull/37143), [#37241](https://github.com/facebook/react/pull/37241))
  6. - Added an `onBrowserBailout` option to the `react-dom/server` APIs to observe when a subtree defers to the browser (@gnoff [#37193](https://github.com/facebook/react/pull/37193))
  7. ### Notable changes
  8. - Enable Trusted Types API integration (@rickhanlonii [#35816](https://github.com/facebook/react/pull/35816))
  9. - Transitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (@acdlite [#37290](https://github.com/facebook/react/pull/37290))
  10. - Added a DEV-only warning when a component appears to have been unblocked by calling `use()` conditionally (@hoxyq, @eps1lon: [#37104](https://github.com/facebook/react/pull/37104), [#37203](https://github.com/facebook/react/pull/37203), [#37491](https://github.com/facebook/react/pull/37491))
  11. ### All Changes
  12. #### React
  13. - Fast Refresh Fixes
  14. - Fix Fast Refresh to find and remount edits to components wrapped behind `lazy()` (@sophiebits [#36965](https://github.com/facebook/react/pull/36965))
  15. - Fix Fast Refresh so edits to a `memo()` comparison function take effect (@sophiebits [#36964](https://github.com/facebook/react/pull/36964))
  16. - Fix Fast Refresh crash when an edit changes the kind of a component's type (@sophiebits [#36963](https://github.com/facebook/react/pull/36963))
  17. - Unify hot reload type resolution for Fast Refresh (@sophiebits [#36962](https://github.com/facebook/react/pull/36962))
  18. - Fix Fast Refresh to remount correctly when an edit changes the component kind (@sophiebits [#36950](https://github.com/facebook/react/pull/36950))
  19. - Double invoke effects in StrictMode after Fast Refresh (@eps1lon [#35962](https://github.com/facebook/react/pull/35962))
  20. - Performance Track Fixes
  21. - Prevent crash when accessing `$$typeof` in Performance Tracks (@eps1lon [#35679](https://github.com/facebook/react/pull/35679))
  22. - Handle non-string function names in Performance Tracks (@eps1lon [#35659](https://github.com/facebook/react/pull/35659))
  23. - Use minus (`-`) instead of en dash for removed props in Performance Tracks (@eps1lon [#35649](https://github.com/facebook/react/pull/35649))
  24. - Handle arrays with bigints in deep objects in Performance Tracks (@eps1lon [#35648](https://github.com/facebook/react/pull/35648))
  25. - Don't enumerate typed array props in Performance Tracks in DEV (@UditDewan [#36913](https://github.com/facebook/react/pull/36913))
  26. - Bail out of diffing wide objects and arrays in Performance Tracks (@eps1lon [#34742](https://github.com/facebook/react/pull/34742))
  27. - Clear potentially large performance measures in DEV (@hoxyq [#34803](https://github.com/facebook/react/pull/34803))
  28. - Fix missing else branch for renders with no props change in Performance Tracks (@hoxyq [#34837](https://github.com/facebook/react/pull/34837))
  29. - Activity Fixes
  30. - Fix `useSyncExternalStore` missing store mutations that happened while an Activity tree was hidden (@sophiebits [#36947](https://github.com/facebook/react/pull/36947))
  31. - Hide portal contents when an Activity is hidden (@acdlite [#35091](https://github.com/facebook/react/pull/35091))
  32. - Prevent metadata hoisting in hidden `<Activity>` trees (@ronnakamoto [#34983](https://github.com/facebook/react/pull/34983))
  33. - Prevent errors thrown inside a hidden Activity from escaping to the visible UI (@acdlite [#35074](https://github.com/facebook/react/pull/35074))
  34. - Don't unhide a node if a direct parent Offscreen is still hidden (@sebmarkbage [#34821](https://github.com/facebook/react/pull/34821))
  35. - Don't show internal `<Offscreen>` component in error messages (@rickhanlonii [#35763](https://github.com/facebook/react/pull/35763))
  36. - Warn in DEV when a component appears to have been unblocked by a conditional `use()` (@hoxyq, @eps1lon: [#37104](https://github.com/facebook/react/pull/37104), [#37203](https://github.com/facebook/react/pull/37203), [#37491](https://github.com/facebook/react/pull/37491))
  37. - Render transitions independently instead of entangling them into a single render (@acdlite [#37290](https://github.com/facebook/react/pull/37290))
  38. - Fix hang when updating a dehydrated boundary inside a hidden tree (@gaearon [#37135](https://github.com/facebook/react/pull/37135))
  39. - Don't reacquire Host Singletons during dev effect validation (@gnoff [#37113](https://github.com/facebook/react/pull/37113))
  40. - Only remove properties from Host Singletons on release (@gnoff [#37112](https://github.com/facebook/react/pull/37112))
  41. - Don't invoke effects on moved children in StrictMode (@sophiebits [#36948](https://github.com/facebook/react/pull/36948))
  42. - Throw a clearer error when a rejected Promise is incorrectly instrumented (@eps1lon [#36328](https://github.com/facebook/react/pull/36328))
  43. - Fix context propagation into Suspense fallbacks (@acdlite [#36160](https://github.com/facebook/react/pull/36160))
  44. - Fix context propagation through suspended Suspense boundaries (@acdlite [#35839](https://github.com/facebook/react/pull/35839))
  45. - Fix `useDeferredValue` getting stuck (@gaearon [#36134](https://github.com/facebook/react/pull/36134))
  46. - Update `useActionState` error message to say "action state" instead of "form state" (@rickhanlonii [#35790](https://github.com/facebook/react/pull/35790))
  47. - Don't warn when rendering data block scripts (@eps1lon [#35953](https://github.com/facebook/react/pull/35953))
  48. - Treat fibers with alternates as mounted in `getNearestMountedFiber` (@sebmarkbage [#35578](https://github.com/facebook/react/pull/35578))
  49. - Always instrument the lazy initializer thenable (@gnoff [#35521](https://github.com/facebook/react/pull/35521))
  50. - Annotate cascading updates for DevTools performance tracks in DEV (@huntie [#34961](https://github.com/facebook/react/pull/34961))
  51. - Resolve the `.default` export of a `React.lazy` as the canonical value (@sebmarkbage [#34906](https://github.com/facebook/react/pull/34906))
  52. - Limit owner stacks to 10 frames (@eps1lon [#34864](https://github.com/facebook/react/pull/34864))
  53. - Ensure `useEffectEvent` reads latest values in `forwardRef` and `memo()` components (@eps1lon [#34831](https://github.com/facebook/react/pull/34831))
  54. #### React DOM
  55. - Copy `source` onto the synthetic `toggle` event (@lazerg [#37389](https://github.com/facebook/react/pull/37389))
  56. - Update HTML parser rules for the new `<select>` parser (@josepharhar [#34804](https://github.com/facebook/react/pull/34804))
  57. - Update `defaultValue` for `type="number"` inputs to match other input types (@sophiebits [#36980](https://github.com/facebook/react/pull/36980))
  58. - Avoid setting `innerHTML` when it hasn't changed (@sophiebits [#36949](https://github.com/facebook/react/pull/36949))
  59. - Forward the `nonce` option in `ReactDOM.preloadModule()` (@UditDewan [#36851](https://github.com/facebook/react/pull/36851))
  60. - Support `fetchPriority` for module resources (@TheAlexLichter [#36835](https://github.com/facebook/react/pull/36835))
  61. - Track stylesheet preloads when explicitly preloaded to avoid unnecessary suspension (@gnoff [#36386](https://github.com/facebook/react/pull/36386))
  62. - Suggest correct casing for the misspelled `credentialless` iframe attribute (@vmx906 [#36322](https://github.com/facebook/react/pull/36322))
  63. - Add `credentialless` as a recognized boolean attribute for iframes (@vmx906 [#36148](https://github.com/facebook/react/pull/36148))
  64. - Prevent reentrant `finishedTask` from calling `completeAll` multiple times (@gnoff [#36287](https://github.com/facebook/react/pull/36287))
  65. - Update the CSS shorthand property list (@kidonng [#35636](https://github.com/facebook/react/pull/35636))
  66. - Support the `maskType` SVG prop (@sleitor [#35921](https://github.com/facebook/react/pull/35921))
  67. - Add support for `onFullscreenChange` and `onFullscreenError` events (@chirokas [#34621](https://github.com/facebook/react/pull/34621))
  68. - Include `submitter` in `submit` events (@eps1lon [#35590](https://github.com/facebook/react/pull/35590))
  69. - Fire `onReset` when automatically resetting forms (@eps1lon [#35176](https://github.com/facebook/react/pull/35176))
  70. - Use the `FormData` `submitter` parameter (@jenseng [#29028](https://github.com/facebook/react/pull/29028))
  71. - Fix form status reset when component state is updated (@eps1lon [#34075](https://github.com/facebook/react/pull/34075))
  72. - Batch updates from `resize` events until the next frame (@eps1lon [#35117](https://github.com/facebook/react/pull/35117))
  73. #### React Server
  74. - Add `nonce` to rendered import maps (@mattcosta7 [#37339](https://github.com/facebook/react/pull/37339))
  75. - Add an `onBrowserBailout` option to observe subtrees that defer to the browser (@gnoff [#37193](https://github.com/facebook/react/pull/37193))
  76. - Stop the caller's signal from retaining a finished render (@unstubbable [#37315](https://github.com/facebook/react/pull/37315))
  77. - Construct the render lifetime controller only when it is needed (@unstubbable [#37357](https://github.com/facebook/react/pull/37357))
  78. - Fix `react-dom/server` hanging on Deno (@fraidev [#35235](https://github.com/facebook/react/pull/35235))
  79. - Extend stack overflow recovery to retries in SSR (@jackpope [#36977](https://github.com/facebook/react/pull/36977))
  80. - Fix false-positive hydration mismatch on `nonce` attributes (@MaxwellCohen [#37030](https://github.com/facebook/react/pull/37030))
  81. - Guard shell-error callbacks instead of nulling them out on the request (@eps1lon [#36916](https://github.com/facebook/react/pull/36916))
  82. - Stop firing `onAllReady` after the shell errored (@eps1lon [#36903](https://github.com/facebook/react/pull/36903))
  83. - Treat an incomplete tree as an error during error recovery (@acdlite [#36911](https://github.com/facebook/react/pull/36911))
  84. - Fix non-script `modulepreload` tracking (@fallintoplace [#36564](https://github.com/facebook/react/pull/36564))
  85. - Finalize postponed `nextSegmentId` after the prelude flush (@gaojude [#36779](https://github.com/facebook/react/pull/36779))
  86. - Preserve `referrerPolicy` in image preload headers (@ulises-jeremias [#36803](https://github.com/facebook/react/pull/36803))
  87. - Allow pending work to specialize abort reasons (@gnoff [#36586](https://github.com/facebook/react/pull/36586))
  88. - Abort tasks that suspend after aborting during render (@gnoff [#36585](https://github.com/facebook/react/pull/36585))
  89. - Finish abort in a scheduled task (@gnoff [#36580](https://github.com/facebook/react/pull/36580))
  90. - Fix aborts during resumed rendering (@gnoff [#36584](https://github.com/facebook/react/pull/36584))
  91. - Track abort state on the request (@gnoff [#36583](https://github.com/facebook/react/pull/36583))
  92. - Model external work scheduling explicitly in the fb bundle (@gnoff [#36576](https://github.com/facebook/react/pull/36576))
  93. - Continue reporting aborted task errors after a fatal abort (@gnoff [#36575](https://github.com/facebook/react/pull/36575))
  94. - Disallow abort reentrancy (@gnoff [#36574](https://github.com/facebook/react/pull/36574))
  95. - Stop transpiling computed property names (@eps1lon [#36542](https://github.com/facebook/react/pull/36542))
  96. - Fix crash when capturing the callsite of a stalled `use()` of a rejected Flight chunk (@lubieowoce [#36544](https://github.com/facebook/react/pull/36544))
  97. - Double invoke effects in Strict Mode during hydration (@eps1lon [#35961](https://github.com/facebook/react/pull/35961))
  98. - Add additional task reentrancy protections in Fizz (@gnoff [#36291](https://github.com/facebook/react/pull/36291))
  99. - Don't outline Suspense boundaries with suspensey CSS during shell flush (@gnoff [#35824](https://github.com/facebook/react/pull/35824))
  100. - Push a stalled `use()` to the owner stack and debug task (@eps1lon [#35226](https://github.com/facebook/react/pull/35226))
  101. - Fix `useId` tracking on replay (@gnoff [#35518](https://github.com/facebook/react/pull/35518))
  102. - Correctly handle replaying when hydrating (@gnoff [#35494](https://github.com/facebook/react/pull/35494))
  103. - Simplify the `createSuspenseBoundary` path (@sebmarkbage [#35087](https://github.com/facebook/react/pull/35087))
  104. - Unify preamble-only fields to save a field on Suspense boundaries (@sebmarkbage [#35068](https://github.com/facebook/react/pull/35068))
  105. - Unify prerender-only fields to save a field on Suspense boundaries (@sebmarkbage [#35067](https://github.com/facebook/react/pull/35067))
  106. - Push halted awaits to the owner stack for late-arriving I/O info (@unstubbable [#35019](https://github.com/facebook/react/pull/35019))
  107. - Include all Node.js APIs in the Bun entrypoint for `react-dom/server` (@RiskyMH [#34193](https://github.com/facebook/react/pull/34193))
  108. - Detach a Suspense boundary after flushing its segment (@gnoff [#34694](https://github.com/facebook/react/pull/34694))
  109. #### React Server Components
  110. - Keep an element pending while a referenced row is resolving (@unstubbable [#37542](https://github.com/facebook/react/pull/37542))
  111. - Fix `RangeError` from exponential debug info growth (@unstubbable [#37481](https://github.com/facebook/react/pull/37481))
  112. - Abort the cache signal when debug objects are retained (@unstubbable [#37342](https://github.com/facebook/react/pull/37342))
  113. - Transfer key validation of lazy nodes when they are unwrapped (@unstubbable [#37258](https://github.com/facebook/react/pull/37258))
  114. - Add `pending_weak` to the Flight thenable protocol (@acdlite [#37154](https://github.com/facebook/react/pull/37154))
  115. - Outline and dedupe repeated strings (@gaearon [#37147](https://github.com/facebook/react/pull/37147))
  116. - Port Reply Server traversal guards to the Flight Client (@eps1lon [#37144](https://github.com/facebook/react/pull/37144))
  117. - Define Flight chunk `.then` with `Object.defineProperty` (@eps1lon [#37109](https://github.com/facebook/react/pull/37109))
  118. - Support Turbopack's experimental array format for chunks (@sampoder [#37095](https://github.com/facebook/react/pull/37095))
  119. - Limit fake JSX call site stacks to 10 frames (@timneutkens [#37086](https://github.com/facebook/react/pull/37086))
  120. - Improve performance when decoding Flight replies (@gnoff [#37090](https://github.com/facebook/react/pull/37090))
  121. - Recognize Node 22+ V8 frames for `Promise` statics in debug info (@gaearon [#36969](https://github.com/facebook/react/pull/36969))
  122. - Tailor the warning for binary data serialized through `toJSON` (Node `Buffer`) (@unstubbable [#36873](https://github.com/facebook/react/pull/36873))
  123. - Resolve models before `JSON.stringify` for faster serialization (@mhart [#36795](https://github.com/facebook/react/pull/36795))
  124. - Prune debug info when chunks error (@gnoff [#36782](https://github.com/facebook/react/pull/36782))
  125. - Avoid main-thread stalls from large debug strings (@unstubbable [#36570](https://github.com/facebook/react/pull/36570))
  126. - Fix stranded row content under Node stream backpressure (@unstubbable [#36516](https://github.com/facebook/react/pull/36516))
  127. - Fix dropped `FormData` entries in `decodeReplyFromBusboy` (@unstubbable [#36468](https://github.com/facebook/react/pull/36468))
  128. - Harden types and improve performance of Flight replies (@eps1lon [#36425](https://github.com/facebook/react/pull/36425))
  129. - Add more cycle protections to Flight replies (@eps1lon [#36236](https://github.com/facebook/react/pull/36236))
  130. - Transport `AggregateError.errors` (@eps1lon [#36156](https://github.com/facebook/react/pull/36156))
  131. - Bail out early when a backing entry for `Blob` deserialization is not a `Blob` (@eps1lon [#36055](https://github.com/facebook/react/pull/36055))
  132. - Clear chunk reason after successful module initialization (@unstubbable [#36024](https://github.com/facebook/react/pull/36024))
  133. - Add support for transporting `Error.cause` (@eps1lon [#35810](https://github.com/facebook/react/pull/35810))
  134. - Walk parsed JSON instead of using a reviver for faster RSC payload parsing (@timneutkens [#35776](https://github.com/facebook/react/pull/35776))
  135. - Skip `transferReferencedDebugInfo` during debug info resolution (@unstubbable [#35795](https://github.com/facebook/react/pull/35795))
  136. - Add `unstable_allowPartialStream` option to Flight Client (@unstubbable [#35731](https://github.com/facebook/react/pull/35731))
  137. - Fix `encodeReply` for JSX with temporary references (@unstubbable [#35730](https://github.com/facebook/react/pull/35730))
  138. - Fix debug channel flag in Node.js `renderToPipeableStream` (@feedthejim [#35724](https://github.com/facebook/react/pull/35724))
  139. - Fix stack overflow in `visitAsyncNode` with deep async chains (@unstubbable [#35612](https://github.com/facebook/react/pull/35612))
  140. - Allow Server Components to render context providers from client modules (@rickhanlonii [#35675](https://github.com/facebook/react/pull/35675))
  141. - Allow overriding `request.timeOrigin` via `options.startTime` (@lubieowoce [#35598](https://github.com/facebook/react/pull/35598))
  142. - Warn once if `eval` is disabled in the dev environment (@eps1lon [#35661](https://github.com/facebook/react/pull/35661))
  143. - Restore original function name in dev server callstacks served with `unsafe-eval` (@eps1lon [#35650](https://github.com/facebook/react/pull/35650))
  144. - Fix `react-markup` types for server references (@eps1lon [#35634](https://github.com/facebook/react/pull/35634))
  145. - Add more DoS mitigations to Flight replies and harden Flight (@unstubbable [#35632](https://github.com/facebook/react/pull/35632))
  146. - Allow cyclic references to be serialized when unwrapping lazy elements (@unstubbable [#35471](https://github.com/facebook/react/pull/35471))
  147. - Improve cyclic thenable detection in Flight reply server (@cvan20191 [#35369](https://github.com/facebook/react/pull/35369))
  148. - Add extra loop protection to Flight reply server (@sebmarkbage [#35351](https://github.com/facebook/react/pull/35351))
  149. - Patch Promise cycles and `toString` on Server Functions (@sebmarkbage [#35345](https://github.com/facebook/react/pull/35345))
  150. - Move `react-server-dom-webpack/*.unbundled` to private `react-server-dom-unbundled` (@eps1lon [#35290](https://github.com/facebook/react/pull/35290))
  151. - Never parse `then` functions in Flight replies (@sebmarkbage [#35289](https://github.com/facebook/react/pull/35289))
  152. - Patch Flight reply server with fixes from Flight Client (@sebmarkbage [#35277](https://github.com/facebook/react/pull/35277))
  153. - Complete the list of Node.js internal Promise awaits (@eps1lon [#35161](https://github.com/facebook/react/pull/35161))
  154. - Reduce risk of maximum call stack exceeded when emitting async sequences (@eps1lon [#35159](https://github.com/facebook/react/pull/35159))
  155. - Fix pending chunks count for streams and async iterables in DEV (@unstubbable [#35143](https://github.com/facebook/react/pull/35143))
  156. - Fix broken byte stream parsing caused by buffer detachment (@unstubbable [#35127](https://github.com/facebook/react/pull/35127))
  157. - Fix `hasReadable` flag in Node.js clients' debug channel (@unstubbable [#35039](https://github.com/facebook/react/pull/35039))
  158. - Fix debug info filtering to include later resolved I/O (@unstubbable [#35036](https://github.com/facebook/react/pull/35036))
  159. - Cache the value when visiting the same I/O or Promise along different paths (@sebmarkbage [#35005](https://github.com/facebook/react/pull/35005))
  160. - Clone subsequent I/O nodes when resolved more than once (@sebmarkbage [#35003](https://github.com/facebook/react/pull/35003))
  161. - Fix hang after resolving cyclic references (@unstubbable [#34988](https://github.com/facebook/react/pull/34988))
  162. - Allow passing DEV-only `startTime` as an option (@sebmarkbage [#34912](https://github.com/facebook/react/pull/34912))
  163. - Ignore bound-anonymous-fn resources as they're not considered I/O (@sebmarkbage [#34911](https://github.com/facebook/react/pull/34911))
  164. - Fix detached `ArrayBuffer` error when streaming typed arrays (@unstubbable [#34849](https://github.com/facebook/react/pull/34849))
  165. - Exclude RSC stream if the stream resolves in a task (@sebmarkbage [#34838](https://github.com/facebook/react/pull/34838))
  166. - Forward the current environment when forwarding I/O entries (@sebmarkbage [#34836](https://github.com/facebook/react/pull/34836))
  167. - Look for moved debug info when logging component performance track (@sebmarkbage [#34839](https://github.com/facebook/react/pull/34839))
  168. - Respect `displayName` of Promise instances on the server (@sebmarkbage [#34825](https://github.com/facebook/react/pull/34825))
  169. - Avoid unnecessary indirection when serializing debug info (@unstubbable [#34797](https://github.com/facebook/react/pull/34797))
  170. - Fix preload `as` attribute for stylesheets (@unstubbable [#34760](https://github.com/facebook/react/pull/34760))
  171. - Don't serialize `toJSON` in debug path and omit wide arrays (@sebmarkbage [#34759](https://github.com/facebook/react/pull/34759))
  172. - Add support for `<Activity>` (@eps1lon [#34697](https://github.com/facebook/react/pull/34697))

View on GitHubimported 2026-09-22 via npm