Skip to content
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

Closed
wants to merge 10 commits into from
Closed

[Not for merge] 18.3 Release #28843

wants to merge 10 commits into from

Conversation

acdlite
Copy link
Collaborator

@acdlite acdlite commented Apr 15, 2024

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).

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Apr 15, 2024
@Zaid-maker
Copy link

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).
@acdlite acdlite force-pushed the 18-3 branch 3 times, most recently from 0aea748 to a06a364 Compare April 16, 2024 16:37
eps1lon and others added 2 commits April 16, 2024 12:44
…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.
@acdlite acdlite force-pushed the 18-3 branch 3 times, most recently from b0920fd to cdf5c94 Compare April 16, 2024 16:52
…25699)

This also fixes a gap where were weren't warning on memo components.
@acdlite acdlite force-pushed the 18-3 branch 2 times, most recently from 5894232 to 3385865 Compare April 18, 2024 15:57
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
@acdlite acdlite force-pushed the 18-3 branch 2 times, most recently from d84a900 to 070c9f2 Compare April 23, 2024 17:50
@acdlite acdlite changed the title Bump version from 18.2 to 18.3 [Not for merge] 18.3 Release Apr 23, 2024
@@ -711,6 +727,23 @@ function buildSimulators() {
}
buildSimulators();

let didWarnAboutUsingAct = false;
export const act = __DEV__
Copy link
Collaborator

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.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yes

Copy link
Collaborator Author

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

@acdlite acdlite force-pushed the 18-3 branch 5 times, most recently from 55e9bd4 to b59f8f0 Compare April 23, 2024 20:31
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().
@acdlite
Copy link
Collaborator Author

acdlite commented Apr 25, 2024

Released to npm

@acdlite acdlite closed this Apr 25, 2024
@ngbrown
Copy link

ngbrown commented Apr 25, 2024

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.

@nathanhannig
Copy link

The React Blog says to read about 18.3 in the CHANGELOG, but it has no details about 18.3 also

@Zaid-maker
Copy link

Zaid-maker commented Apr 26, 2024

Still no new Tag or Release in Releases Tab!

@acdlite please make a changelog

@rickhanlonii
Copy link
Member

Sorry about that, changelog updated and 18.3.1 and 18.3.0 tags + releases published: https://github.com/facebook/react/releases

@hewelt
Copy link

hewelt commented Apr 30, 2024

"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. 🤔

@eps1lon
Copy link
Collaborator

eps1lon commented Apr 30, 2024

@hewelt 18.3 was based off of 18.2 not the current Canary. Behavior changes between 18.3 and Canary are therefore expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants