Symfony Certification
Curious about Symfony certification? Let's discover what it is, why it matters, how long it takes, and key tips for an effective preparation!

Hugo AlliaumeA few months ago, I wrote about the current state and future of Webpack Encore. The conclusion was clear: Encore is still maintained but its future is uncertain, with Vite and AssetMapper gaining traction.
Well, things have moved. A lot.
Encore 6.0 is a housekeeping release. No flashy new features, but a necessary cleanup to keep the project healthy.
The idea is simple: drop everything that was holding Encore back, and pave the way for future evolutions, like Rspack support down the line.
The minimum Node.js version jumps to 22+ (the current LTS), which unlocks upgrading all major dependencies to their latest versions: babel-loader, style-loader, postcss-loader, webpack-cli, and more. If you're not using custom configurations for these loaders, you probably won't notice anything.
Several pieces of accumulated legacy have also been cleaned up: the unmaintained file-loader is gone
(webpack 5's Asset Modules took over long ago),
the deprecated --https dev-server flag has been removed, the last Vue 2 leftovers have been finally purged,
and chalk has been swapped for the much lighter picocolors.
Leaner, cleaner, and ready for what comes next.
This is the big one. And it's not released yet.
Encore 7.0
makes Webpack Encore ESM-only. No more require(), no more module.exports.
The Node.js ecosystem has reached a tipping point: most actively maintained packages now ship ESM-only.
Continuing to publish as CommonJS would mean fighting against the current, pinning older dependencies,
adding workarounds, missing out on tree-shaking and top-level await.
But the real win is deeper. Migrating to ESM unlocks async/await at the top level, which solves a problem
that has haunted Encore for years: Encore.getWebpackConfig() was always synchronous, forcing ugly sync-rpc
workarounds whenever a dependency exposed an async-only API (ESLint, Babel config detection...).
Now, your webpack config simply becomes:
import Encore from '@symfony/webpack-encore'; // ... your Encore configuration export default await Encore.getWebpackConfig();
The migration is straightforward: switch to import/export, add "type": "module" to your package.json
(or rename to webpack.config.mjs), and update a few Node.js globals (__dirname becomes import.meta.dirname).
The full migration guide
covers all edge cases.
Encore 7.0 needs your feedback before the official release. If you're using Webpack Encore, please give it a try:
npm install symfony/webpack-encore#main
Found a bug? Something unclear? Open an issue, every report helps.
Beyond user-facing changes, the contributor experience has been completely overhauled:
Faster tests, faster installs, faster formatting. If you've ever wanted to contribute to Webpack Encore, now is a good time.
Webpack Encore is far from a dead project. Encore 6.0 dropped years of legacy baggage, Encore 7.0 goes all-in on ESM, and the contributor tooling has been fully modernized.
Whether you think webpack's days are numbered or not (and I still believe Vite is the way forward for new projects), Encore is being actively maintained for those who depend on it. Give 7.0 a try, and stay tuned!
Curious about Symfony certification? Let's discover what it is, why it matters, how long it takes, and key tips for an effective preparation!

Webpack Encore was the default asset management tool in Symfony for many years. However, with the rise of AssetMapper and Vite, its future is uncertain.
