# What changed in webpack

> 498 changes in webpack 5 from its official release notes, upgrade guides and advisories: 17 breaking, 4 deprecations, 5 security, 141 new APIs and options. Each one cited. Sources checked 2026-10-17. HTML: https://unstale.sh/npm/webpack/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## webpack 5

### Breaking changes

- Minification now parses JavaScript with webpack's own parser rather than terser's and refuses early errors. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Writes to imported bindings now throw without preventing module concatenation. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- A non-optional read past an undefined DefinePlugin member now throws. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Remove experiments.outputModule; set output.module to emit ESM instead. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Minification now handles embedded bodies and style attributes through their embedded paths, decodes script types, and bases attribute minification on decoded values. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Accept output.module to emit ESM in place of experiments.outputModule. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Throws when a deferred namespace of an async module is forced while the module evaluates. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Throws SyntaxError or WebAssembly.CompileError when a module cannot be parsed. (5.110.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.1)
- Reports an error when an object external has no entry for the externals type being used. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Supports parsers without location APIs by deriving locations from node offsets; AST nodes no longer carry loc. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- [hash] now resolves to the local ident hash, matching css-loader; use [modulehash] for the module hash. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Rejects new import.defer(...) and new import.source(...) with member access as a SyntaxError. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Rejects new import.source(...) with member access as a SyntaxError. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- new import.defer(...) and new import.source(...) now fail with a parse-time SyntaxError; parenthesized forms remain valid and throw TypeError at runtime. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Emits an error when a proxy server returns a non-200 status code instead of failing silently. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Accessing a non-existent import.meta.env property now returns an empty object instead of the full object at runtime. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Re-validates redirects against allowedUris, restricts them to http(s), and limits redirect count to prevent SSRF and untrusted content inclusion; rejected redirects are not cached or written to the lockfile. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)

### Security

