The React team just announced the availability of React 15.4.0 – lots of changes with the major one being the explicit separation of React and React DOM. It should be a seamless change if you’ve been using a recent release of React. There’s also some updates to profiling your app in Chrome Dev Tools. The release notes can be found on GitHub, but here are the highlights:
React
- React package and browser build no longer “secretly” includes React DOM. (@sebmarkbage in #7164 and #7168)
- Required PropTypes now fail with specific messages for null and undefined. (@chenglou in #7291)
- Improved development performance by freezing children instead of copying. (@keyanzhang in #7455)
React DOM
- Fixed occasional test failures when React DOM is used together with shallow renderer. (@goatslacker in #8097)
- Added a warning for invalid
aria-
attributes. (@jessebeach in #7744) - Added a warning for using
autofocus
rather thanautoFocus
. (@hkal in #7694) - Removed an unnecessary warning about polyfilling
String.prototype.split
. (@nhunzaker in #7629) - Clarified the warning about not calling PropTypes manually. (@jedwards1211 in #7777)
- The unstable
batchedUpdates
API now passes the wrapped function’s return value through. (@bgnorlov in #7444) - Fixed a bug with updating text in IE 8. (@mnpenner in #7832)
React Perf
- When ReactPerf is started, you can now view the relative time spent in components as a chart in Chrome Timeline. (@gaearon in #7549)
React Test Utils
- If you call
Simulate.click()
on a<input disabled onClick={foo} />
thenfoo
will get called whereas it didn’t before. (@nhunzaker in #7642)
React Test Renderer
- Due to packaging changes, it no longer crashes when imported together with React DOM in the same file. (@sebmarkbage in #7164 and #7168)
ReactTestRenderer.create()
now accepts{createNodeMock: element => mock}
as an optional argument so you can mock refs with snapshot testing. (@Aweary in #7649, #8261)