@sokra sokra released this Sep 19, 2016 · 5445 commits to master since this release

Breaking Changes:

removed postLoaders and preLoaders

rules enforce: "left" and enforce: "right" can be used instead.

rules should be used instead of loaders, but the old one still work.

Same syntax + additional options. Allows to configure the parser too. Allows matching by issuer.

configuration is validated against a schema

moved parser instancation into NormalModuleFactory

compiler.parser must no longer be used. Use this instead:

compiler.plugin("compilation", function(compilation, params) {
  params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
    parser.plugin(/* ... */);


  • DllReferencePlugin
    • added extensions option.
    • manifest can be a path to a manifest, which is resolve at compile time.
  • Rules
    • parser can be configured. Disable parsing features is now possible.
    • loader options (query) can be any object now. (Before only stringify-able object were possible)
  • Loaders
    • loader-runner: loaders can return a Promise.
  • Compilation
    • WebWorker: fixed HMR template
    • ChunkModuleIdRangePlugin: added experimental plugin to assign module ids to a chunk. (related to Long Term Caching)
  • UglifyJs: version updated.
  • MultiCompiler: dependencies parameter added. Allows to specify dependencies with multiple configurations. They are compiled in this order.
  • CLI
    • multiple --configs allowed.
    • added --display-provided-exports and --display-used-exports
    • -v prints version
  • CI
    • .editorconfig is validated

Fixed Bugs:

  • Tree Shaking
  • System parsing

Migration Example

Below is an example PR that you can reference to help assist you in migrating from .22 to .23:

Assets 2