Releases: symfony/webpack-encore
Fix invalid options passed to dev-server
Hi Webpackers!
This release fixes a bug related to version 4 of webpack-dev-server (which is included in version 1 of this library). The code still relied on several, removed options. See #899 for more details.
yarn upgrade "@symfony/webpack-encore@^1.0.1"
Changes: v1.0.0..v1.0.1
Documentation: http://symfony.com/doc/current/frontend.html
Happy packing!
Hello Encore 1.0 & Webpack 5!
Hi Webpackers!
Today I'm thrilled to release Encore 1.0. In reality, Encore has been stable for years and has, as often as possible, deprecated features instead of hard breaking.
Most importantly, this release upgrades Webpack from 4 to 5, and a number of other dependencies have also been upgraded.
To upgrade run:
yarn upgrade "@symfony/webpack-encore@^1.0.0"
Changes: v0.33.0..v1.0.0
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
-
[DEPENDENCY UPGRADE] Webpack was upgraded from version 4 to 5.
-
[DEPENDENCY UPGRADES] The following packages had major version upgrades:
css-loaderfrom 3 to 5assets-webpack-pluginfrom 5 to 7mini-css-extract-pluginfrom 0.4 to 1style-loaderfrom 1 to 2terser-webpack-pluginfrom 1 to 5webpack-clifrom 3 to 4webpack-manifest-pluginfrom 2 to 3webpack-manifest-pluginfrom 3 to 4-beta
-
[DEPENDENCY SUPPORT CHANGES] Encore has changed what versions it supports
of the following packages:lessfrom 3 to 4 andless-loaderfrom 6 to 7fork-ts-checker-webpack-pluginfrom 4 to 5 or 6
-
[BC BREAK] Image and font processing was changed from using
file-loader
(and optionallyurl-loaderviaconfigureUrlLoader()) to Webpack 5's
new Asset Modules.
In practice, unless you have a highly-configured system, this should
not cause significant changes. -
[BC BREAK] The
configureUrlLoader()method was removed. See
configureImageRule()andconfigureFontRule()- specifically the
maxSizeoption and type: 'asset'. Theurl-loaderis no longer used. -
[BC BREAK] The
disableImagesLoader()anddisableFontsLoader()methods
have been removed. SeeconfigureImageRule()andconfigureFontRule()
for a new option to disable these. -
[BC BREAK] The
configureFilenames()method no longer accepts paths
forimagesorfonts. SeeconfigureImageRule()andconfigureFontRule()
for how to configure these filenames. TheconfigureFilenames()method
does now accept anassetsoption, but out-of-the-box, this will not
result in any filename changes. SeeconfigureFilenames()for more details. -
[BC BREAK]
optimize-css-assets-webpack-pluginwas replaced by
css-minimizer-webpack-pluginand theoptimizeCssPluginOptionsCallback()
method was replaced bycssMinimizerPluginOptionsCallback(). -
[BC BREAK] The
file-loaderpackage is no longer required by Encore. If
you usecopyFiles(), you will need to install it manually (you
will receive a clear error about this). -
[BC BREAK] All previously-deprecated methods & options were removed.
-
[BEHAVIOR CHANGE] The
HashedModuleIdsPluginwas previously used to
help name "modules" when building for production. This has been removed
and we now use Webpack's nativeoptimization.moduleIdsoption, which
is set todeterministic. -
[configureMiniCssExtractPlugin()]
configureMiniCssExtractPlugin()was
added to allow theMiniCssExtractPlugin.loaderandMiniCssExtractPlugin
to be configured. -
[enableBuildCache()] Added
enableBuildCache()to enable the new
Webpack 5 build caching. https://webpack.js.org/blog/2020-10-10-webpack-5-release/
This feature should be considered experimental.
Happy Webpacking!
Dependency Upgrades & disableCssExtraction() Flag
Yes! New Release!
This release is mostly about upgrading Encore's "dev" dependencies, which don't affect your project. What
this does do is change the versions that Encore guarantees support for. For example, if you have postcss-loader
installed in your app, this release no longer guarantees support for version 3, but we now DO guarantee
support for version 4.
To upgrade run:
yarn upgrade "@symfony/webpack-encore@^0.33.0"
Changes: v0.32.1..v0.33.0
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
-
[disableCssExtraction()] Added boolean argument to
disableCssExtraction()
to make it easier to dynamically disable extraction - #756 thanks
to @football2801. -
[DEPENDENCY UPGRADE] Vue 3 was already supported, but the dependencies
have been upgraded to explicitly support the stable version, instead
of beta versions - #869 thanks to @weaverryan -
[DEPENDENCY UPGRADE] Explicit support for
postcss-loaderv3 was
dropped but support for v4 was added - #854 thanks to @railto. -
[DEPENDENCY UPGRADE] Support for
sass-loaderv10 was added - #865
thanks to @shmshd. -
Allowed using
copyFiles()even if you don't have any other
entrypoints - #831 thanks to @pszalko. -
[DEPENDENCY UPGRADE] Support for
ts-loaderwas upgraded from
^5.3to^8.0.1. This means that only^8.0.1ofts-loader
is guaranteed to work - #800 thanks to @skmedix. -
[DEPENDENCY UPGRADE] Support for
eslintv5 was removed but support
for v7 was added. Also,eslint-loadersupport for v3 was removed
but support for v4 was added - see #774 thanks to @Kocal.
Happy packing!
Fixing requirement on @symfony/stimulus-bridge/webpack-helper module
Hey Webpackers!
This release contains a bug fix for 0.32.0 where Encore would always require
the @symfony/stimulus-bridge/webpack-helper module, even if you were not
using the Stimulus helper.
To upgrade run:
yarn upgrade "@symfony/webpack-encore@^0.32.1"
Changes: v0.32.0..v0.32.1
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
Adding Symfony UX integration: enableStimulusBridge()
Hi Webpackers!
This release introduces a new feature to work with Symfony's new UX system 🎆 https://symfony.com/blog/new-in-symfony-the-ux-initiative-a-new-javascript-ecosystem-for-symfony
To upgrade run:
yarn upgrade "@symfony/webpack-encore@^0.32.0"
Changes: v0.31.1..v0.32.0
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
- [enableStimulusBridge] The new
enableStimulusBridge()method was
added to enable the Stimulus bridge and Symfony UX features. See
https://symfony.com/ux for more details and #859 thanks to @tgalopin.
Happy packing!
Small dependency bump in resolve-url-loader
Hi Webpackers!
This is very small release that bumps one dependency.
To upgrade run:
yarn upgrade "@symfony/webpack-encore@^0.31.1"
Changes: v0.31.0..v0.31.1
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
- [DEPENDENCY UPGRADE]
resolve-url-loaderwas updated from^3.0.1
to^3.1.2, which should not affect most users. See #848 thanks
to @Khartir.
Have fun!
Bump of various dependency version
Hi Webpackers!
This is a small release that bumps a few dependencies.
To upgrade:
-
Update your
package.jsonfile: set the@symfony/webpack-encoreversion to^0.31.0. -
Run
yarn upgrade!
Changes: v0.30.2..v0.31.0
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
-
[DEPENDENCY UPGRADE]
assets-webpack-pluginwas updated from^3.9.7
to^5.1.1, which should not affect most users. -
[DEPENDENCY UPGRADE]
less-loaderwas updated from^4.1.0
to^6.2.0. This will likely not affect you unless you're passing
certain custom options inenableLessLoader(): CHANGELOG -
[DEPENDENCY UPGRADE]
sass-loaderwas updated from^8.0.0
to^9.0.1, which has some options-related changes: CHANGELOG
Fixing bug with clean-webpack-plugin deleting files in watch mode
Hi friends!
This release disables the cleanStaleWebpackAssets in clean-webpack-plugin by default to fix a bug where - in watch mode - some images or fonts would be incorrectly deleted. See #772 - thanks to @weaverryan.
To upgrade:
-
Update your
package.jsonfile: set the@symfony/webpack-encoreversion to^0.30.2. -
Run
yarn upgrade!
Happy packing!
Reverting to friendlier Vue full build
Hi friends!
This is a small release that reverts a change made in 0.30.0 related to Vue and a "full" build. See #769 for more details.
To upgrade:
-
Update your
package.jsonfile: set the@symfony/webpack-encoreversion to^0.30.1. -
Run
yarn upgrade!
Happy packing!
Major dependency upgrades, Vue runtime only, Vue3 support
Hi friends!
This is a big release that contains major upgrades to packages that Encore (and your app) depends on. Some of these upgrades may affect your app. Please check out the details below to learn more.
Changes: v0.29.1...v0.30.0
Highlights
-
[BC BREAK] The Vue "build" was changed from
vue.esm.js(full build) tovue.runtime.esm.js(runtime build). With the runtime build, there are two things that you cannot do:A) You cannot pass a string to
template:new Vue({ template: '<div>{{ hi }}</div>' })
B) You cannot mount to a DOM element and use its HTML as your template:
new Vue({ el: '#app', // where <div id="app"> contains your Vue template });
If you need this behavior, call
Encore.addAliases({ vue$: 'vue/dist/vue.esm.js' }); -
[DEPENDENCY UPGRADE]
sass-loaderwas upgraded from version 7 to 8.
See the CHANGELOG for breaking changes. This likely will not affect you unless you pass custom options toEncore.enableSassLoader(): several options were moved or renamed - #758 thanks to @Kocal. -
[BEHAVIOR CHANGE] Encore now resolves loaders directly from its
node_modules/, instead of by name. This change will cause a behavior change if you do any of the following:-
Add a different version of a loader (that Encore embeds) into your
package.json: the different loader won't be used anymore. -
Require a package that also included one of our embedded loaders: depending on which one was hoisted it could result in different behavior.
-
Manipulate the generated config and filter loaders based on their names: the comparison won't be the same anymore
-
-
[DEPENDENCY UPGRADE] Webpack minimum version was changed from
4.20.0to4.36.0- see #746 and #758. -
[DEPENDENCY UPGRADE] Upgraded
clean-webpack-pluginfrom^0.1.19to^3.0.0. You should not notice significant changes unless you useEncore.cleanupOutputBeforeBuild()and pass custom options. For more info, see v1 to v2 upgrade notes and v2 to v3 upgrade notes. There were no changes from0.1.19to1.0.0. See #760 thanks to @weaverryan. -
Encore will now correctly recognize a project-wide
babel.config.jsfile - #738 thanks to @jdreesen. -
[DEPENDENCY UPGRADE] The
fork-ts-checker-webpack-pluginpackage was upgraded for the tests from^0.4.1to^4.0.0. If you're usingenableForkedTypeScriptTypesChecking(), you control thefork-ts-checker-webpack-pluginversion in yourpackage.jsonfile. You should upgrade to^4.0.0to ensure that the plugin works correctly with Encore. See fork-ts-checker-webpack-plugin for details about the changes. See #759 thanks to @weaverryan. -
Added support for Vue3 - #746 thanks to @weaverryan.
Happy Packing!