Symfony Encore v2.0.0 Release Notes

  • May 3rd, 2022

    This is a new major version that contains several backwards-compatibility breaks.

    BC Breaks

    โฌ†๏ธ The following dependencies were upgraded a major version. It's unlikely ๐Ÿ”ง these will cause problems, unless you were further configuring this part of Encore:

    • ๐Ÿ”Œ clean-webpack-plugin Version 3 to 4: dropped old Node & Webpack version support
    • ๐Ÿ‘ css-loader Version 5 to 6: dropped old Node version support & CHANGELOG
    • ๐Ÿ”Œ css-minimizer-webpack-plugin Version 2 to 3: dropped old Node version support
    • ๐Ÿšš loader-utils REMOVED
    • ๐Ÿ”Œ mini-css-extract-plugin Version 1.5 to 2.2.1: dropped old Node & Webpack version support & CHANGELOG
    • ๐Ÿ‘ pretty-error Version 3.0 to 4.0: dropped old Node version support
    • ๐Ÿšง resolve-url-loader Version 3.0 to 5.0: dropped old Node version support, requires postcss ^8.0, remove rework engine & CHANGELOG
    • ๐Ÿ’… style-loader Version 2 to 3: dropped old Node and Webpack version support & CHANGELOG
    • ๐Ÿ“œ yargs-parser Version 20.2 to 21: dropped old Node version support

    โž• Additionally, Encore changed the supported versions of the following packages, which you may have installed to enable extra features:

    • ๐Ÿ‘• eslint Minimum version increased from 7 to 8
    • ๐Ÿ‘• eslint-webpack-plugin Minimum version increased from 2.5 to 3
    • ๐Ÿš€ fork-ts-checker-webpack-plugin Minimum version increased from 5 to 6 CHANGELOG
    • less-loader Minimum version increased from 7 to 10
    • postcss-loader Minimum version increased from 4 to 6
    • ๐Ÿš€ preact Minimum version increased from 8 to 10 CHANGELOG
    • sass-loader Minimum version increased from 9 to 12
    • stylus Minimum version increased from 0.54 to 0.56
    • stylus-loader Minimum version increased from 3 to 6 CHANGELOG
    • vue-loader Minimum version increased from 16 to 17 CHANGELOG

    • โœ‚ Removed Encore.enableEslintLoader(): use Encore.enableEslintPlugin().

    • ๐Ÿ‘• If using enableEslintPlugin() with the @babel/eslint-parser parser, you may now need to create an external Babel configuration file. To see an example, temporarily delete your .eslintrc.js file and run Encore. The error will show you a Babel configuration file you can use.

    • ๐Ÿ”ง With configureDefinePlugin(), the options['process.env'] key format passed to the callback has changed (see #960). If you are using configureDefinePlugin() to add more items to process.env, your code will need to change:

    Encore.configureDefinePlugin((options) => {
    -    options['process.env']['SOME_VAR'] = JSON.stringify('the value');
    +    options['process.env.SOME_VAR'] = JSON.stringify('the value');
    })