iamstarkov / topics-manager

Serverless App to manage GitHub repos' topics
https://topics-manager.now.sh
6 stars 0 forks source link

Update dependency react-redux to v7.2.4 #158

Closed renovate[bot] closed 3 years ago

renovate[bot] commented 4 years ago

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
react-redux 7.1.1 -> 7.2.4 age adoption passing confidence

Release Notes

reduxjs/react-redux ### [`v7.2.4`](https://togithub.com/reduxjs/react-redux/releases/v7.2.4) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.2.3...v7.2.4) This release drops our dependency on the core `redux` package by inlining `bindActionCreators`, and tweaks `useSelector` to ensure that selectors aren't run an extra time while re-rendering. #### Changelog ##### Redux Dependency Removal React-Redux has always imported the `bindActionCreators` utility from the core `redux` package for use in `connect`. However, that meant that we had to have a peer dependency on `redux`, and this was the *only* reason we actually required that `redux` be installed. This became more annoying with the arrival of Redux Toolkit, which has its own dependency on `redux` internally, and thus users typically saw peer dependency warnings saying that "`redux` isn't listed as a dependency in your app". Code reuse across separate packages is a great thing, but sometimes the right thing to do is duplicate code. So, we've inlined `bindActionCreators` directly into React-Redux, and we've completely dropped the dependency on Redux. This means that React-Redux will no longer produce a peerDep warning when used with Redux Toolkit, and `` and `connect` really only need a Redux-store-compatible value to work right. ##### `useSelector` Fixes Users reported that `useSelector` was re-running selector functions again unnecessarily while rendering after a dispatch. We've tweaked the logic to ensure that doesn't happen. `useSelector` also now has checks in development to ensure that `selector` and `equalityFn` are functions. #### Changes - Remove wrapActionCreators ([#​1709](https://togithub.com/reduxjs/react-redux/issues/1709) - [@​xty](https://togithub.com/xty)) - Verify that selector and equalityF of useSelector are functions ([#​1706](https://togithub.com/reduxjs/react-redux/issues/1706) - [@​gshilin](https://togithub.com/gshilin)) - Import bindActionCreators from redux ([#​1705](https://togithub.com/reduxjs/react-redux/issues/1705) - [@​timdorr](https://togithub.com/timdorr)) - Don't re-run the selector after update ([#​1701](https://togithub.com/reduxjs/react-redux/issues/1701) - [@​timdorr](https://togithub.com/timdorr)) ### [`v7.2.3`](https://togithub.com/reduxjs/react-redux/releases/v7.2.3) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.2.2...v7.2.3) This release improves behavior in `useSelector` by returning the existing reference if the newly returned selector result passes the equality check, and adds a hard dependency on the `@types/react-redux` package to ensure TS users always have the typedefs installed. #### Changes ##### `useSelector` Results Reuse Issue [#​1654](https://togithub.com/reduxjs/react-redux/issues/1654) reported that `useSelector` was returning new references from a selector even if the equality comparison function returned `true`. This is because the equality check was only ever being performed during the action dispatch process. We now run the equality comparison against the value calculated by the selector while rendering, and return the existing reference for consistency if the old and new values are considered equal. This should improve some cases where further derived values where being recalculated unnecessarily. ##### TS Types Now Included React-Redux has always been written in plain JS, and the typedefs maintained by the community in DefinitelyTyped. We plan on eventually rewriting the library in TypeScript in a future React-Redux v8 release, but until then the types can stay in DT. However, having to always manually install `@types/react-redux` is annoying, and some users have gotten confused by that. This release adds a hard dependency on `@types/react-redux`, so that if you install `react-redux`, you automatically get the types as well. This should simplify the process for TS users. #### Docs Updates We've made several docs updates recently: - Renamed "Quick Start" to "Getting Started" and "Static Typing" to "Usage with TypeScript" - Dropped the docs API versioning setup, as the legacy API version docs pages were rarely viewed and the versioning setup confused docs contributors - Moved the old "Intro > Basic Tutorial" to "Tutorials > Connect" and marked it as semi-obsolete We are currently working on a new React-Redux tutorial that will teach the React-Redux hooks as the primary approach, based on [the "UI and React" page in the Redux docs "Fundamentals" tutorial](https://redux.js.org/tutorials/fundamentals/part-5-ui-react). #### Changelog - Automatically install [@​types/react-redux](https://togithub.com/types/react-redux) as a dependency ([#​1699](https://togithub.com/reduxjs/react-redux/issues/1699) - [@​markerikson](https://togithub.com/markerikson) ) - Reuse latest selected state on selector re-run ([#​1654](https://togithub.com/reduxjs/react-redux/issues/1654)) ([#​1660](https://togithub.com/reduxjs/react-redux/issues/1660) - [@​otakustay](https://togithub.com/otakustay)) - Use useIsomorphicLayoutEffect in Provider for consistency ([#​1683](https://togithub.com/reduxjs/react-redux/issues/1683) - [@​speakingcode](https://togithub.com/speakingcode) ) ### [`v7.2.2`](https://togithub.com/reduxjs/react-redux/releases/v7.2.2) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.2.1...v7.2.2) This release allows you to use React Redux with React 17 without a warning when installing. That's about it. ***Shameless self-promotion: Check out my new startup, [Spaceship 🚀](https://spaceship.run/). We're building the Continuous Delivery system of the future.*** #### [Changes](https://togithub.com/reduxjs/react-redux/compare/v7.2.1...v7.2.2) - Upgrade react peer dependency to v17 ([#​1647](https://togithub.com/reduxjs/react-redux/issues/1647) by [@​wachunei](https://togithub.com/wachunei)) ### [`v7.2.1`](https://togithub.com/reduxjs/react-redux/releases/v7.2.1) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.2.0...v7.2.1) This release improves `useSelector` value display in the React DevTools, fixes a potential race condition, and fixes a couple additional minor issues. ##### `useSelector` DevTools Display The React DevTools normally show custom hooks with their inspected name (such as "Selector" for `useSelector`), and any calls to core hooks inside. This is not always informative, so React has [the `useDebugValue` hook](https://reactjs.org/docs/hooks-reference.html#usedebugvalue) to allow custom hooks to specify what value should be shown instead. `useSelector` now calls `useDebugValue` to specifically show the current selected value instead of its internal hooks usage. ##### Bug Fixes This release has a few different bug fixes: - A potential race condition when dispatching actions from child components in the commit phase vs selecting data in a parent - Removed an excess new object creation when forcing a re-render - Our internal prop name for a forwarded ref is now `reactReduxForwardedRef` to avoid a rare situation where someone else might be passing down a field named `forwardedRef` - Fixed a typo in a `useSelector` error message #### [Changes](https://togithub.com/reduxjs/react-redux/compare/v7.2.0...v7.2.1) - Fix error message typo in useSelector ('You must pass a selector...). ([@​Pixelwelder](https://togithub.com/Pixelwelder) - [#​1581](https://togithub.com/reduxjs/react-redux/issues/1581)) - fix useSelector race condition with memoized selector when dispatching in child components useLayoutEffect as well as cDM/cDU ([@​dai-shi](https://togithub.com/dai-shi) - [#​1536](https://togithub.com/reduxjs/react-redux/issues/1536)) - removed a redundant object creation when using forceUpdate ([@​vzaidman](https://togithub.com/vzaidman) - [#​1567](https://togithub.com/reduxjs/react-redux/issues/1567)) - Rename internal forwardedRef usage ([@​dtschust](https://togithub.com/dtschust) - [#​1553](https://togithub.com/reduxjs/react-redux/issues/1553)) - Show useSelector result in React DevTools ([@​Finesse](https://togithub.com/Finesse) - [#​1530](https://togithub.com/reduxjs/react-redux/issues/1530)) ### [`v7.2.0`](https://togithub.com/reduxjs/react-redux/releases/v7.2.0) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.1.3...v7.2.0) This release fixes two bugs, an algorithmic problem with unsubscribing components and a memory leak with `connect`. It also has optimizations for production bundle size, and adds a couple small improvements to developer readability while debugging. ##### Bug Fixes `connect` in v7 is implemented using hooks, and the hooks usage captures numerous values from the surrounding scope. We received a PR informing us that the way we were capturing these values would likely result in a copy of the first version of its props being kept alive indefinitely. This memory leak has been fixed by extracting a custom hook that receives all the necessary values as arguments, so that they're not captured via closure. We also received a PR letting us know that the unsubscribe logic had a quadratic algorithm in it, as removing a subscriber would use an `indexOf(listener)` check to remove that callback. If there were a large number of subscribers, that line's runtime would increase rapidly, causing slowdowns. This algorithm has been replaced with tracking subscribers via a linked list, which drastically improves the runtime of this section of the code even with large numbers of subscribers. Thanks to [@​larrylin28](https://togithub.com/larrylin28) and [@​wurstbonbon](https://togithub.com/wurstbonbon) for finding these bugs and submitting PRs to fix them! ##### Bundle Size Improvements We've made a number of small tweaks to the codebase to improve the ability of bundlers to shake and minimize the final included size in a bundle. The net result is that [`react-redux@7.2.0` is smaller than 7.1.3](https://bundlephobia.com/result?p=react-redux@7.2.0), dropping 1.3K min and 0.6K min+gzip. (In fact, it's even smaller than the pre-hooks 7.0.0 when gzipped!) Thanks to [@​Andarist](https://togithub.com/Andarist) for doing most of the work on this! ##### Debugging Improvements The `ReactReduxContext` instance now has a `displayName` set, so it should show up in the React DevTools as `ReactRedux.Provider`. Also, when an error is caught in `useSelector` and re-thrown, we now append the original stack trace. Thanks to [@​pieplu](https://togithub.com/pieplu) and [@​r3dm1ke](https://togithub.com/r3dm1ke) for these! #### [Changes](https://togithub.com/reduxjs/react-redux/compare/v7.1.3...v7.2.0) - Fix memory leak issue with `UseEffect` ([@​larrylin28](https://togithub.com/larrylin28) - [#​1506](https://togithub.com/reduxjs/react-redux/issues/1506)) - Optimize createListenerCollection ([@​wurstbonbon](https://togithub.com/wurstbonbon) - [#​1523](https://togithub.com/reduxjs/react-redux/issues/1523)) - Rethrowing original errors thrown in selector functions ([@​Andarist](https://togithub.com/Andarist) - [#​1474](https://togithub.com/reduxjs/react-redux/issues/1474)) - Remove invariant in favor of doing NODE_ENV checks directly ([@​Andarist](https://togithub.com/Andarist) - [#​1472](https://togithub.com/reduxjs/react-redux/issues/1472)) - Wrap .propTypes and .displayName assignments with **DEV** check ([@​Andarist](https://togithub.com/Andarist) - [#​1471](https://togithub.com/reduxjs/react-redux/issues/1471)) - Add pure annotations to help with DCE ([@​timdorr](https://togithub.com/timdorr) - [`5e0c50d`](https://togithub.com/reduxjs/react-redux/commit/5e0c50d)) - Inline this function. ([@​timdorr](https://togithub.com/timdorr) - [`58ae5ed`](https://togithub.com/reduxjs/react-redux/commit/58ae5ed)) - Add a displayName on ReactReduxContext ([@​pieplu](https://togithub.com/pieplu) - [#​1462](https://togithub.com/reduxjs/react-redux/issues/1462)) ### [`v7.1.3`](https://togithub.com/reduxjs/react-redux/releases/v7.1.3) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.1.2...v7.1.3) Forgot to remove a `console` statement before I published 7.1.2. Oops! Lint your source code before publishing, folks. #### [Changes](https://togithub.com/reactjs/react-redux/compare/v7.1.2...v7.1.3) - Remove leftover console statement ([@​markerikson](https://togithub.com/markerikson) - [`30101bb`](https://togithub.com/reduxjs/react-redux/commit/30101bb)) ### [`v7.1.2`](https://togithub.com/reduxjs/react-redux/releases/v7.1.2) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.1.1...v7.1.2) This releases fixes a subtle timing bug with `connect` and `useSelector` in React Native environments, and adds the ability to pass through non-Redux-store values as a `store` prop. ##### Fixed Store Subscriptions in React Native Our current implementation requires cascading updates down through connected components. This is primarily done during React's "commit phase" via the `useLayoutEffect` hook. Unfortunately, [React warns when `useLayoutEffect` is called in SSR environments](https://togithub.com/facebook/react/issues/14927), so we try to feature-detect that and fall back to `useEffect` just to avoid that warning. Unfortunately, a tweak to the feature detection conditions during the pre-7.1.0 work caused the check to accidentally fail in React Native environments. This meant that `useEffect` was actually being used all the time, and this led to occasional timing bugs such as [#​1313](https://togithub.com/reduxjs/react-redux/issues/1313) and [#​1437](https://togithub.com/reduxjs/react-redux/issues/1437) . This affected the previous v7.1.x releases. We've fixed that issue, and added additional test cases to ensure that our code works correctly under React Native. See [#​1444](https://togithub.com/reduxjs/react-redux/issues/1444) for more details on the feature detection and the fix. ##### Passing Through Non-Store Values `connect` has always accepted passing a Redux store directly to connected components as a prop named `store` (with the exception of v6). As a result, the `store` prop has effectively been treated as a "reserved" prop, in much the same way that `key` and `ref` are "reserved" prop names handled by React. Some users may be using the word "store" to describe their domain data, and have asked to allow variables that *aren't* a Redux store through the `store` prop to the component ([#​1393](https://togithub.com/reduxjs/react-redux/issues/1393)). We've finally been able to implement that capability. #### [Changes](https://togithub.com/reactjs/react-redux/compare/v7.1.1...v7.1.2) - Pass non-Redux-store values through the `store` prop ([@​markerikson](https://togithub.com/markerikson) - [#​1447](https://togithub.com/reduxjs/react-redux/issues/1447)) - Fix RN batching and effect behavior ([@​markerikson](https://togithub.com/markerikson) - [#​1444](https://togithub.com/reduxjs/react-redux/issues/1444)) - Remove unused `latestStoreState` field ([@​Hypnosphi](https://togithub.com/Hypnosphi) - [#​1426](https://togithub.com/reduxjs/react-redux/issues/1426)) - Mark the react renderers as optional peer deps. ([@​timdorr](https://togithub.com/timdorr) - [`388d9e4`](https://togithub.com/reduxjs/react-redux/commit/388d9e4)) - Use the same condition for checking if SSR in useSelector.js as in connectAdvanced.js ([@​LeoDanielsson](https://togithub.com/LeoDanielsson) - [#​1419](https://togithub.com/reduxjs/react-redux/issues/1419))

Configuration

📅 Schedule: "before 3am on the first day of the month" (UTC).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by WhiteSource Renovate. View repository job log here.

vercel[bot] commented 4 years ago

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/iamstarkov/topics-manager/crbc3czd3
✅ Preview: https://topics-manager-git-renovate-react-redux-7x.iamstarkov.vercel.app

[Deployment for dbaae87 failed]