Releases: facebook/react
Releases · facebook/react
v16.7.0
React DOM
- Fix performance of
React.lazy
for large numbers of lazily-loaded components. (@acdlite in #14429) - Clear fields on unmount to avoid memory leaks. (@trueadm in #14276)
- Fix bug with SSR and context when mixing
react-dom/[email protected]
andreact@<16.6
. (@gaearon in #14291) - Fix a performance regression in profiling mode. (@bvaughn in #14383)
Scheduler (Experimental)
- Post to MessageChannel instead of window. (@acdlite in #14234)
- Reduce serialization overhead. (@developit in #14249)
- Fix fallback to
setTimeout
in testing environments. (@bvaughn in #14358) - Add methods for debugging. (@mrkev in #14053)
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/
v16.6.3
16.6.3 (November 12, 2018)
React DOM
- Fix bugs in
Suspense
andlazy
. (@acdlite in #14133, #14157, and #14164) - Fix highlighting of
React.memo
updates in React DevTools. (@bvaughn in #14141) - Fix interaction of Suspense with the React Profiler. (@bvaughn in #14065)
- Fix a false positive warning when using Suspense. (@acdlite in #14158)
React DOM Server
- Fix incorrect sharing of context state between
renderToNodeStream()
calls. (@sebmarkbage in #14182) - Add a warning about incorrect usage of the context API. (@trueadm in #14033)
v16.6.1
16.6.1 (November 6, 2018)
React DOM
- Fallback should not remount every time a promise resolves. (@acdlite in #14083)
- Fix bug where Suspense keeps showing fallback even after everything finishes loading. (@acdlite in #14083)
- Fix a crash when Suspense finishes loading in IE11. (@sophiebits in #14126)
- Fix unresolved default props in lifecycle methods of a lazy component. (@gaearon in #14112)
- Fix bug when recovering from an error thrown during complete phase. (@gaearon in #14104)
Scheduler (Experimental)
v16.6.0
16.6.0 (October 23, 2018)
React
- Add
React.memo()
as an alternative toPureComponent
for functions. (@acdlite in #13748) - Add
React.lazy()
for code splitting components. (@acdlite in #13885) React.StrictMode
now warns about legacy context API. (@bvaughn in #13760)React.StrictMode
now warns aboutfindDOMNode
. (@sebmarkbage in #13841)- Rename
unstable_AsyncMode
tounstable_ConcurrentMode
. (@trueadm in #13732) - Rename
unstable_Placeholder
toSuspense
, anddelayMs
tomaxDuration
. (@gaearon in #13799 and @sebmarkbage in #13922)
React DOM
- Add
contextType
as a more ergonomic way to subscribe to context from a class. (@bvaughn in #13728) - Add
getDerivedStateFromError
lifecycle method for catching errors in a future asynchronous server-side renderer. (@bvaughn in #13746) - Warn when
<Context>
is used instead of<Context.Consumer>
. (@trueadm in #13829) - Fix gray overlay on iOS Safari. (@philipp-spiess in #13778)
- Fix a bug caused by overwriting
window.event
in development. (@sergei-startsev in #13697)
React DOM Server
- Add support for
React.memo()
. (@alexmckenley in #13855) - Add support for
contextType
. (@alexmckenley and @sebmarkbage in #13889)
Scheduler (Experimental)
- Rename the package to
scheduler
. (@gaearon in #13683) - Support priority levels, continuations, and wrapped callbacks. (@acdlite in #13720 and #13842)
- Improve the fallback mechanism in non-DOM environments. (@acdlite in #13740)
- Schedule
requestAnimationFrame
earlier. (@acdlite in #13785) - Fix the DOM detection to be more thorough. (@trueadm in #13731)
- Fix bugs with interaction tracing. (@bvaughn in #13590)
- Add the
envify
transform to the package. (@mridgway in #13766)
v16.5.2
React DOM
- Fixed a recent
<iframe>
regression (@JSteunou in #13650) - Fix
updateWrapper
so that<textarea>
s no longer re-render when data is unchanged (@joelbarbosa in #13643)
Schedule (Experimental)
v16.5.1
16.5.1 (September 13, 2018)
React
- Improve the warning when
React.forwardRef
receives an unexpected number of arguments. (@andresroberto in #13636)
React DOM
- Fix a regression in unstable exports used by React Native Web. (@aweary in #13598)
- Fix a crash when component defines a method called
isReactComponent
. (@gaearon in #13608) - Fix a crash in development mode in IE9 when printing a warning. (@link-alex in #13620)
- Provide a better error message when running
react-dom/profiling
withschedule/tracking
. (@bvaughn in #13605) - If a
ForwardRef
component defines adisplayName
, use it in warnings. (@probablyup in #13615)
Schedule (Experimental)
v16.5.0
16.5.0 (September 5, 2018)
React
- Add a warning if
React.forwardRef
render function doesn't take exactly two arguments (@bvaughn in #13168) - Improve the error message when passing an element to
createElement
by mistake (@DCtheTall in #13131) - Don't call profiler
onRender
until after mutations (@bvaughn in #13572)
React DOM
- Add support for React DevTools Profiler (@bvaughn in #13058)
- Add
react-dom/profiling
entry point alias for profiling in production (@bvaughn in #13570) - Add
onAuxClick
event for browsers that support it (@jquense in #11571) - Add
movementX
andmovementY
fields to mouse events (@jasonwilliams in #9018) - Add
tangentialPressure
andtwist
fields to pointer events (@motiz88 in #13374) - Minimally support iframes (nested browsing contexts) in selection event handling (@acusti in #12037)
- Support passing booleans to the
focusable
SVG attribute (@gaearon in #13339) - Ignore
<noscript>
on the client when when hydrating (@Ephem in #13537) - Fix
gridArea
to be treated as a unitless CSS property (@mgol in #13550) - Fix incorrect data in
compositionend
event when typing Korean on IE11 (@crux153 in #12563) - Fix a crash when using dynamic
children
in the<option>
tag (@Slowyn in #13261, @gaearon in #13465) - Fix the
checked
attribute not getting initially set on theinput
(@dilidili in #13114) - Fix hydration of
dangerouslySetInnerHTML
when__html
is not a string (@gaearon in #13353) - Fix a warning about missing controlled
onChange
to fire on falsy values too (@nicolevy in #12628) - Fix
submit
andreset
buttons getting an empty label (@ellsclytn in #12780) - Fix the
onSelect
event not being triggered after drag and drop (@gaearon in #13422) - Fix the
onClick
event not working inside a portal on iOS (@aweary in #11927) - Fix a performance issue when thousands of roots are re-rendered (@gaearon in #13335)
- Fix a performance regression that also caused
onChange
to not fire in some cases (@gaearon in #13423) - Handle errors in more edge cases gracefully (@gaearon in #13237 and @acdlite in #13269)
- Don't use proxies for synthetic events in development (@gaearon in #12171)
- Warn when
"false"
or"true"
is the value of a boolean DOM prop (@motiz88 in #13372) - Warn when
this.state
is initialized toprops
(@veekas in #11658) - Don't compare
style
on hydration in IE due to noisy false positives (@mgol in #13534) - Include
StrictMode
in the component stack (@gaearon in #13240) - Don't overwrite
window.event
in IE (@ConradIrwin in #11696) - Improve component stack for the
folder/index.js
naming convention (@gaearon in #12059) - Improve a warning when using
getDerivedStateFromProps
without initialized state (@flxwu in #13317) - Improve a warning about invalid textarea usage (@raunofreiberg in #13361)
- Treat invalid Symbol and function values more consistently (@raunofreiberg in #13362 and #13389)
- Allow Electron
<webview>
tag without warnings (@philipp-spiess in #13301) - Don't show the uncaught error addendum if
e.preventDefault()
was called (@gaearon in #13384) - Warn about rendering Generators (@gaearon in #13312)
- Remove irrelevant suggestion of a legacy method from a warning (@zx6658 in #13169)
- Remove
unstable_deferredUpdates
in favor ofunstable_scheduleWork
fromschedule
(@gaearon in #13488) - Fix unstable asynchronous mode from doing unnecessary work when an update takes too long (@acdlite in #13503)
React DOM Server
- Fix crash with nullish children when using
dangerouslySetInnerHtml
in a selected<option>
(@mridgway in #13078) - Fix crash when
setTimeout
is missing (@dustinsoftware in #13088)
React Test Renderer and Test Utils
- Fix
this
in a functional component for shallow renderer to beundefined
(@koba04 in #13144) - Deprecate a Jest-specific
ReactTestUtils.mockComponent()
helper (@bvaughn in #13193) - Warn about
ReactDOM.createPortal
usage within the test renderer (@bvaughn in #12895) - Improve a confusing error message (@gaearon in #13351)
React ART
- Add support for DevTools (@yunchancho in #13173)
Schedule (Experimental)
v16.4.2
16.4.2 (August 1, 2018)
React DOM Server
-
Fix a potential XSS vulnerability when the attacker controls an attribute name (
CVE-2018-6341
). This fix is available in the latest[email protected]
, as well as in previous affected minor versions:[email protected]
,[email protected]
,[email protected]
, and[email protected]
. (@gaearon in #13302) -
Fix a crash in the server renderer when an attribute is called
hasOwnProperty
. This fix is only available in[email protected]
. (@gaearon in #13303)
v16.4.1
16.4.1 (June 13, 2018)
React
React DOM
- Fix a crash when the input
type
changes from some other types totext
. (@spirosikmd in #12135) - Fix a crash in IE11 when restoring focus to an SVG element. (@ThaddeusJiang in #12996)
- Fix a range input not updating in some cases. (@Illu in #12939)
- Fix input validation triggering unnecessarily in Firefox. (@nhunzaker in #12925)
- Fix an incorrect
event.target
value for theonChange
event in IE9. (@nhunzaker in #12976) - Fix a false positive error when returning an empty
<React.Fragment />
from a component. (@philipp-spiess in #12966)
React DOM Server
- Fix an incorrect value being provided by new context API. (@ericsoderberghp in #12985, @gaearon in #13019)
React Test Renderer
v16.4.0
React
- Add a new experimental
React.unstable_Profiler
component for measuring performance. (@bvaughn in #12745)
React DOM
- Add support for the Pointer Events specification. (@philipp-spiess in #12507)
- Properly call
getDerivedStateFromProps()
regardless of the reason for re-rendering. (@acdlite in #12600 and #12802) - Fix a bug that prevented context propagation in some cases. (@gaearon in #12708)
- Fix re-rendering of components using
forwardRef()
on a deepersetState()
. (@gaearon in #12690) - Fix some attributes incorrectly getting removed from custom element nodes. (@airamrguez in #12702)
- Fix context providers to not bail out on children if there's a legacy context provider above. (@gaearon in #12586)
- Add the ability to specify
propTypes
on a context provider component. (@nicolevy in #12658) - Fix a false positive warning when using
react-lifecycles-compat
in<StrictMode>
. (@bvaughn in #12644) - Warn when the
forwardRef()
render function haspropTypes
ordefaultProps
. (@bvaughn in #12644) - Improve how
forwardRef()
and context consumers are displayed in the component stack. (@sophiebits in #12777) - Change internal event names. This can break third-party packages that rely on React internals in unsupported ways. (@philipp-spiess in #12629)
React Test Renderer
- Fix the
getDerivedStateFromProps()
support to match the new React DOM behavior. (@koba04 in #12676) - Fix a
testInstance.parent
crash when the parent is a fragment or another special node. (@gaearon in #12813) forwardRef()
components are now discoverable by the test renderer traversal methods. (@gaearon in #12725)- Shallow renderer now ignores
setState()
updaters that returnnull
orundefined
. (@koba04 in #12756)
React ART
React Call Return (Experimental)
- This experiment was deleted because it was affecting the bundle size and the API wasn't good enough. It's likely to come back in the future in some other form. (@gaearon in #12820)
React Reconciler (Experimental)
- The new host config shape is flat and doesn't use nested objects. (@gaearon in #12792)