[Snyk] Upgrade: react, react-dom, react-bootstrap, react-redux, react-scripts, redux #50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Snyk has created this PR to upgrade multiple dependencies.
👯 The following dependencies are linked and will therefore be updated together.ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
react
from 16.4.1 to 16.14.0 | 36 versions ahead of your current version | 4 years ago
on 2020-10-14
react-dom
from 16.4.1 to 16.14.0 | 35 versions ahead of your current version | 4 years ago
on 2020-10-14
react-bootstrap
from 0.32.1 to 0.33.1 | 5 versions ahead of your current version | 5 years ago
on 2019-11-27
react-redux
from 5.0.7 to 5.1.2 | 4 versions ahead of your current version | 5 years ago
on 2019-10-08
react-scripts
from 1.1.4 to 1.1.5 | 1 version ahead of your current version | 6 years ago
on 2018-08-22
redux
from 4.0.0 to 4.2.1 | 12 versions ahead of your current version | 2 years ago
on 2023-01-28
Issues fixed by the recommended upgrade:
SNYK-JS-IP-6240864
SNYK-JS-FOLLOWREDIRECTS-6141137
SNYK-JS-UAPARSERJS-610226
SNYK-JS-DNSPACKET-1293563
SNYK-JS-LODASHES-2434287
SNYK-JS-LODASHES-2434290
SNYK-JS-LODASH-1040724
SNYK-JS-ASYNC-2441827
SNYK-JS-BODYPARSER-7926860
SNYK-JS-NODEFORGE-598677
SNYK-JS-URLPARSE-543307
npm:url-parse:20180731
SNYK-JS-LODASH-450202
SNYK-JS-LODASH-567746
SNYK-JS-LODASH-608086
SNYK-JS-LODASH-6139239
SNYK-JS-REACTDEVUTILS-72875
SNYK-JS-UAPARSERJS-1023599
SNYK-JS-URLPARSE-2407770
SNYK-JS-WEBSOCKETEXTENSIONS-570623
SNYK-JS-LODASH-73638
SNYK-JS-LODASHES-2434283
SNYK-JS-LODASHES-2434284
SNYK-JS-LODASHES-2434285
SNYK-JS-FOLLOWREDIRECTS-2332181
SNYK-JS-FOLLOWREDIRECTS-6444610
SNYK-JS-HTTPPROXY-569139
SNYK-JS-UAPARSERJS-1072471
SNYK-JS-LODASHES-2434289
SNYK-JS-NODEFETCH-2342118
SNYK-JS-NODEFETCH-674311
SNYK-JS-LODASH-1018905
SNYK-JS-EXPRESS-6474509
SNYK-JS-EXPRESS-7926867
SNYK-JS-URLPARSE-1078283
SNYK-JS-URLPARSE-1533425
SNYK-JS-URLPARSE-2401205
SNYK-JS-URLPARSE-2407759
SNYK-JS-URLPARSE-2412697
npm:react-dom:20180802
SNYK-JS-LODASH-73639
SNYK-JS-LODASHES-2434286
SNYK-JS-FOLLOWREDIRECTS-2396346
SNYK-JS-SERVESTATIC-7926865
SNYK-JS-SEND-7926862
Release notes
Package name: react
React
React DOM
componentWillReceiveProps
,shouldComponentUpdate
, and so on). (@ gaearon in #18330)Artifacts
React
React.createFactory()
(@ trueadm in #17878)React DOM
style
may cause an unexpected collision (@ sophiebits in #14181, #18002)unstable_createPortal
(@ trueadm in #17880)onMouseEnter
being fired on disabled buttons (@ AlfredoGJ in #17675)shouldComponentUpdate
twice when developing inStrictMode
(@ bvaughn in #17942)version
property to ReactDOM (@ ealush in #15780)toString()
ofdangerouslySetInnerHTML
(@ sebmarkbage in #17773)Concurrent Mode (Experimental)
ReactDOM.createRoot()
(@ trueadm in #17937)ReactDOM.createRoot()
callback params and added warnings on usage (@ bvaughn in #17916)SuspenseList
CPU bound heuristic (@ sebmarkbage in #17455)isPending
only being true when transitioning from inside an input event (@ acdlite in #17382)React.memo
components dropping updates when interrupted by a higher priority update (@ acdlite in #18091)Artifacts
React DOM
useEffect
) not being fired in a multi-root app. (@ acdlite in #17347)React Is
lazy
andmemo
types considered elements instead of components (@ bvaughn in #17278)Artifacts
• react: https://unpkg.com/[email protected]/umd/
• react-art: https://unpkg.com/[email protected]/umd/
• react-dom: https://unpkg.com/[email protected]/umd/
• react-is: https://unpkg.com/[email protected]/umd/
• react-test-renderer: https://unpkg.com/[email protected]/umd/
• scheduler: https://unpkg.com/[email protected]/umd/
Package name: react-dom
React
React DOM
componentWillReceiveProps
,shouldComponentUpdate
, and so on). (@ gaearon in #18330)Artifacts
React
React.createFactory()
(@ trueadm in #17878)React DOM
style
may cause an unexpected collision (@ sophiebits in #14181, #18002)unstable_createPortal
(@ trueadm in #17880)onMouseEnter
being fired on disabled buttons (@ AlfredoGJ in #17675)shouldComponentUpdate
twice when developing inStrictMode
(@ bvaughn in #17942)version
property to ReactDOM (@ ealush in #15780)toString()
ofdangerouslySetInnerHTML
(@ sebmarkbage in #17773)Concurrent Mode (Experimental)
ReactDOM.createRoot()
(@ trueadm in #17937)ReactDOM.createRoot()
callback params and added warnings on usage (@ bvaughn in #17916)SuspenseList
CPU bound heuristic (@ sebmarkbage in #17455)isPending
only being true when transitioning from inside an input event (@ acdlite in #17382)React.memo
components dropping updates when interrupted by a higher priority update (@ acdlite in #18091)Artifacts
React DOM
useEffect
) not being fired in a multi-root app. (@ acdlite in #17347)React Is
lazy
andmemo
types considered elements instead of components (@ bvaughn in #17278)Artifacts
• react: https://unpkg.com/[email protected]/umd/
• react-art: https://unpkg.com/[email protected]/umd/
• react-dom: https://unpkg.com/[email protected]/umd/
• react-is: https://unpkg.com/[email protected]/umd/
• react-test-renderer: https://unpkg.com/[email protected]/umd/
• scheduler: https://unpkg.com/[email protected]/umd/
Package name: react-bootstrap
v0.33.1
v0.33.0
Package name: react-redux
Changes
Package name: react-scripts
Package name: redux
This bugfix release removes the
isMinified
internal check to fix a compat issue with Expo. That check has added in early 2016, soon after Redux 3.0 was released, at a time when it was still less common to use bundlers with proper production build settings. Today that check is irrelevant, so we've removed it.What's Changed
Full Changelog: v4.2.0...v4.2.1
This release marks the original
createStore
API as@ deprecated
to encourage users to migrate to Redux Toolkit, and adds a newlegacy_createStore
API as an alias without the deprecation warning.Goal
Redux Toolkit (the
@ reduxjs/toolkit
package) is the right way for Redux users to write Redux code today:https://redux.js.org/introduction/why-rtk-is-redux-today
Unfortunately, many tutorials are still showing legacy "hand-written" Redux patterns, which result in a much worse experience for users. New learners going through a bootcamp or an outdated Udemy course just follow the examples they're being shown, don't know that RTK is the better and recommended approach, and don't even think to look at our docs.
Given that, the goal is to provide them with a visual indicator in their editor, like
createStore. When users hover over thecreateStore
import or function call, the doc tooltip recommends usingconfigureStore
from RTK instead, and points them to that docs page. We hope that new learners will see the strikethrough, read the tooltip, read the docs page, learn about RTK, and begin using it.To be extremely clear:
WE ARE NOT GOING TO ACTUALLY REMOVE THE
createStore
API, AND ALL YOUR EXISTING CODE WILL STILL CONTINUE TO WORK AS-IS!We are just marking
createStore
as "deprecated":For additional details, see the extensive discussion in #4325 .
Rationale
redux
core package, or fully deprecate the entireredux
package and rename it to@ reduxjs/core
. Unfortunately, those bring up too many complexities:redux-starter-kit
to@ reduxjs/toolkit
, and all of our docs and tutorials have pointed to it for the last three years. I don't want to put users through another whiplash package transition for no real benefitSo, this is the minimum possible approach we can take to reach out to users who otherwise would never know that they are following outdated patterns, while avoiding breaking running user code or having to completely rewrite our package and repo structure.
Results
When a user imports
createStore
in their editor, they will see a visual strikethrough. Hovering over it will show a doc tooltip that encourages them to useconfigureStore
from RTK, and points to an explanatory docs page:Again, no broken code, and no runtime warnings.
If users do not want to see that strikethrough, they have three options:
configureStore
legacy_createStore
API that is now exported, which is the exact same function but with no@ deprecation
tag. The simplest option is to do an aliased import rename:What's Changed
createStore
as deprecated, and addlegacy_createStore
alias by @ markerikson in #4336Full Changelog: v4.1.2...v4.2.0
4.2.0-alpha.0
This release fixes a small specific TS types issue where state types that had a nested
unknown
field inside would cause compilation failures when used as thepreloadedState
argument.What's Changed
Full Changelog: v4.1.1...v4.1.2
Just a small fix for Safari users in development mode.
Changes
This release shrinks our bundle size via error message extraction, updates several error messages for clarity, and optimizes our list of runtime dependencies.
Overall, version 4.1 shrinks from 2.6K min+gz to 1.6K min+gz thanks to these changes.
Be sure to check out the Redux Toolkit 1.6 alpha containing our new "RTK Query" data fetching APIs! It also includes Redux 4.1 as a dependency.
Changelog
Error Message Extraction and Improvements
We now extract all of our error messages from production builds in order to save on bundle size, using a technique inspired from React's error code extraction. The error messages will still show as normal in development, but in production they will reference a specific numeric error code and provide a link to a Redux docs page that has the full error message.
An example of this is: https://redux.js.org/errors?code=5 , which shows the "can't subscribe while reducers are executing" error.
The error code extraction saves about 800 bytes out of a production build.
Thanks to @ andrewmcgivery for doing all the hard work on implementing the error extraction!
We've also updated many of our error messages to provide additional details at runtime about what happened, especially runtime type checks such as "actions must be plain objects". They now provide a more specific type for the unexpected value, such as indicating
promise
orfunction
:This pre-release for 4.1.0 shrinks our bundle size via tooling updates, and updates several error messages for clarity. This is all the changes we plan to have for 4.1, so if feedback looks good, we'll release 4.1.0 shortly.
Changelog Summary
The 4.1.0 release will have a more complete changelog, but summarizing:
symbol-observable
polyfillloose-envify
dependency@ babel/runtime
helpersWe've also updated the error messages to clarify what's happening, provide more details when runtime type checks fail, and link to relevant documentation.
Changes