- Injects a Content-Security-Policy meta tag with inline-content hashes and an optional nonce. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Rejects __proto__, constructor, and prototype path segments to prevent prototype pollution. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Fixed a user information bypass vulnerability in the plugin. (5.104.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.1)
- webpack buildHttp: allowedUris allow-list bypass via URL userinfo (@) leading to build-time SSRF behavior (5.104.1) — [security advisory](https://github.com/advisories/GHSA-8FGC-7CC6-RX7X)
- webpack buildHttp HttpUriPlugin allowedUris bypass via HTTP redirects → SSRF + cache persistence (5.104.0) — [security advisory](https://github.com/advisories/GHSA-38R7-794H-5758)

### Deprecations

- Harmony* names are renamed to ESM* names and the old spellings are deprecated. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Deprecated in favor of importMeta.webpackContext. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- ModuleNotFoundError is re-exported from webpack/lib/ModuleNotFoundError for compatibility with older plugins; the re-export will be removed in webpack 6. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- All deprecated methods and options are now marked with @deprecated in types. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)

### New APIs and options

- Adds customMedia and customSelectors minimization options and resolves chained names. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds a JavaScript SyntaxTree read like the CSS one, along with toEstreeObject. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Set to "all" to expose the exports of every entry module. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds an HTML parser chunk-name option and a `webpackChunkName` comment for tags. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds a parser option for classic-script `this` semantics. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds a CSS charset option; false drops `@charset` for UTF-8 CSS. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds a CSS minimization option for converting approximate colors. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Drops a declaration that a later one overrides when no target is named. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds JSON minimization, enabled by default with futureDefaults. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds an option to discover chunk intersections. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds an ignore hook and keeps unfollowed `from` symlinks. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Shared modules now accept include and exclude version and request filters. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds SSRManifestPlugin and fixes server-rendered CSS collection and adoption. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Exposed under its scope and now accepts several requests, with the current one first. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Adds XML parsing and SVG/XML minification with data URLs and attribute sorting. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Export cssMinify on css.syntax. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Export htmlMinify on html.syntax. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add lowerUnsupported while dropping information already stated or readable only by a gone engine. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add mergeScripts, along with boolean and token switches. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add an option for spec namespace objects. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add normalizeUrlAttributes, mergeScripts, and boolean and token switches. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add an option to join CSS rules across a gap. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add output.copy to copy files and directories into the output directory. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Add output.environment.topLevelAwait and await every async ESM entry. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Export webpack's renderEmbeddedSource for minifying inline CSS and JSON through the embedded-source path. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Keeps optimization.minimize boolean; its options move to optimization.minimizeOptions. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Add a placeholder used for the file name of asset and HTML modules with futureDefaults. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Add a placeholder used for the path of asset and HTML modules with futureDefaults. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Support printing CSS and HTML in beautified as well as minified form. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Accept an object for an entry's html option to override output.html per option. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Mark externals as side-effect-free with a `sideEffects` flag. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Externalize installed packages with the nodeModules preset and its allowlist option, replacing the webpack-node-externals plugin. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Add a module rule condition based on the description file's relative path. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Add an aggregated shutdown hook to MultiCompiler. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Configure HTML minification options, including whitespace, comments, empty attributes and elements, implied tags, and attribute sorting. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Configure or exclude the minifier for each asset type. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Configure an AMD-style loader branch in UMD output. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Skip prefetch links for chunks that are already preloaded or prefetched. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Enable performance hints for checks not set individually, including duplicate packages, circular dependencies, large modules, and unused configuration. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Set to `"stats"` to report performance hints in stats only. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Add renderEmbeddedSource and minify its output out of the box. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Read CSS collected while rendering without a DOM; collected CSS remains in the order styles were applied. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Adds an externals type that loads AMD externals without an AMD library wrapper. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds ?raw, ?url, ?inline, and ?no-inline asset query suffixes under experiments.futureDefaults. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Supports zstd compression for the filesystem cache. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Controls case sensitivity for import.meta.glob matching. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Exposes the original DOM event as error.event. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds a CSS option for font preloading. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds fine-grained parser options for import.meta. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds MODE, DEV, PROD, SSR, and BASE_URL defaults. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds glob imports with a caseSensitive option and consistent hidden-file and node_modules matching. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Can resolve an asset specifier to its emitted asset URL through the importMeta.resolve parser option. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Provides the replacement parser option for importMetaContext. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Enables built-in build progress through infrastructure logging. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Compilation hook for injecting script, link, meta, and other tags with injectTo placement. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds a JavaScript option for CSS preloading from dynamic imports. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds parser configuration for URL resource hints. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Selects whether HTML is parsed as a document or an element fragment. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Bundles Worklet addModule() entries. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Exposes the active MultiWatching instance. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds an interop hint of "default" or "esModule" to control default-export interop. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- CommonJS modules with statically analyzable exports can be concatenated; set commonjs: false to opt out. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Configures the base element during HTML head generation. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Supports arrays and per-icon link attributes: sizes, media, color, type, and crossorigin. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Controls where chunk tags are injected into HTML. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Controls inlining chunk content into HTML with true, "script", or "style". (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Generates and links a web app manifest with hashed icons. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Configures meta tags during HTML head generation. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Configures the HTML document title during head generation. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Emits preload, prefetch, modulepreload, and preconnect resource hints; it is on by default for ESM output. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds a WebAssembly fallback for responses with an incorrect MIME type. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds estimated-time reporting to the progress bar. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds phase timings to progress reporting. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds progressBar: "auto". (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds a configurable progress bar width. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Exposes the original DOM event as error.event. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Setting type: false disables a built-in HTML parser source. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Configures warnings for strict-mode-only syntax and semantic hazards in ES module output. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Compilation hook for mutating, removing, or moving existing script, link, style, and meta tags. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Exports the HTML modules plugin with transformHtml and htmlEmitted compilation hooks. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Magic comment for inlining chunk content into HTML. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds dedicated module classes for all built-in module types. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds a target that emits ESM and externalizes bun:* and Node.js built-in modules. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds a universal boolean for universal targets, including universal and web-plus-node targets. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Supports CSS in Node for universal targets and collects styles for SSR. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds an HTML source type that extracts url() references from CSS-valued attributes. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds a helper for typed configuration files. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds Deno targets that emit ESM, resolve Node.js built-ins with node:, and leave Deno import protocols external. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds worker entry configuration for worker chunk filenames. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Supports inline digests in hash path placeholders, such as [contenthash:base64:8]. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds the CSS parser as option and resolves url() inside HTML style attributes. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Disables or customizes URL-attribute extraction for HTML modules, including source types for custom attributes. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Transforms HTML module source before parsing. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Marks top-level names as side-effect-free for tree shaking. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds support for inlineExports to improve tree-shaking. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds an environment capability that enables Object.hasOwn in generated runtime code where supported. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds an environment capability option and emits let or const instead of var in generated runtime code where safe. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Enables emitting ||= in runtime code when the target supports logical assignment operators. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds an environment capability that enables spread syntax in generated runtime code where supported. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds an environment capability for using an unguarded Symbol in generated runtime code where supported. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Emits an HTML file per entrypoint and injects its JS and CSS chunks, including dependOn shared chunks. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Gates the runtime MODULE_NOT_FOUND guard. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds a worker-specific chunk filename option. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Supports [uniqueName] and its [uniquename] alias in template paths. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Adds a target preset for browser, web worker, Node.js, Electron, and NW.js that always outputs ECMAScript modules. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- The HTML generator option type is now HtmlGeneratorOptions, making the extract option available in createGenerator and generator hook types. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- The experimental HTML tokenizer exposes parse errors through a callback, distinguishing recoverable warnings from errors caused by incomplete offset ranges. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Reserves the html module type for first-class HTML entry-point support. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Enables experimental TypeScript transformation using Node.js module.stripTypeScriptTypes; supports erasable TypeScript in .ts, .cts, .mts, and TypeScript data URLs, but not TSX or non-erasable syntax. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- The function form for CSS modules accepts string[] as well as string. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Adds a CssLoadingRuntimeModule compilation hook so plugins can control where stylesheet <link> elements are inserted. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Enables emitting parsed, URL-rewritten HTML as a standalone .html file alongside the module's JavaScript export. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Controls whether webpack sets .name to "default" for anonymous default export functions and classes; defaults to true for applications and false for libraries with output.library. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- The pure parser option for css/module and css/auto requires every selector to contain a local class or id, otherwise webpack emits a build error. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Supports the annotation to mark functions as pure for better tree-shaking. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Adds the orderModules hook to CssModulesPlugin compilation hooks. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- CSS modules support exportType: "style" to inject styles into the DOM via HTMLStyleElement, similar to style-loader. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Adds an option to configure the hash function used for hashing. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Adds an option to enable or disable validation in webpack plugins and loaders, with an API for using it inside plugins. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Adds a context option for virtual modules, allowing a custom context path to resolve relative imports; it defaults to auto-derived context. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Adds a method to distinguish basic source types and clarify how modules with non-basic source types like remote still produce JavaScript output. (5.105.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.4)
- ECMA modules now support `createRequire`. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Context modules now support import.defer(). (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Adds a resolver option that can be disabled, use the default tsconfig.json, specify a tsconfig path, or accept configFile and references options. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Adds options to control the renaming of at-rules and various identifiers in CSS modules. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Adds the base64url, base62, base58, base52, base49, base36, base32, and base25 digests. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Adds support for universal lazy compilation. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Provides a stable runtime function variable. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Adds support for composes properties in CSS. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Allows using a custom JavaScript parse function. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds a top-level option to enable DotenvPlugin. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds DotenvPlugin for enabling dotenv support. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds the CSS exportType option with link, text, and css-style-sheet values; link is the default. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for the ignoreList option in devtool plugins. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for import.defer() for a static path. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for import.meta.dirname. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for accessing environment variables through import.meta.env. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for import.meta.filename. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds handling for import.meta.main. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for named exports and for disabling named exports when importing JSON with a type attribute. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds WebpackManifestPlugin. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)

### Performance

- Uses module paths so parallel minification can load built-in minimizers directly in workers instead of serializing function sources. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Speeds up comment lookup, tokenization, and grammar parsing. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Module concatenation is skipped when providedExports is disabled. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Performs in one pass minification previously completed by a second pass. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Drops dead CSS left by a cut and joins more blocks that print alike. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Completes joins, drops, and collapses in one pass instead of requiring a second. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Speeds parsing by stepping over dropped selector preludes in bytes. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Stops emitting the CSS chunk loading runtime when every CSS chunk is initial. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Minifies more HTML and CSS shorthands. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Cuts two costs off printing. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Speeds up cache writes. (5.110.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.1)
- Speed up builds and reduce memory use through faster parsing, minification, dependency processing, and shared watching for MultiCompiler children. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Speeds up CSS parsing and reduces memory use across experimental and non-modules parsing paths. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Improves parser speed and reduces peak memory use. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Speeds up stats generation and reduces its peak memory use. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Enables the Node.js compile cache in the webpack CLI entry point. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- HTML parsing uses less CPU and memory by skipping unused AST nodes. (5.108.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.4)
- Parsing is faster by avoiding unused selector AST nodes and value tokens. (5.108.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.4)
- CSS parsing is faster and uses less memory for CSS AST nodes. (5.108.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.3)
- Inlines export default values when the exported value is a primitive constant. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Defers building unused re-export targets of side-effect-free barrel modules. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- The hook is invoked once per directory with all matched files in one batch, reducing per-file overhead in context resolution. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Per-child code-generation results are released in MultiCompiler and when the compiler closes, reducing memory retention. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Watch-mode rebuilds avoid purging the stat cache for every file under an explicitly watched context directory. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Multi-module chunks no longer include unnecessary `__webpack_require__` runtime helpers. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- The side-effects connection-state walk uses an allocation-light iterative loop, restoring rebuild performance while keeping deep import chains stack-safe. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Watch-mode rebuilds reuse warm stat caches for watched context directories instead of discarding stats for every file under the directory. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Peak memory usage is reduced on large builds. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Drops unused __webpack_require__, __webpack_require__.d, and __webpack_require__.o helpers from module library bundles when their on-demand exports source is dropped. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- CSS bundles omit the runtime when all imported CSS modules are concatenated into the same scope. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Guard collection is skipped when exports-presence mode is disabled, improving parsing performance. (5.105.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.1)
- JavaScript modules are no longer generated for unused CSS exports, reducing unnecessary output and bundle size. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Destructuring assignments reuse cached stringified environment definitions. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Improves the speed of identifier parsing. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Avoids extra runtime for the initial CSS chunk. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Reduces generated output when globalThis is supported. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Avoids generating extra runtime code for module libraries. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)

