Skip to content

Releases: webpack/webpack-dev-server

v4.0.0-beta.0

27 Nov 17:29
Compare
Choose a tag to compare

4.0.0-beta.0 (2020-11-27)

⚠ BREAKING CHANGES

  • drop support Node.js@6 and Node.js@8, minimum supported Node.js version is Node@10
  • the hot option is true by default
  • the hotOnly option was removed, if you need hot only mode, use hot: 'only' value
  • the default transportMode is switched from sockjs to ws (IE 11 and other old browsers doesn't support WebSocket, set sockjs value for transportMode if you need supports IE 11)
  • before, after and setup were removed in favor onBeforeSetupMiddleware (previously before) and onAfterSetupMiddleware options (previously after)
  • the clientOptions was renamed to the client option
  • the key, cert, pfx, pfx-passphrase, cacert, ca and requestCert options were moved to https options, please use https.{key|cert|pfx|passphrase|requestCert|cacert|ca|requestCert}
  • the sockHost, sockPath and sockPort options were removed in client option
  • the inline option (iframe live mode) was removed
  • the lazy and filename options were removed
  • the features option was removed
  • the log, logLevel, logTime, noInfo, quiet, reporter and warn options were removed in favor of built-in webpack logger, please read this to enable and setup logging output
  • the fs, index, mimeTypes, publicPath, serverSideRender, and writeToDisk options were moved in the dev option (webpack-dev-middleware options)
  • updating webpack-dev-middleware to v4, which includes many breaking options changes, please read
  • the stats option was removed, please use the stats option from webpack.config.js
  • the socket option was removed
  • the contentBase, contentBasePublicPath, serveIndex, staticOptions, watchContentBase, watchOptions were removed in favor of the static option
  • the disableHostCheck and allowedHosts options were removed in favor of the firewall option
  • server.listen() will find free port if the port is not set and the port argument is not passed, also print a warning if the port option and the port argument passed to server.listen() are different
  • the progress option is moved to the client option, set client: {progress: true}
  • the profile option was removed, to print profile data, set client: { progress: 'profile' }
  • client uses the port of the current location (location.port, equivalent to sockPort: 'location'), by default. To get previously behavior, set the client.port with the port you'd like to set
  • client uses the hostname of the current location (location.hostname), by default. To get previously behavior, set the client.host with the hostname you'd like to set

Features

  • compatibility with webpack@5
  • compatibility with webpack-cli@4
  • added the setupExitSignals option, it takes a boolean and if true (default on CLI), the server will close and exit the process on SIGINT and SIGTERM
  • update chokidar to v3

Notes

Unfortunately, due to the huge amount of changes it is very difficult to display all changes in a convenient form. Therefore, we offer you a couple of popular examples (feel free to send a PR with more examples).

static

Previously contentBase, contentBasePublicPath, serveIndex, staticOptions, watchContentBase and watchOptions

module.exports = {
  // ...
  devServer: {
    // Can be:
    // static: path.resolve(__dirname, 'static')
    // static: false
    static: [
      // Simple example
      path.resolve(__dirname, 'static'),
      // Complex example
      {
        directory: path.resolve(__dirname, 'static'),
        staticOptions: {},
        // Don't be confused with `dev.publicPath`, it is `publicPath` for static directory
        // Can be:
        // publicPath: ['/static-public-path-one/', '/static-public-path-two/'],
        publicPath: '/static-public-path/',
        // Can be:
        // serveIndex: {} (options for the `serveIndex` option you can find https://github.com/expressjs/serve-index)
        serveIndex: true,
        // Can be:
        // watch: {} (options for the `watch` option you can find https://github.com/paulmillr/chokidar)
        watch: true,
      },
    ],
  },
};

publicPath

module.exports = {
  // ...
  devServer: {
    dev: {
      publicPath: '/publicPathForDevServe',
    },
  },
};

firewall

Previously disableHostCheck and allowedHosts

module.exports = {
  // ...
  devServer: {
    // Can be
    // firewall: ['192.168.0.1', 'domain.com']
    firewall: false,  
  },
};

logging

module.exports = {
  // ...
  infrastructureLogging: {
    // Only warnings and errors
    // level: 'none' disable logging
    // Please read https://webpack.js.org/configuration/other-options/#infrastructurelogginglevel
    level: 'warn',
  },
};

v3.11.0

08 May 15:17
Compare
Choose a tag to compare

3.11.0 (2020-05-08)

Features

Bug Fixes

v3.10.3

05 Feb 11:38
Compare
Choose a tag to compare

3.10.3 (2020-02-05)

Bug Fixes

v3.10.2

31 Jan 15:37
Compare
Choose a tag to compare

3.10.2 (2020-01-31)

Bug Fixes

  • fallthrough non GET and HEAD request to routes (#2374) (ebe8eca)
  • add an optional peer dependency on webpack-cli (#2396) (aa365df)
  • add heartbeat for the websocket server (#2404) (1a7c827)

v3.10.1

19 Dec 11:20
Compare
Choose a tag to compare

3.10.1 (2019-12-19)

Bug Fixes

v3.10.0

18 Dec 14:36
Compare
Choose a tag to compare

3.10.0 (2019-12-18)

Features

  • client: allow sock port to use location's port (sockPort: 'location') (#2341) (dc10d06)
  • server: add contentBasePublicPath option (#2150) (cee700d)

Bug Fixes

v3.9.0

22 Oct 16:48
Compare
Choose a tag to compare

3.9.0 (2019-10-22)

Bug Fixes

  • add hostname and port to bonjour name to prevent name collisions (#2276) (d8af2d9)
  • add extKeyUsage to self-signed cert (#2274) (a4dbc3b)

Features

v3.8.2

02 Oct 16:33
Compare
Choose a tag to compare

3.8.2 (2019-10-02)

Security

  • update selfsigned package

v3.8.1

16 Sep 14:07
Compare
Choose a tag to compare

3.8.1 (2019-09-16)

Bug Fixes

v3.8.0

09 Aug 17:09
Compare
Choose a tag to compare

3.8.0 (2019-08-09)

Bug Fixes

  • server: fix setupExitSignals usage (#2181) (bbe410e)
  • server: set port before instantiating server (#2143) (cfbf229)
  • check for name of HotModuleReplacementPlugin to avoid RangeError (#2146) (4579775)
  • server: check for external urls in array (#1980) (fa78347)
  • server: fix header check for socket server (#2077) (7f51859)
  • server: stricter headers security check (#2092) (078ddca)

Features

Potential Breaking Changes

We have migrated serverMode and clientMode to transportMode as an experimental option. If you want to use this feature, you have to change your settings.

Related PR: #2116