v5.0.0 (2021-12-14)
Create React App 5.0 is a major release with several new features and the latest version of all major dependencies.
Thanks to all the maintainers and contributors who worked so hard on this release!
Highlights
- webpack 5 (#11201)
- Jest 27 (#11338)
- ESLint 8 (#11375)
- PostCSS 8 (#11121)
- Fast Refresh improvements and bug fixes (#11105)
- Support for Tailwind (#11717)
- Improved package manager detection (#11322)
- Unpinned all dependencies for better compatibility with other tools (#11474)
- Dropped support for Node 10 and 12
Migrating from 4.0.x to 5.0.0
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@5.0.0
or
yarn add --exact react-scripts@5.0.0
NOTE: You may need to delete your node_modules
folder and reinstall your dependencies by running npm install
(or yarn
) if you encounter errors after upgrading.
If you previously ejected but now want to upgrade, one common solution is to find the commits where you ejected (and any subsequent commits changing the configuration), revert them, upgrade, and later optionally eject again. It’s also possible that the feature you ejected for is now supported out of the box.
Breaking Changes
Like any major release, react-scripts@5.0.0
contains a number of breaking changes. We expect that they won't affect every user, but we recommend you look over this section to see if something is relevant to you. If we missed something, please file a new issue.
Dropped support for Node 10 and 12
Node 10 reached End-of-Life in April 2021 and Node 12 will be End-of-Life in April 2022. Going forward we will only support the latest LTS release of Node.js.
Full Changelog
💥 Breaking Change
-
create-react-app
- #11322 Use env var to detect yarn or npm as the package manager (@lukekarrys)
-
babel-preset-react-app
,cra-template-typescript
,cra-template
,create-react-app
,eslint-config-react-app
,react-app-polyfill
,react-dev-utils
,react-error-overlay
,react-scripts
-
eslint-config-react-app
,react-error-overlay
,react-scripts
-
react-scripts
🐛 Bug Fix
-
react-scripts
- #11413 fix(webpackDevServer): disable overlay for warnings (@jawadsh123)
- #10511 Fix ICSS syntax in stylesheets (@thabemmz)
💅 Enhancement
-
react-scripts
-
eslint-config-react-app
,react-error-overlay
,react-scripts
- #11375 feat(eslint-config-react-app): support ESLint 8.x (@MichaelDeBoey)
-
create-react-app
- #11322 Use env var to detect yarn or npm as the package manager (@lukekarrys)
- #11057 Coerce Node versions with metadata (@mrmckeb)
-
react-dev-utils
-
create-react-app
,react-scripts
📝 Documentation
- Other
-
#11619 The default port used by
serve
has changed (@leo) - #10907 Fix link address (@e-w-h)
- #10805 Update PWA docs to point at the cra-template-pwa package (@slieschke)
- #10631 Update IMAGE_INLINE_SIZE_LIMIT docs (@ianschmitz)
-
#11619 The default port used by
-
eslint-config-react-app
-
react-dev-utils
- #10779 Suggest sass instead of node-sass package (@andrewywong)
-
babel-preset-react-app
,eslint-config-react-app
-
cra-template
🏠 Internal
- Other
-
#11723 chore(test): make all tests install with
npm ci
(@lukekarrys) - #11686 [WIP] Fix integration test teardown / cleanup and missing yarn installation (@raix)
- #11252 Remove package-lock.json (@Methuselah96)
-
#11723 chore(test): make all tests install with
-
create-react-app
- #11706 Remove cached lockfile (@lukekarrys)
-
babel-plugin-named-asset-import
,babel-preset-react-app
,confusing-browser-globals
,create-react-app
,react-app-polyfill
,react-dev-utils
,react-error-overlay
,react-scripts
- #11624 Update all dependencies (@jd1048576)
-
react-scripts
-
babel-plugin-named-asset-import
,confusing-browser-globals
,create-react-app
,eslint-config-react-app
,react-dev-utils
,react-error-overlay
,react-scripts
-
confusing-browser-globals
,cra-template-typescript
,cra-template
,create-react-app
- #11415 Bump template dependency version (@shfshanyue)
-
react-error-overlay
,react-scripts
- #11304 Use npm v7 with workspaces for local development and testing (@lukekarrys)
-
babel-preset-react-app
,cra-template-typescript
,cra-template
,create-react-app
,eslint-config-react-app
,react-app-polyfill
,react-dev-utils
,react-error-overlay
,react-scripts
🔨 Underlying Tools
-
react-dev-utils
,react-scripts
- #11476 Bump browserslist from 4.14.2 to 4.16.5 (@dependabot[bot])
-
react-scripts
-
babel-plugin-named-asset-import
,confusing-browser-globals
,create-react-app
,react-dev-utils
,react-error-overlay
,react-scripts
-
eslint-config-react-app
,react-error-overlay
,react-scripts
-
babel-preset-react-app
,react-dev-utils
,react-error-overlay
,react-scripts
- #10797 Unpin babel dependencies (@mohd-akram)
-
react-dev-utils
- #10791 Bump immer version for fixing security issue (@shamprasadrh)
Committers: 34
- Andrew Wong (@andrewywong)
- Brody McKee (@mrmckeb)
- Christiaan van Bemmel (@thabemmz)
- Dan Abramov (@gaearon)
- Florian Guitton (@fguitton)
- Hasan Ayan (@hasanayan)
- Huáng Jùnliàng (@JLHwung)
- Ian Schmitz (@ianschmitz)
- Ian Sutherland (@iansu)
- James George (@jamesgeorge007)
- Jason Williams (@jasonwilliams)
- Jawad (@jawadsh123)
- Joseph Atkins-Turkish (@Spacerat)
- Justin Grant (@justingrant)
- Konrad Stępniak (@th7nder)
- Kristoffer K. (@merceyz)
- Leo Lamprecht (@leo)
- Luke Karrys (@lukekarrys)
- Max Romanyuta (@xom9ikk)
- Michael Mok (@pmmmwh)
- Michaël De Boey (@MichaelDeBoey)
- Mohamed Akram (@mohd-akram)
- Morten N.O. Nørgaard Henriksen (@raix)
- Nathan Bierema (@Methuselah96)
- Reetesh Kumar (@krreet)
- Shamprasad RH (@shamprasadrh)
- Simon Lieschke (@slieschke)
- @e-w-h
- @jd1048576
- @luk3kang
- @ujihisa
- hadmarine (@HADMARINE)
- huntr.dev | the place to protect open source (@huntr-helper)