New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Not for merge] 18.3 Release #28843
[Not for merge] 18.3 Release #28843
Conversation
Good Luck 🤞 |
We're going to use this branch to release a minor 18.3 release based off the published 18.2 release revision. This will include some additional warnings to assist in upgrading to React 19, but no behavior changes compared to 18.2. I bumped the React version to 18.3 and all the other packages by a patch revision (since we're not going to update anything in those).
0aea748
to
a06a364
Compare
…e) (#25383) ## Summary Alternate to #25334 without any prod runtime changes i.e. the proposed codemod in https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md#deprecate-string-refs-and-remove-production-mode-_owner-field would not work. ## How did you test this change? - [x] CI - [x] `yarn test` with and without `warnAboutStringRefs`
This improves the error message a bit and ensures that we recommend putting the key first, not last, which ensures that the faster `jsx-runtime` is used. This only affects the modern "automatic" JSX transform.
b0920fd
to
cdf5c94
Compare
…25699) This also fixes a gap where were weren't warning on memo components.
5894232
to
3385865
Compare
This backports a deprecation warning for legacy context, even when Strict Mode is not enabled. I didn't bother to update all the tests because the tests are in such a different state than what's on `main`, and on `main` we already updated the tests accordingly. So instead I silenced the warnings in our test config, like we've done for other warnings in the past.
This commit adds warnings indicating that `renderToStaticNodeStream` will be removed in an upcoming React release. This API has been legacy, is not widely used (renderToStaticMarkup is more common) and has semantically eqiuvalent implementations with renderToReadableStream and renderToPipeableStream. landed in main in #28872 changed the warning to match renderToNodeStream
d84a900
to
070c9f2
Compare
@@ -711,6 +727,23 @@ function buildSimulators() { | |||
} | |||
buildSimulators(); | |||
|
|||
let didWarnAboutUsingAct = false; | |||
export const act = __DEV__ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also fork dev and prod on main
? We always warn on main
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but it throws in production anyway so it's not a big deal
55e9bd4
to
b59f8f0
Compare
Previously, the `refs` property of a class component instance was read-only by user code — only React could write to it, and until/unless a string ref was used, it pointed to a shared empty object that was frozen in dev to prevent userspace mutations. Because string refs are deprecated, we want users to be able to codemod all their string refs to callback refs. The safest way to do this is to output a callback ref that assigns to `this.refs`. So to support this, we need to make `this.refs` writable by userspace.
Adds a deprecation warning to ReactDOMTestUtils.renderIntoDocument, which is removed in version 19. Also backports the deprecation warning for ReactDOMTestUtils.act.
This is removed in version 19. We already warned inside of Strict Mode but this adds the warning everywhere.
This should have been deprecated in 18.0 alongside the other legacy DOM APIs like render().
Released to npm |
It would be good to tag and make a GitHub release for v18.3 to make it more official. I checked this GitHub project after seeing the npm outdated notice, but there was no tag or release. It made me worried that the npm project had somehow been hijacked. |
The React Blog says to read about 18.3 in the CHANGELOG, but it has no details about 18.3 also |
Still no new Tag or Release in Releases Tab! @acdlite please make a changelog |
Sorry about that, changelog updated and 18.3.1 and 18.3.0 tags + releases published: https://github.com/facebook/react/releases |
"no behaviour changes" - it means there is some stuff present in 18.3.0-canary-* that will be postponed to land later in React 19? I know it was canary channel so changes were expected, just making sure I understand. Cause i see behavioural difference between last canary versions and stable 18.3.x, like with hydration. 🤔 |
@hewelt 18.3 was based off of 18.2 not the current Canary. Behavior changes between 18.3 and Canary are therefore expected. |
Not for merge
We're going to use this branch to release a minor 18.3 release based off the published 18.2 release revision. This will include some additional warnings to assist in upgrading to React 19, but no behavior changes compared to 18.2.
I bumped the React version to 18.3 and all the other packages by a patch revision (since we're not going to update anything in those).