New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC 6: Deprecate unsafe lifecycles #12028

Merged
merged 28 commits into from Jan 19, 2018

Conversation

Projects
None yet
9 participants
@bvaughn
Contributor

bvaughn commented Jan 16, 2018

This codemod corresponds with reactjs/rfcs/pull/6, reactjs/react-codemod/pull/195, and #12036.

Proposed Release Plan

  • 16.3: Add new lifecycles.
  • 16.4: Warn about old lifecycles being deprecated. (Enable warnAboutDeprecatedLifecycles feature flag).
  • 17.0: Remove deprecated lifecycles.

The minor version numbers for 16 are just examples. The main point is to note that we plan to release this change over two minor updates, to give libraries a chance to update without noisy deprecation warnings.

Differences from RFC

This proposal differs from the original RFC in a couple of ways. I have updated the RFC to reflect these changes, but they are also listed below:

  • getDerivedStateFromNextProps has been renamed to getDerivedStateFromProps (reactjs/rfcs/pull/6/commits/8f6c20e)
  • getDerivedStateFromProps will be called after instantiation. In this case, prevState will either be null or the value set in the constructor. Any state returned from getDerivedStateFromProps will be merged into the previous state, overriding it. (reactjs/rfcs/pull/6/commits/e05e317)
  • getDerivedStateFromProps will not accept a prevProps parameter. Its signature will be: static getDerivedStateFromProps(props: Props, prevState: State | null): PartialState | null (reactjs/rfcs/pull/6/commits/e05e317)
  • The unsafe_* prefix will actually be UNSAFE_* (capitalized) to make it more noticeable. (reactjs/rfcs/pull/6/commits/7042a2a)

Open Questions

  • Is it okay that some inline comments (eg here) and strings (eg here and here) still refer to the old lifecycle names:
    Decision: Yes. These can be incrementally replaced if necessary.
  • Should startPhaseTimer calls use new lifecycle prefix?
    Decision: No, the old names are okay.
  • Should invariants referencing the old lifecycle name (sans prefix) be updated?
    Tentative decision: No. The meaning of these messages is clear enough that this is not worth the pain it would cause WRT white-listing.
  • Is it worth releasing an update to create-react-class/factory so:
    It's aware of the new lifecyle methods?
    Tentative decision: Yes. This is fairly low-effort and worth the cost to keep create-react-class working. (PR #12036)
  • Should we release an update to 15 with the new UNSAFE_* lifecycle hooks as well?
    Decision: No. Instead, we will release a backwards-compatible polyfill for library authors. (See reactjs/react-lifecycles-compat.)

Remaining Work

  • Invoke either either old lifecycles or new unsafe_* ones (e709e30)
  • Add deprecation warnings for old lifecycle names (e709e30)
  • Create codemod (reactjs/react-codemod/pull/195) and rename lifecycles (28a0e4b, f0e6f62, d9e0d48)
  • Update NativeMethodsMixin with new lifecycle hooks (8679926)
  • Manually audit repo and update comments and inline strings
  • Rename unsafe_ to uppercase UNSAFE_. (8d0e001)
  • Implement new static getDerivedStateFromProps method.
    • For server-side rendering (5d51854, 035c220)
    • For shallow renderer (1047182)
    • For all other renderers via ReactFiberClassComponent (b71ca93)
  • Verify we have new test coverage for all of the following:
  • Add DEV warning to functional components that define a static getDerivedStateFromProps method (re this comment). (b699543)
  • Put lifecycle deprecation warnings behind a feature flag. (This will enable us to do a minor release that adds the new UNSAFE_* methods, but without any warnings, giving the ecosystem time to upgrade without noise.) (2d9f75d)

Follow Up Work

  • #12044: Coalesce warnings for deprecated lifecycle hooks and print single message after reconciliation (rather than one per component-type)
  • #12046: Update debugRenderPhaseSideEffects behavior.
  • Write reactjs.org blog posts:
    • #12047: For 16.3: Letting people know how to prepare for upcoming 16.4 release
      • App developers should run codemod.
      • Library maintainers should move code to render.
    • #12048: For 16.4+: Show examples of how to use the new API, pointing out tricky things to avoid (eg setTimeout calls to setState), etc.
Added unsafe_* lifecycles and deprecation warnings
If the old lifecycle hooks (componentWillMount, componentWillUpdate, componentWillReceiveProps) are detected, these methods will be called and a deprecation warning will be logged. (In other words, we do not check for both the presence of the old and new lifecycles.) This commit is expected to fail tests.

bvaughn added some commits Jan 16, 2018

Ran lifecycle hook codemod over project
This should handle the bulk of the updates. I will manually update TypeScript and CoffeeScript tests with another commit.
The actual command run with this commit was: jscodeshift --parser=flow -t ../react-codemod/transforms/rename-unsafe-lifecycles.js ./packages/**/src/**/*.js
Added inline note to createReactClassIntegration-test
Explaining why lifecycles hooks have not been renamed in this test.

@bvaughn bvaughn force-pushed the bvaughn:rfc-6 branch from d9e0d48 to 8679926 Jan 16, 2018

@TrySound

This comment has been minimized.

Contributor

TrySound commented Jan 17, 2018

@bvaughn Would be good to have a warning on SFC with static getDerivedStateFromProps.
reactjs/rfcs#6 (comment)

@jquense

This comment has been minimized.

Collaborator

jquense commented Jan 17, 2018

Ya! I know we talk about this on every depreciation but...this will affect every react component, releasing on a minor means CI is going to break for folks and the burden to fix quickly will be on lib maintainers unless they want to deal with a flood of issues about the depreciation warnings. The most graceful approach for maintainers would be to deprecate in 17 and remove in 18

@gaearon

This comment has been minimized.

Member

gaearon commented Jan 17, 2018

We do talk about this every time. :-)

