Skip to content

Latest commit

 

History

History
1435 lines (927 loc) · 86.7 KB

CHANGELOG-0.x.md

File metadata and controls

1435 lines (927 loc) · 86.7 KB

1.0.0 and Newer Versions

Please refer to CHANGELOG-1.x.md for the 1.x range, and CHANGELOG.md for the newer versions.

0.9.5 (March 9, 2017)

🐛 Bug Fix

  • react-scripts

💅 Enhancement

  • eslint-config-react-app

  • react-scripts

    • #1760 Suggest serve for running in production. (@leo)
    • #1747 Display yarn instead of yarnpkg when creating a new app. (@lpalmes)

📝 Documentation

🏠 Internal

  • babel-preset-react-app

    • #1742 Switch to babel-preset-env to remove the deprecation warning. (@Timer)

Committers: 6

Migrating from 0.9.4 to 0.9.5

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.9.5

0.9.4 (March 6, 2017)

🐛 Bug Fix

  • create-react-app

    • #1706 Extract compressed package for package name. (@Timer)

      You may now specify a scoped package for --scripts-version and obtain a working installation.

    • #1695 Print why installation was aborted. (@tgig)

  • react-scripts

    • #1727 Fix ejecting from a scoped fork. (@gaearon)

      Ejecting now works within a scoped fork.

    • #1721 Fix hot reloading for WebpackDevServer after eject. (@gaearon)

  • react-dev-utils

💅 Enhancement

  • eslint-config-react-app, react-scripts

    • #1705 Add support for ignoreRestSiblings in no-unused-vars. (@chrisdrackett)

      Linter no longer warns when using rest properties to remove variables from an object.

    • #1542 Bump jsx-a11y version. (@bondz)

  • react-dev-utils, react-scripts

  • Other

📝 Documentation

🏠 Internal

Committers: 11

Migrating from 0.9.3 to 0.9.4

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.9.4

You may also optionally update the global command-line utility for scoped package support:

npm install -g create-react-app@1.3.0

0.9.3 (February 28, 2017)

🚀 New Feature

  • create-react-app

    • #1423 Fall back to Yarn offline cache when creating a new project. (@voxsim)

    If you are using Yarn, and you have created at least one app previously, Create React App now works offline.

    Yarn offline installation demo

🐛 Bug Fix

💅 Enhancement

📝 Documentation

  • react-scripts

🏠 Internal

  • End-to-end Tests

    • #1648 Add Windows CI tests for better stability. (@Timer)

Committers: 5

Migrating from 0.9.2 to 0.9.3

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.9.3

You may also optionally update the global command-line utility for offline Yarn cache support:

npm install -g create-react-app@1.2.1

0.9.2 (February 26, 2017)

💅 Enhancement

  • create-react-app

    • #1253 Install time optimization. (@n3tr)

      React, ReactDOM, and react-scripts are now installed in the same install instead of two different installs. This reduces app creation time by a noticeable amount.

    • #1512 Graceful error handling. (@chitchu)

      If an error occurs while create-react-app is running, it will now clean up and not leave a broken project to reduce confusion.

    • #1193 Suggest upgrading to NPM >= 3 for faster install times. (@mobinni)

    • #1603 Allow app creation in a WebStorm project. (@driquelme)

    • #1570 Allow git urls in --scripts-version. (@tomconroy)

  • react-scripts

🐛 Bug Fix

  • react-scripts

    • #1635 Fix Jest configuration. (@Timer)

      Fixes ejecting on Windows for macOS and Linux machines.

    • #1356 Fix workflow if react-scripts package is linked via npm-link. (@tuchk4)

      Advanced users may opt to fork react-scripts instead of ejecting so they still receive upstream updates.
      react-scripts will now function as expected when linking to a development version.
      Previously, you could not test changes with an existing application via linking.

    • #1585 Ensure PORT environment variable is an integer. (@matoilic)

    • #1628 Show correct port for pushstate-server URL text. (@mattccrampton)

    • #1647 Fix npm test on Windows (@gaearon)

