Skip to content

Commit 2b317d1

Browse files
acdlitebvaughn
authored andcommitted
Merge changes from master into Gatsby branch (#10853)
* Update changelog for unreleased 16.0 changes (#10730) * First shot at updating changelog for 16.0 **what is the change?:** Added an 'unreleased' section to the changelog with info from #10294 **why make this change?:** To get things set for the 16.0 release. **test plan:** Visual inspection **issue:** #8854 * Fix typos and formatting errors in changelog * Add requestAnimationFrame and remove "New helpful warnings" **what is the change?:** In response to helpful code review - - Add mention of dependency on `requestAnimationFrame` and need to polyfill that as well as `Map` and `Set` - Remove "New helpful warnings" section; it was incomplete, and there are so many new and updated warnings that it might not be reasonable to cover them in the changelog. **why make this change?:** Accuracy **test plan:** Visual inspection **issue:** issue #8854 * Improve wording * Improve wording and fix missing links * Add backticks to file names & code; wording tweak * Break "Major Changes" into "New Feature" and "Breaking Changes" * Add server side render changes to 16.0 changelog * Change gist link from mine to gaearons * Add note about returning fragments * fix misc nits * Misc. formatting/wording fixes to changelog **what is the change?:** Thanks to the kind code review comments of @gaearon and @nhunzaker we have - removed the non-deterministic bold styling on some bullet points - improved wording of the bullet points for portals, attribute whitelist changes, and server rendering changes - Add note about error boundaries including a breaking change to error handling behavior. - punctuation and capitalization fixes **why make this change?:** Clarity and correctness **test plan:** Visual inspection **issue:** #8854 * fix broken link * Fixes #9667: Updated createTextInstance to create the text node on correct document (#10723) * Record sizes * Add a changelog for elements having the same key (#10811) * Add a changelog for elements having the same key * Reword * Markdown fixs on "DOM Attributes in React 16" post (#10816) * Include tag name into the table snapshot (#10818) * Update DOM warning wording and link (#10819) * Update DOM warning wording and link * Consistently use "Invalid" for known misspellings * Update license headers BSD+Patents -> MIT Did find and replace in TextMate. ``` find: (?:( \*)( ))?Copyright (?:\(c\) )?(\d{4})\b.+Facebook[\s\S]+(?:this source tree|the same directory)\.$ replace: $1$2Copyright (c) $3-present, Facebook, Inc.\n$1\n$1$2This source code is licensed under the MIT license found in the\n$1$2LICENSE file in the root directory of this source tree. ``` * Change license and remove references to PATENTS Only remaining references: ``` docs/_posts/2014-10-28-react-v0.12.md 51:You can read the full text of the [LICENSE](https://github.com/facebook/react/blob/master/LICENSE) and [`PATENTS`](https://github.com/facebook/react/blob/master/PATENTS) files on GitHub. docs/_posts/2015-04-17-react-native-v0.4.md 20:* **Patent Grant**: Many of you had concerns and questions around the PATENTS file. We pushed [a new version of the grant](https://code.facebook.com/posts/1639473982937255/updating-our-open-source-patent-grant/). src/__mocks__/vendor/third_party/WebComponents.js 8: * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt ``` * Version bumps to use MIT license * Add ReactTestRenderer documentations (#10692) * Add ReactTestRenderer documentations * Add TestRenderer documentations * TestRenderer is not experiment * Add a link for jsdom * Use ES Modules syntax * Twaek * Add a Link component * Use Jest assertions * Move a documentation for createNodeMock to Idea section * Renamed * Tweak * Rename * More explicit * Add a usecase for createNodeMock * Add changelog for 15.6.2 * Add 15.6.2 blog post to master * Add Nate to authors on master * Bump object-assign patch range to match main package.json * Flow should ignore node_modules/create-react-class * Update error codes * Update CHANGELOG for React 16 * v16.0.0 * Doc updates for React 16 + blog post (#10824) * Doc updates for React 16 + blog post * Add link to Sophie's post * Fix React links on the website (#10837) * Fix React links on the website * Fix code editor * Fix code editor, attempt 2 * Doc change for prevContext removal in CDU (#10836) * Doc change for prevContext removal in CDU Ref: #8631 * Minor rewording * Fix note formatting * React.createPortal is not a function (#10843) * Update Portals Documentation (#10840) * Update Portals Documentation Correct some grammar to be more explicit and clear. Update example CodePen to better match code found in documentation. Update code example styles to match other code examples (ie. 'State and Lifecycle', 'Handling Events'). * Clean up comment to be accurate to example There was a small comment overlooked when reviewing the documentation. This fixes it to be accurate to the example as well as grammatically correct. * Update portals.md * More fixes * Update name of property initializer proposal (#10812) The proposal for property initializers is called [Public Class Fields](https://tc39.github.io/proposal-class-public-fields/) now (part of the combined [Class Fields](https://github.com/tc39/proposal-class-fields) proposal). * Fix portal link (#10845) * Update docs for React 16 (#10846) * Minor doc edit * Rename urls
1 parent 57e3b54 commit 2b317d1

File tree

109 files changed

+875
-432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+875
-432
lines changed

.flowconfig

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<PROJECT_ROOT>/node_modules/chrome-devtools-frontend/.*
88
<PROJECT_ROOT>/node_modules/devtools-timeline-model/.*
99
<PROJECT_ROOT>/www/node_modules/.*
10+
<PROJECT_ROOT>/node_modules/create-react-class/.*
1011
<PROJECT_ROOT>/.*/__mocks__/.*
1112
<PROJECT_ROOT>/.*/__tests__/.*
1213

CHANGELOG.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@
55
Click to see more.
66
</summary>
77

8+
No unreleased changes yet.
9+
10+
</details>
11+
12+
## 16.0.0 (September 26, 2017)
13+
814
### New JS Environment Requirements
915

1016
* React 16 depends on the collection types [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) and [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set), as well as [requestAnimationFrame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame). If you support older browsers and devices which may not yet provide these natively (e.g. <IE11), [you may want to include a polyfill](https://gist.github.com/gaearon/9a4d54653ae9c50af6c54b4e0e56b583).
@@ -47,8 +53,6 @@
4753
- There is no `react-with-addons.js` build anymore. All compatible addons are published separately on npm, and have single-file browser versions if you need them.
4854
- The deprecations introduced in 15.x have been removed from the core package. `React.createClass` is now available as create-react-class, `React.PropTypes` as prop-types, `React.DOM` as react-dom-factories, react-addons-test-utils as react-dom/test-utils, and shallow renderer as react-test-renderer/shallow. See [15.5.0](https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html) and [15.6.0](https://facebook.github.io/react/blog/2017/06/13/react-v15.6.0.html) blog posts for instructions on migrating code and automated codemods.
4955

50-
</details>
51-
5256
## 15.6.2 (September 25, 2017)
5357

5458
### All Packages

docs/_config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ sass:
6060
gems:
6161
- jekyll-redirect-from
6262
- jekyll-paginate
63-
react_version: 15.4.0
63+
react_version: 16.0.0
6464
react_hashes:
6565
dev: buVLzxzBI8Ps3svVMSUurNdb5dozNidH5Ow4H0YgZeia3t6Oeui2VLpvtAq1fwtK
6666
prod: nCjsa0kjNQPQdxWm12/ReVJzfBJaVubEwwDswyQDGMKYJmeWv3qShMuETfU5fisu

docs/_data/nav_docs.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
title: Reconciliation
4747
- id: context
4848
title: Context
49+
- id: portals
50+
title: Portals
4951
- id: web-components
5052
title: Web Components
5153
- id: higher-order-components
@@ -65,8 +67,6 @@
6567
title: ReactDOM
6668
- id: react-dom-server
6769
title: ReactDOMServer
68-
- id: react-dom-node-stream
69-
title: ReactDOMNodeStream
7070
- id: dom-elements
7171
title: DOM Elements
7272
- id: events
@@ -77,3 +77,5 @@
7777
title: Shallow Renderer
7878
- id: test-renderer
7979
title: Test Renderer
80+
- id: javascript-environment-requirements
81+
title: JS Environment Requirements

docs/_js/live_editor.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ var IS_MOBILE = (
88
|| navigator.userAgent.match(/Windows Phone/i)
99
);
1010

11-
var CodeMirrorEditor = React.createClass({
11+
var CodeMirrorEditor = createReactClass({
1212
propTypes: {
1313
lineNumbers: PropTypes.bool,
1414
onChange: PropTypes.func,
@@ -74,7 +74,7 @@ var selfCleaningTimeout = {
7474
},
7575
};
7676

77-
var ReactPlayground = React.createClass({
77+
var ReactPlayground = createReactClass({
7878
mixins: [selfCleaningTimeout],
7979

8080
MODES: {JSX: 'JSX', JS: 'JS'}, //keyMirror({JSX: true, JS: true}),

docs/_layouts/default.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@
4949
<script src="https://unpkg.com/[email protected]/mode/xml/xml.js"></script>
5050
<script src="https://unpkg.com/[email protected]/mode/jsx/jsx.js"></script>
5151
<script src="https://unpkg.com/prop-types/prop-types.min.js"></script>
52-
<script src="https://unpkg.com/react/dist/react.min.js"></script>
53-
<script src="https://unpkg.com/react-dom/dist/react-dom.min.js"></script>
52+
<script src="https://unpkg.com/react/umd/react.production.min.js"></script>
53+
<script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"></script>
54+
<script src="https://unpkg.com/create-react-class/create-react-class.min.js"></script>
5455
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
5556
<script src="/react/js/live_editor.js"></script>
5657
</head>

docs/_posts/2013-06-05-why-react.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ to render views, which we see as an advantage over templates for a few reasons:
3030
**no manual string concatenation** and therefore less surface area for XSS
3131
vulnerabilities.
3232

33-
We've also created [JSX](/react/docs/jsx-in-depth.html), an optional syntax
33+
We've also created [JSX](/docs/jsx-in-depth.html), an optional syntax
3434
extension, in case you prefer the readability of HTML to raw JavaScript.
3535

3636
## Reactive updates are dead simple.

docs/_posts/2013-06-12-community-roundup.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ It looks like [Sophie Alpert](http://sophiebits.com/) is the first person outsid
3838
3939
## Origins of React
4040

41-
[Pete Hunt](http://www.petehunt.net/blog/) explained what differentiates React from other JavaScript libraries in [a previous blog post](/react/blog/2013/06/05/why-react.html). [Lee Byron](http://leebyron.com/) gives another perspective on Quora:
41+
[Pete Hunt](http://www.petehunt.net/blog/) explained what differentiates React from other JavaScript libraries in [a previous blog post](/blog/2013/06/05/why-react.html). [Lee Byron](http://leebyron.com/) gives another perspective on Quora:
4242

4343
> React isn't quite like any other popular JavaScript libraries, and it solves a very specific problem: complex UI rendering. It's also intended to be used along side many other popular libraries. For example, React works well with Backbone.js, amongst many others.
4444
>

docs/_posts/2013-06-19-community-roundup-2.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Mozilla and Google are actively working on Web Components. [Vjeux](http://blog.v
6464

6565
Many of you pointed out differences between JSX and HTML. In order to clear up some confusion, we have added some documentation that covers the four main differences:
6666

67-
- [Whitespace removal](/react/docs/jsx-is-not-html.html)
68-
- [HTML Entities](/react/docs/jsx-is-not-html.html)
69-
- [Comments](/react/docs/jsx-is-not-html.html)
70-
- [Custom HTML Attributes](/react/docs/jsx-is-not-html.html)
67+
- [Whitespace removal](/docs/jsx-is-not-html.html)
68+
- [HTML Entities](/docs/jsx-is-not-html.html)
69+
- [Comments](/docs/jsx-is-not-html.html)
70+
- [Custom HTML Attributes](/docs/jsx-is-not-html.html)

docs/_posts/2013-07-03-community-roundup-4.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The best part is the demo of how React reconciliation process makes live editing
2323

2424
## React Snippets
2525

26-
Over the past several weeks, members of our team, [Pete Hunt](http://www.petehunt.net/) and [Paul O'Shannessy](http://zpao.com/), answered many questions that were asked in the [React group](https://groups.google.com/forum/#!forum/reactjs). They give a good overview of how to integrate React with other libraries and APIs through the use of [Mixins](/react/docs/reusable-components.html) and [Lifecycle Methods](/react/docs/working-with-the-browser.html).
26+
Over the past several weeks, members of our team, [Pete Hunt](http://www.petehunt.net/) and [Paul O'Shannessy](http://zpao.com/), answered many questions that were asked in the [React group](https://groups.google.com/forum/#!forum/reactjs). They give a good overview of how to integrate React with other libraries and APIs through the use of [Mixins](/docs/reusable-components.html) and [Lifecycle Methods](/docs/working-with-the-browser.html).
2727

2828
> [Listening Scroll Event](https://groups.google.com/forum/#!topic/reactjs/l6PnP8qbofk)
2929
>

docs/_posts/2013-07-17-react-v0-4-0.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ When you're ready, [go download it](/react/downloads.html)!
1818
* 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.
1919
* Support for more DOM elements and attributes (e.g., `<canvas>`)
2020
* 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.
21-
* `prop` improvements: validation and default values. [Read our blog post for details...](/react/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html)
22-
* Support for the `key` prop, which allows for finer control over reconciliation. [Read the docs for details...](/react/docs/multiple-components.html)
23-
* Removed `React.autoBind`. [Read our blog post for details...](/react/blog/2013/07/02/react-v0-4-autobind-by-default.html)
24-
* 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...](/react/docs/forms.html)
21+
* `prop` improvements: validation and default values. [Read our blog post for details...](/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html)
22+
* Support for the `key` prop, which allows for finer control over reconciliation. [Read the docs for details...](/docs/multiple-components.html)
23+
* Removed `React.autoBind`. [Read our blog post for details...](/blog/2013/07/02/react-v0-4-autobind-by-default.html)
24+
* 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...](/docs/forms.html)
2525
* We've implemented an improved synthetic event system that conforms to the W3C spec.
2626
* 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 its 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.
2727

docs/_posts/2013-07-23-community-roundup-5.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,15 @@ React.renderComponent(
8484

8585
> Guides
8686
>
87-
> * [Why React?](/react/docs/why-react.html)
88-
> * [Displaying Data](/react/docs/displaying-data.html)
89-
> * [JSX in Depth](/react/docs/jsx-in-depth.html)
90-
> * [JSX Gotchas](/react/docs/jsx-gotchas.html)
91-
> * [Interactivity and Dynamic UIs](/react/docs/interactivity-and-dynamic-uis.html)
92-
> * [Multiple Components](/react/docs/multiple-components.html)
93-
> * [Reusable Components](/react/docs/reusable-components.html)
94-
> * [Forms](/react/docs/forms.html)
95-
> * [Working With the Browser](/react/docs/working-with-the-browser.html)
96-
> * [More About Refs](/react/docs/more-about-refs.html)
97-
> * [Tooling integration](/react/docs/tooling-integration.html)
98-
> * [Reference](/react/docs/top-level-api.html)
87+
> * [Why React?](/docs/why-react.html)
88+
> * [Displaying Data](/docs/displaying-data.html)
89+
> * [JSX in Depth](/docs/jsx-in-depth.html)
90+
> * [JSX Gotchas](/docs/jsx-gotchas.html)
91+
> * [Interactivity and Dynamic UIs](/docs/interactivity-and-dynamic-uis.html)
92+
> * [Multiple Components](/docs/multiple-components.html)
93+
> * [Reusable Components](/docs/reusable-components.html)
94+
> * [Forms](/docs/forms.html)
95+
> * [Working With the Browser](/docs/working-with-the-browser.html)
96+
> * [More About Refs](/docs/more-about-refs.html)
97+
> * [Tooling integration](/docs/tooling-integration.html)
98+
> * [Reference](/docs/top-level-api.html)

docs/_posts/2013-08-26-community-roundup-7.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ It's been three months since we open sourced React and it is going well. Some st
1010
* [226 posts on Google Group](https://groups.google.com/forum/#!forum/reactjs)
1111
* [76 GitHub projects using React](https://gist.github.com/vjeux/6335762)
1212
* [30 contributors](https://github.com/facebook/react/graphs/contributors)
13-
* [15 blog posts](/react/blog/)
13+
* [15 blog posts](/blog/)
1414
* 2 early adopters: [Khan Academy](http://sophiebits.com/2013/06/09/using-react-to-speed-up-khan-academy.html) and [Propeller](http://usepropeller.com/blog/posts/from-backbone-to-react/)
1515

1616

docs/_posts/2013-10-16-react-v0.5.0.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This release is the result of several months of hard work from members of the te
77

88
The biggest change you'll notice as a developer is that we no longer support `class` in JSX as a way to provide CSS classes. Since this prop was being converted to `className` at the transform step, it caused some confusion when trying to access it in composite components. As a result we decided to make our DOM properties mirror their counterparts in the JS DOM API. There are [a few exceptions](https://github.com/facebook/react/blob/master/src/dom/DefaultDOMPropertyConfig.js#L156) where we deviate slightly in an attempt to be consistent internally.
99

10-
The other major change in v0.5 is that we've added an additional build - `react-with-addons` - which adds support for some extras that we've been working on including animations and two-way binding. [Read more about these addons in the docs](/react/docs/addons.html).
10+
The other major change in v0.5 is that we've added an additional build - `react-with-addons` - which adds support for some extras that we've been working on including animations and two-way binding. [Read more about these addons in the docs](/docs/addons.html).
1111

1212
## Thanks to Our Community
1313

@@ -41,7 +41,7 @@ It's been awesome to see the things that people are building with React, and we
4141

4242
### React with Addons (New!)
4343

44-
* Introduced a separate build with several "addons" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. [Read more in the docs](/react/docs/addons.html).
44+
* Introduced a separate build with several "addons" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. [Read more in the docs](/docs/addons.html).
4545

4646
### JSX
4747

docs/_posts/2013-12-23-community-roundup-12.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ title: "Community Round-up #12"
33
author: [vjeux]
44
---
55

6-
React got featured on the front-page of Hacker News thanks to the Om library. If you try it out for the first time, take a look at the [docs](/react/docs/getting-started.html) and do not hesitate to ask questions on the [Google Group](https://groups.google.com/group/reactjs), [IRC](irc://chat.freenode.net/reactjs) or [Stack Overflow](http://stackoverflow.com/questions/tagged/reactjs). We are trying our best to help you out!
6+
React got featured on the front-page of Hacker News thanks to the Om library. If you try it out for the first time, take a look at the [docs](/docs/getting-started.html) and do not hesitate to ask questions on the [Google Group](https://groups.google.com/group/reactjs), [IRC](irc://chat.freenode.net/reactjs) or [Stack Overflow](http://stackoverflow.com/questions/tagged/reactjs). We are trying our best to help you out!
77

88
## The Future of JavaScript MVC
99

10-
[David Nolen](https://swannodette.github.io/) announced Om, a thin wrapper on-top of React in ClojureScript. It stands out by only using immutable data structures. This unlocks the ability to write a very efficient [shouldComponentUpdate](/react/docs/component-specs.html#updating-shouldcomponentupdate) and get huge performance improvements on some tasks.
10+
[David Nolen](https://swannodette.github.io/) announced Om, a thin wrapper on-top of React in ClojureScript. It stands out by only using immutable data structures. This unlocks the ability to write a very efficient [shouldComponentUpdate](/docs/component-specs.html#updating-shouldcomponentupdate) and get huge performance improvements on some tasks.
1111

1212
> We've known this for some time over here in the ClojureScript corner of the world - all of our collections are immutable and modeled directly on the original Clojure versions written in Java. Modern JavaScript engines have now been tuned to the point that it's no longer uncommon to see collection performance within 2.5X of the Java Virtual Machine.
1313
>
@@ -22,7 +22,7 @@ React got featured on the front-page of Hacker News thanks to the Om library. If
2222

2323
## Scroll Position with React
2424

25-
Managing the scroll position when new content is inserted is usually very tricky to get right. [Vjeux](http://blog.vjeux.com/) discovered that [componentWillUpdate](/react/docs/component-specs.html#updating-componentwillupdate) and [componentDidUpdate](/react/docs/component-specs.html#updating-componentdidupdate) were triggered exactly at the right time to manage the scroll position.
25+
Managing the scroll position when new content is inserted is usually very tricky to get right. [Vjeux](http://blog.vjeux.com/) discovered that [componentWillUpdate](/docs/component-specs.html#updating-componentwillupdate) and [componentDidUpdate](/docs/component-specs.html#updating-componentdidupdate) were triggered exactly at the right time to manage the scroll position.
2626

2727
> We can check the scroll position before the component has updated with componentWillUpdate and scroll if necessary at componentDidUpdate
2828
>
@@ -45,7 +45,7 @@ Managing the scroll position when new content is inserted is usually very tricky
4545
4646
## Lights Out
4747
48-
React declarative approach is well suited to write games. [Cheng Lou](https://github.com/chenglou) wrote the famous Lights Out game in React. It's a good example of use of [TransitionGroup](/react/docs/animation.html) to implement animations.
48+
React declarative approach is well suited to write games. [Cheng Lou](https://github.com/chenglou) wrote the famous Lights Out game in React. It's a good example of use of [TransitionGroup](/docs/animation.html) to implement animations.
4949
<figure><a href="https://chenglou.github.io/react-lights-out/"><img src="../img/blog/lights-out.png"></a></figure>
5050
5151
[Try it out!](https://chenglou.github.io/react-lights-out/)

docs/_posts/2014-02-20-react-v0.9.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ We've also published version `0.9.0` of the `react` and `react-tools` packages o
2424

2525
This version includes better support for normalizing event properties across all supported browsers so that you need to worry even less about cross-browser differences. We've also made many improvements to error messages and have refactored the core to never rethrow errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly.
2626

27-
We've also added to the add-ons build [React.addons.TestUtils](/react/docs/test-utils.html), a set of new utilities to help you write unit tests for React components. You can now simulate events on your components, and several helpers are provided to help make assertions about the rendered DOM tree.
27+
We've also added to the add-ons build [React.addons.TestUtils](/docs/test-utils.html), a set of new utilities to help you write unit tests for React components. You can now simulate events on your components, and several helpers are provided to help make assertions about the rendered DOM tree.
2828

2929
We've also made several other improvements and a few breaking changes; the full changelog is provided below.
3030

0 commit comments

Comments
 (0)