Last time we settled on making those warnings yellow rather than red. It is up to you to decide whether console.warn should fail the build. You can also filter specific warnings if you want to.

In this case we also plan to not include the deprecations in the first minor, give time to major libraries to update without noise, and later enable them. (As written in the RFC)

I don't think what you propose is feasible. We can't stretch this work into two years. (And our release cycle is roughly yearly.)

@jquense

This comment has been minimized.

Collaborator

jquense commented Jan 17, 2018

Yeah sorry, I don't mean to keep rehashing this, during the v15 deprecation we also said the goal was to try and have faster major release cycles post v16 so we weren't waiting two years rm warnings, did that plan get squashed?

Again, respectfully, I'm sorry to rehash but I also feel the result of this as a maintainer of many react things and it's the most unpleasant part of working in the React OSS ecosystem for me

@gaearon

This comment has been minimized.

Member

gaearon commented Jan 17, 2018

I totally understand that.

I think an important thing to consider here is the incentives. I don't think we can just tell people to update their component, and not get something in return in the next major. It feels like empty effort.

Even if we released majors faster, React 17-that-just-deprecates-some-methods wouldn’t be an exciting upgrade. We haven’t been in this situation before because every major release of React included significant improvements and/or new capabilities that made the migration worth it.

If React 17 is not appealing on its own merits, we risk fragmenting the ecosystem where a much higher percentage of people decides not to upgrade and wait out until making those changes is truly worth it. And at that point you have pretty much the same situation as now, except that there was an extra churning major release in the middle.

Unfortunately pretty much all of the things that we’re working on to make React 17 exciting need those changes. And we need to start this migration as early as we can because we know those hooks are problematic and get in the way.

Of course we could call the upcoming 16.3 a “17.0”. But I don’t see the point. The projects using 16 today will keep working. If it’s just about CIs, again, this is completely avoidable and depends on your CI setup. If it’s about the migration cost, we understand it but don’t see a way to avoid it.

