0.8.0 (December 3, 2016)

🚀 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