react v0.12.0 Release Notes

Release Date: 2014-10-28 // over 9 years ago
  • 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)