Releases: facebook/create-react-app
v5.0.1
5.0.1 (2022-04-12)
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.
Migrating from 5.0.0 to 5.0.1
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
🐛 Bug Fix
react-scripts
create-react-app
react-dev-utils
- #11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)
💅 Enhancement
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)
📝 Documentation
- #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)
🏠 Internal
Committers: 11
- 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
v5.0.0
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 [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.
Breaking Changes
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.
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...
v4.0.3
4.0.3 (2021-02-22)
v4.0.3 is a maintenance release that includes minor bug fixes and dependency updates.
🐛 Bug Fix
🏠 Internal
react-dev-utils
create-react-app
- #10384 tests: update test case to match the description (@jamesgeorge007)
Committers: 4
- Brody McKee (@mrmckeb)
- Dion Woolley (@Awarua-)
- James George (@jamesgeorge007)
- Walker Clem (@wclem4)
Migrating from 4.0.2 to 4.0.3
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
v4.0.2
4.0.2 (2021-02-03)
v4.0.2 is a maintenance release that includes minor bug fixes and documentation updates.
🚀 New Feature
react-scripts
- #8986 Add support for new BUILD_PATH advanced configuration variable (@ajhyndman)
🐛 Bug Fix
react-scripts
💅 Enhancement
react-scripts
- #9977 Move ESLint cache file into node_modules (@ehsankhfr)
- #9569 Improve vendor chunk names in development (@jrr)
📝 Documentation
- #9473 docs: add missing override options for Jest config (@tobiasbueschel)
- #10314 Update using-the-public-folder.md (@Avivhdr)
- #10214 Remove references to Node 8 (@ianschmitz)
🏠 Internal
react-scripts
create-react-app
- #10217 Fix CI tests (@ianschmitz)
react-dev-utils
,react-error-overlay
,react-scripts
🔨 Underlying Tools
react-scripts
- #10216 Revert "Update postcss packages" (@ianschmitz)
- #9988 Upgrade sass-loader (@ehsankhfr)
- #10003 Update postcss packages (@raix)
- #10213 Upgrade @svgr/webpack to fix build error (@jabranr)
react-dev-utils
- #10198 remove chalk from formatWebpackMessages (@jasonwilliams)
cra-template-typescript
cra-template-typescript
,cra-template
- #10143 chore: bump web-vital dependency version (@sahilpurav)
Committers: 15
- Andrew Hyndman (@ajhyndman)
- Aviv Hadar (@Avivhdr)
- Brody McKee (@mrmckeb)
- Chris Shepherd (@sheepsteak)
- EhsanKhaki (@ehsankhfr)
- Hakjoon Sim (@trainto)
- Ian Schmitz (@ianschmitz)
- Jabran Rafique⚡️ (@jabranr)
- Jason Williams (@jasonwilliams)
- John Ruble (@jrr)
- Kristoffer K. (@merceyz)
- Morten N.O. Nørgaard Henriksen (@raix)
- Sahil Purav (@sahilpurav)
- Sergey Makarov (@maxsbelt)
- Tobias Büschel (@tobiasbueschel)
- mad-jose (@josezone)
v4.0.1
v4.0.1 is a maintenance release that includes minor bug fixes and documentation updates.
🐛 Bug Fix
react-scripts
- #9921 Fix noFallthroughCasesInSwitch/jsx object is not extensible (@ryota-murakami)
- #9869 Fix react-jsx error (@benneq)
- #9885 fix:
React is not defined
compilation error after ejected (@n3tr) - #9911 fix: slow recompile time (@FezVrasta)
react-dev-utils
💅 Enhancement
react-scripts
- #10048 Increase Workbox's maximumFileSizeToCacheInBytes (@jeffposnick)
📝 Documentation
🏠 Internal
create-react-app
,react-dev-utils
,react-scripts
- #10083 replace inquirer with prompts (@EvanBacon)
cra-template-typescript
,cra-template
,react-scripts
- #9516 [ImgBot] Optimize images (@MichaelDeBoey)
- Other
- #9860 chore: Update .prettierrc (@MichaelDeBoey)
Committers: 9
- Anyul Rivas (@anyulled)
- Ben M (@benneq)
- Evan Bacon (@EvanBacon)
- Federico Zivolo (@FezVrasta)
- Jeffrey Posnick (@jeffposnick)
- Jirat Ki. (@n3tr)
- Michaël De Boey (@MichaelDeBoey)
- Ryota Murakami (@ryota-murakami)
- sho90 (@sho-t)
Migrating from 4.0.0 to 4.0.1
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
v4.0.0
4.0.0 (2020-10-23)
Create React App 4.0 is a major release with several new features, including support for Fast Refresh!
Thanks to all the maintainers and contributors who worked so hard on this release! 🙌
Highlights
- Fast Refresh #8582
- React 17 support
- New JSX transform #9645
- TypeScript 4 support #9734
- ESLint 7 #8978
- New Jest and React Testing Library rules #8963
- Jest 26 #8955
- PWA/workbox improvements
- Switch to the Workbox InjectManifest plugin #9205
- Now its own template so it can be released independently
- Web Vitals support #9116
Migrating from 3.4.x to 4.0.0
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 yarn
(or npm install
) 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, [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.
ESLint
We've upgraded to ESLint 7 and added many new rules including some for Jest and React Testing Library as well as the import/no-anonymous-default-export
rule. We've also upgraded eslint-plugin-hooks
to version 4.0.0 and removed the EXTEND_ESLINT
flag as it is no longer required to customize the ESLint config.
Jest
We've upgraded to Jest 26 and now set resetMocks
to true
by default in the Jest config.
Service workers
We've switched to the Workbox InjectManifest plugin and moved the PWA templates into their own repository.
Removed typescript
flag and NODE_PATH
support
We've removed the deprecated typescript
flag when creating a new app. Use --template typescript
instead. We've also dropped deprecated NODE_PATH
flag as this has been replaced by setting the base path in jsconfig.json
.
Fix dotenv file loading order
We've changed the loading order of env files to match the dotenv
specification. See #9037 for more details.
Dropped Node 8 support
Node 8 reached End-of-Life at the end of 2019 and is no longer supported.
Detailed Changelog
🚀 New Feature
eslint-config-react-app
,react-error-overlay
,react-scripts
- #8963 feat(eslint-config-react-app): Add jest & testing-library rules (@MichaelDeBoey)
react-scripts
create-react-app
cra-template-typescript
,cra-template
,react-scripts
- #9205 Switch to the Workbox InjectManifest plugin (@jeffposnick)
react-dev-utils
,react-scripts
- #8582 Add experimental react-refresh support (@charrondev)
💥 Breaking Change
eslint-config-react-app
,react-error-overlay
,react-scripts
- #8963 feat(eslint-config-react-app): Add jest & testing-library rules (@MichaelDeBoey)
- #8978 Support ESLint 7.x (@MichaelDeBoey)
cra-template-typescript
,cra-template
,eslint-config-react-app
,react-error-overlay
,react-scripts
eslint-config-react-app
- #9401 fix: remove deprecated rule (@ljosberinn)
create-react-app
cra-template-typescript
,cra-template
,react-scripts
- #9205 Switch to the Workbox InjectManifest plugin (@jeffposnick)
babel-plugin-named-asset-import
,confusing-browser-globals
,create-react-app
,react-dev-utils
,react-error-overlay
,react-scripts
- #8955 Upgrade to Jest 26 (@ianschmitz)
create-react-app
,react-scripts
react-scripts
- #9037 Fix dotenv file loading order (@Timer)
- #7899 Set resetMocks to true by default in jest config (@alexkrolick)
babel-plugin-named-asset-import
,babel-preset-react-app
,create-react-app
,react-app-polyfill
,react-dev-utils
,react-error-overlay
,react-scripts
- #8950 Dependency major version upgrades (@ianschmitz)
eslint-config-react-app
,react-scripts
- #8926 Add import/no-anonymous-default-export lint rule (@shakib609)
- #8939 Bump React Hooks ESLint plugin to 4.0.0 (@gaearon)
cra-template-typescript
,cra-template
,create-react-app
,react-app-polyfill
,react-dev-utils
,react-scripts
- #8948 Drop Node 8 support (@ianschmitz)
babel-plugin-named-asset-import
,babel-preset-react-app
,confusing-browser-globals
,cra-template-typescript
,react-dev-utils
,react-error-overlay
,react-scripts
🐛 Bug Fix
react-scripts
- #9805 Fix refreshOverlayInterop module scope error (@ianschmitz)
- #9037 Fix dotenv file loading order (@Timer)
- #8700 Skip stdin resuming to support lerna parallel (@hieuxlu)
- #8845 Do not check for interactive session to shut down dev server (@jeremywadsack)
- #8768 Add .cjs and .mjs files support to test runner (@ai)
babel-preset-react-app
,eslint-config-react-app
,react-scripts
eslint-config-react-app
,react-scripts
create-react-app
babel-preset-react-app
react-dev-utils
- #9390 Publish refreshOverlayInterop with react-dev-utils (@klinem)
- #8492 Replace period in CSS Module classnames (@evankennedy)
react-dev-utils
, `react-script...
v3.4.4
3.4.4 (2020-10-20)
v3.4.4 release bumps resolve-url-loader
to a version for which npm audit
does not report a vulnerability. Note that this vulnerability did not affect Create React App projects, so this change is only necessary to satisfy auditing tools.
Migrating from 3.4.3 to 3.4.4
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
v3.4.2
3.4.2 (2020-08-11)
v3.4.2 release bumps webpack-dev-server
to a version for which npm audit
does not report a vulnerability. Note that this vulnerability did not affect Create React App projects, so this change is only necessary to satisfy auditing tools.
Migrating from 3.4.1 to 3.4.2
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
v3.4.3
3.4.3 (2020-08-12)
v3.4.3 release bumps terser-webpack-plugin
to a version for which npm audit
does not report a vulnerability. Note that this vulnerability did not affect Create React App projects, so this change is only necessary to satisfy auditing tools.
Migrating from 3.4.2 to 3.4.3
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
v3.4.1
3.4.1 (2020-03-20)
v3.4.1 is a maintenance release that includes minor bug fixes and documentation updates including upgrading Babel to fix a bug in the 7.8 release line. This release also brings support for TypeScript 3.8.
🐛 Bug Fix
react-scripts
- #8276 Use native ESLint behaviour when extending (@mrmckeb)
- #7203 Closes webpack dev server and exits process on "end" stdin (@kelseyleftwich)
babel-preset-react-app
- #8526 Fix optional chaining and nullish coalescing support (@ianschmitz)
cra-template
,eslint-config-react-app
,react-scripts
💅 Enhancement
cra-template-typescript
,cra-template
react-scripts
- #8539 allow specification of package.main in template.json (@EvanBoyle)
📝 Documentation
- Other
react-scripts
🔨 Underlying Tools
babel-preset-react-app
,create-react-app
,react-dev-utils
,react-error-overlay
,react-scripts
- #8681 Update to Babel 7.9 (@ianschmitz)
- #8620 Bump dependencies (@ianschmitz)
react-scripts
Committers: 9
- Brody McKee (@mrmckeb)
- Evan Boyle (@EvanBoyle)
- Herman J. Radtke III (@hjr3)
- Ian Schmitz (@ianschmitz)
- Kanitkorn Sujautra (@lukyth)
- KatCon (@connkat)
- Kelsey Leftwich (@kelseyleftwich)
- Maël Nison (@arcanis)
- Vincent (@Vinnl)
Migrating from 3.4.0 to 3.4.1
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]