Releases: facebook/react
17.0.1 (October 22, 2020)
17.0.0 (October 20, 2020)
Today, we are releasing React 17!
Learn more about React 17 and how to update to it on the official React blog.
React
- Add
react/jsx-runtime
andreact/jsx-dev-runtime
for the new JSX transform. (@lunaruan in #18299) - Build component stacks from native error frames. (@sebmarkbage in #18561)
- Allow to specify
displayName
on context for improved stacks. (@eps1lon in #18224) - Prevent
'use strict'
from leaking in the UMD bundles. (@koba04 in #19614) - Stop using
fb.me
for redirects. (@cylim in #19598)
React DOM
- Delegate events to roots instead of
document
. (@trueadm in #18195 and others) - Clean up all effects before running any next effects. (@bvaughn in #17947)
- Run
useEffect
cleanup functions asynchronously. (@bvaughn in #17925) - Use browser
focusin
andfocusout
foronFocus
andonBlur
. (@trueadm in #19186) - Make all
Capture
events use the browser capture phase. (@trueadm in #19221) - Don't emulate bubbling of the
onScroll
event. (@gaearon in #19464) - Throw if
forwardRef
ormemo
component returnsundefined
. (@gaearon in #19550) - Remove event pooling. (@trueadm in #18969)
- Stop exposing internals that won’t be needed by React Native Web. (@necolas in #18483)
- Attach all known event listeners when the root mounts. (@gaearon in #19659)
- Disable
console
in the second render pass of DEV mode double render. (@sebmarkbage in #18547) - Deprecate the undocumented and misleading
ReactTestUtils.SimulateNative
API. (@gaearon in #13407) - Rename private field names used in the internals. (@gaearon in #18377)
- Don't call User Timing API in development. (@gaearon in #18417)
- Disable console during the repeated render in Strict Mode. (@sebmarkbage in #18547)
- In Strict Mode, double-render components without Hooks too. (@eps1lon in #18430)
- Allow calling
ReactDOM.flushSync
during lifecycle methods (but warn). (@sebmarkbage in #18759) - Add the
code
property to the keyboard event objects. (@bl00mber in #18287) - Add the
disableRemotePlayback
property forvideo
elements. (@tombrowndev in #18619) - Add the
enterKeyHint
property forinput
elements. (@eps1lon in #18634) - Warn when no
value
is provided to<Context.Provider>
. (@charlie1404 in #19054) - Warn when
memo
orforwardRef
components returnundefined
. (@bvaughn in #19550) - Improve the error message for invalid updates. (@JoviDeCroock in #18316)
- Exclude forwardRef and memo from stack frames. (@sebmarkbage in #18559)
- Improve the error message when switching between controlled and uncontrolled inputs. (@vcarl in #17070)
- Keep
onTouchStart
,onTouchMove
, andonWheel
passive. (@gaearon in #19654) - Fix
setState
hanging in development inside a closed iframe. (@gaearon in #19220) - Fix rendering bailout for lazy components with
defaultProps
. (@jddxf in #18539) - Fix a false positive warning when
dangerouslySetInnerHTML
isundefined
. (@eps1lon in #18676) - Fix Test Utils with non-standard
require
implementation. (@just-boris in #18632) - Fix
onBeforeInput
reporting an incorrectevent.type
. (@eps1lon in #19561) - Fix
event.relatedTarget
reported asundefined
in Firefox. (@claytercek in #19607) - Fix "unspecified error" in IE11. (@hemakshis in #19664)
- Fix rendering into a shadow root. (@Jack-Works in #15894)
- Fix
movementX/Y
polyfill with capture events. (@gaearon in #19672) - Use delegation for
onSubmit
andonReset
events. (@gaearon in #19333) - Improve memory usage. (@trueadm in #18970)
React DOM Server
- Make
useCallback
behavior consistent withuseMemo
for the server renderer. (@alexmckenley in #18783) - Fix state leaking when a function component throws. (@pmaccart in #19212)
React Test Renderer
- Improve
findByType
error message. (@henryqdineen in #17439)
Concurrent Mode (Experimental)
- Revamp the priority batching heuristics. (@acdlite in #18796)
- Add the
unstable_
prefix before the experimental APIs. (@acdlite in #18825) - Remove
unstable_discreteUpdates
andunstable_flushDiscreteUpdates
. (@trueadm in #18825) - Remove the
timeoutMs
argument. (@acdlite in #19703) - Disable
<div hidden />
prerendering in favor of a different future API. (@acdlite in #18917) - Add
unstable_expectedLoadTime
to Suspense for CPU-bound trees. (@acdlite in #19936) - Add an experimental
unstable_useOpaqueIdentifier
Hook. (@lunaruan in #17322) - Add an experimental
unstable_startTransition
API. (@rickhanlonii in #19696) - Using
act
in the test renderer no longer flushes Suspense fallbacks. (@acdlite in #18596) - Use global render timeout for CPU Suspense. (@sebmarkbage in #19643)
- Clear the existing root content before mounting. (@bvaughn in #18730)
- Fix a bug with error boundaries. (@acdlite in #18265)
- Fix a bug causing dropped updates in a suspended tree. (@acdlite in #18384 and #18457)
- Fix a bug causing dropped render phase updates. (@acdlite in #18537)
- Fix a bug in Suspens...
16.14.0 (October 14, 2020)
React
- Add support for the new JSX transform. (@lunaruan in #18299)
15.7.0 (October 14, 2020)
React
- Backport support for the new JSX transform to 15.x. (@lunaruan in #18299 and @gaearon in #20024)
0.14.10 (October 14, 2020)
React
- Backport support for the new JSX transform to 0.14.x. (@lunaruan in #18299 and @gaearon in #20024)
16.13.1 (March 19, 2020)
React DOM
- Fix bug in legacy mode Suspense where effect clean-up functions are not fired. This only affects users who use Suspense for data fetching in legacy mode, which is not technically supported. (@acdlite in #18238)
- Revert warning for cross-component updates that happen inside class render lifecycles (
componentWillReceiveProps
,shouldComponentUpdate
, and so on). (@gaearon in #18330)
Artifacts
- react: https://unpkg.com/[email protected]/umd/
- react-art: https://unpkg.com/[email protected]/umd/
- react-dom: https://unpkg.com/[email protected]/umd/
- react-is: https://unpkg.com/[email protected]/umd/
- react-test-renderer: https://unpkg.com/[email protected]/umd/
- scheduler: https://unpkg.com/[email protected]/umd/
16.13.0 (February 26, 2020)
React
- Warn when a string ref is used in a manner that's not amenable to a future codemod (@lunaruan in #17864)
- Deprecate
React.createFactory()
(@trueadm in #17878)
React DOM
- Warn when changes in
style
may cause an unexpected collision (@sophiebits in #14181, #18002) - Warn when a function component is updated during another component's render phase (@acdlite in #17099)
- Deprecate
unstable_createPortal
(@trueadm in #17880) - Fix
onMouseEnter
being fired on disabled buttons (@AlfredoGJ in #17675) - Call
shouldComponentUpdate
twice when developing inStrictMode
(@bvaughn in #17942) - Add
version
property to ReactDOM (@ealush in #15780) - Don't call
toString()
ofdangerouslySetInnerHTML
(@sebmarkbage in #17773) - Show component stacks in more warnings (@gaearon in #17922, #17586)
Concurrent Mode (Experimental)
- Warn for problematic usages of
ReactDOM.createRoot()
(@trueadm in #17937) - Remove
ReactDOM.createRoot()
callback params and added warnings on usage (@bvaughn in #17916) - Don't group Idle/Offscreen work with other work (@sebmarkbage in #17456)
- Adjust
SuspenseList
CPU bound heuristic (@sebmarkbage in #17455) - Add missing event plugin priorities (@trueadm in #17914)
- Fix
isPending
only being true when transitioning from inside an input event (@acdlite in #17382) - Fix
React.memo
components dropping updates when interrupted by a higher priority update (@acdlite in #18091) - Don't warn when suspending at the wrong priority (@gaearon in #17971)
- Fix a bug with rebasing updates (@acdlite and @sebmarkbage in #17560, #17510, #17483, #17480)
Artifacts
- react: https://unpkg.com/[email protected]/umd/
- react-art: https://unpkg.com/[email protected]/umd/
- react-dom: https://unpkg.com/[email protected]/umd/
- react-is: https://unpkg.com/[email protected]/umd/
- react-test-renderer: https://unpkg.com/[email protected]/umd/
- scheduler: https://unpkg.com/[email protected]/umd/
16.12.0 (November 14, 2019)
React DOM
React Is
Artifacts
• react: https://unpkg.com/[email protected]/umd/
• react-art: https://unpkg.com/[email protected]/umd/
• react-dom: https://unpkg.com/[email protected]/umd/
• react-is: https://unpkg.com/[email protected]/umd/
• react-test-renderer: https://unpkg.com/[email protected]/umd/
• scheduler: https://unpkg.com/[email protected]/umd/
16.11.0 (October 22, 2019)
React DOM
- Fix
mouseenter
handlers from firing twice inside nested React containers. @yuanoook in #16928 - Remove
unstable_createRoot
andunstable_createSyncRoot
experimental APIs. (These are available in the Experimental channel ascreateRoot
andcreateSyncRoot
.) (@acdlite in #17088)
Artifacts
• react: https://unpkg.com/[email protected]/umd/
• react-art: https://unpkg.com/[email protected]/umd/
• react-dom: https://unpkg.com/[email protected]/umd/
• react-is: https://unpkg.com/[email protected]/umd/
• react-test-renderer: https://unpkg.com/[email protected]/umd/
• scheduler: https://unpkg.com/[email protected]/umd/
16.10.2 (October 3, 2019)
React DOM
- Fix regression in react-native-web by restoring order of arguments in event plugin extractors (@necolas in #16978)
Artifacts
• react: https://unpkg.com/[email protected]/umd/
• react-art: https://unpkg.com/[email protected]/umd/
• react-dom: https://unpkg.com/[email protected]/umd/
• react-is: https://unpkg.com/[email protected]/umd/
• react-test-renderer: https://unpkg.com/[email protected]/umd/
• scheduler: https://unpkg.com/[email protected]/umd/