📝 Documentation

🏠 Internal

Committers: 36

Migrating from 0.9.0 to 0.9.2

Note: 0.9.1 had known issues so you should skip it.

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.9.2

You may also optionally update the global command-line utility for more efficient installs (thanks @n3tr):

npm install -g create-react-app@1.1.0

0.9.1 (February 25, 2017)

This release has known issues and you should skip it. Update directly to 0.9.2 instead.

0.9.0 (February 11, 2017)

Thanks to @Timer for cutting this release.

🚀 New Feature

  • react-scripts

    • #1489 Support setting "homepage" to "." to generate relative asset paths. (@tibdex)

      Applications that don’t use the HTML5 pushState API can now be built to be served from any relative URL. To enable this, specify "." as your homepage setting in package.json. It used to be possible before with a few known bugs, but they should be fixed now. See Serving the Same Build from Different Paths.

    • #937 Add PUBLIC_URL environment variable for advanced use. (@EnoahNetzach)

      If you use a CDN to serve the app, you can now specify PUBLIC_URL environment variable to override the base URL (including the hostname) for resources referenced from the built code. This new variable is mentioned in the new Advanced Configuration section.

    • #1440 Make all REACT_APP_* environment variables accessible in index.html. (@jihchi)

      This makes all environment variables previously available in JS, also available in the HTML file, for example %REACT_APP_MY_VARIABLE%. See Referencing Environment Variables in HTML.

  • react-dev-utils

    • #1148 Configure which browser to open with npm start. (@GAumala)

      You can now disable the automatic browser launching by setting the BROWSER environment variable to none. You can also specify a different browser (or an arbitrary script) to open by default, as supported by opn command that we use under the hood. See Advanced Configuration.

💥 Breaking Change

🐛 Bug Fix

  • react-scripts

    • #1441 Added babel-runtime dependency to deduplicate dependencies when using Yarn. (@jkimbo)

      This works around a bug in Yarn that caused newly created projects to be over 400MB. Now they are down to 126MB, just like with npm 3.

    • #1522 Upgrade dependencies. (@Timer)

    • #1458 Additionally remove react-scripts from dependencies on eject. (@creynders)

    • #1309 Bump babel-loader version (#1009). (@frontsideair)

    • #1267 Only gitignore directories in root, not deep. (@jayphelps)

  • react-dev-utils

💅 Enhancement

📝 Documentation

🏠 Internal

Committers: 35

Migrating from 0.8.5 to 0.9.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.9.0

Then, run your tests. If you are affected by breaking changes from Jest 18, consult blog post, changelog, and documentation. You might need to update any snapshots since their format might have changed.

If you relied on the browser not starting in non-interactive terminals, you now need to explicitly specify BROWSER=none as an environment variable to disable it.

0.8.5 (January 9, 2017)

Thanks to @fson for cutting this release.

🐛 Bug Fix

  • create-react-app, react-scripts

    • #1365 Use yarnpkg alias to run Yarn. (@fson)

      Fixes an issue where running create-react-app failed on systems with Apache Hadoop installed because it falsely detected Hadoop YARN executable as Yarn package manager.

Committers: 1

  • Ville Immonen (fson)

Migrating from 0.8.4 to 0.8.5

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.8.5

You may also optionally update the global command-line utility:

npm install -g create-react-app@1.0.3

0.8.4 (December 11, 2016)

🐛 Bug Fix

  • react-scripts

    • #1233 Disable subresource integrity temporarily. (@Timer)

      We added Subresource Integrity checks to the build output in 0.8.2 but it turns out that they may fail in browsers using special compression proxies, such as Chrome on Android, when served over HTTP. We disabled the checks until we can find a safe way to add them.

  • react-dev-utils

    • #1226 Fix weird lint output. (@n3tr)

      Fixes strange lint message formatting in some edge cases.

    • #1215 Fix - openChrome won't open default browser (using Canary). (@n3tr)

      Fixes a regression that caused stable Google Chrome to be opened even if you are using Canary as the default browser.

  • create-react-app

    • #1223 Clean up Yarn detection and install code. (@fson)

    Fixes noisy output on Windows when Yarn is not installed.

    • #1224 Exit with an error code when npm/yarn install fails. (@fson)

