v5.105.3
Breaking Changes📦 webpackView on GitHub →
⚠ 1 breaking✨ 3 features🐛 6 fixes🔧 6 symbols
Summary
This patch release focuses on bug fixes across context modules, HMR for CSS, entry point generation, and module resolution, while introducing stricter control over asset module side-effect marking via experimental flags.
⚠️ Breaking Changes
- Asset modules are now only marked as side-effect-free when `experimental.futureDefaults` is set to true. If you rely on asset-copying use cases (e.g. `import "./x.png"`) without enabling this option, they might now behave differently (i.e., not be marked as side-effect-free).
Migration Steps
- If you rely on asset modules being side-effect-free for asset-copying use cases (e.g. `import "./x.png"`) and are not using `experimental.futureDefaults: true`, you may need to enable `experimental.futureDefaults: true` to maintain previous behavior regarding side-effect-free marking.
✨ New Features
- Added `createRequire` support for ECMA modules.
- Added category for CJS reexport dependency to fix issues with ECMA modules.
- Implement immutable bytes for `bytes` import attribute to match tc39 spec.
🐛 Bug Fixes
- Context modules now handle rejections correctly.
- Fixed HMR failure for CSS modules with @import when exportType !== "link".
- Fixed an issue where empty JavaScript files were generated for CSS-only entry points.
- Do not crash when a referenced chunk is not a runtime chunk.
- Ensure that missing module error are thrown after the interception handler (if present), allowing module interception to customize the module factory.
- Fixed deterministic search for graph roots regardless of edge order.