### Behavior and default changes

- JavaScript is minified with webpack's printer under futureDefaults and with terser otherwise. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- More path, module, and file filter options now accept glob patterns. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- A run of inline script tags can be bundled into one chunk that the page can inline. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Source maps now emit the scopes field so debuggers can resolve imported ESM bindings by name. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Drops fallback declarations when every target in browserslist reads past them. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Bases HTML value minification on what a value means rather than its spelling. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Folds more enumerated attribute values and drops values that name no keyword. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Lower CSS nesting, :dir(), and custom at-rules; case folding and escapes are gated. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Absolute-path inputs accept file URLs in any spelling that Node reads. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Filesystem cache build dependencies may be optional. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- With futureDefaults enabled, output.module is enabled by default on ESM-capable targets and for module and modern-module library types. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- processResult is async, and a tap can rename the asset it rewrote. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Tree shake CommonJS object literal exports, destructured require bindings, unused method requires, and unused side-effect-free require calls and reexports. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Wrap concatenated modules in lazy accessors and inline require calls while preserving wrapped-body names and side effects. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Warn on cross-kind CSS module export conflicts and let the class win. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Patch the HTML head in place on hot update instead of forcing a full reload, including when removing a script that never executed. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Minify HTML while preserving the parsed document, including attribute grammars and tree structure. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Do not emit development source maps for module libraries or when futureDefaults is enabled. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Module rules support OS-independent glob matching. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Report which compilers changed on the MultiCompiler done hook. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- When enabled, safely minify CSS and HTML assets with source maps unless a minimizer is already configured for them; each rewrite can be disabled by its named option. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- CSS sources in source maps are named by their resource path, without the `css ` prefix. (5.109.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.2)
- The filesystem cache removes unreferenced files after storing, ages files by recorded time so restored caches are cleaned too, and collects all fully expired packs in one store. (5.109.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.2)
- Compiles async modules to generators for targets without async/await. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- “Weird” CommonJS modules are wrapped into module concatenation instead of causing concatenation to bail out. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Emits analyzable new URL, worker/worklet URL, and import() references with literal specifiers. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Defaults to "auto", enabling built-in WebAssembly support unless a loader is registered for those files. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Defaults to "auto", enabling built-in CSS support unless a loader is registered for those files. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Defaults to "auto", enabling built-in HTML support unless a loader is registered for those files. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Defaults to "auto", enabling built-in TypeScript support on Node.js >= 22.6 when no TypeScript loader is registered. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Recognizes twitter:player:stream metadata, legacy SVG references, and Web App Manifest icons, screenshots, and shortcuts URLs as asset-bearing sources. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- HTML link sources are bundled as their own emitted page, while rel="preload" and rel="prefetch" links are bundled as chunks. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- The default is now `globalThis` for universal targets. (5.108.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.4)
- Supports CommonJS reexports using Object.defineProperty value and getter descriptors. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Supports inline hash digests and lengths in CSS module localIdentName placeholders. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Import specifiers and require() or import() calls in dead branches gated by inlined imported constants are skipped. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Under the html/css experiments, the default ./src entry supports .html and .css. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Uses module-import for electron externals when the target supports ESM. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Extracts more source URLs from SVG and legacy or obsolete attributes. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Schema-generated CLI flags now support JSON Schema const. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Keeps export mangling enabled when a namespace object is used as a whole value by materializing a decoupled object with original export names. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Universal node-plus-web targets resolve the Worker constructor from worker_threads when no global Worker exists. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Allows tree-shaking unused calls to NO_SIDE_EFFECTS-annotated exports across module boundaries. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Top-level await and import.meta are treated as ES module markers, matching Node.js syntax detection so no explicit module type is needed. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Static member reads from a const binding created with require(LITERAL) are tracked as referenced exports, allowing unused CommonJS exports to be removed when usedExports is enabled. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- With experiments.html and experiments.css, CSS chunks reachable from a script entry are emitted as stylesheet links in import order, with nonce, crossorigin, and referrerpolicy copied from the originating tag. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Resolver defaults now include module-sync to align with Node.js's synchronously-loadable ESM condition. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Module concatenation is supported for CSS modules with text, css-style-sheet, style, and link export types. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- @value identifiers can be used as @import URLs and inside url() functions. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Inline CSS source maps are embedded for text, style, and css-style-sheet export types; imported CSS is merged for text and css-style-sheet, and generated class exports map back to original selectors. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- The experimental TypeScript support requires Node.js >= 22.6 with the stable mode: "strip" API. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Conflicting order warnings for CSS now include fragment groups. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Destructuring assignment with require in CommonJS is supported, allowing tree shaking. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- The localIdentName option now accepts a function. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- External modules can now be placed in async chunks when outputting ECMA modules. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Async WASM modules now support source. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Asset modules are marked side-effect-free only when this option is enabled, preventing asset-copying imports from breaking otherwise. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Asset modules are now considered side-effect free. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- The devtool option now supports array values. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Unknown import.meta properties are determined at runtime rather than statically analyzed at compile time. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Generated source maps include the ignoreList property only when it has content, avoiding empty arrays. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Worker modules can now be resolved by export condition name when using new Worker(). (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Adds the ability to use built-in properties in dotenv and DefinePlugin. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Uses the fully qualified class name or export name for the placeholder in CSS modules. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Supports object access. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Adds a module existence check to provide a more informative error message in development mode. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Adds support for __dirname with the universal target. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Adds support for __filename with the universal target. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)