💅 Enhancement

  • react-scripts

    • #1237 Clear scrollback in test mode. (@gaearon)

      Ensures test watcher clears the console before running.

    • #1229 Disable jest watch mode when --coverage flag is present [#1207]. (@BenoitAverty)

      Since coverage doesn't work well with watch mode, we don’t run the watcher on npm test -- --coverage anymore.

    • #1212 Proxy rewrites Origin header to match the target server URL. (@koles)

      Makes sure more API endpoints can work with the proxy setting.

    • #1222 Disable gh-page setup instruction if scripts.deploy has been added. (@n3tr)

      Suppresses the instructions printed at the end of npm run build if npm run deploy already exists.

  • create-react-app

    • #1236 Tweak console messages. (@gaearon)

      Makes error messages more friendly.

    • #1195 Use "commander" for cli argv handling. (@EnoahNetzach)

      Adds create-react-app --help with a list of options.

  • react-dev-utils

    • #1211 Use a better clear console sequence. (@gaearon)

      Ensures the development server clears the terminal when files are changed.

📝 Documentation

  • react-dev-utils

    • #1232 [documentation] fix html-dev-plugin link in react-dev-utils doc. (@shogunsea)
  • react-scripts

    • #1220 Adding troubleshooting information about Subresource Integrity digests.. (@dfbaskin)

🏠 Internal

Committers: 10

Migrating from 0.8.3 to 0.8.4

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.8.4

You may also optionally update the global command-line utility:

npm install -g create-react-app@1.0.2

0.8.3 (December 8, 2016)

🐛 Bug Fix

  • create-react-app

    • #1204 Catch synchronous errors from spawning yarn. (@gaearon)

      Fixes a crash when running create-react-app in some cases.

  • react-scripts

    • #1203 Update webpack-subresource-integrity to fix Windows builds. (@gaearon)

      Fixes a crash when running npm run build on Windows.

    • #1201 Instruct Jest to load native components from RNW instead of RN. (@remon-georgy)

      Fixes tests for users of React Native Web.

📝 Documentation

  • react-scripts

Committers: 3

Migrating from 0.8.2 to 0.8.3

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.8.3

You can optionally update the global CLI too:

npm install -g create-react-app@1.0.1

0.8.2 (December 7, 2016)

🚀 New Feature

  • react-scripts

    • #1176 Add Subresource Integrity support. (@XVincentX)

      The generated HTML now includes Subresource Integrity attributes ensuring that your users aren't served malicious code if your CDN gets compromised.

🐛 Bug Fix

  • react-scripts

    • #1197 Let Jest handle all file types. (@gaearon)

      Since 0.8.0, we started treating imports of any unknown file extensions as URLs. However, we had to revert this change for the test configuration in 0.8.1 because of a bug causing false positives. In 0.8.2, we are fixing this and making test configuration treat imports with unknown extensions the same way as we do in the browser environment.

    • #1194 Only honor relative NODE_PATH. (@gaearon)

      Historically we have allowed specifying NODE_PATH environment variable as a way to allow “absolute imports”. For example, running NODE_PATH=src npm start in Bash or set NODE_PATH=src&&npm start in Windows Cmd would let you import anything inside src without specifying a relative path. However, we found a few nasty edge cases when Node.js core modules end up being in NODE_PATH and erroneously become bundled. As a result the build would crash on some systems when some libraries are imported. To fix this, we now only honor relative paths from NODE_PATH in Create React App. This means the existing use case for absolute imports is still supported (src in the example above is relative), but absolute paths in NODE_PATH (such as paths to Node.js core modules) will be ignored.

    • #1188 Update webpack to fix source map issues. (@gaearon)

      Since 0.8.0, we show source maps in development instead of the compiled code. However, it has come to our attention that webpack's source map implementation had issues interpreting Babel output, and caused source maps to be wrong and breakpoints to be unusable in some cases. webpack has released a fix for this, and we have updated the minimal version of webpack that we are using.

    • #1180 Use file-loader for svgs. (@bogdansoare)

      Since 0.8.0, we are treating all imports with non-JS/CSS extensions the same way. Importing them gives you a string with their URL, and if their content is small enough (less than 10K), the URL is in fact an inlined data URI. However, this doesn't work well with SVGs in case you use them for a sprite system since fragments don't work in data URIs, and it's wasteful to inline the same sprite SVG many times. To fix this, we have added an exception so that SVG files never get inlined.

  • react-dev-utils

    • #1165 Chrome 'open tab' reuse an empty tab when possible. (@n3tr)

      Fixes an issue that caused two tabs to get opened instead of just one. It also fixes some cases where the window with the existing tab would not get activated.

  • babel-preset-react-app

    • #1179 Fix Babel issues in tests by applying the right transforms. (@gaearon)

      Fixes regressions in test environment that caused syntax errors with generators and async / await.

