Skip to content

Releases: facebook/react

v0.14.5

06 Jan 23:57
Compare
Choose a tag to compare

React

  • More minor internal changes for better compatibility with React Native

v0.14.4

06 Jan 23:58
Compare
Choose a tag to compare

React

  • Minor internal changes for better compatibility with React Native

React DOM

  • The autoCapitalize and autoCorrect props are now set as attributes in the DOM instead of properties to improve cross-browser compatibility
  • Fixed bug with controlled <select> elements not handling updates properly

React Perf Add-on

  • Some DOM operation names have been updated for clarity in the output of .printDOM()

v0.14.3

24 Nov 21:55
Compare
Choose a tag to compare

React DOM

  • Added support for nonce attribute for <script> and <style> elements
  • Added support for reversed attribute for <ol> elements

React TestUtils Add-on

  • Fixed bug with shallow rendering and function refs

React CSSTransitionGroup Add-on

  • Fixed bug resulting in timeouts firing incorrectly when mounting and unmounting rapidly

React on Bower

  • Added react-dom-server.js to expose renderToString and renderToStaticMarkup for usage in the browser

v0.14.2

02 Nov 20:08
Compare
Choose a tag to compare

React DOM

  • Fixed bug with development build preventing events from firing in some versions of Internet Explorer & Edge
  • Fixed bug with development build when using es5-sham in older versions of Internet Explorer
  • Added support for integrity attribute
  • Fixed bug resulting in children prop being coerced to a string for custom elements, which was not the desired behavior
  • Moved react from dependencies to peerDependencies to match expectations and align with react-addons-* packages

v0.14.1

28 Oct 21:40
Compare
Choose a tag to compare

React DOM

  • Fixed bug where events wouldn't fire in old browsers when using React in development mode
  • Fixed bug preventing use of dangerouslySetInnerHTML with Closure Compiler Advanced mode
  • Added support for srcLang, default, and kind attributes for <track> elements
  • Added support for color attribute
  • Ensured legacy .props access on DOM nodes is updated on re-renders

React TestUtils Add-on

  • Fixed scryRenderedDOMComponentsWithClass so it works with SVG

React CSSTransitionGroup Add-on

  • Fix bug preventing 0 to be used as a timeout value

React on Bower

  • Added react-dom.js to main to improve compatibility with tooling

v0.14.0

09 Oct 15:54
Compare
Choose a tag to compare

v0.13.3

18 Jun 06:55
Compare
Choose a tag to compare

React Core

New Features

  • Added clipPath element and attribute for SVG
  • Improved warnings for deprecated methods in plain JS classes

Bug Fixes

  • Loosened dangerouslySetInnerHTML restrictions so {__html: undefined} will no longer throw
  • Fixed extraneous context warning with non-pure getChildContext
  • Ensure replaceState(obj) retains prototype of obj

React with Add-ons

Bug Fixes

  • Test Utils: Ensure that shallow rendering works when components define contextTypes

v0.13.2

18 Apr 22:41
Compare
Choose a tag to compare

React Core

New Features

  • Added strokeDashoffset, flexPositive, flexNegative to the list of unitless CSS properties
  • Added support for more DOM properties:
    • scoped - for <style> elements
    • high, low, optimum - for <meter> elements
    • unselectable - IE-specific property to prevent user selection

Bug Fixes

  • Fixed a case where re-rendering after rendering null didn't properly pass context
  • Fixed a case where re-rendering after rendering with style={null} didn't properly update style
  • Update uglify dependency to prevent a bug in IE8
  • Improved warnings

React with Add-Ons

Bug Fixes

  • Immutabilty Helpers: Ensure it supports hasOwnProperty as an object key

React Tools

  • Improve documentation for new options

v0.13.1

18 Apr 22:42
Compare
Choose a tag to compare

React Core

Bug Fixes

  • Don't throw when rendering empty <select> elements
  • Ensure updating style works when transitioning from null

React with Add-Ons

Bug Fixes

  • TestUtils: Don't warn about getDOMNode for ES6 classes
  • TestUtils: Ensure wrapped full page components (<html>, <head>, <body>) are treated as DOM components
  • Perf: Stop double-counting DOM components

React Tools

Bug Fixes

  • Fix option parsing for --non-strict-es6module

v0.13.0

18 Apr 22:43
Compare
Choose a tag to compare

React Core

Breaking Changes

  • Deprecated patterns that warned in 0.12 no longer work: most prominently, calling component classes without using JSX or React.createElement and using non-component functions with JSX or createElement
  • Mutating props after an element is created is deprecated and will cause warnings in development mode; future versions of React will incorporate performance optimizations assuming that props aren't mutated
  • Static methods (defined in statics) are no longer autobound to the component class
  • ref resolution order has changed slightly such that a ref to a component is available immediately after its componentDidMount method is called; this change should be observable only if your component calls a parent component's callback within your componentDidMount, which is an anti-pattern and should be avoided regardless
  • Calls to setState in life-cycle methods are now always batched and therefore asynchronous. Previously the first call on the first mount was synchronous.
  • setState and forceUpdate on an unmounted component now warns instead of throwing. That avoids a possible race condition with Promises.
  • Access to most internal properties has been completely removed, including this._pendingState and this._rootNodeID.

New Features

  • Support for using ES6 classes to build React components; see the v0.13.0 beta 1 notes for details.
  • Added new top-level API React.findDOMNode(component), which should be used in place of component.getDOMNode(). The base class for ES6-based components will not have getDOMNode. This change will enable some more patterns moving forward.
  • Added a new top-level API React.cloneElement(el, props) for making copies of React elements – see the v0.13 RC2 notes for more details.
  • New ref style, allowing a callback to be used in place of a name: <Photo ref={(c) => this._photo = c} /> allows you to reference the component with this._photo (as opposed to ref="photo" which gives this.refs.photo).
  • this.setState() can now take a function as the first argument for transactional state updates, such as this.setState((state, props) => ({count: state.count + 1})); – this means that you no longer need to use this._pendingState, which is now gone.
  • Support for iterators and immutable-js sequences as children.

Deprecations

  • ComponentClass.type is deprecated. Just use ComponentClass (usually as element.type === ComponentClass).
  • Some methods that are available on createClass-based components are removed or deprecated from ES6 classes (getDOMNode, replaceState, isMounted, setProps, replaceProps).

React with Add-Ons

New Features

Deprecations

  • React.addons.classSet is now deprecated. This functionality can be replaced with several freely available modules. classnames is one such module.
  • Calls to React.addons.cloneWithProps can be migrated to use React.cloneElement instead – make sure to merge style and className manually if desired.

React Tools

Breaking Changes

  • When transforming ES6 syntax, class methods are no longer enumerable by default, which requires Object.defineProperty; if you support browsers such as IE8, you can pass --target es3 to mirror the old behavior

New Features

  • --target option is available on the jsx command, allowing users to specify and ECMAScript version to target.
    • es5 is the default.
    • es3 restores the previous default behavior. An additional transform is added here to ensure the use of reserved words as properties is safe (eg this.static will become this['static'] for IE8 compatibility).
  • The transform for the call spread operator has also been enabled.

JSX

Breaking Changes

  • A change was made to how some JSX was parsed, specifically around the use of > or } when inside an element. Previously it would be treated as a string but now it will be treated as a parse error. The jsx_orphaned_brackets_transformer package on npm can be used to find and fix potential issues in your JSX code.