Releases: facebook/react
Releases Β· facebook/react
v0.5.1
React
- Fixed bug with
<input type="range">and selection events. - Fixed bug with selection and focus.
- Made it possible to unmount components from the document root.
- Fixed bug for
disabledattribute handling on non-<input>elements.
React with Addons
- Fixed bug with transition and animation event detection.
v0.5.0
React
- Memory usage improvements - reduced allocations in core which will help with GC pauses
- Performance improvements - in addition to speeding things up, we made some tweaks to stay out of slow path code in V8 and Nitro.
- Standardized prop -> DOM attribute process. This previously resulting in additional type checking and overhead as well as confusing cases for users. Now we will always convert your value to a string before inserting it into the DOM.
- Support for Selection events.
- Support for Composition events.
- Support for additional DOM properties (
charSet,content,form,httpEquiv,rowSpan,autoCapitalize). - Support for additional SVG properties (
rx,ry). - Support for using
getInitialStateandgetDefaultPropsin mixins. - Support mounting into iframes.
- Bug fixes for controlled form components.
- Bug fixes for SVG element creation.
- Added
React.version. - Added
React.isValidClass- Used to determine if a value is a valid component constructor. - Removed
React.autoBind- This was deprecated in v0.4 and now properly removed. - Renamed
React.unmountAndReleaseReactRootNodetoReact.unmountComponentAtNode. - Began laying down work for refined performance analysis.
- Better support for server-side rendering - react-page has helped improve the stability for server-side rendering.
- Made it possible to use React in environments enforcing a strict Content Security Policy. This also makes it possible to use React to build Chrome extensions.
React with Addons (New!)
- Introduced a separate build with several "addons" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. Read more in the docs.
JSX
- No longer transform
classtoclassNameas part of the transform! This is a breaking change - if you were usingclass, you must change this toclassNameor your components will be visually broken. - Added warnings to the in-browser transformer to make it clear it is not intended for production use.
- Improved compatibility for Windows
- Improved support for maintaining line numbers when transforming.
v0.4.1
React
setStatecallbacks are now executed in the scope of your component.clickevents now work on Mobile Safari.- Prevent a potential error in event handling if
Object.prototypeis extended. - Don't set DOM attributes to the string
"undefined"on update when previously defined. - Improved support for
<iframe>attributes. - Added checksums to detect and correct cases where server-side rendering markup mismatches what React expects client-side.
JSXTransformer
- Improved environment detection so it can be run in a non-browser environment.
v0.4.0
React
- Switch from using
idattribute todata-reactidto track DOM nodes. This allows you to integrate with other JS and CSS libraries more easily. - Support for more DOM elements and attributes (e.g.,
<canvas>) - Improved server-side rendering APIs.
React.renderComponentToString(<component>, callback)allows you to use React on the server and generate markup which can be sent down to the browser. propimprovements: validation and default values. Read our blog post for details...- Support for the
keyprop, which allows for finer control over reconciliation. Read the docs for details... - Removed
React.autoBind. Read our blog post for details... - Improvements to forms. We've written wrappers around
<input>,<textarea>,<option>, and<select>in order to standardize many inconsistencies in browser implementations. This includes support fordefaultValue, and improved implementation of theonChangeevent, and circuit completion. Read the docs for details... - We've implemented an improved synthetic event system that conforms to the W3C spec.
- Updates to your component are batched now, which may result in a significantly faster re-render of components.
this.setStatenow takes an optional callback as it's second parameter. If you were usingonClick={this.setState.bind(this, state)}previously, you'll want to make sure you add a third parameter so that the event is not treated as the callback.
JSX
- Support for comment nodes
<div>{/* this is a comment and won't be rendered */}</div> - Children are now transformed directly into arguments instead of being wrapped in an array
E.g.<div><Component1/><Component2/></div>is transformed intoReact.DOM.div(null, Component1(null), Component2(null)).
Previously this would be transformed intoReact.DOM.div(null, [Component1(null), Component2(null)]).
If you were using React without JSX previously, your code should still work.
react-tools
- Fixed a number of bugs when transforming directories
- No longer re-write
require()s to be relative unless specified
v0.3.3
This release addresses some small issues people were having and simplifies our tools to make them easier to use.
react-tools
- Upgrade Commoner so
requirestatements are no longer relativized when passing through the transformer. This was a feature needed when building React, but doesn't translate well for other consumers ofbin/jsx. - Upgraded our dependencies on Commoner and Recast so they use a different directory for their cache.
- Freeze our esprima dependency.
React
- Allow reusing the same DOM node to render different components. e.g.
React.renderComponent(<div/>, domNode); React.renderComponent(<span/>, domNode);will work now.
JSXTransformer
- Improved the in-browser transformer so that transformed scripts will execute in the expected scope. The allows components to be defined and used from separate files.