### Tooling

- Can profile hook map taps, including resolver and parser hooks. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Report inner-graph, AMD, and bare module bailouts. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Improves module parse errors with a babel-style code frame and the module type. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Shows why a module was marked as not cacheable. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Adds HMR support with body and title DOM patching on update. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Schema-generated CLI flags now support JSON Schema if/then/else. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- NormalModuleCreateData is generic over module type, narrowing parser, parserOptions, generator, and generatorOptions to the types for that module. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- NormalModuleFactory parser and generator methods are generic over module type and return specific parser or generator classes for known types. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Callback types are narrowed by context: chunk filename callbacks require pathData.chunk, and module filename callbacks require pathData.module. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Experimental options are now marked as such in the types. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- The schema's deprecate flag improves TypeScript support by identifying options already deprecated by the configuration. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Resolution supports new features for tsconfig.json. (5.105.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.4)

### Fixes and other changes

- Loader output for `.wasm` is parsed as JavaScript when async wasm is auto-enabled. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Scopes and exports a CSS Modules @value consistently whether it is local or imported. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Supports deferred imports introduced by hot updates. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- An async runtimeValue is now resolved over an async beforeParse hook. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Awaits every async entry before resolving an ESM library import. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Minified CSS and HTML are stable on a second pass, including for truncated input. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Keeps the last HMR update when output.clean is used and stops rechecking removed files. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Plugins set on a multi-configuration array are now applied to the MultiCompiler. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Reads errors through the processErrors hook via getErrors, matching hasWarnings, so filtered errors do not contradict the result. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Watch mode rebuilds when a file is deleted while a build is running. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Preserves regular expression flags when rebuilding context request matchers. (5.112.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.112.0)
- Preserves the spread of shadows and canonicalizes merged selector lists. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Gathers a CSS layer across a rule that writes only a different layer. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Omits implied tags and merges adjacent runs on the first pass. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Preserves the `initial` keyword where an engine treats it distinctly. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Joins adjacent CSS rules after cuts and preserves values that escapes previously consumed. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Joins rules made adjacent by a top-level `@layer` gather. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Preserves the page's closing html tag spelling regardless of how the element was opened. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Looks up attributes using decoded values rather than their source spelling. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Tree construction now follows HTML template form and frameset rules. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Preserves an attribute's delimiter and value spelling when quoting is frozen. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Rewrites attribute values whose source uses character references. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Unquotes HTML attribute values containing a vertical tab. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Orders attributes by their output and reads values after decoding. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Fixes module library exports lost under cache or missing behind a re-export. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- Each switch now governs only its own CSS rewrite. (5.111.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.1)
- A fulfilled async cycle member is rejected with the cycle's evaluation error. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Settle a CSS chunk load when there is no DOM and its stylesheet cannot be read. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Preserve colors when rounding would change read-back channels, and lower CSS color functions and related syntax more accurately. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Lower CSS spellings a target cannot read and write a color fallback before an unsupported color spelling. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Await an evaluating-async dependency of a deferred import. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Fix generated ESM external reexports to escape requests, use configured requests, preserve live bindings and import attributes, and avoid stack overflows in star-reexport cycles. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Fix import.meta and require.main, and scope-hoist import.meta.main. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Honor resolve.fileSystem; the notes also identify where module.exprContextCritical moved. (5.111.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.111.0)
- Fixes circular reexport severity. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Fixes using new on a default import of a wrapped CommonJS module. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Evaluates a deferred import's async dependencies where the import occurs. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Omits ambiguous export * names from the module namespace. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Fixes handling of import() options. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Fixes namespace writes. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Skips ESM interop when require() targets a module outside the concatenation. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Fixes concatenated require() in a require.ensure callback or with a computed request. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Fixes reads of mangled exports through require() and a leaked internal reference. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Avoids reporting a missing export for a name deferred by a side-effect-free barrel. (5.110.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.3)
- Fixes analyzable ESM baking around cycles, mixed-served wasm and style url maps. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Strips a BOM added by a loader to a string and shifts a source map that counted it. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Fixes ESM circular reexports and cyclic const TDZ, and defers evaluation order. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Reports a named import that is never read when it names a missing export. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Stops output.html from emitting an unused JS chunk for each generated page. (5.110.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.2)
- Accepts the optimization.minimize: true shorthand when a plugin sets it in apply(). (5.110.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.1)
- Fixes handling of a RegExp without capture groups in snapshot.managedPaths. (5.110.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.1)
- Resolve absolute symlink targets and treat an unreadable context as missing. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Avoid emitting a dead module and a failing require for an asset-url external. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Treat top-level this as the global scope in a classic worker entry. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Emit a CommonJS entry's default as export default in module library output. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Release compilation and file system caches retained after compiler.close(). (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Fix optional chains that read an undefined object member. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Derive import defer behavior from the target. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Derive import source behavior from the target and fix the source phase. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- An etag mismatch in the memory cache falls through to the file cache instead of reporting a miss. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Fix tree shaking for a namespace reexported as default and prevent reading undefined from its member. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Fix common outputPath calculation, reruns after dependency validation failures, and watch-mode recovery after fatal child errors. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Keep the runtime out of strict mode when output.globalObject reads this. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Respect strictThisContextOnImports for require member calls. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Fix top-level using and await using declarations in modules. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Support UNC paths in module and context replacement plugins. (5.110.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.110.0)
- Skips `require().prop` in dead branches gated by inlined imported constants. (5.109.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.2)
- Aliases pointing at package directories whose names end with .js are resolved again. (5.109.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.2)
- The loader context target is reported as `universal` for the universal target. (5.109.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.2)
- Tracks dependencies by parsing sources when require.cache children are unavailable, such as on Bun. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Names the failing key when evaluation of a `typeof` value fails, making the error easier to diagnose. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Fixes a stray semicolon emitted before an imported call following a parenthesized sequence element. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Ignores ERR_SERVER_NOT_RUNNING during backend disposal so compiler.close() succeeds on Bun. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Returns a real ArrayBuffer so WebAssembly.instantiate accepts the loader result. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Makes re-export analysis independent of module processing order. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Guards setNoDelay and force-closes connections during lazy-compilation backend disposal to improve Deno compatibility. (5.109.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.1)
- Fixes inlined non-binary assets with encoding: false emitting "undefined" instead of their content. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Changes an HTML page's content hash when its inlined chunk content changes. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Escapes ? and # so source map names are not truncated. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Prevents unused CSS module exports from leaking into the JavaScript wrapper. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- CSS modules scope view-transition names and pseudo references under customIdents. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Decodes non-base64 data URIs as UTF-8 to preserve multi-byte characters. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Skips anonymous default export name fix-up when name is non-configurable, avoiding an exception on pre-ES2015 engines. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Fixes deferred import error rethrows, evaluation guards, namespace identity, and lazy evaluation of initial-chunk context imports. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Merges object-form and dotted definitions so import.meta.env and process.env are consistent for direct, whole-object, and destructured access. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Resolves directory requests to their index module in scoped DllReferencePlugin. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Evaluates and validates the second argument to dynamic import(specifier, options). (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Preserves live bindings for a module library's entry exports, including when the runtime is emitted as a separate chunk. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Renders sizes of 1 TiB or larger instead of displaying "undefined". (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Prevents a dangling stylesheet link for a JavaScript-only chunk in an HTML entry. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Fixes escaping, head detection, duplicate meta tags, resource-hint and entry-tag retention with inject: false, and stylesheet placement. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Ignores a base element inside an inert template when resolving HTML URLs. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Prevents reuse of an already-used numbered suffix that could produce duplicate module or chunk ids. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Native CSS resolves @custom-media, including media-type values, and @custom-selector. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Fixes broken HMR with output.module and non-import chunk loading by emitting a plain-JSON hot-update manifest. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Recognizes modern RegExp flags d, s, u, and v when statically evaluating new RegExp(...). (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Keeps required JSON data intact when prototype methods such as arr.includes() are called on it. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Fixes undersized modules being merged into the wrong result group. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- Prevents a malformed HTML magic comment from leaking a pending inline directive onto the next element. (5.109.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.109.0)
- HTML asset URLs are resolved against the document's <base href>. (5.108.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.4)
- Directory references in `new URL(...)` are passed through instead of being resolved. (5.108.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.4)
- The cache is keyed on a lazy barrel's still-lazy re-export targets. (5.108.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.4)
- Fixes an HMR code generation crash when harmony accept has unresolved imports. (5.108.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.3)
- Matches dependencies by module reference so HMR code generation handles imports without a module or chunk id. (5.108.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.3)
- Fixes deferral of ungrouped side-effect imports in lazy barrels. (5.108.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.2)
- Respects the node: prefix for Node.js core modules used as externals. (5.108.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.2)
- Fixes invalid property access for escaped namespace imports with multi-character mangled export names. (5.108.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.1)
- Adds frames to the ProfilingPlugin event so its trace loads in Chrome DevTools. (5.108.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.1)
- Keeps all CommonJS exports when an exported function accesses them through this. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Keeps the full exports object when a require() binding is re-exported. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- No longer drops exports accessed before a deferred require binding. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Access to an undefined object member now resolves as undefined. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Recognizes forward-slash Windows absolute paths such as C:/dir consistently. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Resolves and rewrites asset URLs inside iframe srcdoc in HTML modules. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Re-encodes inline hash digests from the full content hash for full entropy, realContentHash compatibility, and dynamically loaded chunk filenames; preserves leading zero bytes in base-N digests. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Fixes module-sharing hostname validation. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- On the node target, resolves a global Worker constructor to worker_threads. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Allows the filesystem root as output.path by treating EISDIR like EEXIST in mkdirp. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Improves commonjs, node-commonjs, and global externals for universal targets. (5.108.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.108.0)
- Chunk-hash placeholders in chunk URLs embedded in extracted HTML are now resolved. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- HTML content hashes now account for changes to referenced assets and inline-style URLs. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Missing entry options are filled in when an async block joins an existing entrypoint. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- Fixes a first-activation `ReferenceError` for lazy-compiled modules in closure-wrapped `umd`, `umd2`, `amd`, `amd-require`, and `system` library bundles with statically enumerable externals. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- External runtime conditions are included in concatenated-module hash updates, so changes invalidate persistent caches. (5.107.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.2)
- CreateData now represents the fully populated value passed to module creation hooks, while ResolveData.createData is Partial<CreateData>. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Decodes all WHATWG named character references, including legacy bare forms and multi-code-point entities, with longest-prefix backtracking. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Imported bindings inside inline AMD define callbacks in ES modules are rewritten to imported references, avoiding runtime ReferenceError; inner graph usage analysis is also fixed for a related function pattern. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Hash placeholders with length suffixes, such as [fullhash:N] and [hash:N], are now interpolated at runtime instead of remaining as XXXX. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Traversal is iterative, preventing stack overflows on long linear chains of side-effect-free imports. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Multiple SourceMapDevToolPlugin instances can coexist with devtool on the same asset; additional related.sourceMap entries are appended instead of overwritten. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- WebAssembly async and sync generator hooks now use EmptyGeneratorOptions instead of EmptyParserOptions. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Prefetch orders are resolved per import() call site instead of leaking across imports that share a webpackChunkName. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Preload orders are resolved per import() call site instead of leaking across imports that share a webpackChunkName. (5.107.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.1)
- Supports no-expression template literals in computed member access, such as import.meta[`url`]. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Recomputes CSS chunk content hashes and rendered bytes when an asset referenced from CSS changes its hashed filename. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Preserves the @charset at-rule when CSS modules use exportType: "text". (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Fixes HMR for concatenated CSS modules with style exportType using stable per-module style element identifiers and inner module IDs in HMR records. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Fixes self-composition duplicate module instances, per-class local() and global() tracking, and composed-file ordering. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- A .module.<ext> file imported directly and via icss composes or :import becomes a single module instance. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Fixes @value resolution when the same local name is imported from multiple modules. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Cyclic star re-exports now detect per-name cycles and fall through to a non-cyclic source instead of producing a recursive getter chain. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- External dependencies in ESM output preserve defer and source import phase keywords, as import attributes do. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Fixes typeof and instanceof for deferred default-only and default-with-named external modules under optimization.concatenateModules. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Assignment to a deferred namespace no longer evaluates the module; deferred namespaces are distinct from eager namespaces and shared across defer-import call sites for the same module. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- A side-effect-free SequenceExpression argument with a static specifier is resolved like a direct static import() specifier. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Tree-shaking purity analysis handles more expression types and PURE comments in template interpolations, while preventing comments from leaking across object properties. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Resolves [hash] and [fullhash] placeholders when generating url() references for experiments.css. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Escapes # in a request's directory portion when it also contains a query string, allowing projects in such paths to resolve correctly. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Attaches a no-op rejection handler to best-effort prefetch so chunk loading failures do not cause unhandled rejections. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- When an ES module exports the literal name "module.exports", CommonJS require() returns that export's value instead of the namespace object, matching Node.js behavior. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Preserves using declaration initializers when inner graph optimization is enabled. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Fixes spec deviations in the deferred namespace object returned by this runtime helper. (5.107.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.107.0)
- Asset modules are available in JS context when referenced from both CSS and a lazily compiled JS chunk. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- CSS modules now handle `@charset` at-rules. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- CSS @import inherits the parent module's exportType, so a file configured as text correctly creates a style tag when imported by a style parent. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- The `entries` and `entrypoints` options no longer have user-provided falsy values overridden by `||` default handling. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- Missing generator options are included in the hash, ensuring persistent cache invalidation when configuration changes. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- The `modules` option no longer has its user-provided falsy value overridden by `||` default handling. (5.106.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.2)
- Generated fix-up code now references the real assignment target and uses Object.defineProperty and Object.getOwnPropertyDescriptor, avoiding ReferenceError and supporting pre-ES2015 runtimes. (5.106.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.1)
- Local ident hashing now uses compiler context instead of module context, avoiding hash collisions for same-named files in different directories. (5.106.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.1)
- CSS modules no longer rename !important as a local identifier. (5.106.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.1)
- Entry chunks are hashed after runtime chunks to prevent stale content-hash references in watch mode. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Corrects url() path resolution and preserves source maps for non-link CSS export types, including style, text, and css-style-sheet. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Fixes resolving in CSS modules. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Anonymous default-exported functions and classes now receive the name "default", per the ES specification. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- As a standalone expression, import.meta now returns a complete object with known properties and stable identity; preserve-unknown ESM output merges runtime properties. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- When outputting an ECMA module library, webpack no longer renders an unused top-level __webpack_exports__ declaration. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Absolute-path virtual module IDs now use their context directly instead of concatenating it with compiler.context. (5.106.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.106.0)
- Handles createRequire when it appears in expressions. (5.105.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.4)
- Narrows detection to explicit existence checks on namespace imports, such as "x" in ns. (5.105.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.4)
- Fixes the types for multi stats. (5.105.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.4)
- Removes empty, needless JavaScript output for normal CSS modules. (5.105.4) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.4)
- The `bytes` import attribute now produces immutable bytes to match the TC39 specification. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Context modules now handle rejections correctly. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Empty JavaScript files are no longer generated for CSS-only entry points. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- CSS modules with `@import` now work during HMR when `exportType` is not `link`, without special HMR handling. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Missing-module errors are thrown after the interception handler, allowing interception to customize the module factory. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Webpack no longer crashes when a referenced chunk is not a runtime chunk. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- The missing declaration is added in certain bundles that combine a JavaScript entry with non-JavaScript entries. (5.105.3) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.3)
- Fixed a type regression affecting WebpackPluginInstance. (5.105.2) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.2)
- Part of createRequire generation behavior for require calls with node: specifiers was reverted to preserve compatibility with those modules' exports. (5.105.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.1)
- Cache keys and filenames are sanitized for Windows filesystem compatibility, replacing colons with double underscores and sanitizing other invalid characters. (5.105.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.1)
- Conditional imports are detected to avoid compile-time linking errors for non-existent exports. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Rendering of Node.js built-in modules is improved for ECMA module output. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Star exports for dependencies are preserved in ECMA module output. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Fixes ESM default export handling for .mjs files in Module Federation. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Fixes missing export generation when concatenated modules in different chunks share the same runtime. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Declaring a module variable in module scope no longer conflicts with the default moduleArgument. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Fixes an unused export name when a self-referencing dependency is imported inside a web worker. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Stats output now respects the stats.errorStack option. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Sets resourceData.context so subsequent module resolution uses a valid filesystem path instead of the virtual scheme path. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Supports multiple URL patterns for Worker self-imports and deduplicates Workers that resolve to the same module. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Reuses the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings. (5.105.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.105.0)
- Avoids accessing the WEBPACK_IMPORT_KEY declaration with var during reexports runtime calculation. (5.104.1) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.1)
- Fixes bugs for the `css/global` type. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Removes CSS link tags when CSS imports are removed. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Handles more at-rules for CSS modules. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Fixes parsing of CSS nesting and CSS custom properties. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Prevents `debugId` injection from being corrupted when using `hidden-source-map`. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Adds serialization support for `HookWebpackError`. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Makes `import.meta.filename` and `import.meta.dirname` compatible with `eval` devtools. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Improves hashing and reduces collisions for CSS local identifiers. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Doesn't write the URL fragment to the filename and instead applies it to the module URL. (5.104.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.104.0)
- Renames single nested __webpack_export__ and __webpack_require__ identifiers in already bundled code. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Fixes cases where defer imports and dynamic default exports are mixed. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Fixes loading of async modules in defer imports. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Chunks declared with dependOn are loaded before the common chunk. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Handles __dirname for ES modules. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Returns to a namespace import when an external request includes a specific export. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Handles __filename for ES modules. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Delays HMR accept dependencies to preserve import attributes. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Fixes the identifier used for import bindings of module externals. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Reexports a module for default imports when no exports are used. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
- Properly handles external presets for the universal target. (5.103.0) — [release notes](https://github.com/webpack/webpack/releases/tag/v5.103.0)
