-
Notifications
You must be signed in to change notification settings - Fork 49.2k
Comparing changes
Open a pull request
base repository: facebook/react
base: v19.1.0
head repository: facebook/react
compare: v19.1.1
- 11 commits
- 40 files changed
- 7 contributors
Commits on Jul 15, 2025
-
Ship enableFabricCompleteRootInCommitPhase (#33064)
This was shipped internally. Cleaning up the flag.
Configuration menu - View commit details
-
Copy full SHA for a24654e - Browse repository at this point
Copy the full SHA a24654eView commit details -
Add eager alternate.stateNode cleanup (#33161)
This is a fix for a problem where React retains shadow nodes longer than it needs to. The behaviour is shown in React Native test: https://github.com/facebook/react-native/blob/main/packages/react-native/src/private/__tests__/utilities/__tests__/ShadowNodeReferenceCounter-itest.js#L169 When React commits a new shadow tree, old shadow nodes are stored inside `fiber.alternate.stateNode`. This is not cleared up until React clones the node again. This may be problematic if mutation deletes a subtree, in that case `fiber.alternate.stateNode` will retain entire subtree until next update. In case of image nodes, this means retaining entire images. So when React goes from revision A: `<View><View /></View>` to revision B: `<View />`, `fiber.alternate.stateNode` will be pointing to Shadow Node that represents revision A..  To fix this, this PR adds a new feature flag `enableEagerAlternateStateNodeCleanup`. When enabled, `alternate.stateNode` is proactively pointed towards finishedWork's stateNode, releasing resources sooner. I have verified this fixes the issue [demonstrated by React Native tests](https://github.com/facebook/react-native/blob/main/packages/react-native/src/private/__tests__/utilities/__tests__/ShadowNodeReferenceCounter-itest.js#L169). All existing React tests pass when the flag is enabled.
Configuration menu - View commit details
-
Copy full SHA for 2cd3c42 - Browse repository at this point
Copy the full SHA 2cd3c42View commit details -
Enable the
enableEagerAlternateStateNodeCleanup
Feature Flag (#33447)Enables the `enableEagerAlternateStateNodeCleanup` feature flag for all variants, while maintaining the `__VARIANT__` for the internal React Native flavor for backtesting reasons. ``` $ yarn test ```
Configuration menu - View commit details
-
Copy full SHA for 0e6781a - Browse repository at this point
Copy the full SHA 0e6781aView commit details
Commits on Jul 16, 2025
-
[DevTools] Get source location from structured callsites in prepareSt…
…ackTrace (#33143) When we get the source location for "View source for this element" we should be using the enclosing function of the callsite of the child. So that we don't just point to some random line within the component. This is similar to the technique in #33136. This technique is now really better than the fake throw technique, when available. So I now favor the owner technique. The only problem it's only available in DEV and only if it has a child that's owned (and not filtered). We could implement this same technique for the error that's thrown in the fake throwing solution. However, we really shouldn't need that at all because for client components we should be able to call `inspect(fn)` at least in Chrome which is even better.
Configuration menu - View commit details
-
Copy full SHA for 01eae20 - Browse repository at this point
Copy the full SHA 01eae20View commit details -
fix: rename bottom stack frame (#33680)
`react-stack-bottom-frame` -> `react_stack_bottom_frame`. This survives `@babel/plugin-transform-function-name`, but now frames will be displayed as `at Object.react_stack_bottom_frame (...)` in V8. Checks that were relying on exact function name match were updated to use either `.indexOf()` or `.includes()` For backwards compatibility, both React DevTools and Flight Client will look for both options. I am not so sure about the latter and if React version is locked.
Configuration menu - View commit details
-
Copy full SHA for 5a1eb6f - Browse repository at this point
Copy the full SHA 5a1eb6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 73e4ba4 - Browse repository at this point
Copy the full SHA 73e4ba4View commit details -
Bump next prerelease version numbers (#32782)
Updates the version numbers in the prerelease channels.
Configuration menu - View commit details
-
Copy full SHA for b793948 - Browse repository at this point
Copy the full SHA b793948View commit details -
[eprh] Bump stable version (#32978)
https://www.npmjs.com/package/eslint-plugin-react-hooks/v/6.0.0 was just released, so we can bump this now.
Configuration menu - View commit details
-
Copy full SHA for 52cf381 - Browse repository at this point
Copy the full SHA 52cf381View commit details -
Configuration menu - View commit details
-
Copy full SHA for 87e33ca - Browse repository at this point
Copy the full SHA 87e33caView commit details
Commits on Jul 24, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 3f178f5 - Browse repository at this point
Copy the full SHA 3f178f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 02ef495 - Browse repository at this point
Copy the full SHA 02ef495View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v19.1.0...v19.1.1