Releases: webpack/webpack
Releases · webpack/webpack
v5.104.1
v5.104.0
5.104.0
Minor Changes
- d3dd841: Use method shorthand to render module content in
__webpack_modules__object. - d3dd841: Enhance
import.meta.envto support object access. - 4baab4e: Optimize dependency sorting in updateParent: sort each module only once by deferring to finishUpdateParent(), and reduce traversal count in sortWithSourceOrder by caching WeakMap values upfront.
- 04cd530: Handle more at-rules for CSS modules.
- cafae23: Added options to control the renaming of at-rules and various identifiers in CSS modules.
- d3dd841: Added
base64url,base62,base58,base52,base49,base36,base32andbase25digests. - 5983843: Provide a stable runtime function variable
__webpack_global__. - d3dd841: Improved
localIdentNamehashing for CSS.
Patch Changes
- 22c48fb: Added module existence check for informative error message in development mode.
- 50689e1: Use the fully qualified class name (or export name) for
[fullhash]placeholder in CSS modules. - d3dd841: Support universal lazy compilation.
- d3dd841: Fixed module library export definitions when multiple runtimes.
- d3dd841: Fixed CSS nesting and CSS custom properties parsing.
- d3dd841: Don't write fragment from URL to filename and apply fragment to module URL.
- aab1da9: Fixed bugs for
css/globaltype. - d3dd841: Compatibility
import.meta.filenameandimport.meta.dirnamewithevaldevtools. - d3dd841: Handle nested
__webpack_require__. - 728ddb7: The speed of identifier parsing has been improved.
- 0f8b31b: Improve types.
- d3dd841: Don't corrupt
debugIdinjection whenhidden-source-mapis used. - 2179fdb: Re-validate HttpUriPlugin redirects against allowedUris, restrict to http(s) and add a conservative redirect limit to prevent SSRF and untrusted content inclusion. Redirects failing policy are rejected before caching/lockfile writes.
- d3dd841: Serialize
HookWebpackError. - d3dd841: Added ability to use built-in properties in dotenv and define plugin.
- 3c4319f: Optimizing the regular expression character class by specifying ranges for runtime code.
- d3dd841: Reduce collision for local indent name in CSS.
- d3dd841: Remove CSS link tags when CSS imports are removed.
v5.103.0
Features
- Added
DotenvPluginand top leveldotenvoption to enable this plugin - Added
WebpackManifestPlugin - Added support the
ignoreListoption in devtool plugins - Allow to use custom javascript parse function
- Added
import.meta.envsupport for environment variables - Added support for
import.meta.dirnameandimport.meta.filename - Added support
import.defer()for statistical path - Handle import.meta.main
- Added suport to setup named exports for JSON modules and disable usage named export for
import file from "./file.json" with { type: "json" } - Added support
__dirname/__filename/import.meta.dirname/import.meta.filenamefor universal target - [CSS] Added the
exportTypeoption withlink(by default), "text" andcss-style-sheetvalues - [CSS] Added support for
composesproperties
Fixes
- The
dependOnchunk must be loaded before the common chunk - Return to namespace import when the external request includes a specific export
- No runtime extra runtime code for module libraries
- Delay HMR accept dependencies to preserve import attributes
- Properly handle external presets for universal target
- Fixed incorrect identifier of import binding for module externals
- Fixed when defer import and dynamic default export mixed
- Reduce generated output when
globalThissupported - Fixed loading async modules in defer import
- Reexport module for default import when no used exports for systemjs library
- Rename HarmonyExportDependencyParserPlugin exported id to CompatibilityPlugin tagged id
- Handle
__dirnameand__filenamefor ES modules - Rename single nested
__webpack_export__and__webpack_require__in already bundled code - [Types] webpack function type
- [Types] NormalModule type
- [Types] Multi compiler configuration type
- [Types] Fixed regression in custom
hashDigesttype - [CSS] No extra runtime for initial chunk
- [CSS] Fixed a lot of CSS modules bugs
v5.102.1
Fixes
- Supported
extendswithenvforbrowserslist - Supported
JSONPfragment format for web workers. - Fixed dynamic import support in workers using
browserslist. - Fixed default defer import mangling.
- Fixed default import of
commonjsexternals forSystemJSformat. - Fixed context modules to the same file with different import attributes.
- Fixed typescript types.
- Improved
import.metawarning messages to be more clear when used directly. - [CSS] Fixed CC_UPPER_U parsing (E -> U) in tokenizer.
v5.102.0
Features
- Added static analyze for dynamic imports
- Added support for
import file from "./file.ext" with { type: "bytes" }to get the content asUint8Array(look at example) - Added support for
import file from "./file.ext" with { type: "text" }to get the content as text (look at example) - Added the
snapshot.contextModuleto configure snapshots options for context modules - Added the
extractSourceMapoption to implement the capabilities of loading source maps by comment, you don't needsource-map-loader(look at example) - The
topLevelAwaitexperiment is now stable (you can removeexperiments.topLevelAwaitfrom yourwebpack.config.js) - The
layersexperiment is now stable (you can removeexperiments.layersfrom yourwebpack.config.js) - Added function matcher support in rule options
Fixes
- Fixed conflicts caused by multiple concatenate modules
- Ignore import failure during HMR update with ES modules output
- Keep render module order consistent
- Prevent inlining modules that have
thisexports - Removed unused
timeoutattribute of script tag - Supported UMD chunk format to work in web workers
- Improved CommonJs bundle to ES module library
- Use
es-lexerformjsfiles for build dependencies - Fixed support
__non_webpack_require__for ES modules - Properly handle external modules for CSS
- AssetsByChunkName included assets from
chunk.auxiliaryFiles - Use
createRequireonly when output is ES module and target is node - Typescript types
Performance Improvements
- Avoid extra calls for snapshot
- A avoid extra jobs for build dependencies
- Move import attributes to own dependencies
v5.101.3
Fixes
- Fixed resolve execution order issue from extra await in async modules
- Avoid empty block for unused statement
- Collect only specific expressions for destructuring assignment
v5.101.2
Fixes
- Fixed syntax error when comment is on the last line
- Handle var declaration for
createRequire - Distinguish free variable and tagged variable
v5.101.1
Fixes
- Filter deleted assets in
processAdditionalAssetshook - HMR failure in defer module
- Emit assets even if invalidation occurs again
- Export types for serialization and deserialization in plugins and export the
ModuleFactoryclass - Fixed the failure export of internal function for ES module chunk format
- Fixed
GetChunkFilenamefailure caused bydependOnentry - Fixed the import of missing dependency chunks
- Fixed when entry chunk depends on the runtime chunk hash
- Fixed
module.exportsbundle to ESM library - Adjusted the time of adding a group depending on the fragment of execution time
- Fixed circle dependencies when require
RawModuleand condition ofisDeferred - Tree-shakable module library should align preconditions of
allowInlineStartup
v5.101.0
Fixes
- Fixed concatenate optimization for ESM that caused undefined export
- Respect the
output.environment.nodePrefixForCoreModulesoption everywhere - Respect the
output.importMetaNameoption everywhere - Fixed await async dependencies when accepting them during HMR
- Better typescript types
Features
- Added colors helpers for CLI
- Enable tree-shaking for ESM external modules with named imports
- Added the
deferImportoption to parser options
Performance Improvements
- Fixed a regression in module concatenation after implementing deferred import support
- Fixed a potential performance issue in CleanPlugin
- Avoid extra
requirein some places