Skip to content

Latest commit

 

History

History
82 lines (49 loc) · 4.16 KB

CHANGELOG.md

File metadata and controls

82 lines (49 loc) · 4.16 KB

0.4.1 (July 26, 2013)

React

  • setState callbacks are now executed in the scope of your component.
  • click events now work on Mobile Safari.
  • Prevent a potential error in event handling if Object.prototype is 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.

0.4.0 (July 17, 2013)

React

  • Switch from using id attribute to data-reactid to 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.
  • prop improvements: validation and default values. Read our blog post for details...
  • Support for the key prop, 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 for defaultValue, and improved implementation of the onChange event, 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.setState now takes an optional callback as it's second parameter. If you were using onClick={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 into React.DOM.div(null, Component1(null), Component2(null)). Previously this would be transformed into React.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

0.3.3 (June 20, 2013)

React

  • Allow reusing the same DOM node to render different components. e.g. React.renderComponent(<div/>, domNode); React.renderComponent(<span/>, domNode); will work now.

JSX

  • 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.

react-tools

  • Upgrade Commoner so require statements 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 of bin/jsx.
  • Upgraded our dependencies on Commoner and Recast so they use a different directory for their cache.
  • Freeze our esprima dependency.

0.3.2 (May 31, 2013)

JSX

  • Improved compatability with other coding styles (specifically, multiple assignments with a single var).

react-tools

  • Switch from using the browserified build to shipping individual modules. This allows react-tools to be used with browserify.

0.3.1 (May 30, 2013)

react-tools

  • Fix bug in packaging resulting in broken module.

0.3.0 (May 29, 2013)

  • Initial public release