Skip to content

Conversation

@CodyJasonBennett
Copy link
Member

Updates the reconciler to support React 19.2, including <Activity /> and useEffectEvent().

Because react-reconciler is published in lockstep with the React package, it is not seen as forwards compatible since React 19 and supports 19.2+.

We bundle react-reconciler for the moment since we are sure these features are forward compatible and do not present a breaking change. React packages inline the reconciler as well, but we have to ship both the development and production bundles.

@codesandbox-ci
Copy link

codesandbox-ci bot commented Nov 29, 2025

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 9f25968:

Sandbox Source
example Configuration

"expo-gl": ">=11.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react": ">=19 <19.3",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldnt this pin us to not support React versions besides 19.2.x?

I thought the intent was to let us support 19.2+ without having to keep in lockstep with react majors.

Or do you feel bumping react would be a minor change after we include the reconciler ourselves?

Copy link
Member Author

@CodyJasonBennett CodyJasonBennett Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This specifies the range 19.0.0-19.2.x since we can only guarantee backwards compatibility but not forwards compatibility. And yes, we would need to update the reconciler and ship a minor since any new React APIs would not be implemented in the reconciler dispatcher and error (such as calling useEffectEvent now). An upstream solution is highly motivated by this restriction, as we do not know if this will continue to hold for a possible 19.3.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha.
So your intent is to support people BELOW the current React version.

this means though we have to stay super up to date at all times because the second a new React version comes out and people update we would trigger build warnings and probable CI rejections and all users would be waiting on us to support React 19.x. Regardless if there is new or breaking features.

@krispya
Copy link
Member

krispya commented Dec 30, 2025

It all looks good. yarn dev and then yarn examples errors out but this is happening on master and not the fault of this PR.

@krispya krispya merged commit f51e57e into master Dec 30, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants