Releases: webpack/webpack
Releases · webpack/webpack
v5.97.1
v5.97.0
Bug Fixes
- Don't crash with filesystem cache and unknown scheme
- Generate a valid code when
output.iife
istrue
and output.library.type isumd
- Fixed conflict variable name with concatenate modules and runtime code
- Merge duplicate chunks before
- Collisions in ESM library
- Use recursive search for versions of shared dependencies
- [WASM] Don't crash WebAssembly with Reference Types (sync and async)
- [WASM] Fixed wasm loading for sync and async webassembly
- [CSS] Don't add
[uniqueName]
tolocalIdentName
when it is empty - [CSS] Parsing strings on Windows
- [CSS] Fixed CSS local escaping
New Features
- Added support for injecting debug IDs
- Export the
MergeDuplicateChunks
plugin - Added universal loading for JS chunks and JS worker chunks (only ES modules)
- [WASM] Added universal loading for WebAssembly chunks (only for async WebAssembly)
- [CSS] Allow initial CSS chunks to be placed anywhere - the
output.cssHeadDataCompression
option was deleted - [CSS] Added universal loading for CSS chunks
- [CSS] Parse ICSS
@value
at-rules in CSS modules - [CSS] Parse ICSS
:import
rules in CSS modules - [CSS] Added the
url
andimport
options for CSS - [CSS] Allow to import custom properties in CSS modules
Performance
- Faster Queue implementation, also fixed queue iterator state in dequeue method to ensure correct behavior after item removal
v5.96.1
Bug Fixes
- [Types] Add
@types/eslint-scope
to dependencieS - [Types] Fixed regression in
validate
v5.96.0
Bug Fixes
- Fixed Module Federation should track all referenced chunks
- Handle Data URI without base64 word
- HotUpdateChunk have correct runtime when modified with new runtime
- Order of chunks ids in generated chunk code
- No extra Javascript chunks when using asset module as an entrypoint
- Use optimistically logic for
output.environment.dynamicImport
to determine chunk format when no browserslist or target - Collision with global variables for
optimization.avoidEntryIife
- Avoid through variables in inlined module
- Allow chunk template strings in
output.devtoolNamespace
- No extra runtime for get javascript/css chunk filename
- No extra runtime for prefetch and preload in JS runtime when it was unsed in CSS
- Avoid cache invalidation using ProgressPlugin
- Increase parallelism when using
importModule
on the execution stage - Correctly parsing string in
export
andimport
- Typescript types
- [CSS]
css/auto
considers a module depending on its filename ascss
(pure CSS) orcss/local
, before it wascss/global
andcss/local
- [CSS] Always interpolate classes even if they are not involved in export
- [CSS] No extra runtime in Javascript runtime chunks for asset modules used in CSS
- [CSS] No extra runtime in Javascript runtime chunks for external asset modules used in CSS
- [CSS] No extra runtime for the
node
target - [CSS] Fixed
url()
s and@import
parsing - [CSS] Fixed - emit a warning on broken :local and :global
New Features
- Export CSS and ESM runtime modules
- Single Runtime Chunk and Federation eager module hoisting
- [CSS] Support
/* webpackIgnore: true */
for CSS files - [CSS] Support
src()
support - [CSS] CSS nesting in CSS modules
v5.95.0
Bug Fixes
- Fixed hanging when attempting to read a symlink-like file that it can't read
- Handle
default
for import context element dependency - Merge duplicate chunks call after split chunks
- Generate correctly code for dynamically importing the same file twice and destructuring
- Use content hash as [base] and [name] for extracted DataURI's
- Distinguish
module
andimport
inmodule-import
for externalsimport
's - [Types] Make
EnvironmentPlugin
default values types less strict - [Types] Typescript 5.6 compatibility
New Features
- Add new
optimization.avoidEntryIife
option (true
by default for theproduction
mode) - Pass output.hash* options to loader context
Performance
- Avoid unneeded re-visit in build chunk graph
v5.94.0
Bug Fixes
- Added runtime condition for harmony reexport checked
- Handle properly
data
/http
/https
protocols in source maps - Make
bigint
optimistic when browserslist not found - Move @types/eslint-scope to dev deps
- Related in asset stats is now always an array when no related found
- Handle ASI for export declarations
- Mangle destruction incorrect with export named default properly
- Fixed unexpected asi generation with sequence expression
- Fixed a lot of types
New Features
- Added new external type "module-import"
- Support
webpackIgnore
fornew URL()
construction - [CSS]
@import
pathinfo support
Security
- Fixed DOM clobbering in auto public path
v5.93.0
Bug Fixes
- Generate correct relative path to runtime chunks
- Makes
DefinePlugin
quieter under default log level - Fixed mangle destructuring default in namespace import
- Fixed consumption of eager shared modules for module federation
- Strip slash for pretty regexp
- Calculate correct contenthash for CSS generator options
New Features
- Added the
binary
generator option for asset modules to explicitly keep source maps produced by loaders - Added the
modern-module
library value for tree shakable output - Added the
overrideStrict
option to override strict or non-strict mode for javascript modules
v5.92.1
Bug Fixes
- Doesn't crash with an error when the css experiment is enabled and contenthash is used
v5.92.0
Bug Fixes
- Correct tidle range's comutation for module federation
- Consider runtime for pure expression dependency update hash
- Return value in the
subtractRuntime
function for runtime logic - Fixed failed to resolve promise when eager import a dynamic cjs
- Avoid generation extra code for external modules when remapping is not required
- The
css/global
type now handles the exports name - Avoid hashing for
@keyframe
and@property
at-rules incss/global
type - Fixed mangle with destructuring for JSON modules
- The
stats.hasWarnings()
method now respects theignoreWarnings
option - Fixed
ArrayQueue
iterator - Correct behavior of
__webpack_exports_info__.a.b.canMangle
- Changed to the correct plugin name for the
CommonJsChunkFormatPlugin
plugin - Set the
chunkLoading
option to theimport
when environment is unknown and output is module - Fixed when runtimeChunk has no exports when
module
chunkFormat used - [CSS] Fixed parsing minimized CSS import
- [CSS] URLs in CSS files now have correct public path
- [CSS] The
css
module type should not allow parser to switch mode - [Types] Improved context module types
New Features
- Added platform target properties to compiler
- Improved multi compiler cache location and validating it
- Support
import attributes
spec (with
keyword) - Support
node:
prefix for Node.js core modules in runtime code - Support prefetch/preload for module chunk format
- Support "..." in the
importsFields
option for resolver - Root module is less prone to be wrapped in IIFE
- Export
InitFragment
class for plugins - Export
compileBooleanMatcher
util for plugins - Export
InputFileSystem
andOutputFileSystem
types - [CSS] Support the
esModule
generator option for CSS modules - [CSS] Support CSS when chunk format is module
v5.91.0
Bug Fixes
- Deserializer for ignored modules doesn't crash
- Allow the
unsafeCache
option to be a proxy object - Normalize the
snapshot.unmanagedPaths
option - Fixed
fs
types - Fixed resolve's plugins types
- Fixed wrongly calculate postOrderIndex
- Fixed watching types
- Output import attrbiutes/import assertions for external JS imports
- Throw an error when DllPlugin needs to generate multiple manifest files, but the path is the same
- [CSS] Output
layer
/supports
/media
for external CSS imports
New Features
- Allow to customize the stage of BannerPlugin
- [CSS] Support CSS exports convention
- [CSS] support CSS local ident name
- [CSS] Support
__webpack_nonce__
for CSS chunks - [CSS] Support
fetchPriority
for CSS chunks - [CSS] Allow to use LZW to compress css head meta (enabled in the
production
mode by default) - [CSS] Support prefetch/preload for CSS chunks