<p dir="auto">According to semver, only non-breaking changes are supposed to go into minor and patch version releases. With the release of 16.4, you have made breaking changes to <code class="notranslate">getDerivedStateFromProps</code>. Our entire codebase, running perfectly on 16.3.2 is a dumpster fire as soon as we raise that dependency to 16.4.</p>
<p dir="auto">The only thing in your CHANGELOG about this <em>breaking</em> change is:</p>
<blockquote>
<p dir="auto">Properly call getDerivedStateFromProps() regardless of the reason for re-rendering. (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acdlite/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acdlite">@acdlite</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="313087680" data-permission-text="Title is private" data-url="https://github.com/facebook/react/issues/12600" data-hovercard-type="pull_request" data-hovercard-url="/facebook/react/pull/12600/hovercard" href="https://github.com/facebook/react/pull/12600">#12600</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="322993706" data-permission-text="Title is private" data-url="https://github.com/facebook/react/issues/12802" data-hovercard-type="pull_request" data-hovercard-url="/facebook/react/pull/12802/hovercard" href="https://github.com/facebook/react/pull/12802">#12802</a>)</p>
</blockquote>
<p dir="auto">Please revert this change and save it for 17.0.0, or provide proper documentation to what this change actually entails so that its use can be adjusted by those who have already implemented <code class="notranslate">getDerivedStateFromProps</code>.</p>
<p dir="auto">Currently in React 16.8.6, we get this error when changing the state in a affected useEffect,<br>
<code class="notranslate">Invariant Violation: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.</code></p>
<p dir="auto">Now it can of course happen also in useEffects and it could be nice to have this message updated mention something about the "dangerous" combination of useStates and useEffects.</p>