Added static getDerivedStateFromProps to ReactPartialRenderer
Also added a new set of tests focused on server side lifecycle hooks.

@bvaughn bvaughn force-pushed the bvaughn:rfc-6 branch from 5d51854 to 64f27d7 Jan 17, 2018

bvaughn added some commits Jan 17, 2018

Added getDerivedStateFromProps to shallow renderer
Also added warnings for several cases involving getDerivedStateFromProps() as well as the deprecated lifecycles.
Also added tests for the above.
Added getDerivedStateFromProps to ReactFiberClassComponent
Also updated class component and lifecyle tests to cover the added functionality.
@rizoom

This comment has been minimized.

Contributor

rizoom commented Jan 18, 2018

Any rough estimates for React 17 release date? Thanks.

@gaearon

This comment has been minimized.

Member

gaearon commented Jan 18, 2018

@rizoom You can see the history of last major releases by our blog and extrapolate. Generally it takes from 8 months to a year to do a major release.

bvaughn added some commits Jan 18, 2018

Moved lifecycle deprecation warnings behind (disabled) feature flag
Updated tests accordingly, by temporarily splitting tests that were specific to this feature-flag into their own, internal tests. This was the only way I knew of to interact with the feature flag without breaking our build/dist tests.

@bvaughn bvaughn changed the title RFC 6: Deprecate unsafe lifecycles (WIP) RFC 6: Deprecate unsafe lifecycles Jan 18, 2018

@TrySound

This comment has been minimized.

Contributor

TrySound commented Mar 1, 2018

@jamsch Not link, just save your prop to state after comparing. It's like a reducer of state and props. You can read more in rfc

@bvaughn

This comment has been minimized.

Contributor

bvaughn commented Mar 3, 2018

Yeah, @jamsch. That was mentioned in the RFC, but here is a more complete example in a blog post I'm working on:

https://deploy-preview-596--reactjs.netlify.com/blog/2018/02/07/update-on-async-rendering.html#updating-state-based-on-props

This was referenced Mar 30, 2018

@renovate renovate bot referenced this pull request Apr 12, 2018

Merged

Update react monorepo to v16.3.2 #9

bors bot added a commit to mythmon/corsica-tree-status that referenced this pull request Apr 23, 2018

Merge #5
5: Update react monorepo to v16.3.2 r=mythmon a=renovate[bot]

This Pull Request renovates the package group "react monorepo".


