Skip to content
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

Update react-test-renderer to the latest version 🚀 #46

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

greenkeeper[bot]
Copy link

@greenkeeper greenkeeper bot commented Sep 26, 2017

Version 16.0.0 of react-test-renderer just got published.

Dependency react-test-renderer
Current Version 15.6.2
Type devDependency

The version 16.0.0 is not covered by your current version range.

Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.

I recommend you look into these changes and try to get onto the latest version of react-test-renderer.
Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.


Release Notes v16.0.0

16.0.0 (September 26, 2017)

Learn more in the React 16.0 announcement post!


New JS Environment Requirements

New Features

  • Components can now return arrays and strings from render. (Docs coming soon!)
  • Improved error handling with introduction of "error boundaries". Error boundaries are React components that catch JavaScript errors anywhere in their child component tree, log those errors, and display a fallback UI instead of the component tree that crashed.
  • First-class support for declaratively rendering a subtree into another DOM node with ReactDOM.createPortal(). (Docs coming soon!)
  • Streaming mode for server side rendering is enabled with ReactDOMServer.renderToNodeStream() and ReactDOMServer.renderToStaticNodeStream(). (@aickin in #10425, #10044, #10039, #10024, #9264, and others.)
  • React DOM now allows passing non-standard attributes. (@nhunzaker in #10385, 10564, #10495 and others)

Breaking Changes

  • There are several changes to the behavior of scheduling and lifecycle methods:
    • ReactDOM.render() and ReactDOM.unstable_renderIntoContainer() now return null if called from inside a lifecycle method.
    • Minor changes to setState behavior:
      • Calling setState with null no longer triggers an update. This allows you to decide in an updater function if you want to re-render.
      • Calling setState directly in render always causes an update. This was not previously the case. Regardless, you should not be calling setState from render.
      • setState callback (second argument) now fires immediately after componentDidMount / componentDidUpdate instead of after all components have rendered.
    • When replacing <A /> with <B />, B.componentWillMount now always happens before A.componentWillUnmount. Previously, A.componentWillUnmount could fire first in some cases.
    • Previously, changing the ref to a component would always detach the ref before that component's render is called. Now, we change the ref later, when applying the changes to the DOM.
    • It is not safe to re-render into a container that was modified by something other than React. This worked previously in some cases but was never supported. We now emit a warning in this case. Instead you should clean up your component trees using ReactDOM.unmountComponentAtNode. See this example.
    • componentDidUpdate lifecycle no longer receives prevContext param. (@bvaughn in #8631)
    • Non-unique keys may now cause children to be duplicated and/or omitted. Using non-unique keys is not (and has never been) supported, but previously it was a hard error.
    • Shallow renderer no longer calls componentDidUpdate() because DOM refs are not available. This also makes it consistent with componentDidMount() (which does not get called in previous versions either).
    • Shallow renderer does not implement unstable_batchedUpdates() anymore.
  • The names and paths to the single-file browser builds have changed to emphasize the difference between development and production builds. For example:
    • react/dist/react.jsreact/umd/react.development.js
    • react/dist/react.min.jsreact/umd/react.production.min.js
    • react-dom/dist/react-dom.jsreact-dom/umd/react-dom.development.js
    • react-dom/dist/react-dom.min.jsreact-dom/umd/react-dom.production.min.js
  • The server renderer has been completely rewritten, with some improvements:
    • Server rendering does not use markup validation anymore, and instead tries its best to attach to existing DOM, warning about inconsistencies. It also doesn't use comments for empty components and data-reactid attributes on each node anymore.
    • Hydrating a server rendered container now has an explicit API. Use ReactDOM.hydrate instead of ReactDOM.render if you're reviving server rendered HTML. Keep using ReactDOM.render if you're just doing client-side rendering.
  • When "unknown" props are passed to DOM components, for valid values, React will now render them in the DOM. See this post for more details. (@nhunzaker in #10385, 10564, #10495 and others)
  • Errors in the render and lifecycle methods now unmount the component tree by default. To prevent this, add error boundaries to the appropriate places in the UI.

Removed Deprecations

  • 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.
  • 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 and 15.6.0 blog posts for instructions on migrating code and automated codemods.
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

@greenkeeper
Copy link
Author

greenkeeper bot commented Nov 9, 2017

Version 16.1.0 just got published.

Update to this version instead 🚀

Release Notes v16.1.0

16.1.0 (November 9, 2017)

Discontinuing Bower Releases

Starting with 16.1.0, we will no longer be publishing new releases on Bower. You can continue using Bower for old releases, or point your Bower configs to the React UMD builds hosted on unpkg that mirror npm releases and will continue to be updated.

All Packages

  • Fix an accidental extra global variable in the UMD builds. (@gaearon in #10935)

React

  • Add support for portals in React.Children utilities. (@MatteoVH in #11378)
  • Warn when a class has a render method but doesn't extend a known base class. (@sw-yx in #11168)
  • Improve the warning when accidentally returning an object from constructor. (@deanbrophy in #11395)

React DOM

React DOM Server

  • Add a new suppressHydrationWarning attribute for intentional client/server text mismatches. (@sebmarkbage in #11126)
  • Fix markup generation when components return strings. (@gaearon in #11109)
  • Fix obscure error message when passing an invalid style value. (@iamdustan in #11173)
  • Include the autoFocus attribute into SSR markup. (@gaearon in #11192)
  • Include the component stack into more warnings. (@gaearon in #11284)

React Test Renderer and Test Utils

  • Fix multiple setState() calls in componentWillMount() in shallow renderer. (@Hypnosphi in #11167)
  • Fix shallow renderer to ignore shouldComponentUpdate() after forceUpdate(). (@d4rky-pl in #11239 and #11439)
  • Handle forceUpdate() and React.PureComponent correctly. (@koba04 in #11440)
  • Add back support for running in production mode. (@gaearon in #11112)
  • Add a missing package.json dependency. (@gaearon in #11340)

React ART

  • Add a missing package.json dependency. (@gaearon in #11341)
  • Expose react-art/Circle, react-art/Rectangle, and react-art/Wedge. (@gaearon in #11343)

React Reconciler (Experimental)

React Call Return (Experimental)

greenkeeper bot added a commit that referenced this pull request Nov 13, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Nov 13, 2017

Version 16.1.1 just got published.

Update to this version instead 🚀

Release Notes v16.1.1

16.1.1 (November 13, 2017)

React

  • Improve the warning about undefined component type. (@selbekk in #11505)

React DOM

React DOM Server

  • Don't freeze the ReactDOMServer public API. (@travi in #11531)
  • Don't emit autoFocus={false} attribute on the server. (@gaearon in #11543)

React Reconciler

greenkeeper bot added a commit that referenced this pull request Nov 28, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Nov 28, 2017

Version 16.2.0 just got published.

Update to this version instead 🚀

Release Notes v16.2.0

React

  • Add Fragment as named export to React. (@clemmy in #10783)
  • Support experimental Call/Return types in React.Children utilities. (@MatteoVH in #11422)

React DOM

  • Fix radio buttons not getting checked when using multiple lists of radios. (@landvibe in #11227)
  • Fix radio buttons not receiving the onChange event in some cases. (@jquense in #11028)

React Test Renderer

  • Fix setState() callback firing too early when called from componentWillMount. (@accordeiro in #11507)

React Reconciler

  • Expose react-reconciler/reflection with utilities useful to custom renderers. (@rivenhk in #11683)

Internal Changes

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

Successfully merging this pull request may close these issues.

0 participants