|
| 1 | +## 0.9.0 (February 20, 2014) |
| 2 | + |
| 3 | +### React Core |
| 4 | + |
| 5 | +#### Breaking Changes |
| 6 | + |
| 7 | +- The lifecycle methods `componentDidMount` and `componentDidUpdate` no longer receive the root node as a parameter; use `this.getDOMNode()` instead |
| 8 | +- Whenever a prop is equal to `undefined`, the default value returned by `getDefaultProps` will now be used instead |
| 9 | +- `React.unmountAndReleaseReactRootNode` was previously deprecated and has now been removed |
| 10 | +- `React.renderComponentToString` is now synchronous and returns the generated HTML string |
| 11 | +- Full-page rendering (that is, rendering the `<html>` tag using React) is now supported only when starting with server-rendered markup |
| 12 | +- On mouse wheel events, `deltaY` is no longer negated |
| 13 | +- When prop types validation fails, a warning is logged instead of an error thrown (with the production build of React, type checks are now skipped for performance) |
| 14 | +- On `input`, `select`, and `textarea` elements, `.getValue()` is no longer supported; use `.getDOMNode().value` instead |
| 15 | + |
| 16 | +#### New Features |
| 17 | + |
| 18 | +- React now never rethrows errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly |
| 19 | +- Added support for SVG tags `defs`, `linearGradient`, `polygon`, `radialGradient`, `stop` |
| 20 | +- Added support for more attributes: |
| 21 | + - `crossOrigin` for CORS requests |
| 22 | + - `download` and `hrefLang` for `<a>` tags |
| 23 | + - `mediaGroup` and `muted` for `<audio>` and `<video>` tags |
| 24 | + - `noValidate` and `formNoValidate` for forms |
| 25 | + - `property` for Open Graph `<meta>` tags |
| 26 | + - `sandbox`, `seamless`, and `srcDoc` for `<iframe>` tags |
| 27 | + - `scope` for screen readers |
| 28 | + - `span` for `<colgroup>` tags |
| 29 | +- Added support for defining `propTypes` in mixins |
| 30 | +- Added `any`, `arrayOf`, `component`, `oneOfType`, `renderable`, `shape` to `React.PropTypes` |
| 31 | +- Added support for `statics` on component spec for static component methods |
| 32 | +- On all events, `.currentTarget` is now properly set |
| 33 | +- On keyboard events, `.key` is now polyfilled in all browsers for special (non-printable) keys |
| 34 | +- On clipboard events, `.clipboardData` is now polyfilled in IE |
| 35 | +- On drag events, `.dragTransfer` is now present |
| 36 | +- Added support for `onMouseOver` and `onMouseOut` in addition to the existing `onMouseEnter` and `onMouseLeave` events |
| 37 | +- Added support for `onLoad` and `onError` on `<img>` elements |
| 38 | +- Added support for `onReset` on `<form>` elements |
| 39 | +- The `autoFocus` attribute is now polyfilled consistently on `input`, `select`, and `textarea` |
| 40 | + |
| 41 | +#### Bug Fixes |
| 42 | + |
| 43 | +- React no longer adds an `__owner__` property to each component's `props` object; passed-in props are now never mutated |
| 44 | +- When nesting top-level components (e.g., calling `React.renderComponent` within `componentDidMount`), events now properly bubble to the parent component |
| 45 | +- Fixed a case where nesting top-level components would throw an error when updating |
| 46 | +- Passing an invalid or misspelled propTypes type now throws an error |
| 47 | +- On mouse enter/leave events, `.target`, `.relatedTarget`, and `.type` are now set properly |
| 48 | +- On composition events, `.data` is now properly normalized in IE9 and IE10 |
| 49 | +- CSS property values no longer have `px` appended for the unitless properties `columnCount`, `flex`, `flexGrow`, `flexShrink`, `lineClamp`, `order`, `widows` |
| 50 | +- Fixed a memory leak when unmounting children with a `componentWillUnmount` handler |
| 51 | +- Fixed a memory leak when `renderComponentToString` would store event handlers |
| 52 | +- Fixed an error that could be thrown when removing form elements during a click handler |
| 53 | +- Boolean attributes such as `disabled` are rendered without a value (previously `disabled="true"`, now simply `disabled`) |
| 54 | +- `key` values containing `.` are now supported |
| 55 | +- Shortened `data-reactid` values for performance |
| 56 | +- Components now always remount when the `key` property changes |
| 57 | +- Event handlers are attached to `document` only when necessary, improving performance in some cases |
| 58 | +- Events no longer use `.returnValue` in modern browsers, eliminating a warning in Chrome |
| 59 | +- `scrollLeft` and `scrollTop` are no longer accessed on document.body, eliminating a warning in Chrome |
| 60 | +- General performance fixes, memory optimizations, improvements to warnings and error messages |
| 61 | + |
| 62 | +### React with Addons |
| 63 | + |
| 64 | +- `React.addons.TestUtils` was added to help write unit tests |
| 65 | +- `React.addons.TransitionGroup` was renamed to `React.addons.CSSTransitionGroup` |
| 66 | +- `React.addons.TransitionGroup` was added as a more general animation wrapper |
| 67 | +- `React.addons.cloneWithProps` was added for cloning components and modifying their props |
| 68 | +- Bug fix for adding back nodes during an exit transition for CSSTransitionGroup |
| 69 | +- Bug fix for changing `transitionLeave` in CSSTransitionGroup |
| 70 | +- Performance optimizations for CSSTransitionGroup |
| 71 | +- On checkbox `<input>` elements, `checkedLink` is now supported for two-way binding |
| 72 | + |
| 73 | +### JSX Compiler and react-tools Package |
| 74 | + |
| 75 | +- Whitespace normalization has changed; now space between two tags on the same line will be preserved, while newlines between two tags will be removed |
| 76 | +- The `react-tools` npm package no longer includes the React core libraries; use the `react` package instead. |
| 77 | +- `displayName` is now added in more cases, improving error messages and names in the React Dev Tools |
| 78 | +- Fixed an issue where an invalid token error was thrown after a JSX closing tag |
| 79 | +- `JSXTransformer` now uses source maps automatically in modern browsers |
| 80 | +- `JSXTransformer` error messages now include the filename and problematic line contents when a file fails to parse |
| 81 | + |
1 | 82 | ## 0.8.0 (December 19, 2013)
|
2 | 83 |
|
3 | 84 | ### React
|
|
0 commit comments