💅 Enhancement

  • eslint-config-react-app

    • #1191 Relax peerDependencies for ESLint preset. (@gaearon)

      This allows the preset to be used in more apps without peer dependency conflicts. We still pin the exact versions in apps that haven't ejected for extra safety.

    • #1159 Make jsx-no-undef rule an error. (@existentialism)

      Using an undefined type in JSX is now treated as a hard lint error because it is guaranteed to crash application at runtime.

  • react-scripts

    • #1175 Remove path module from webpack config on eject. (@harunhasdal)

      This makes the output after ejecting a bit cleaner.

    • #1120 Add testURL to Jest config. (@spudly)

      This fixes an error when running tests that interact with History API in jsdom.

📝 Documentation

Committers: 12

Migrating from 0.8.1 to 0.8.2

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.8.2

0.8.1 (December 4, 2016)

Thanks to @fson for cutting this release.

🐛 Bug Fix

  • react-scripts
    • #1149 Fix incorrectly stubbing JavaScript files with a dot in the import path in tests. (@fson)

Migrating from 0.8.0 to 0.8.1

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.8.1

0.8.0 (December 3, 2016)

Thanks to @fson for cutting this release.

🚀 New Feature

  • react-scripts

    • #944 Crash the build during CI whenever linter warnings are encountered. (@excitement-engineer)

      Linter warnings and errors are now checked during a continuous integration build (set by the CI environment variable) and the build will fail if any issues are found. See Continuous Integration for more information.

    • #1090 Enable proxying of WebSockets. (@dceddia)

  • create-react-app, react-scripts

    • #898 Support Yarn. (@fson)

      Yarn is a new fast, reliable and secure alternative to the npm client. If you have Yarn installed, create-react-app will use it to install packages when you create an app. It also creates a yarn.lock file that should be checked into source control (e.g. git). This ensures the same versions of packages will be installed each time yarn install is run, on any machine.

      react-scripts now also displays instructions using yarn commands for projects using Yarn (projects having a yarn.lock file).

      To create a project using Yarn, simply install yarn and use create-react-app like before:

      npm install -g yarn create-react-app@latest
      
      create-react-app my-app  # Packages are now installed with Yarn.
      

💥 Breaking Change

  • babel-preset-react-app

    • #902 Enable useBuiltIns option on object-rest-spread. (@existentialism)

      Object rest spread and JSX now use the native Object.assign() method instead of Babel's helper function. If you are using babel-preset-react-app directly in your project and targeting browsers that don't have Object.assign() available, from now on you need a polyfill for it (e.g. object-assign).

      Note: react-scripts already adds this polyfill, so no changes are necessary in Create React App projects.

