{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2014/02/16/react-v0.9-rc1.html","result":{"data":{"markdownRemark":{"html":"<p>We’re almost ready to release React v0.9! We’re posting a release candidate so that you can test your apps on it; we’d much prefer to find show-stopping bugs now rather than after we release.</p>\n<p>The release candidate is available for download from the CDN:</p>\n<ul>\n<li><strong>React</strong><br>\nDev build with warnings: <a href=\"https://fb.me/react-0.9.0-rc1.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-0.9.0-rc1.js</a><br>\nMinified build for production: <a href=\"https://fb.me/react-0.9.0-rc1.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-0.9.0-rc1.min.js</a></li>\n<li><strong>React with Add-Ons</strong><br>\nDev build with warnings: <a href=\"https://fb.me/react-with-addons-0.9.0-rc1.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-with-addons-0.9.0-rc1.js</a><br>\nMinified build for production: <a href=\"https://fb.me/react-with-addons-0.9.0-rc1.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-with-addons-0.9.0-rc1.min.js</a></li>\n<li><strong>In-Browser JSX transformer</strong><br>\n<a href=\"https://fb.me/JSXTransformer-0.9.0-rc1.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/JSXTransformer-0.9.0-rc1.js</a></li>\n</ul>\n<p>We’ve also published version <code class=\"gatsby-code-text\">0.9.0-rc1</code> of the <code class=\"gatsby-code-text\">react</code> and <code class=\"gatsby-code-text\">react-tools</code> packages on npm and the <code class=\"gatsby-code-text\">react</code> package on bower.</p>\n<p>Please try these builds out and <a href=\"https://github.com/facebook/react/issues/new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">file an issue on GitHub</a> if you see anything awry.</p>\n<h2 id=\"upgrade-notes\"><a href=\"#upgrade-notes\" 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>Upgrade Notes </h2>\n<p>In addition to the changes to React core listed below, we’ve made a small change to the way JSX interprets whitespace to make things more consistent. With this release, space between two components on the same line will be preserved, while a newline separating a text node from a tag will be eliminated in the output. Consider the code:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"gatsby-code-html\"><code class=\"gatsby-code-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">></span></span>\n  Monkeys:\n  {listOfMonkeys} {submitButton}\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>In v0.8 and below, it was transformed to the following:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\">React<span class=\"token punctuation\">.</span><span class=\"token constant\">DOM</span><span class=\"token punctuation\">.</span><span class=\"token function\">div</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span>\n  <span class=\"token string\">\" Monkeys: \"</span><span class=\"token punctuation\">,</span>\n  listOfMonkeys<span class=\"token punctuation\">,</span> submitButton\n<span class=\"token punctuation\">)</span></code></pre></div>\n<p>In v0.9, it will be transformed to this JS instead:</p>\n<div class=\"gatsby-highlight has-highlighted-lines\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\">React<span class=\"token punctuation\">.</span><span class=\"token constant\">DOM</span><span class=\"token punctuation\">.</span><span class=\"token function\">div</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span>\n<span class=\"gatsby-highlight-code-line\">  <span class=\"token string\">\"Monkeys:\"</span><span class=\"token punctuation\">,</span></span><span class=\"gatsby-highlight-code-line\">  listOfMonkeys<span class=\"token punctuation\">,</span> <span class=\"token string\">\" \"</span><span class=\"token punctuation\">,</span> submitButton</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>We believe this new behavior is more helpful and eliminates cases where unwanted whitespace was previously added.</p>\n<p>In cases where you want to preserve the space adjacent to a newline, you can write a JS string like <code class=\"gatsby-code-text\">{&quot;Monkeys: &quot;}</code> in your JSX source. We’ve included a script to do an automated codemod of your JSX source tree that preserves the old whitespace behavior by adding and removing spaces appropriately. You can <a href=\"https://github.com/facebook/react/blob/master/npm-jsx_whitespace_transformer/README.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">install jsx_whitespace_transformer from npm</a> and run it over your source tree to modify files in place. The transformed JSX files will preserve your code’s existing whitespace behavior.</p>\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<h3 id=\"react-core\"><a href=\"#react-core\" 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 Core </h3>\n<h4 id=\"breaking-changes\"><a href=\"#breaking-changes\" 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>Breaking Changes </h4>\n<ul>\n<li>The lifecycle methods <code class=\"gatsby-code-text\">componentDidMount</code> and <code class=\"gatsby-code-text\">componentDidUpdate</code> no longer receive the root node as a parameter; use <code class=\"gatsby-code-text\">this.getDOMNode()</code> instead</li>\n<li>Whenever a prop is equal to <code class=\"gatsby-code-text\">undefined</code>, the default value returned by <code class=\"gatsby-code-text\">getDefaultProps</code> will now be used instead</li>\n<li><code class=\"gatsby-code-text\">React.unmountAndReleaseReactRootNode</code> was previously deprecated and has now been removed</li>\n<li><code class=\"gatsby-code-text\">React.renderComponentToString</code> is now synchronous and returns the generated HTML string</li>\n<li>Full-page rendering (that is, rendering the <code class=\"gatsby-code-text\">&lt;html&gt;</code> tag using React) is now supported only when starting with server-rendered markup</li>\n<li>On mouse wheel events, <code class=\"gatsby-code-text\">deltaY</code> is no longer negated</li>\n<li>When prop types validation fails, a warning is logged instead of an error thrown (with the production build of React, the type checks are now skipped for performance)</li>\n<li>On <code class=\"gatsby-code-text\">input</code>, <code class=\"gatsby-code-text\">select</code>, and <code class=\"gatsby-code-text\">textarea</code> elements, <code class=\"gatsby-code-text\">.getValue()</code> is no longer supported; use <code class=\"gatsby-code-text\">.getDOMNode().value</code> instead</li>\n<li><code class=\"gatsby-code-text\">this.context</code> on components is now reserved for internal use by React</li>\n</ul>\n<h4 id=\"new-features\"><a href=\"#new-features\" 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>New Features </h4>\n<ul>\n<li>React now never rethrows errors, so stack traces are more accurate and Chrome’s purple break-on-error stop sign now works properly</li>\n<li>Added a new tool for profiling React components and identifying places where defining <code class=\"gatsby-code-text\">shouldComponentUpdate</code> can give performance improvements</li>\n<li>Added support for SVG tags <code class=\"gatsby-code-text\">defs</code>, <code class=\"gatsby-code-text\">linearGradient</code>, <code class=\"gatsby-code-text\">polygon</code>, <code class=\"gatsby-code-text\">radialGradient</code>, <code class=\"gatsby-code-text\">stop</code></li>\n<li>\n<p>Added support for more attributes:</p>\n<ul>\n<li><code class=\"gatsby-code-text\">noValidate</code> and <code class=\"gatsby-code-text\">formNoValidate</code> for forms</li>\n<li><code class=\"gatsby-code-text\">property</code> for Open Graph <code class=\"gatsby-code-text\">&lt;meta&gt;</code> tags</li>\n<li><code class=\"gatsby-code-text\">sandbox</code>, <code class=\"gatsby-code-text\">seamless</code>, and <code class=\"gatsby-code-text\">srcDoc</code> for <code class=\"gatsby-code-text\">&lt;iframe&gt;</code> tags</li>\n<li><code class=\"gatsby-code-text\">scope</code> for screen readers</li>\n<li><code class=\"gatsby-code-text\">span</code> for <code class=\"gatsby-code-text\">&lt;colgroup&gt;</code> tags</li>\n</ul>\n</li>\n<li>Added support for defining <code class=\"gatsby-code-text\">propTypes</code> in mixins</li>\n<li>Added <code class=\"gatsby-code-text\">any</code>, <code class=\"gatsby-code-text\">arrayOf</code>, <code class=\"gatsby-code-text\">component</code>, <code class=\"gatsby-code-text\">oneOfType</code>, <code class=\"gatsby-code-text\">renderable</code>, <code class=\"gatsby-code-text\">shape</code> to <code class=\"gatsby-code-text\">React.PropTypes</code></li>\n<li>Added support for <code class=\"gatsby-code-text\">statics</code> on component spec for static component methods</li>\n<li>On all events, <code class=\"gatsby-code-text\">.currentTarget</code> is now properly set</li>\n<li>On keyboard events, <code class=\"gatsby-code-text\">.key</code> is now polyfilled in all browsers for special (non-printable) keys</li>\n<li>On clipboard events, <code class=\"gatsby-code-text\">.clipboardData</code> is now polyfilled in IE</li>\n<li>On drag events, <code class=\"gatsby-code-text\">.dataTransfer</code> is now present</li>\n<li>Added support for <code class=\"gatsby-code-text\">onMouseOver</code> and <code class=\"gatsby-code-text\">onMouseOut</code> in addition to the existing <code class=\"gatsby-code-text\">onMouseEnter</code> and <code class=\"gatsby-code-text\">onMouseLeave</code> events</li>\n<li>Added support for <code class=\"gatsby-code-text\">onLoad</code> and <code class=\"gatsby-code-text\">onError</code> on <code class=\"gatsby-code-text\">&lt;img&gt;</code> elements</li>\n<li>Added support for <code class=\"gatsby-code-text\">onReset</code> on <code class=\"gatsby-code-text\">&lt;form&gt;</code> elements</li>\n<li>The <code class=\"gatsby-code-text\">autoFocus</code> attribute is now polyfilled consistently on <code class=\"gatsby-code-text\">input</code>, <code class=\"gatsby-code-text\">select</code>, and <code class=\"gatsby-code-text\">textarea</code></li>\n</ul>\n<h4 id=\"bug-fixes\"><a href=\"#bug-fixes\" 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>Bug Fixes </h4>\n<ul>\n<li>React no longer adds an <code class=\"gatsby-code-text\">__owner__</code> property to each component’s <code class=\"gatsby-code-text\">props</code> object; passed-in props are now never mutated</li>\n<li>When nesting top-level components (e.g., calling <code class=\"gatsby-code-text\">React.renderComponent</code> within <code class=\"gatsby-code-text\">componentDidMount</code>), events now properly bubble to the parent component</li>\n<li>Fixed a case where nesting top-level components would throw an error when updating</li>\n<li>Passing an invalid or misspelled propTypes type now throws an error</li>\n<li>On mouse enter/leave events, <code class=\"gatsby-code-text\">.target</code>, <code class=\"gatsby-code-text\">.relatedTarget</code>, and <code class=\"gatsby-code-text\">.type</code> are now set properly</li>\n<li>On composition events, <code class=\"gatsby-code-text\">.data</code> is now properly normalized in IE9 and IE10</li>\n<li>CSS property values no longer have <code class=\"gatsby-code-text\">px</code> appended for the unitless properties <code class=\"gatsby-code-text\">columnCount</code>, <code class=\"gatsby-code-text\">flex</code>, <code class=\"gatsby-code-text\">flexGrow</code>, <code class=\"gatsby-code-text\">flexShrink</code>, <code class=\"gatsby-code-text\">lineClamp</code>, <code class=\"gatsby-code-text\">order</code>, <code class=\"gatsby-code-text\">widows</code></li>\n<li>Fixed a memory leak when unmounting children with a <code class=\"gatsby-code-text\">componentWillUnmount</code> handler</li>\n<li>Fixed a memory leak when <code class=\"gatsby-code-text\">renderComponentToString</code> would store event handlers</li>\n<li>Fixed an error that could be thrown when removing form elements during a click handler</li>\n<li><code class=\"gatsby-code-text\">key</code> values containing <code class=\"gatsby-code-text\">.</code> are now supported</li>\n<li>Shortened <code class=\"gatsby-code-text\">data-reactid</code> values for performance</li>\n<li>Components now always remount when the <code class=\"gatsby-code-text\">key</code> property changes</li>\n<li>Event handlers are attached to <code class=\"gatsby-code-text\">document</code> only when necessary, improving performance in some cases</li>\n<li>Events no longer use <code class=\"gatsby-code-text\">.returnValue</code> in modern browsers, eliminating a warning in Chrome</li>\n<li><code class=\"gatsby-code-text\">scrollLeft</code> and <code class=\"gatsby-code-text\">scrollTop</code> are no longer accessed on document.body, eliminating a warning in Chrome</li>\n<li>General performance fixes, memory optimizations, improvements to warnings and error messages</li>\n</ul>\n<h3 id=\"react-with-addons\"><a href=\"#react-with-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 with Addons </h3>\n<ul>\n<li><code class=\"gatsby-code-text\">React.addons.TransitionGroup</code> was renamed to <code class=\"gatsby-code-text\">React.addons.CSSTransitionGroup</code></li>\n<li><code class=\"gatsby-code-text\">React.addons.TransitionGroup</code> was added as a more general animation wrapper</li>\n<li><code class=\"gatsby-code-text\">React.addons.cloneWithProps</code> was added for cloning components and modifying their props</li>\n<li>Bug fix for adding back nodes during an exit transition for CSSTransitionGroup</li>\n<li>Bug fix for changing <code class=\"gatsby-code-text\">transitionLeave</code> in CSSTransitionGroup</li>\n<li>Performance optimizations for CSSTransitionGroup</li>\n<li>On checkbox <code class=\"gatsby-code-text\">&lt;input&gt;</code> elements, <code class=\"gatsby-code-text\">checkedLink</code> is now supported for two-way binding</li>\n</ul>\n<h3 id=\"jsx-compiler-and-react-tools-package\"><a href=\"#jsx-compiler-and-react-tools-package\" 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>JSX Compiler and react-tools Package </h3>\n<ul>\n<li>Whitespace normalization has changed; now space between two tags on the same line will be preserved, while newlines between two tags will be removed</li>\n<li>The <code class=\"gatsby-code-text\">react-tools</code> npm package no longer includes the React core libraries; use the <code class=\"gatsby-code-text\">react</code> package instead.</li>\n<li><code class=\"gatsby-code-text\">displayName</code> is now added in more cases, improving error messages and names in the React Dev Tools</li>\n<li>Fixed an issue where an invalid token error was thrown after a JSX closing tag</li>\n<li><code class=\"gatsby-code-text\">JSXTransformer</code> now uses source maps automatically in modern browsers</li>\n<li><code class=\"gatsby-code-text\">JSXTransformer</code> error messages now include the filename and problematic line contents when a file fails to parse</li>\n</ul>","excerpt":"We’re almost ready to release React v0.9! We’re posting a release candidate so that you can test your apps on it; we’d much prefer to find show-stopping bugs now rather than after we release. The release candidate is available for download from the CDN: React Dev build with warnings: https://fb.me/react-0.9.0-rc1.js Minified build for production: https://fb.me/react-0.9.0-rc1.min.js React with Add-Ons Dev build with warnings: https://fb.me/react-with-addons-0.9.0-rc1.js Minified build for…","frontmatter":{"title":"React v0.9 RC","next":null,"prev":null,"author":[{"frontmatter":{"name":"Sophie Alpert","url":"https://sophiebits.com/"}}]},"fields":{"date":"February 16, 2014","path":"content/blog/2014-02-16-react-v0.9-rc1.md","slug":"/blog/2014/02/16/react-v0.9-rc1.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/2014/02/16/react-v0.9-rc1.html"}},"staticQueryHashes":[]}