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)