🐛 Bug Fix

  • react-scripts

    • #978 Move the remove-on-eject-end tag at the end of the file. (@EnoahNetzach)

      Fixes a bug in ejected configuration.

    • #1017 Don't look for .babelrc file during test. (@nhajidin)

      Fixes a .babelrc file in a parent directory interfering with the npm test command.

    • #951 Check for presence of folders before continuing eject. (@heldinz)

      Fixes a bug where eject failed when a scripts or config folder already existed in the project.

  • react-dev-utils

    • #1035 Fix Chrome tab reuse. (@einarlove)

      Fixes a bug with the app not opening in the existing tab in Chrome.

    • #964 Catch and noop call to open web browser. (@spadin)

      Not being able to open a browser doesn't crash the development server now.

  • eslint-config-react-app, react-scripts

    • #953 Fix .ico file extension being handled by test configuration. (@vadzim)

💅 Enhancement

  • react-scripts

    • #1032 Add support for non-interactive terminal. (@sheerun)

    • #1078 Upgrade Jest to 17.0. (@fson)

    • #1059 Use url-loader with limit 10k as a default loader. (@bebbi)

      react-scripts now treats imports with any unknown file extension as a resource. Files with a size below 10 KB are inlined using a data URI and larger files copied to the build folder. This removes the need for an internal whitelist of supported file extensions. Any file that's not JS or CSS is now handled the same way.

    • #924 Enable JavaScript source maps in development. (@ekaradon)

    • #1058 Add missing dev argument in build script message. (@nhajidin)

    • #961 Add collectCoverageFrom option to collect coverage on files without any tests. (@pmackcode)

      The test script now considers all files in the project when calculating test coverage.

    • #968 Enable gzip compression in the development server (#966). (@frontsideair)

  • react-dev-utils, react-scripts

    • #816 add logging of existing default port process on start. (@ianmcnally)

      react-scripts can guess which process is running on the port 3000 when it's not available:

      Something is already running on port 3000. Probably:
        my-app
        in /Users/ian/dev/my-app
      
      Would you like to run the app on another port instead?
      
  • react-dev-utils

    • #963 Allow webpack 2 as a peerDependency in react-dev-utils. (@einarlove)

📝 Documentation

🏠 Internal

Committers: 27

Migrating from 0.7.0 to 0.8.0

You may optionally update the global command (it’s not required, but it adds Yarn support for new projects):

npm install -g create-react-app@1.0.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.8.0

0.7.0 (October 22, 2016)

Thanks to @fson for cutting this release.

