## 0.12.2 (December 18, 2014) ### React Core * Added support for more HTML attributes: `formAction`, `formEncType`, `formMethod`, `formTarget`, `marginHeight`, `marginWidth` * Added `strokeOpacity` to the list of unitless CSS properties * Removed trailing commas (allows npm module to be bundled and used in IE8) * Fixed bug resulting in error when passing `undefined` to `React.createElement` - now there is a useful warning ### React Tools * JSX-related transforms now always use double quotes for props and `displayName` ## 0.12.1 (November 18, 2014) ### React Tools * Types transform updated with latest support * jstransform version updated with improved ES6 transforms * Explicit Esprima dependency removed in favor of using Esprima information exported by jstransform ## 0.12.0 (October 28, 2014) ### React Core #### Breaking Changes * `key` and `ref` moved off props object, now accessible on the element directly * React is now BSD licensed with accompanying Patents grant * Default prop resolution has moved to Element creation time instead of mount time, making them effectively static * `React.__internals` is removed - it was exposed for DevTools which no longer needs access * Composite Component functions can no longer be called directly - they must be wrapped with `React.createFactory` first. This is handled for you when using JSX. #### New Features * Spread operator (`{...}`) introduced to deprecate `this.transferPropsTo` * Added support for more HTML attributes: `acceptCharset`, `classID`, `manifest` #### Deprecations * `React.renderComponent` --> `React.render` * `React.renderComponentToString` --> `React.renderToString` * `React.renderComponentToStaticMarkup` --> `React.renderToStaticMarkup` * `React.isValidComponent` --> `React.isValidElement` * `React.PropTypes.component` --> `React.PropTypes.element` * `React.PropTypes.renderable` --> `React.PropTypes.node` * **DEPRECATED** `React.isValidClass` * **DEPRECATED** `instance.transferPropsTo` * **DEPRECATED** Returning `false` from event handlers to preventDefault * **DEPRECATED** Convenience Constructor usage as function, instead wrap with `React.createFactory` * **DEPRECATED** use of `key={null}` to assign implicit keys #### Bug Fixes * Better handling of events and updates in nested results, fixing value restoration in "layered" controlled components * Correctly treat `event.getModifierState` as case sensitive * Improved normalization of `event.charCode` * Better error stacks when involving autobound methods * Removed DevTools message when the DevTools are installed * Correctly detect required language features across browsers * Fixed support for some HTML attributes: * `list` updates correctly now * `scrollLeft`, `scrollTop` removed, these should not be specified as props * Improved error messages ### React With Addons #### New Features * `React.addons.batchedUpdates` added to API for hooking into update cycle #### Breaking Changes * `React.addons.update` uses `assign` instead of `copyProperties` which does `hasOwnProperty` checks. Properties on prototypes will no longer be updated correctly. #### Bug Fixes * Fixed some issues with CSS Transitions ### JSX #### Breaking Changes * Enforced convention: lower case tag names are always treated as HTML tags, upper case tag names are always treated as composite components * JSX no longer transforms to simple function calls #### New Features * `@jsx React.DOM` no longer required * spread (`{...}`) operator introduced to allow easier use of props #### Bug Fixes * JSXTransformer: Make sourcemaps an option when using APIs directly (eg, for react-rails) ## 0.11.2 (September 16, 2014) ### React Core #### New Features * Added support for `` element and associated `open` attribute * Added support for `` element and associated `media` and `sizes` attributes * Added `React.createElement` API in preparation for React v0.12 * `React.createDescriptor` has been deprecated as a result ### JSX * `` is now parsed into `React.DOM.picture` ### React Tools * Update `esprima` and `jstransform` for correctness fixes * The `jsx` executable now exposes a `--strip-types` flag which can be used to remove TypeScript-like type annotations * This option is also exposed to `require('react-tools').transform` as `stripTypes` ## 0.11.1 (July 24, 2014) ### React Core #### Bug Fixes * `setState` can be called inside `componentWillMount` in non-DOM environments * `SyntheticMouseEvent.getEventModifierState` correctly renamed to `getModifierState` * `getModifierState` correctly returns a `boolean` * `getModifierState` is now correctly case sensitive * Empty Text node used in IE8 `innerHTML` workaround is now removed, fixing rerendering in certain cases ### JSX * Fix duplicate variable declaration in JSXTransformer (caused issues in some browsers) ## 0.11.0 (July 17, 2014) ### React Core #### Breaking Changes * `getDefaultProps()` is now called once per class and shared across all instances * `MyComponent()` now returns a descriptor, not an instance * `React.isValidComponent` and `React.PropTypes.component` validate *descriptors*, not component instances * Custom `propType` validators should return an `Error` instead of logging directly #### New Features * Rendering to `null` * Keyboard events include normalized `e.key` and `e.getModifierState()` properties * New normalized `onBeforeInput` event * `React.Children.count` has been added as a helper for counting the number of children #### Bug Fixes * Re-renders are batched in more cases * Events: `e.view` properly normalized * Added Support for more HTML attributes (`coords`, `crossOrigin`, `download`, `hrefLang`, `mediaGroup`, `muted`, `scrolling`, `shape`, `srcSet`, `start`, `useMap`) * Improved SVG support * Changing `className` on a mounted SVG component now works correctly * Added support for elements `mask` and `tspan` * Added support for attributes `dx`, `dy`, `fillOpacity`, `fontFamily`, `fontSize`, `markerEnd`, `markerMid`, `markerStart`, `opacity`, `patternContentUnits`, `patternUnits`, `preserveAspectRatio`, `strokeDasharray`, `strokeOpacity` * CSS property names with vendor prefixes (`Webkit`, `ms`, `Moz`, `O`) are now handled properly * Duplicate keys no longer cause a hard error; now a warning is logged (and only one of the children with the same key is shown) * `img` event listeners are now unbound properly, preventing the error "Two valid but unequal nodes with the same `data-reactid`" * Added explicit warning when missing polyfills ### React With Addons * PureRenderMixin: a mixin which helps optimize "pure" components * Perf: a new set of tools to help with performance analysis * Update: New `$apply` command to transform values * TransitionGroup bug fixes with null elements, Android ### React NPM Module * Now includes the pre-built packages under `dist/`. * `envify` is properly listed as a dependency instead of a peer dependency ### JSX * Added support for namespaces, eg `` * JSXTransformer * Enable the same `harmony` features available in the command line with `