From 0df14b3c38255abd8b6b47fa0271b5eb3fbbe28d Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Wed, 12 Feb 2014 20:45:17 -0800 Subject: [PATCH] Blog post for 0.9 release candidate --- _posts/2014-02-16-react-v0.9-rc1.md | 132 ++++++++++++++++++++++++++++ downloads/react-0.9.0-rc1.zip | Bin 0 -> 673107 bytes 2 files changed, 132 insertions(+) create mode 100644 _posts/2014-02-16-react-v0.9-rc1.md create mode 100644 downloads/react-0.9.0-rc1.zip diff --git a/_posts/2014-02-16-react-v0.9-rc1.md b/_posts/2014-02-16-react-v0.9-rc1.md new file mode 100644 index 00000000..960b26c6 --- /dev/null +++ b/_posts/2014-02-16-react-v0.9-rc1.md @@ -0,0 +1,132 @@ +--- +title: React v0.9 RC +layout: post +author: Ben Alpert +--- + +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: + Minified build for production: +* **React with Add-Ons** + Dev build with warnings: + Minified build for production: +* **In-Browser JSX transformer** + + +We've also published version `0.9.0-rc1` of the `react` and `react-tools` packages on npm and the `react` package on bower. + +Please try these builds out and [file an issue on GitHub](https://github.com/facebook/react/issues/new) if you see anything awry. + +## Upgrade Notes + +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: + +```html +
+ Monkeys: + {listOfMonkeys} {submitButton} +
+``` + +In v0.8 and below, it was transformed to the following: + +```javascript +React.DOM.div(null, + " Monkeys: ", + listOfMonkeys, submitButton +) +``` + +In v0.9, it will be transformed to this JS instead: + +```javascript{2,3} +React.DOM.div(null, + "Monkeys:", + listOfMonkeys, " ", submitButton +) +``` + +We believe this new behavior is more helpful and elimates cases where unwanted whitespace was previously added. + +In cases where you want to preserve the space adjacent to a newline, you can write a JS string like `{"Monkeys: "}` 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 [install jsx\_whitespace\_transformer from npm](https://github.com/facebook/react/blob/master/npm-jsx_whitespace_transformer/README.md) and run it over your source tree to modify files in place. The transformed JSX files will preserve your code's existing whitespace behavior. + +## Changelog + +### React Core + +#### Breaking Changes + +- The lifecycle methods `componentDidMount` and `componentDidUpdate` no longer receive the root node as a parameter; use `this.getDOMNode()` instead +- Whenever a prop is equal to `undefined`, the default value returned by `getDefaultProps` will now be used instead +- `React.unmountAndReleaseReactRootNode` was previously deprecated and has now been removed +- `React.renderComponentToString` is now synchronous and returns the generated HTML string +- Full-page rendering (that is, rendering the `` tag using React) is now supported only when starting with server-rendered markup +- On mouse wheel events, `deltaY` is no longer negated +- 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) +- On `input`, `select`, and `textarea` elements, `.getValue()` is no longer supported; use `.getDOMNode().value` instead + +#### New Features + +- React now never rethrows errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly +- Added a new tool for profiling React components and identifying places where defining `shouldComponentUpdate` can give performance improvements +- Added support for SVG tags `defs`, `linearGradient`, `polygon`, `radialGradient`, `stop` +- Added support for more attributes: + - `noValidate` and `formNoValidate` for forms + - `property` for Open Graph `` tags + - `sandbox`, `seamless`, and `srcDoc` for `