-   [react-dom](https://github.com/facebook/react) (`dependencies`): from `16.2.0` to `16.3.2`
-   [react](https://github.com/facebook/react) (`dependencies`): from `16.2.0` to `16.3.2`

# Release Notes
<details>
<summary>facebook/react</summary>

### [`v16.3.0`](https://github.com/facebook/react/blob/master/CHANGELOG.md#&#8203;1630-March-29-2018)

##### React

* Add a new officially supported context API. ([@&#8203;acdlite] in [#&#8203;11818](`facebook/react#11818`))
* Add a new `React.createRef()` API as an ergonomic alternative to callback refs. ([@&#8203;trueadm] in [#&#8203;12162](`facebook/react#12162`))
* Add a new `React.forwardRef()` API to let components forward their refs to a child. ([@&#8203;bvaughn] in [#&#8203;12346](`facebook/react#12346`))
* Fix a false positive warning in IE11 when using `React.Fragment`. ([@&#8203;XaveScor] in [#&#8203;11823](`facebook/react#11823`))
* Replace `React.unstable_AsyncComponent` with `React.unstable_AsyncMode`. ([@&#8203;acdlite] in [#&#8203;12117](`facebook/react#12117`))
* Improve the error message when calling `setState()` on an unmounted component. ([@&#8203;sophiebits] in [#&#8203;12347](`facebook/react#12347`))
##### React DOM

* Add a new `getDerivedStateFromProps()` lifecycle and `UNSAFE_` aliases for the legacy lifecycles. ([@&#8203;bvaughn] in [#&#8203;12028](`facebook/react#12028`))
* Add a new `getSnapshotBeforeUpdate()` lifecycle. ([@&#8203;bvaughn] in [#&#8203;12404](`facebook/react#12404`))
* Add a new `<React.StrictMode>` wrapper to help prepare apps for async rendering. ([@&#8203;bvaughn] in [#&#8203;12083](`facebook/react#12083`))
* Add support for `onLoad` and `onError` events on the `<link>` tag. ([@&#8203;roderickhsiao] in [#&#8203;11825](`facebook/react#11825`))
* Add support for `noModule` boolean attribute on the `<script>` tag. ([@&#8203;aweary] in [#&#8203;11900](`facebook/react#11900`))
* Fix minor DOM input bugs in IE and Safari. ([@&#8203;nhunzaker] in [#&#8203;11534](`facebook/react#11534`))
* Correctly detect Ctrl + Enter in `onKeyPress` in more browsers. ([@&#8203;nstraub] in [#&#8203;10514](`facebook/react#10514`))
* Fix containing elements getting focused on SSR markup mismatch. ([@&#8203;koba04] in [#&#8203;11737](`facebook/react#11737`))
* Fix `value` and `defaultValue` to ignore Symbol values. ([@&#8203;nhunzaker] in [#&#8203;11741](`facebook/react#11741`))
* Fix refs to class components not getting cleaned up when the attribute is removed. ([@&#8203;bvaughn] in [#&#8203;12178](`facebook/react#12178`))
* Fix an IE/Edge issue when rendering inputs into a different window. ([@&#8203;M-ZubairAhmed] in [#&#8203;11870](`facebook/react#11870`))
* Throw with a meaningful message if the component runs after jsdom has been destroyed. ([@&#8203;gaearon] in [#&#8203;11677](`facebook/react#11677`))
* Don't crash if there is a global variable called `opera` with a `null` value. [@&#8203;alisherdavronov] in [#&#8203;11854](`facebook/react#11854`))
* Don't check for old versions of Opera. ([@&#8203;skiritsis] in [#&#8203;11921](`facebook/react#11921`))
* Deduplicate warning messages about `<option selected>`. ([@&#8203;watadarkstar] in [#&#8203;11821](`facebook/react#11821`))
* Deduplicate warning messages about invalid callback. ([@&#8203;yenshih] in [#&#8203;11833](`facebook/react#11833`))
* Deprecate `ReactDOM.unstable_createPortal()` in favor of `ReactDOM.createPortal()`. ([@&#8203;prometheansacrifice] in [#&#8203;11747](`facebook/react#11747`))
* Don't emit User Timing entries for context types. ([@&#8203;abhaynikam] in [#&#8203;12250](`facebook/react#12250`))
* Improve the error message when context consumer child isn't a function. ([@&#8203;raunofreiberg] in [#&#8203;12267](`facebook/react#12267`)) 
* Improve the error message when adding a ref to a functional component. ([@&#8203;skiritsis] in [#&#8203;11782](`facebook/react#11782`))
##### React DOM Server

* Prevent an infinite loop when attempting to render portals with SSR. ([@&#8203;gaearon] in [#&#8203;11709](`facebook/react#11709`))
* Warn if a class doesn't extend `React.Component`. ([@&#8203;wyze] in [#&#8203;11993](`facebook/react#11993`))
* Fix an issue with `this.state` of different components getting mixed up. ([@&#8203;sophiebits] in [#&#8203;12323](`facebook/react#12323`))
* Provide a better message when component type is undefined. ([@&#8203;HeroProtagonist] in [#&#8203;11966](`facebook/react#11966`))

---

### [`v16.3.1`](https://github.com/facebook/react/blob/master/CHANGELOG.md#&#8203;1631-April-3-2018)

##### React

* Fix a false positive warning in IE11 when using `Fragment`. ([@&#8203;heikkilamarko] in [#&#8203;12504](`facebook/react#12504`))
* Prefix a private API. ([@&#8203;Andarist] in [#&#8203;12501](`facebook/react#12501`))
* Improve the warning when calling `setState()` in constructor. ([@&#8203;gaearon] in [#&#8203;12532](`facebook/react#12532`))
##### React DOM

* Fix `getDerivedStateFromProps()` not getting applied in some cases. ([@&#8203;acdlite] in [#&#8203;12528](`facebook/react#12528`))
* Fix a performance regression in development mode. ([@&#8203;gaearon] in [#&#8203;12510](`facebook/react#12510`))
* Fix error handling bugs in development mode. ([@&#8203;gaearon] and [@&#8203;acdlite] in [#&#8203;12508](`facebook/react#12508`))
* Improve user timing API messages for profiling. ([@&#8203;flarnie] in [#&#8203;12384](`facebook/react#12384`))
##### Create Subscription

* Set the package version to be in sync with React releases. ([@&#8203;bvaughn] in [#&#8203;12526](`facebook/react#12526`))
* Add a peer dependency on React 16.3+. ([@&#8203;NMinhNguyen] in [#&#8203;12496](`facebook/react#12496`))

---

### [`v16.3.2`](https://github.com/facebook/react/blob/master/CHANGELOG.md#&#8203;1632-April-16-2018)

##### React

* Improve the error message when passing `null` or `undefined` to `React.cloneElement`. ([@&#8203;nicolevy] in [#&#8203;12534](`facebook/react#12534`))
##### React DOM

* Fix an IE crash in development when using `<StrictMode>`. ([@&#8203;bvaughn] in [#&#8203;12546](`facebook/react#12546`))
* Fix labels in User Timing measurements for new component types. ([@&#8203;bvaughn] in [#&#8203;12609](`facebook/react#12609`))
* Improve the warning about wrong component type casing. ([@&#8203;nicolevy] in [#&#8203;12533](`facebook/react#12533`))
* Improve general performance in development mode. ([@&#8203;gaearon] in [#&#8203;12537](`facebook/react#12537`))
* Improve performance of the experimental `unstable_observedBits` API with nesting. ([@&#8203;gaearon] in [#&#8203;12543](`facebook/react#12543`))
##### React Test Renderer

* Add a UMD build. ([@&#8203;bvaughn] in [#&#8203;12594](`facebook/react#12594`))

---


</details>

# Commits

<details>
<summary>facebook/react</summary>

#### v16.3.0
-   [`c2c3c0c`](facebook/react@c2c3c0c build script to handle react-is (no peer deps) (#&#8203;12471)
-   [`488ad5a`](facebook/react@488ad5a typo in create-subscription readme
-   [`c1b21a7`](facebook/react@c1b21a7 DEV warning if getSnapshotBeforeUpdate is defined as a static method (#&#8203;12475)
-   [`268a3f6`](facebook/react@268a3f6 unstable APIs for async rendering to test renderer (#&#8203;12478)
-   [`c44665e`](facebook/react@c44665e bug when fatal error is thrown as a result of `batch.commit` (#&#8203;12480)
-   [`7a833da`](facebook/react@7a833da) in componentDidMount() should flush synchronously even with createBatch() (#&#8203;12466)
-   [`5855e9f`](facebook/react@5855e9f warning message for setState-on-unmounted (#&#8203;12347)
-   [`15e3dff`](facebook/react@15e3dff#x27;t bail out on referential equality of Consumer&#x27;s props.children function (#&#8203;12470)
-   [`125dd16`](facebook/react@125dd16 user timing to record the timeout deadline with &#x27;waiting&#x27; events (#&#8203;12479)
-   [`96fe3b1`](facebook/react@96fe3b1 React.isValidElementType() (#&#8203;12483)
-   [`53fdc19`](facebook/react@53fdc19 react-is README to show new isValidElementType()
-   [`8650d2a`](facebook/react@8650d2a createRoot for open source builds (#&#8203;12486)
-   [`6294b67`](facebook/react@6294b67 (#&#8203;12487)
-   [`b2379d4`](facebook/react@b2379d4 package versions for release 16.3.0
-   [`9778873`](facebook/react@9778873 dependencies for react-noop-renderer
-   [`8e3d94f`](facebook/react@8e3d94f bundle sizes for 16.3.0 release

#### v16.3.1
-   [`2c3f5fb`](facebook/react@2c3f5fb React 16.3.0 changelog (#&#8203;12488)
-   [`4304475`](facebook/react@4304475 links
-   [`18ba36d`](facebook/react@18ba36d context API in Changelog to &quot;React&quot; section
-   [`59b3905`](facebook/react@59b3905 method name in changelog
-   [`fa8e678`](facebook/react@fa8e678 create-subscription&#x27;s peerDep on react to ^16.3.0 (#&#8203;12496)
-   [`0c80977`](facebook/react@0c80977 React.Fragment props without Map. (#&#8203;12504)
-   [`59dac9d`](facebook/react@59dac9d DEV performance regression by avoiding Object.assign on Fibers (#&#8203;12510)
-   [`6b99c6f`](facebook/react@6b99c6f missing changelog item
-   [`7a27ebd`](facebook/react@7a27ebd user timing to record when we are about to commit (#&#8203;12384)
-   [`4ccf58a`](facebook/react@4ccf58a context stack misalignment caused by error replay (#&#8203;12508)
-   [`6f2ea73`](facebook/react@6f2ea73 throw to separate function so performUnitOfWork does not deopt (#&#8203;12521)
-   [`ba245f6`](facebook/react@ba245f6 _context property on returned ReactContext from createContext - it&#x27;s private (#&#8203;12501)
-   [`eb6e752`](facebook/react@eb6e752 create-subscription package version (#&#8203;12526)
-   [`da4e855`](facebook/react@da4e855 @&#8203;providesModule in www bundles (#&#8203;12529)
-   [`0f2f90b`](https://github.com/facebook/react/commit/0f2f90bd9a9daf241d691bf4af3ea2e3a263c0e3)getDerivedStateFrom{Props,Catch} should update updateQueue.baseState (#&#8203;12528)
-   [`36c2939`](facebook/react@36c2939 not-yet-mounted setState warning (#&#8203;12531)
-   [`a2cc3c3`](facebook/react@a2cc3c3 up: make new warning less wordy (#&#8203;12532)
-   [`2279843`](facebook/react@2279843 yarn.lock file for 16.3.1 release
-   [`787b343`](facebook/react@787b343 package versions for release 16.3.1
-   [`dc05957`](facebook/react@dc05957 bundle sizes for 16.3.1 release
-   [`b15b165`](facebook/react@b15b165 for 16.3.1

#### v16.3.2
-   [`1c2876d`](facebook/react@1c2876d a build step to hoist warning conditions (#&#8203;12537)
-   [`5e3706c`](facebook/react@5e3706c#x27;t render bitmask-bailing consumers even if there&#x27;s a deeper matching child (#&#8203;12543)
-   [`e932e32`](https://github.com/facebook/react/commit/e932e321a88e07935224701bc4580e3dc9889afe)facebook.github.io/react -&gt; reactjs.org (#&#8203;12545)
-   [`d328e36`](facebook/react@d328e36 duplicate typeof check (#&#8203;12541)
-   [`8ec0e4a`](facebook/react@8ec0e4a Array.from() usage (#&#8203;12546)
-   [`27535e7`](facebook/react@27535e7 ReactDOM&#x27;s case warning for html tags (#&#8203;12533)
-   [`7a3416f`](facebook/react@7a3416f component stack from reactTag to React Native renderer (#&#8203;12549)
-   [`cf649b4`](facebook/react@cf649b4 TouchHistoryMath to React Native repo (#&#8203;12557)
-   [`5b16b39`](facebook/react@5b16b39 fix
-   [`6bf2797`](facebook/react@6bf2797 flushSync from React Native (#&#8203;12565)
-   [`bc753a7`](facebook/react@bc753a7 findNodeHandle in Fabric (#&#8203;12573)
-   [`181747a`](https://github.com/facebook/react/commit/181747a6cc25f3020b8561f475eca4ad2824256b)[RN] Move takeSnapshot to RN (#&#8203;12574)
-   [`20c5d97`](facebook/react@20c5d97 consistency in the comment (#&#8203;12579)
-   [`ea37545`](facebook/react@ea37545 be *a* before PlacementAndUpdate (#&#8203;12580)
-   [`76b4ba0`](facebook/react@76b4ba0 error codes for invariants on www (#&#8203;12539)
-   [`8dfb057`](facebook/react@8dfb057 invariant and instead use it from reactProdInvariant (#&#8203;12585)
-   [`f88deda`](facebook/react@f88deda more specific error if passed undefined in React.cloneElement (#&#8203;12534)
-   [`2f7bca0`](facebook/react@2f7bca0 unique reactTags for RN and Fabric (#&#8203;12587)
-   [`933f882`](facebook/react@933f882 ReactNativePropRegistry (#&#8203;12559)
-   [`40d0772`](https://github.com/facebook/react/commit/40d07724fcc801ad69e17b295b68ebea753d5977)[RN] Remove unstable_batchedUpdates and unmountComponentAtNodeAndRemoveContainer from Fabric (#&#8203;12571)
-   [`b6e0512`](facebook/react@b6e0512 eventTypes registry with view configs (#&#8203;12556)
-   [`b99d0b1`](https://github.com/facebook/react/commit/b99d0b14160150c566e091bd10b634beec9a58c3)[RN] Move view config registry to shims (#&#8203;12569)
-   [`725c054`](facebook/react@725c054 findHostInstance and findNodeHandle (#&#8203;12575)
-   [`52afbe0`](facebook/react@52afbe0 needs to be CommonJS
-   [`3eae866`](facebook/react@3eae866 language in error message. (#&#8203;12590)
-   [`b846152`](facebook/react@b846152 UMD build to test renderer package (#&#8203;12594)
-   [`3e9515e`](facebook/react@3e9515e @&#8203;providesModule in www shims
-   [`915bb53`](facebook/react@915bb53 expiration for interactive updates to 150ms in production (#&#8203;12599)
-   [`c27a998`](https://github.com/facebook/react/commit/c27a99812e75e73d9fad88c97ac8b8db452012c1)[Danger] Minor fixes (#&#8203;12606)
-   [`5dfbfe9`](facebook/react@5dfbfe9 debug performance labels for new component types (#&#8203;12609)
-   [`1591c8e`](facebook/react@1591c8e GCC (#&#8203;12618)
-   [`a4cef29`](facebook/react@a4cef29: add regression test for reading ReactCurrentOwner stateNode (#&#8203;12412)
-   [`2e1cc28`](facebook/react@2e1cc28 small typos in create-subscription readme (#&#8203;12399)
-   [`1e97a71`](facebook/react@1e97a71 documentation of the release process (#&#8203;12337)
-   [`66c44a7`](facebook/react@66c44a7 yarn.lock file for 16.3.2 release
-   [`82f67d6`](facebook/react@82f67d6 package versions for release 16.3.2
-   [`6494f6b`](facebook/react@6494f6b error codes for 16.3.2 release
-   [`3232616`](facebook/react@3232616 bundle sizes for 16.3.2 release
-   [`01402f4`](facebook/react@01402f4 16.3.2 changelog (#&#8203;12621)

</details>





---

This PR has been generated by [Renovate Bot](https://renovateapp.com).

Co-authored-by: Renovate Bot <bot@renovateapp.com>

@renovate renovate bot referenced this pull request May 1, 2018

Merged

Update react monorepo to v16.3.2 #14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment