Updatify / React | Release notes

Create your changelog

Free, open-source JavaScript library maintained by Meta (Facebook) and a community of developers

Update Jun 8, 2026 tracked by Updatify

16.8.2 (February 14, 2019)

React DOM

  • Fix ReactDOM.render being ignored inside useEffect. (@gaearon in #14799)
  • Fix a crash when unmounting empty portals. (@gaearon in #14820)
  • Fix useImperativeHandle to work correctly when no deps are specified. (@gaearon in #14801)
  • Fix crossOrigin attribute to work in SVG image elements. (@aweary in #14832)
  • Fix a false positive warning when using Suspense with Hooks. (@gaearon in #14821)

React Test Utils and React Test Renderer

Update Jun 8, 2026 tracked by Updatify

16.8.0 (February 6, 2019)

React

  • Add Hooks — a way to use state and other React features without writing a class. (@acdlite et al. in #13968)
  • Improve the useReducer Hook lazy initialization API. (@acdlite in #14723)

React DOM

  • Bail out of rendering on identical values for useState and useReducer Hooks. (@acdlite in #14569)
  • Use Object.is algorithm for comparing useState and useReducer values. (@Jessidhia in #14752)
  • Don’t compare the first argument passed to useEffect/useMemo/useCallback Hooks. (@acdlite in #14594)
  • Support synchronous thenables passed to React.lazy(). (@gaearon in #14626)
  • Render components with Hooks twice in Strict Mode (DEV-only) to match class behavior. (@gaearon in #14654)

Update Jun 8, 2026 tracked by Updatify

16.7.0 (December 19, 2018)

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/server@16.6 and react@<16.6. (@gaearon in #14291)
  • Fix a performance regression in profiling mode. (@bvaughn in #14383)

Scheduler (Experimental)

Update Jun 8, 2026 tracked by Updatify

16.6.3 (November 12, 2018)

React DOM

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)

Update Jun 8, 2026 tracked by Updatify

16.6.2 (November 12, 2018)

This release was published in a broken state and should be skipped.

Update Jun 8, 2026 tracked by Updatify

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)

  • Switch from deadline object to shouldYield API. (@acdlite in #14025)

Update Jun 8, 2026 tracked by Updatify

16.6.0 (October 23, 2018)

React

React DOM

  • Add contextType as a more ergonomic way to subscribe to context from a class. (@bvaughn in #13728)

Update Jun 8, 2026 tracked by Updatify

16.5.2 (September 18, 2018)

React DOM

Schedule (Experimental)

  • Renaming “tracking” API to “tracing” (@bvaughn in #13641)
  • Add UMD production+profiling entry points (@bvaughn in #13642)
  • Refactored schedule to remove some React-isms and improve performance for when deferred updates time out (@acdlite in #13582)

Update Jun 8, 2026 tracked by Updatify

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 with schedule/tracking. (@bvaughn in #13605)
  • If a ForwardRef component defines a displayName, use it in warnings. (@probablyup in #13615)

Schedule (Experimental)

  • Add a separate profiling entry point at schedule/tracking-profiling. (@bvaughn in #13605)

Update Jun 8, 2026 tracked by Updatify

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 and movementY fields to mouse events (@jasonwilliams in #9018)
  • Add tangentialPressure and twist fields to pointer events (@motiz88 in #13374)

Update Jun 8, 2026 tracked by Updatify

16.4.2 (August 1, 2018)

React DOM Server

Update Jun 8, 2026 tracked by Updatify

16.4.1 (June 13, 2018)

React

  • You can now assign propTypes to components returned by React.ForwardRef. (@bvaughn in #12911)

React DOM

  • Fix a crash when the input type changes from some other types to text. (@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 the onChange 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

Update Jun 8, 2026 tracked by Updatify

16.4.0 (May 23, 2018)

React

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 deeper setState(). (@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)

Update Jun 8, 2026 tracked by Updatify

16.3.2 (April 16, 2018)

React

  • Improve the error message when passing null or undefined to React.cloneElement. (@nicolevy in #12534)

React DOM

  • Fix an IE crash in development when using <StrictMode>. (@bvaughn in #12546)
  • Fix labels in User Timing measurements for new component types. (@bvaughn in #12609)
  • Improve the warning about wrong component type casing. (@nicolevy in #12533)
  • Improve general performance in development mode. (@gaearon in #12537)
  • Improve performance of the experimental unstable_observedBits API with nesting. (@gaearon in #12543)

React Test Renderer

Update Jun 8, 2026 tracked by Updatify

16.3.1 (April 3, 2018)

React

React DOM

Create Subscription

Update Jun 8, 2026 tracked by Updatify

16.3.0 (March 29, 2018)

React

  • Add a new officially supported context API. (@acdlite in #11818)
  • Add a new React.createRef() API as an ergonomic alternative to callback refs. (@trueadm in #12162)
  • Add a new React.forwardRef() API to let components forward their refs to a child. (@bvaughn in #12346)
  • Fix a false positive warning in IE11 when using React.Fragment. (@XaveScor in #11823)
  • Replace React.unstable_AsyncComponent with React.unstable_AsyncMode. (@acdlite in #12117)
  • Improve the error message when calling setState() on an unmounted component. (@sophiebits in #12347)

React DOM

  • Add a new getDerivedStateFromProps() lifecycle and UNSAFE_ aliases for the legacy lifecycles. (@bvaughn in #12028)
  • Add a new getSnapshotBeforeUpdate() lifecycle. (@bvaughn in #12404)

Update Jun 8, 2026 tracked by Updatify

16.2.0 (November 28, 2017)

React

  • Add Fragment as named export to React. (@clemmy in #10783)
  • Support experimental Call/Return types in React.Children utilities. (@MatteoVH in #11422)

React DOM

  • Fix radio buttons not getting checked when using multiple lists of radios. (@landvibe in #11227)
  • Fix radio buttons not receiving the onChange event in some cases. (@jquense in #11028)

React Test Renderer

  • Fix setState() callback firing too early when called from componentWillMount. (@accordeiro in #11507)

React Reconciler

  • Expose react-reconciler/reflection with utilities useful to custom renderers. (@rivenhk in #11683)

Internal Changes

Update Jun 8, 2026 tracked by Updatify

16.1.1 (November 13, 2017)

React

  • Improve the warning about undefined component type. (@selbekk in #11505)

React DOM

React DOM Server

  • Don’t freeze the ReactDOMServer public API. (@travi in #11531)
  • Don’t emit autoFocus={false} attribute on the server. (@gaearon in #11543)

React Reconciler

Update Jun 8, 2026 tracked by Updatify

16.1.0 (November 9, 2017)

Discontinuing Bower Releases

Starting with 16.1.0, we will no longer be publishing new releases on Bower. You can continue using Bower for old releases, or point your Bower configs to the React UMD builds hosted on unpkg that mirror npm releases and will continue to be updated.

All Packages

  • Fix an accidental extra global variable in the UMD builds. (@gaearon in #10935)

React

  • Add support for portals in React.Children utilities. (@MatteoVH in #11378)
  • Warn when a class has a render method but doesn’t extend a known base class. (@sw-yx in #11168)
  • Improve the warning when accidentally returning an object from constructor. (@deanbrophy in #11395)

React DOM

  • Allow on as a custom attribute for AMP. (@nuc in #11153)
  • Fix onMouseEnter and onMouseLeave firing on wrong elements. (@gaearon in #11164)

Update Jun 8, 2026 tracked by Updatify

16.0.0 (September 26, 2017)

New JS Environment Requirements

New Features

  • Components can now return arrays and strings from render. (Docs coming soon!)
  • Improved error handling with introduction of “error boundaries”. Error boundaries are React components that catch JavaScript errors anywhere in their child component tree, log those errors, and display a fallback UI instead of the component tree that crashed.
  • First-class support for declaratively rendering a subtree into another DOM node with ReactDOM.createPortal(). (Docs coming soon!)

Update Jun 8, 2026 tracked by Updatify

15.6.2 (September 25, 2017)

All Packages

  • Switch from BSD + Patents to MIT license

React DOM

  • Fix a bug where modifying document.documentMode would trigger IE detection in other browsers, breaking change events. (@aweary in #10032)
  • CSS Columns are treated as unitless numbers. (@aweary in #10115)
  • Fix bug in QtWebKit when wrapping synthetic events in proxies. (@walrusfruitcake in #10115)
  • Prevent event handlers from receiving extra argument in development. (@aweary in #10115)
  • Fix cases where onChange would not fire with defaultChecked on radio inputs. (@jquense in #10156)
  • Add support for controlList attribute to allowed DOM properties (@nhunzaker in #9940)
  • Fix a bug where creating an element with a ref in a constructor did not throw an error in development. (@iansu in #10025)

Update Jun 8, 2026 tracked by Updatify

15.6.0 (June 13, 2017)

React

  • Downgrade deprecation warnings to use console.warn instead of console.error. (@flarnie in #9753)
  • Add a deprecation warning for React.createClass. Points users to create-react-class instead. (@flarnie in #9771)
  • Add deprecation warnings and separate module for React.DOM factory helpers. (@nhunzaker in #8356)
  • Warn for deprecation of React.createMixin helper, which was never used. (@aweary in #8853)

React DOM

  • Add support for CSS variables in style attribute. (@aweary in #9302)
  • Add support for CSS Grid style properties. (@ericsakmar in #9185)
  • Fix bug where inputs mutated value on type conversion. (@nhunzaker in #9806)
  • Fix issues with onChange not firing properly for some inputs. (@jquense in #8575)

Update Jun 8, 2026 tracked by Updatify

15.5.0 (April 7, 2017)

Note: this release has a critical issue and was deprecated. Please update to 15.5.4 or higher.

React

  • <s>Added a deprecation warning for React.createClass. Points users to create-react-class instead. (@acdlite in #d9a4fa4)</s>
  • Added a deprecation warning for React.PropTypes. Points users to prop-types instead. (@acdlite in #043845c)
  • Fixed an issue when using ReactDOM together with ReactDOMServer. (@wacii in #9005)
  • Fixed issue with Closure Compiler. (@anmonteiro in #8895)
  • Another fix for Closure Compiler. (@Shastel in #8882)
  • Added component stack info to invalid element type warning. (@n3tr in #8495)

React DOM

  • Fixed Chrome bug when backspacing in number inputs. (@nhunzaker in #7359)
  • Added react-dom/test-utils, which exports the React Test Utils. (@bvaughn)

React Test Renderer

Update Jun 8, 2026 tracked by Updatify

15.4.2 (January 6, 2017)

React

React DOM

  • Fixed a decimal point issue on uncontrolled number inputs. (@nhunzaker in #7750)
  • Fixed rendering of textarea placeholder in IE11. (@aweary in #8020)
  • Worked around a script engine bug in IE9. (@eoin in #8018)

React Addons

Update Jun 8, 2026 tracked by Updatify

15.4.0 (November 16, 2016)

React

  • React package and browser build no longer “secretly” includes React DOM. (@sebmarkbage in #7164 and #7168)
  • Required PropTypes now fail with specific messages for null and undefined. (@chenglou in #7291)
  • Improved development performance by freezing children instead of copying. (@keyanzhang in #7455)

React DOM

  • Fixed occasional test failures when React DOM is used together with shallow renderer. (@goatslacker in #8097)
  • Added a warning for invalid aria- attributes. (@jessebeach in #7744)
  • Added a warning for using autofocus rather than autoFocus. (@hkal in #7694)
  • Removed an unnecessary warning about polyfilling String.prototype.split. (@nhunzaker in #7629)
  • Clarified the warning about not calling PropTypes manually. (@jedwards1211 in #7777)

Update Jun 8, 2026 tracked by Updatify

15.3.2 (September 19, 2016)

React

  • Remove plain object warning from React.createElement & React.cloneElement. (@spudly in #7724)

React DOM

  • Add playsInline to supported HTML attributes. (@reaperhulk in #7519)
  • Add as to supported HTML attributes. (@kevinslin in #7582)
  • Improve DOM nesting validation warning about whitespace. (@sophiebits in #7515)
  • Avoid “Member not found” exception in IE10 when calling preventDefault() in Synthetic Events. (@g-palmer in #7411)
  • Fix memory leak in onSelect implementation. (@AgtLucas in #7533)
  • Improve robustness of document.documentMode checks to handle Google Tag Manager. (@SchleyB in #7594)
  • Add more cases to controlled inputs warning. (@marcin-mazurek in #7544)

Update Jun 8, 2026 tracked by Updatify

15.3.1 (August 19, 2016)

React

React DOM

  • Avoid <input> validation warning from browsers when changing type. (@nhunzaker in #7333)

Update Jun 8, 2026 tracked by Updatify

15.3.0 (July 29, 2016)

React

  • Add React.PureComponent - a new base class to extend, replacing react-addons-pure-render-mixin now that mixins don’t work with ES2015 classes. (@sophiebits in #7195)
  • Add new warning when modifying this.props.children. (@jimfb in #7001)
  • Fixed issue with ref resolution order. (@gaearon in #7101)
  • Warn when mixin is undefined. (@swaroopsm in #6158)
  • Downgrade “unexpected batch number” invariant to a warning. (@sophiebits in #7133)
  • Validate arguments to oneOf and oneOfType PropTypes sooner. (@troydemonbreun in #6316)
  • Warn when calling PropTypes directly. (@Aweary in #7132, #7194)
  • Improve warning when using Maps as children. (@keyanzhang in #7260)

Update Jun 8, 2026 tracked by Updatify

15.2.1 (July 8, 2016)

React

  • Fix errant warning about missing React element. (@gaearon in #7193)
  • Better removal of dev-only code, leading to a small reduction in the minified production bundle size. (@gaearon in #7188, #7189)

React DOM

  • Add stack trace to null input value warning. (@jimfb in #7040)
  • Fix webcomponents example. (@jalexanderfox in #7057)
  • Fix unstable_renderSubtreeIntoContainer so that context properly updates when linked to state. (@gaearon in #7125)
  • Improve invariant wording for void elements. (@starkch in #7066)
  • Ensure no errors are thrown due to event handlers in server rendering. (@rricard in #7127)
  • Fix regression resulting in value-less submit and reset inputs removing the browser-default text. (@zpao in #7197)

Update Jun 8, 2026 tracked by Updatify

15.2.0 (July 1, 2016)

React

  • Add error codes to production invariants, with links to the view the full error text. (@keyanzhang in #6948)
  • Include component stack information in PropType validation warnings. (@troydemonbreun in #6398, @sophiebits in #6771)
  • Include component stack information in key warnings. (@keyanzhang in #6799)
  • Stop validating props at mount time, only validate at element creation. (@keyanzhang in #6824)
  • New invariant providing actionable error in missing instance case. (@yungsters in #6990)
  • Add React.PropTypes.symbol to support ES2015 Symbols as props. (@puradox in #6377)
  • Fix incorrect coercion of ref or key that are undefined in development (@gaearon in #6880)

Update Jun 8, 2026 tracked by Updatify

15.1.0 (May 20, 2016)

React

  • Ensure we’re using the latest object-assign, which has protection against a non-spec-compliant native Object.assign. (@zpao in #6681)
  • Add a new warning to communicate that props objects passed to createElement must be plain objects. (@richardscarrott in #6134)
  • Fix a batching bug resulting in some lifecycle methods incorrectly being called multiple times. (@sophiebits in #6650)

React DOM

  • Fix regression in custom elements support. (@jscissr in #6570)
  • Stop incorrectly warning about using onScroll event handler with server rendering. (@Aweary in #6678)
  • Fix grammar in the controlled input warning. (@jakeboone02 in #6657)
  • Fix issue preventing <object> nodes from being able to read <param> nodes in IE. (@syranide in #6691)

Update Jun 8, 2026 tracked by Updatify

15.0.2 (April 29, 2016)

React

  • Removed extraneous files from npm package. (@gaearon in #6388)
  • Ensure componentWillUnmount is only called once. (@jimfb in #6613)

ReactDOM

  • Fixed bug resulting in disabled buttons responding to mouse events in IE. (@nhunzaker in #6215)
  • Ensure <option>s are correctly selected when inside <optgroup>. (@trevorsmith in #6442)
  • Restore support for rendering into a shadow root. (@Wildhoney in #6462)
  • Ensure nested <body> elements are caught when warning for invalid markup. (@keyanzhang in #6469)
  • Improve warning when encountering multiple elements with the same key. (@hkal in #6500)

React TestUtils Add-on

  • Ensure that functional components do not have an owner. (@gaearon in #6362)

Update Jun 8, 2026 tracked by Updatify

15.0.0 (April 7, 2016)

Major changes

  • Initial render now uses document.createElement instead of generating HTML. Previously we would generate a large string of HTML and then set node.innerHTML. At the time, this was decided to be faster than using document.createElement for the majority of cases and browsers that we supported. Browsers have continued to improve and so overwhelmingly this is no longer true. By using createElement we can make other parts of React faster. (@sophiebits in #5205)
  • data-reactid is no longer on every node. As a result of using document.createElement, we can prime the node cache as we create DOM nodes, allowing us to skip a potential lookup (which used the data-reactid attribute). Root nodes will have a data-reactroot attribute and server generated markup will still contain data-reactid. (@sophiebits in #5205)

Update Jun 8, 2026 tracked by Updatify

0.14.7 (January 28, 2016)

React

  • Fixed bug with <option> tags when using dangerouslySetInnerHTML
  • Fixed memory leak in synthetic event system

React TestUtils Add-on

  • Fixed bug with calling setState in componentWillMount when using shallow rendering

Update Jun 8, 2026 tracked by Updatify

0.14.6 (January 6, 2016)

React

  • Updated fbjs dependency to pick up change affecting handling of undefined document.