{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2017/06/13/react-v15.6.0.html","result":{"data":{"markdownRemark":{"html":"<p>Today we are releasing React 15.6.0. As we prepare for React 16.0, we have been fixing and cleaning up many things. This release continues to pave the way.</p>\n<h2 id=\"improving-inputs\"><a href=\"#improving-inputs\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Improving Inputs </h2>\n<p>In React 15.6.0 the <code class=\"gatsby-code-text\">onChange</code> event for inputs is a little bit more reliable and handles more edge cases, including the following:</p>\n<ul>\n<li>not firing when radio button is clicked but not changed (<a href=\"https://github.com/facebook/react/issues/1471\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issue 1471</a>)</li>\n<li>changing an input of type <code class=\"gatsby-code-text\">range</code> with the arrow keys (<a href=\"https://github.com/facebook/react/issues/554\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issue 554</a>)</li>\n<li>pasting text into a text area in IE11 (<a href=\"https://github.com/facebook/react/issues/7211\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issue 7211</a>)</li>\n<li>auto-fill in IE11 (<a href=\"https://github.com/facebook/react/issues/6614\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issue 6614</a>)</li>\n<li>clearing input with ‘x’ button or right-click ‘delete’ in IE11 (<a href=\"https://github.com/facebook/react/issues/6822\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issue 6822</a>)</li>\n<li>not firing when characters are present in the input on render in IE11 (<a href=\"https://github.com/facebook/react/issues/2185\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issue 2185</a>)</li>\n</ul>\n<p>Thanks to <a href=\"https://github.com/jquense\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Jason Quense</a> and everyone who helped out on those issues and PRs.</p>\n<h2 id=\"less-noisy-deprecation-warnings\"><a href=\"#less-noisy-deprecation-warnings\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Less Noisy Deprecation Warnings </h2>\n<p>We are also including a couple of new warnings for upcoming deprecations. These should not affect most users, and for more details see the changelog below.</p>\n<p>After the last release, we got valuable community feedback that deprecation warnings were causing noise and failing tests. <strong>In React 15.6, we have downgraded deprecation warnings to use <code class=\"gatsby-code-text\">console.warn</code> instead of <code class=\"gatsby-code-text\">console.error</code>.</strong> Our other warnings will still use <code class=\"gatsby-code-text\">console.error</code> because they surface urgent issues which could lead to bugs. Unlike our other warnings, deprecation warnings can be fixed over time and won’t cause problems in your app if shipped. We believe that downgrading the urgency of deprecation warnings will make your next update easier. Thanks to everyone who was involved in the discussion of this change.</p>\n<hr>\n<h2 id=\"installation\"><a href=\"#installation\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Installation </h2>\n<p>We recommend using <a href=\"https://yarnpkg.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Yarn</a> or <a href=\"https://www.npmjs.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">npm</a> for managing front-end dependencies. If you’re new to package managers, the <a href=\"https://yarnpkg.com/en/docs/getting-started\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Yarn documentation</a> is a good place to get started.</p>\n<p>To install React with Yarn, run:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"gatsby-code-bash\"><code class=\"gatsby-code-bash\"><span class=\"token function\">yarn</span> <span class=\"token function\">add</span> react@^15.6.0 react-dom@^15.6.0</code></pre></div>\n<p>To install React with npm, run:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"gatsby-code-bash\"><code class=\"gatsby-code-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> --save react@^15.6.0 react-dom@^15.6.0</code></pre></div>\n<p>We recommend using a bundler like <a href=\"https://webpack.js.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">webpack</a> or <a href=\"http://browserify.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Browserify</a> so you can write modular code and bundle it together into small packages to optimize load time.</p>\n<p>Remember that by default, React runs extra checks and provides helpful warnings in development mode. When deploying your app, make sure to <a href=\"/docs/optimizing-performance.html#use-the-production-build\">use the production build</a>.</p>\n<p>In case you don’t use a bundler, we also provide pre-built bundles in the npm packages which you can <a href=\"/docs/installation.html#using-a-cdn\">include as script tags</a> on your page:</p>\n<ul>\n<li><strong>React</strong><br/>\nDev build with warnings: <a href=\"https://unpkg.com/react@15.6.0/dist/react.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react/dist/react.js</a><br/>\nMinified build for production: <a href=\"https://unpkg.com/react@15.6.0/dist/react.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react/dist/react.min.js</a><br/></li>\n<li><strong>React with Add-Ons</strong><br/>\nDev build with warnings: <a href=\"https://unpkg.com/react@15.6.0/dist/react-with-addons.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react/dist/react-with-addons.js</a><br/>\nMinified build for production: <a href=\"https://unpkg.com/react@15.5.0/dist/react-with-addons.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react/dist/react-with-addons.min.js</a><br/></li>\n<li><strong>React DOM</strong> (include React in the page before React DOM)<br/>\nDev build with warnings: <a href=\"https://unpkg.com/react-dom@15.6.0/dist/react-dom.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react-dom/dist/react-dom.js</a><br/>\nMinified build for production: <a href=\"https://unpkg.com/react-dom@15.6.0/dist/react-dom.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react-dom/dist/react-dom.min.js</a><br/></li>\n<li><strong>React DOM Server</strong> (include React in the page before React DOM Server)<br/>\nDev build with warnings: <a href=\"https://unpkg.com/react-dom@15.6.0/dist/react-dom-server.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react-dom/dist/react-dom-server.js</a><br/>\nMinified build for production: <a href=\"https://unpkg.com/react-dom@15.6.0/dist/react-dom-server.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react-dom/dist/react-dom-server.min.js</a><br/></li>\n</ul>\n<p>We’ve also published version <code class=\"gatsby-code-text\">15.6.0</code> of <code class=\"gatsby-code-text\">react</code> and <code class=\"gatsby-code-text\">react-dom</code> on npm, and the <code class=\"gatsby-code-text\">react</code> package on bower.</p>\n<hr>\n<h2 id=\"changelog\"><a href=\"#changelog\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Changelog </h2>\n<h2 id=\"1560-june-13-2017\"><a href=\"#1560-june-13-2017\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>15.6.0 (June 13, 2017) </h2>\n<h3 id=\"react\"><a href=\"#react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React </h3>\n<ul>\n<li>Downgrade deprecation warnings to use <code class=\"gatsby-code-text\">console.warn</code> instead of <code class=\"gatsby-code-text\">console.error</code>. (<a href=\"https://github.com/flarnie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@flarnie</a> in <a href=\"https://github.com/facebook/react/pull/9753\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9753</a>)</li>\n<li>Add a deprecation warning for <code class=\"gatsby-code-text\">React.createClass</code>. Points users to <code class=\"gatsby-code-text\">create-react-class</code> instead. (<a href=\"https://github.com/flarnie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@flarnie</a> in <a href=\"https://github.com/facebook/react/pull/9771\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9771</a>)</li>\n<li>Add deprecation warnings and separate module for <code class=\"gatsby-code-text\">React.DOM</code> factory helpers. (<a href=\"https://github.com/nhunzaker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nhunzaker</a> in <a href=\"https://github.com/facebook/react/pull/8356\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#8356</a>)</li>\n<li>Warn for deprecation of <code class=\"gatsby-code-text\">React.createMixin</code> helper, which was never used. (<a href=\"https://github.com/aweary\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aweary</a> in <a href=\"https://github.com/facebook/react/pull/8853\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#8853</a>)</li>\n</ul>\n<h3 id=\"react-dom\"><a href=\"#react-dom\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React DOM </h3>\n<ul>\n<li>Add support for CSS variables in <code class=\"gatsby-code-text\">style</code> attribute. (<a href=\"https://github.com/aweary\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aweary</a> in <a href=\"https://github.com/facebook/react/pull/9302\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9302</a>)</li>\n<li>Add support for CSS Grid style properties. (<a href=\"https://github.com/ericsakmar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericsakmar</a> in <a href=\"https://github.com/facebook/react/pull/9185\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9185</a>)</li>\n<li>Fix bug where inputs mutated value on type conversion. (<a href=\"https://github.com/mhunzaker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nhunzaker</a> in <a href=\"https://github.com/facebook/react/pull/9806\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9806</a>)</li>\n<li>Fix issues with <code class=\"gatsby-code-text\">onChange</code> not firing properly for some inputs. (<a href=\"https://github.com/jquense\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jquense</a> in <a href=\"https://github.com/facebook/react/pull/8575\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#8575</a>)</li>\n<li>Fix bug where controlled number input mistakenly allowed period. (<a href=\"https://github.com/nhunzaker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nhunzaker</a> in <a href=\"https://github.com/facebook/react/pull/9584\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9584</a>)</li>\n<li>Fix bug where performance entries were being cleared. (<a href=\"https://github.com/chrisui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrisui</a> in <a href=\"https://github.com/facebook/react/pull/9451\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9451</a>)</li>\n</ul>\n<h3 id=\"react-addons\"><a href=\"#react-addons\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React Addons </h3>\n<ul>\n<li>Fix AMD support for addons depending on <code class=\"gatsby-code-text\">react</code>. (<a href=\"https://github.com/flarnie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@flarnie</a> in <a href=\"https://github.com/facebook/react/issues/9919\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9919</a>)</li>\n<li>Fix <code class=\"gatsby-code-text\">isMounted()</code> to return <code class=\"gatsby-code-text\">true</code> in <code class=\"gatsby-code-text\">componentWillUnmount</code>. (<a href=\"https://github.com/mridgway\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mridgway</a> in <a href=\"https://github.com/facebook/react/issues/9638\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9638</a>)</li>\n<li>Fix <code class=\"gatsby-code-text\">react-addons-update</code> to not depend on native <code class=\"gatsby-code-text\">Object.assign</code>. (<a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> in <a href=\"https://github.com/facebook/react/pull/9937\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9937</a>)</li>\n<li>Remove broken Google Closure Compiler annotation from <code class=\"gatsby-code-text\">create-react-class</code>. (<a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> in <a href=\"https://github.com/facebook/react/pull/9933\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9933</a>)</li>\n<li>Remove unnecessary dependency from <code class=\"gatsby-code-text\">react-linked-input</code>. (<a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> in <a href=\"https://github.com/facebook/react/pull/9766\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9766</a>)</li>\n<li>Point <code class=\"gatsby-code-text\">react-addons-(css-)transition-group</code> to the new package. (<a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> in <a href=\"https://github.com/facebook/react/pull/9937\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#9937</a>)</li>\n</ul>","excerpt":"Today we are releasing React 15.6.0. As we prepare for React 16.0, we have been fixing and cleaning up many things. This release continues to pave the way. Improving Inputs  In React 15.6.0 the  event for inputs is a little bit more reliable and handles more edge cases, including the following: not firing when radio button is clicked but not changed (issue 1471) changing an input of type  with the arrow keys (issue 554) pasting text into a text area in IE11 (issue 7211) auto-fill in IE11 (issue…","frontmatter":{"title":"React v15.6.0","next":null,"prev":null,"author":[{"frontmatter":{"name":"Flarnie Marchan","url":"https://twitter.com/ProbablyFlarnie"}}]},"fields":{"date":"June 13, 2017","path":"content/blog/2017-06-13-react-v15.6.0.md","slug":"/blog/2017/06/13/react-v15.6.0.html"}},"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"Introducing the New JSX Transform"},"fields":{"slug":"/blog/2020/09/22/introducing-the-new-jsx-transform.html"}}},{"node":{"frontmatter":{"title":"React v17.0 Release Candidate: No New Features"},"fields":{"slug":"/blog/2020/08/10/react-v17-rc.html"}}},{"node":{"frontmatter":{"title":"React v16.13.0"},"fields":{"slug":"/blog/2020/02/26/react-v16.13.0.html"}}},{"node":{"frontmatter":{"title":"Building Great User Experiences with Concurrent Mode and Suspense"},"fields":{"slug":"/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html"}}},{"node":{"frontmatter":{"title":"Preparing for the Future with React Prereleases"},"fields":{"slug":"/blog/2019/10/22/react-release-channels.html"}}},{"node":{"frontmatter":{"title":"Introducing the New React DevTools"},"fields":{"slug":"/blog/2019/08/15/new-react-devtools.html"}}},{"node":{"frontmatter":{"title":"React v16.9.0 and the Roadmap Update"},"fields":{"slug":"/blog/2019/08/08/react-v16.9.0.html"}}},{"node":{"frontmatter":{"title":"Is React Translated Yet? ¡Sí! Sim! はい！"},"fields":{"slug":"/blog/2019/02/23/is-react-translated-yet.html"}}},{"node":{"frontmatter":{"title":"React v16.8: The One With Hooks"},"fields":{"slug":"/blog/2019/02/06/react-v16.8.0.html"}}},{"node":{"frontmatter":{"title":"React v16.7: No, This Is Not the One With Hooks"},"fields":{"slug":"/blog/2018/12/19/react-v-16-7.html"}}}]}},"pageContext":{"slug":"/blog/2017/06/13/react-v15.6.0.html"}},"staticQueryHashes":[]}