Build Dependency (react-scripts)

  • Updates Jest to version 16.0, with an upgraded CLI, improved snapshot testing, new matchers and more. (@chase in #858)
  • Test setup file src/setupTests.js is now called after test framework initialization to support loading custom matchers. (@just-boris in #846)
  • Build command shows better instructions for deploying the app to GitHub Pages (@Janpot in #841)
  • Build command now generates an asset manifest with mappings from each filename to its final output filename. (@lukyth in #891)
  • Build command exits, if there are errors from UglifyJS (@pdillon in #859)
  • Eject output is more beautiful now. (@azakordonets in #769)
  • Fixes opening the app in a new tab in Chrome. (@unixdev in #831)
  • Fixes environment variables not being defined as normal properties of the process.env object. (@dvkndn in #807)
  • Fixes PostCSS autoprefixer not processing CSS files imported with CSS @import statements. (@nhunzaker in #929)

ESLint Config (eslint-config-react-app)

  • Adds import/no-webpack-loader-syntax rule that forbids using custom webpack specific syntax to specify webpack loaders in import statements. (@fson in #803)
  • react/react-in-jsx-scope rule ("React must be in scope") is now an error. (@gaearon in #822)
  • no-unused-expressions rule now allows the use of short circuit and ternary expressions. (@cannona in #724)

Babel Preset (babel-preset-react-app)

  • The preset now detects the Node.js version in test environment and disables unnecessary ES2015 transforms using babel-preset-env. (@shubheksha in #878, @JeffreyATW in #927 )
  • Fixes a duplicate dependency on babel-plugin-transform-regenerator. (@akofman in #864)

Utilities (react-dev-utils)

  • The error overlay is now disposed after fixing linting errors. (@jarlef in #856)
  • Adds support for webpack 2 to webpackHotDevClient. (@michalkvasnicak in #840)

Global CLI (create-react-app)

  • Adds support for passing a scoped package name to the --scripts-version argument. (@pdillon in #826)
  • Fixes installing pre-release versions using a tarball URL with the --scripts-version argument. (@jihchi in #876)

Migrating from 0.6.1 to 0.7.0

You may optionally update the global command (it’s not required):

npm install -g create-react-app@0.6.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.7.0

Breaking Change in 0.7.0

Updating Snapshots

Jest 16 includes improvements to snapshot testing and changes to the snapshot format. If your project uses snapshot testing, you'll need to update the snapshot files. To update the snapshots, run:

npm test -- -u

0.6.1 (September 27, 2016)

Build Dependency (react-scripts)

  • Babel and ESLint configuration is now placed into package.json after ejecting. (@montogeek in #773)

Utilities (react-dev-utils)

  • Fixes the syntax error overlay padding. (@fson in #758)

Migrating from 0.6.0 to 0.6.1

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.6.1

0.6.0 (September 25, 2016)

Build Dependency (react-scripts)

  • Adds an overlay for syntax errors in development. (@gaearon in #744)

Utilities (react-dev-utils)

  • Adds an alternative WebpackDevServer client that displays the error overlay. (@gaearon in #744)

Migrating from 0.5.1 to 0.6.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.6.0

Note: If the project fails to start, remove node_modules, ensure react-scripts is 0.6.0 in your package.json, and run npm install again. There seems to be an npm bug affecting this update.

0.5.1 (September 23, 2016)

Build Dependency (react-scripts)

  • Updates react-dev-utils dependency

Utilities (react-dev-utils)

  • Fixes %PUBLIC_URL% replacement to work when specified multiple times. (@fson in #731)

Migrating from 0.5.0 to 0.5.1

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.5.1

0.5.0 (September 23, 2016)

Build Dependency (react-scripts)

ESLint Config (eslint-config-react-app)

Babel Preset (babel-preset-react-app)

  • Published for the first time! (@fson in #701)

Utilities (react-dev-utils)

Global CLI (create-react-app)

  • Added README to npm. There were no other changes.

Migrating from 0.4.3 to 0.5.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.5.0

Breaking Changes in 0.5.0

Global ESLint Plugin Versions

If you used a global ESLint installation for the editor integration, you’ll need to install these versions of global ESLint packages.

Moving index.html into public Folder

You’ll also need to create a new folder called public in the root of your project. Then, move index.html and files it references (such as a favicon) into that folder.

You can no longer reference any files from ./src in index.html. Instead, public/index.html can now only reference files other inside of the public folder using a special variable called %PUBLIC_URL%.

For example, instead of:

<link rel="shortcut icon" href="./src/favicon.ico" />

You would need to move both index.html and src/favicon.ico into the public folder, and change <link> to look like this:

<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />

This ensures it become a part of the build output, and resolves correctly both with client-side routing and non-root homepage in package.json. Read more about using the public folder and why these changes were made.

0.4.3 (September 18, 2016)

This is a hotfix release for a broken package.
It contained no changes to the code.

Build Dependency (react-scripts)

  • Fixes a packaging issue that affected npm 2. (#676)

Migrating from 0.4.2 to 0.4.3

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.4.3

0.4.2 (September 18, 2016)

Build Dependency (react-scripts)

  • Lint output in editor is now opt-in because, due to this ESLint issue, it is broken by default in Atom. (@fson in #649)
  • Fixes an issue causing compile errors when project folder is inside a symlink. (@motiz88 in #648)
  • You can now import jpeg, wav, mp3, m4a, aac, and oga. (@mareksuscak in #624, @danharper in #665)
  • Fixes false positives caused by the case sensitive import warning on Windows. (@Urthen in #593)
  • With Docker, *.json.gzip files are no longer created in the project folder. (@thangngoc89 in #620)
  • Proxy network errors now abort requests instead of hanging. (@cloudmu in #588)
  • Connection to the development server does not get interrupted in HTTPS mode. (@dceddia in #652)
  • Unsupported Node versions now print a warning. (@fson in #575)
  • Importing assets with special characters like @ now works with tests. (@fson in #584)
  • Undefined variable lint rule is promoted from a warning to an error. (@gaearon in #669)
  • Variables starting with underscore no longer trigger the “unused variable” rule. (@valscion in #640)
  • We now print a friendly error when required files are missing. (@vnctaing in #653)
  • The output after creating a project is better formatted. (@btnwtn in #629)
  • Development server logs are less noisy. (@gaearon in 122068)

Global CLI (create-react-app)

  • It now runs on early Node versions to print a friendly warning instead of crashing. (@sotojuan in fc3ab4)
  • We now print a friendly message when you create a project with invalid name. (@mareksuscak in #628)
  • Passing a custom fork of react-scripts to create-react-app with --scripts-version works again. (@yesmeck in #632)

Migrating from 0.4.1 to 0.4.2

You may optionally update the global command (it’s not required):

npm install -g create-react-app@0.4.2

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.4.2

0.4.1 (September 3, 2016)

Build Dependency (react-scripts)

Migrating from 0.4.0 to 0.4.1

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.4.1

0.4.0 (September 2, 2016)

Build Dependency (react-scripts)

  • Breaking Change: Disabled implicit serving of source files in development. (@gaearon in #551)
  • You can use NODE_PATH environment variable for absolute import paths. (@jimmyhmiller in #476)
  • If src/setupTests.js exists, it will be used to setup the test environment. (@gaelduplessix in #548)
  • If HTTPS environment variable is set to true, development server will run in HTTPS mode. (@dceddia in #552)

Migrating from 0.3.1 to 0.4.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.4.0

Breaking Change in 0.4.0

Paths like /src/somefile.png used to be served in development, but only by accident. They never worked in production builds. Since 0.4.0, we don’t serve static files by default in development anymore either. This removes a dangerous inconsistency that we never intentionally supported.

If you need a static file to be part for the build, import it from JavaScript and you will get its filename. This ensures it gets included into the production build as well, and its filename contains the content hash.

If you used static files with <link href>, read this new guide on how to make sure these files get included into the builds. For example, you can replace <link href="/src/favicons/favicon-32.png"> with <link href="./src/favicons/favicon-32.png">, and then webpack will recognize it and include it into the build.

If you referenced some other files from index.html, please file an issue to discuss your use case. In the meantime, you can serve them from a separate static server until your use case is supported.

0.3.1 (September 2, 2016)

Build Dependency (react-scripts)

Migrating from 0.3.0 to 0.3.1

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.3.1

0.3.0 (September 1, 2016)

Build Dependency (react-scripts)

Global CLI (create-react-app)

  • You can now create a project in a folder that already contains an .idea folder, which is necessary for future WebStorm integration. (@denofevil in #522)

Migrating from 0.2.3 to 0.3.0

You may optionally update the global command (it’s not required):

npm install -g create-react-app@0.3.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.3.0

Breaking Change

Now favicon.ico is not treated specially anymore.
If you use it, move it to src and add the following line to <head> in your HTML:

<link rel="shortcut icon" href="./src/favicon.ico" />

New Feature

Since 0.3.0 added a test runner, we recommend that you add it to the scripts section of your package.json like this:

  // ...
  "scripts": {
    // ...
    "test": "react-scripts test --env=jsdom"
  }

Then read the testing guide to learn more about using it!

0.2.3 (August 25, 2016)

Build Dependency (react-scripts)

Migrating from 0.2.2 to 0.2.3

Update react-scripts to point to 0.2.3 in your package.json and run npm install. You shouldn’t need to do anything else.

Newly created projects will use 0.2.3 automatically. You don’t need to update the global create-react-app CLI itself. It stays at 0.2.0 for now because it doesn’t have any changes.

0.2.2 (August 22, 2016)

Build Dependency (react-scripts)

  • When the bundle size changes, we now display the difference after build. (@elijahmanor in #340)
  • npm installing a missing dependency now forces a rebuild. (@gaearon in #349)
  • Autoprefixer config now includes more commonly supported browsers. (@kripod in #345)
  • All the configuration is now documented inline so ejecting doesn’t leave you in the dark. (@gaearon in #362)
  • Object.assign() polyfill is now bundled by default. (@gaearon in #399)
  • React Native Web now works out of the box. (@grigio in #407)
  • Same asset filenames in different folders don’t confuse the server now. (@arunoda in #446)
  • The otf font format is now supported. (@A-gambit in #434)
  • The new-cap linting rule has been disabled thanks to feedback from Immutable.js users. (@rricard in #470)

Migrating from 0.2.1 to 0.2.2

Update react-scripts to point to 0.2.2 in your package.json and run npm install. You shouldn’t need to do anything else.

Newly created projects will use 0.2.2 automatically. You don’t need to update the global create-react-app CLI itself. It stays at 0.2.0 for now because it doesn’t have any changes.

0.2.1 (August 1, 2016)

Build Dependency (react-scripts)

  • Fixes an issue with npm start taking a very long time on OS X with Firewall enabled (@gaearon in #319)
  • Fixes an issue with webpack eating a lot of CPU in some cases (@dceddia in #294)
  • We now warn if you import a file with mismatched casing because this breaks the watcher (@alexzherdev in #266)
  • CSS files specifying ?v= after asset filenames, such as Font Awesome, now works correctly (@alexzherdev in #298)
  • Issues with npm linking react-scripts have been fixed (@dallonf in #277)
  • We now use /static prefix for assets both in development and production (@gaearon in #278)

Migrating from 0.2.0 to 0.2.1

Update react-scripts to point to 0.2.1 in your package.json and run npm install. You shouldn’t need to do anything else. If you see a warning about wrong file casing next time you npm start, fix your imports to use the correct filename casing.

Newly created projects will use 0.2.1 automatically. You don’t need to update the global create-react-app CLI itself. It stays at 0.2.0 for now because it doesn’t have any changes.

0.2.0 (July 28, 2016)

Build Dependency (react-scripts)

  • You can now enable deployment to GitHub Pages by adding homepage field to package.json (@dhruska in #94)
  • Development server now runs on 0.0.0.0 and works with VirtualBox (@JWo1F in #128)
  • Cloud9 and Nitrous online IDEs are now supported (@gaearon in 2fe84e)
  • When 3000 port is taken, we offer to use another port (@chocnut in #101, 2edf21)
  • You can now import CSS files from npm modules (@glennreyes in #105, @breaddevil in #178)
  • fetch and Promise polyfills are now always included (@gaearon in #235)
  • Regenerator runtime is now included if you use ES6 generators (@gaearon in #238)
  • Generated project now contains .gitignore (@npverni in #79, @chibicode in #112)
  • ESLint config is now more compatible with Flow (@gaearon in #261)
  • A stylistic lint rule about method naming has been removed (@mxstbr in #152)
  • A few unobtrusive accessibility lint rules have been added (@evcohen in #175)
  • A .babelrc in parent directory no longer causes an error (@alexzherdev in #236)
  • Files with .json extension are now discovered (@gaearon in a11d6a)
  • Bug fixes from transitive dependencies are included (#126)
  • Linting now works with IDEs if you follow these instructions (@keyanzhang in #149)
  • After building, we now print gzipped bundle size (@lvwrence in #229)

Global CLI (create-react-app)

Migrating from 0.1.0 to 0.2.0

You may optionally update the global command (it’s not required):

npm install -g create-react-app@0.2.0

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@0.2.0

You may need to fix a few lint warnings about missing <img alt> tag, but everything else should work out of the box. If you intend to deploy your site to GitHub Pages, you may now add homepage field to package.json. If you had issues with integrating editor linter plugins, follow these new instructions.

0.1.0 (July 22, 2016)

  • Initial public release