Create React App 5.0.1 is a maintenance release that improves compatibility with React 18. We've also updated our templates to use createRoot
and relaxed our check for older versions of Create React App.
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
create-react-app
react-dev-utils
- #11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)
cra-template-typescript
,cra-template
,react-scripts
- #12220 Update templates to use React 18
createRoot
(@kyletsang)
- #12220 Update templates to use React 18
cra-template-typescript
,cra-template
- #12223 chore: upgrade rtl version to support react 18 (@MatanBobi)
eslint-config-react-app
- #11622 updated deprecated rules (@wisammechano)
- #11594 Fix a typo in deployment.md (@fishmandev)
- #11805 docs: Changelog 5.0.0 (@jafin)
- #11757 prevent both npm and yarn commands from being copied (@mubarakn)
- Andrew Burnie (@Andrew47)
- Clément Vannicatte (@shortcuts)
- Dmitriy Fishman (@fishmandev)
- Dmitry Vinnik (@dmitryvinn)
- Ian Sutherland (@iansu)
- Jason Finch (@jafin)
- Kyle Tsang (@kyletsang)
- Matan Borenkraout (@MatanBobi)
- Wisam Naji (@wisammechano)
- @mubarakn
- @psiservices-justin-sullard
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! 🙌
- 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
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
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.
Like any major release, [email protected]
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.
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
react-scripts
- #11413 fix(webpackDevServer): disable overlay for warnings (@jawadsh123)
- #10511 Fix ICSS syntax in stylesheets (@thabemmz)
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
- 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
- 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
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)
- 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)
- shanyue (@shfshanyue)
Please refer to CHANGELOG-4.x.md for earlier versions.