react v0.9.0 Release Notes
Release Date: 2014-02-20 // about 10 years ago-
React Core
๐ฅ Breaking Changes
- โก๏ธ The lifecycle methods
componentDidMount
andcomponentDidUpdate
no longer receive the root node as a parameter; usethis.getDOMNode()
instead - 0๏ธโฃ Whenever a prop is equal to
undefined
, the default value returned bygetDefaultProps
will now be used instead - ๐
React.unmountAndReleaseReactRootNode
was previously deprecated and has now been removed - ๐
React.renderComponentToString
is now synchronous and returns the generated HTML string - ๐ Full-page rendering (that is, rendering the
<html>
tag using React) is now supported only when starting with server-rendered markup - On mouse wheel events,
deltaY
is no longer negated - ๐ When prop types validation fails, a warning is logged instead of an error thrown (with the production build of React, type checks are now skipped for performance)
- ๐ On
input
,select
, andtextarea
elements,.getValue()
is no longer supported; use.getDOMNode().value
instead this.context
on components is now reserved for internal use by React
๐ New Features
- React now never rethrows errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly
- โ Added support for SVG tags
defs
,linearGradient
,polygon
,radialGradient
,stop
- โ Added support for more attributes:
crossOrigin
for CORS requestsdownload
andhrefLang
for<a>
tagsmediaGroup
andmuted
for<audio>
and<video>
tagsnoValidate
andformNoValidate
for formsproperty
for Open Graph<meta>
tagssandbox
,seamless
, andsrcDoc
for<iframe>
tagsscope
for screen readersspan
for<colgroup>
tags
- โ Added support for defining
propTypes
in mixins - โ Added
any
,arrayOf
,component
,oneOfType
,renderable
,shape
toReact.PropTypes
- โ Added support for
statics
on component spec for static component methods - On all events,
.currentTarget
is now properly set - ๐จ On keyboard events,
.key
is now polyfilled in all browsers for special (non-printable) keys - On clipboard events,
.clipboardData
is now polyfilled in IE - On drag events,
.dragTransfer
is now present - โ Added support for
onMouseOver
andonMouseOut
in addition to the existingonMouseEnter
andonMouseLeave
events - โ Added support for
onLoad
andonError
on<img>
elements - โ Added support for
onReset
on<form>
elements - The
autoFocus
attribute is now polyfilled consistently oninput
,select
, andtextarea
๐ Bug Fixes
- React no longer adds an
__owner__
property to each component'sprops
object; passed-in props are now never mutated - When nesting top-level components (e.g., calling
React.renderComponent
withincomponentDidMount
), events now properly bubble to the parent component - ๐ Fixed a case where nesting top-level components would throw an error when updating
- Passing an invalid or misspelled propTypes type now throws an error
- On mouse enter/leave events,
.target
,.relatedTarget
, and.type
are now set properly - On composition events,
.data
is now properly normalized in IE9 and IE10 - CSS property values no longer have
px
appended for the unitless propertiescolumnCount
,flex
,flexGrow
,flexShrink
,lineClamp
,order
,widows
- ๐ Fixed a memory leak when unmounting children with a
componentWillUnmount
handler - ๐ Fixed a memory leak when
renderComponentToString
would store event handlers - ๐ Fixed an error that could be thrown when removing form elements during a click handler
- Boolean attributes such as
disabled
are rendered without a value (previouslydisabled="true"
, now simplydisabled
) - ๐
key
values containing.
are now supported - ๐ Shortened
data-reactid
values for performance - Components now always remount when the
key
property changes - ๐ Event handlers are attached to
document
only when necessary, improving performance in some cases - โ Events no longer use
.returnValue
in modern browsers, eliminating a warning in Chrome - โ
scrollLeft
andscrollTop
are no longer accessed on document.body, eliminating a warning in Chrome - ๐ General performance fixes, memory optimizations, improvements to warnings and error messages
React with Addons
- โ
React.addons.TestUtils
was added to help write unit tests React.addons.TransitionGroup
was renamed toReact.addons.CSSTransitionGroup
React.addons.TransitionGroup
was added as a more general animation wrapper- ๐ฏ
React.addons.cloneWithProps
was added for cloning components and modifying their props - ๐ Bug fix for adding back nodes during an exit transition for CSSTransitionGroup
- ๐ Bug fix for changing
transitionLeave
in CSSTransitionGroup - ๐ Performance optimizations for CSSTransitionGroup
- ๐ On checkbox
<input>
elements,checkedLink
is now supported for two-way binding
๐ฆ JSX Compiler and react-tools Package
- ๐ Whitespace normalization has changed; now space between two tags on the same line will be preserved, while newlines between two tags will be removed
- ๐ฆ The
react-tools
npm package no longer includes the React core libraries; use thereact
package instead. displayName
is now added in more cases, improving error messages and names in the React Dev Tools- ๐ Fixed an issue where an invalid token error was thrown after a JSX closing tag
- ๐ป
JSXTransformer
now uses source maps automatically in modern browsers - ๐
JSXTransformer
error messages now include the filename and problematic line contents when a file fails to parse
- โก๏ธ The lifecycle methods