NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #825 most downloaded on npm
Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.
Last release 15 days ago
18 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
889 releases · first in 2012
correct preOrderIndex and postOrderIndex
unmanagedPaths in defaultspreOrderIndex and postOrderIndexcompareStringsNumericnumberHash using 32-bit FNV1a for small ranges, 64-bit for largerOptimized RemoveParentModulesPlugin via bigint arithmetic
RemoveParentModulesPlugin via bigint arithmeticServer and DirentfetchPriority to hmr runtime's ensureChunk functionoutput.environment.arrowFunction option/*#__PURE__*/ to generated JSON.parse()amd externals and amd librarySideEffectsFlagPlugin with namespace re-exportsorstrictModuleErrorHandling is now workingfalse for dev server in webpack.config.jsnode-module option for the node.__filename/__dirname and enable it by default for ESM targetsnapshot.unmanagedPaths optionMultiCompilerOptions typeexportsOnly option to CSS generator optionsFull Changelog: https://github.com/webpack/webpack/compare/v5.89.0...v5.90.0
One column per quarter.
Make CommonJS import preserve chained expressions by @bworline in https://github.com/webpack/webpack/pull/17718
Full Changelog: https://github.com/webpack/webpack/compare/v5.88.2...v5.89.0
Fixed a bug where unused identifiers should retain names when using css modules by @burhanuday in https://github.com/webpack/webpack/pull/17444
Full Changelog: https://github.com/webpack/webpack/compare/v5.88.1...v5.88.2
Significantly improve TypeScript coverage for Library Plugins by @alexander-akait in https://github.com/webpack/webpack/pull/17414
Full Changelog: https://github.com/webpack/webpack/compare/v5.88.0...v5.88.1
[CSS] - Use css/auto as the default css mode by @burhanuday in https://github.com/webpack/webpack/pull/17399
css/auto as the default css mode by @burhanuday in https://github.com/webpack/webpack/pull/17399Full Changelog: https://github.com/webpack/webpack/compare/v5.87.0...v5.88.0
Implement fetchPriority feature as parser option and magic comment by @alexander-akait in https://github.com/webpack/webpack/pull/17249
fetchPriority feature as parser option and magic comment by @alexander-akait in https://github.com/webpack/webpack/pull/17249@aboktor made their first contribution in #16991 #16989 @silverwind made their first contribution in #17339 via #17329
Full Changelog: https://github.com/webpack/webpack/compare/v5.86.0...v5.87.0
Improved cache size performance via better handling of serialization for errors and bigints by @alexander-akait in https://github.com/webpack/webpack/
ProgressPlugin by @alexander-akait in https://github.com/webpack/webpack/pull/17312RegExp to splitChunks.chunks by @hyf0 in https://github.com/webpack/webpack/pull/17332ContextModule types by @huozhi in https://github.com/webpack/webpack/pull/17310__non_webpack_require__ with ES modules by @alexander-akait in https://github.com/webpack/webpack/pull/17308Chunk, ChunkGroup, and other plugins by @alexander-akait in https://github.com/webpack/webpack/pull/1731js extension for eval source maps when extension is not resolvable by @alexander-akait in https://github.com/webpack/webpack/pull/17331Full Changelog: https://github.com/webpack/webpack/compare/v5.85.1...v5.86.0
Fix bug in handling barrel imports (#17305) by @bworline in https://github.com/webpack/webpack/pull/17307 - _NOTE: An internal API BasicEvaluatedExpre
BasicEvaluatedExpression.getMemberRangeStarts has been changed to BasicEvaluatedExpression.getMemberRanges, please see type definition changes and the pull request for more information.Full Changelog: https://github.com/webpack/webpack/compare/v5.85.0...v5.85.1
Add readonly cache mode by @vankop in https://github.com/webpack/webpack/pull/15470
readonly cache mode by @vankop in https://github.com/webpack/webpack/pull/15470environment in loader context by @alexander-akait in https://github.com/webpack/webpack/pull/17281addModule() support in worklets - *context.audioWorklet.addModule() by @alexander-akait in https://github.com/webpack/webpack/pull/17212Full Changelog: https://github.com/webpack/webpack/compare/v5.84.1...v5.85.0
Fix regression in inner graph for reserved identifiers by @alexander-akait in https://github.com/webpack/webpack/pull/17265
Full Changelog: https://github.com/webpack/webpack/compare/v5.84.0...v5.84.1
SourceMapDevToolPlugin now supports append option as a function by @snitin315 in https://github.com/webpack/webpack/pull/17252
append option as a function by @snitin315 in https://github.com/webpack/webpack/pull/17252@import by @alexander-akait in https://github.com/webpack/webpack/pull/17229JavascriptParser and ModuleDependency subclasses by @alexander-akait in https://github.com/webpack/webpack/pull/17236strict-mode quality for Configuration/Normalization objects by @alexander-akait in https://github.com/webpack/webpack/pull/17247with { type: "json" } by @alexander-akait in https://github.com/webpack/webpack/pull/17230Full Changelog: https://github.com/webpack/webpack/compare/v5.83.1...v5.84.0
Fix regression in import/export normailization effecting mini-css-extract-plugin by @alexander-akait in https://github.com/webpack/webpack/pull/17214
Full Changelog: https://github.com/webpack/webpack/compare/v5.83.0...v5.83.1
Normalize property access for imports and exports by @bworline in https://github.com/webpack/webpack/pull/17137
chunkgroup.groupsIterable return type by @TheLarkInn in https://github.com/webpack/webpack/pull/17196ChunkGroup to type definitions by @TheLarkInn in https://github.com/webpack/webpack/pull/17201NormalModuleFactory's ResolveData type to public interface by @TheLarkInn in https://github.com/webpack/webpack/pull/17195compilation.afterChunks hook by @TheLarkInn in https://github.com/webpack/webpack/pull/17202Full Changelog: https://github.com/webpack/webpack/compare/v5.82.1...v5.83.0
[CSS] - Support nesting in CSS modules and bug fixes by @alexander-akait in https://github.com/webpack/webpack/pull/17133
importModule when CSS enabled by @alexander-akait in https://github.com/webpack/webpack/pull/17140output.hashFunction was failing to generate debug hash by @ahabhgk in https://github.com/webpack/webpack/pull/16950Full Changelog: https://github.com/webpack/webpack/compare/v5.82.0...v5.82.1
[CSS] - Add URL dependencies support to consume shared module via module federation by @snitin315 in https://github.com/webpack/webpack/pull/16945
media/supports/layer from parent CSS module by @alexander-akait in https://github.com/webpack/webpack/pull/17115#hash URL as external (similar to Parcel) by @alexander-akait in https://github.com/webpack/webpack/pull/17116StringXor class. by @TheLarkInn in https://github.com/webpack/webpack/pull/17070numberHash by @TheLarkInn in https://github.com/webpack/webpack/pull/17072JavascriptParser by @TheLarkInn in https://github.com/webpack/webpack/pull/17094BasicEvaluatedExpression by @TheLarkInn in https://github.com/webpack/webpack/pull/17096Full Changelog: https://github.com/webpack/webpack/compare/v5.81.0...v5.82.0
Refactor tests to no longer use deprecated or legacy dependencies and APIs by @alexander-akait in https://github.com/webpack/webpack/pull/17033
ignoreBrowserWarnings option to ignore browser console warnings in ModuleFederation by @indeediansbrett in https://github.com/webpack/webpack/pull/16388provide to getOrInsert in MapHelpers and document it better by @TheLarkInn in https://github.com/webpack/webpack/pull/17060Full Changelog: https://github.com/webpack/webpack/compare/v5.80.0...v5.81.0
Support destructuring assignment in import.meta by @vankop in https://github.com/webpack/webpack/pull/16996
import.meta by @vankop in https://github.com/webpack/webpack/pull/16996AwaitExpression by @vankop in https://github.com/webpack/webpack/pull/16995errorsSpace, warningsSpace for more readable traces in stats by @vankop in https://github.com/webpack/webpack/pull/15450url()/src()/image-set()/image() by @alexander-akait in https://github.com/webpack/webpack/pull/16978statement.finalizer in parser by @xiaoboost in https://github.com/webpack/webpack/pull/17016moduleId assignment due to encountering NaN in sort function by @scameron in https://github.com/webpack/webpack/pull/16933@supports field by @alexander-akait in https://github.com/webpack/webpack/pull/17011BannerPlugin by @jeffin143 in https://github.com/webpack/webpack/pull/10736finializer from cspell.json by @snitin315 in https://github.com/webpack/webpack/pull/17022wasm-bindgen example to example by @gthb in https://github.com/webpack/webpack/pull/14313@webassemblyjs by @alexander-akait in https://github.com/webpack/webpack/pull/17003Full Changelog: https://github.com/webpack/webpack/compare/v5.79.0...v5.80.0
webpack will now support simple destructuring scenarios for treeshaking namespaced imports and DefinePlugin by @vankop in https://github.com/webpack/w
DefinePlugin by @vankop in https://github.com/webpack/webpack/pull/16941DefaultStatsPrinter by @snitin315 in https://github.com/webpack/webpack/pull/16882[contenthash] template support in DllPlugin's name option by @snitin315 in https://github.com/webpack/webpack/pull/16935readRecords compiler hook was causing hangs in conjunction with the ReadRecordsPlugin by @snitin315 & @zookatron in https://github.com/webpack/webpack/pull/16944@MEDIA by @alexander-akait in https://github.com/webpack/webpack/pull/16915Externals Option types by @snitin315 in https://github.com/webpack/webpack/pull/12774shareScope option by @snitin315 in https://github.com/webpack/webpack/pull/16943Full Changelog: https://github.com/webpack/webpack/compare/v5.78.0...v5.79.0
Implement amdContainer support for AMD libraries (Fixes #16561) by @long76 in https://github.com/webpack/webpack/pull/16562
amdContainer support for AMD libraries (Fixes #16561) by @long76 in https://github.com/webpack/webpack/pull/16562@media or @supports now properly are replaced with unique identifiers by @noreiller in https://github.com/webpack/webpack/pull/15812oneOf rule has been picked multiple times by @xiaoxiaojx in https://github.com/webpack/webpack/pull/16477createRequire support for node:module prefix by @alexander-akait in https://github.com/webpack/webpack/pull/16904ErrorHelpers named functions; Add types by @TheLarkInn in https://github.com/webpack/webpack/pull/16893ModuleTypeConstants for plugins by @TheLarkInn in https://github.com/webpack/webpack/pull/16896Full Changelog: https://github.com/webpack/webpack/compare/v5.77.0...v5.78.0
Add a new output option, output.workerPublicPath by @thomastay in https://github.com/webpack/webpack/pull/16671
output.workerPublicPath by @thomastay in https://github.com/webpack/webpack/pull/16671resolve.extensions error message to suggest when "." is missing before the extension by @snitin315 in https://github.com/webpack/webpack/pull/16807Full Changelog: https://github.com/webpack/webpack/compare/v5.76.3...v5.77.0
Non-javascript files will correctly not be imported when using experiments.outputModule (ES Module Output) by @snitin315 in https://github.com/webpack
experiments.outputModule (ES Module Output) by @snitin315 in https://github.com/webpack/webpack/pull/16809inspector/promises, readline/promises, and stream/consumers by @ShenHongFei in https://github.com/webpack/webpack/pull/16841NODE_PATH env variable by @snitin315 in https://github.com/webpack/webpack/pull/16808resolveResourceErrorHints by @snitin315 in https://github.com/webpack/webpack/pull/16806loaders token support to moduleFilenameTemplate function call by @pgoldberg in https://github.com/webpack/webpack/pull/16756enabledLibraryTypes in internal ContainerPlugin by @PengBoUESTC in https://github.com/webpack/webpack/pull/16635Full Changelog: https://github.com/webpack/webpack/compare/v5.76.2...v5.76.3
Fix bug where a missing semicolon in generated bundle output for publicPathRuntime would cause concatenated runtime errors by @snitin315 in https://gi
publicPathRuntime would cause concatenated runtime errors by @snitin315 in https://github.com/webpack/webpack/pull/16811onScriptComplete function by @ahaoboy in https://github.com/webpack/webpack/pull/16347RealContentHashPlugin was not respecting output.hashSalt's ability to cause a force recalculation of [contenthash] for emitted assets by @dmichon-msft #16789ModuleGraph due to instance property declarations occurring outside of constructor by @snitin315 in https://github.com/webpack/webpack/pull/16830webpack-sources typings for Source instances by @snitin315 in https://github.com/webpack/webpack/pull/16805Full Changelog: https://github.com/webpack/webpack/compare/v5.76.1...v5.76.2
Added assert/strict built-in to NodeTargetPlugin
assert/strict built-in to NodeTargetPluginhashRegExp lookup by @ryanwilsonperkin in https://github.com/webpack/webpack/pull/16759CVE-2022-37603 fixed by @akhilgkrishnan in https://github.com/webpack/webpack/pull/16446
generatedCode info to fix bug in asset module cache restoration by @ryanwilsonperkin in https://github.com/webpack/webpack/pull/16703hashRegExp lookup by @ryanwilsonperkin in https://github.com/webpack/webpack/pull/16759target to LoaderContext type by @askoufis in https://github.com/webpack/webpack/pull/16781Full Changelog: https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0
add i64 support to the deprecated WASM implementation
experiments.* normalize to false when opt-outNaN%window before trying to access iteval-nosources-* actually exclude sources@import to extenal CSS when using experimental CSS in nodei64 support to the deprecated WASM implementationEnableWasmLoadingPluginadd resolve.extensionAlias option which allows to alias extensions
resolve.extensionAlias option which allows to alias extensions
.js extension to imports when the file really has a .ts extension (typescript + "type": "module")ProvidePluginshareScope option for ModuleFederationPlugin"use-credentials" also for same origin scriptsHarmonyImportDependency for pluginsadd options for default dynamicImportMode and prefetch and preload
dynamicImportMode and prefetch and preloadimport { createRequire } from "module" in source codereturn"field"in ModulePathData in typingsfix json parsing error messages
__webpack_nonce__ with HMRin operator in some casesthis.importModulemake cache warnings caused by build errors less verbose
in operator with nested exportschoose smarter default for uniqueName when using a output.library which includes placeholders
uniqueName when using a output.library which includes placeholdersin of a imported bindingchunkLoading option in module moduleevaluateExpression returns nulllazy-once Context modulesrunAsChild callbackupdate node.js version constraints for ESM support
baseUri to entry options to configure a static base uri (the base of new URL())__webpack_exports_info__.name.canMangleexperiments.buildHttpimport.meta.webpackContext as ESM alternative to require.contextglobal to a variableexperiments.outputModule and loaderContext.importModule with multiple chunksoutput.clean will keep HMR assets for at least 10s to allow HMR to access them even when compilation is faster then the browserrevert "handle multiple alternative directories (e. g. due to resolve.alias or resolve.modules) when creating an context module"
automatically switch to an ESM compatible environment when enabling ESM output mode
resolve.alias or resolve.modules) when creating an context moduleutil/types to node.js built-in modules__webpack_exports_info__.<name>.canMangle apistage option when instrumenting plugins for the ProfilingPlugin# in paths of loadersexperiments.buildHttpallow to disable compile time evaluation of import.meta.url
__webpack_module__ and __webpack_module__.id to the apiadd 'outputPath' configuration option for resource asset modules
experiments.css
SyncModuleIdsPlugin to sync module ids between server and client compilationDeterministicModuleIdsPlugin to allow to generate equal idsnull to errors in callbacksexperiments.css
|webpack-hot-middleware/client from lazy compilationadd output.library.type: "commonjs-static" to emit a statically analyse-able commonjs module (for node.js esm interop support)
output.library.type: "commonjs-static" to emit a statically analyse-able commonjs module (for node.js esm interop support)experiments.css (very experimental)
experiments.lazyCompilation[absolute-resource-path] for SourceMap module namingwatchOptions.aggregateTimeout to 20msstatic evaluation understands undefined now
undefined nowsingleton flag without requiredVersion in Module Federationwatchpack for context time info bugfixoutput.globalObject contains a non-trival expressionscript type external with invalid syntaxResolver, StatsOptions and ResolvePluginInstancehashDigestLength will default to 16 in webpack 6 (experiments.futureDefaults)fix tagged template literal evaluation
allow to use pre-compiled schema when Infinity is used in configuration
Infinity is used in configurationavoid double initial compilation due to invalid dependencies with managedPaths
fix regexp in managedPaths to exclude additional slash
require(...).property in require.ensureoutput.clean: trueunsafeCache within managedPaths (node_modules)add asyncChunks: boolean option to disable creation of async chunks
asyncChunks: boolean option to disable creation of async chunksexperiments.backCompat: falseallow passing chunkLoading: false to disable on-demand loading
chunkLoading: false to disable on-demand loadingimport 'single-quote' in esm build dependenciesfix __system_context__ injection when using the library option on entrypoint
__system_context__ injection when using the library option on entrypointexportsPresence: "error" by default in futureDefaultsexportPresence -> exportsPresence typoexperiments.cacheUnaffectedfix invalid generated code when omitting ;
;add experiments.backCompat: false to disable some expensive deprecations for better performance
parser.javascript.reexportExportsPresence: false allows to disable warnings for non-existing exports during the migration from export ... from "..." to export type ... from "..." for type reexports in TypeScriptexperiments.backCompat: false to disable some expensive deprecations for better performance['catch'] instead of .catch for better ES3 supportnew (require("...")).Something(){ require } object literalssplitChunks.chunks option is now correctly used for splitChunks.fallbackCacheGroup.maxSize toolisten option, allow to omit port/// <reference types="webpack/module" /> to use the typings in typescript modules"types": [..., "webpack/module"] in tsconfiguse a wasm md4 implementation for node 17 support
path submodules in the node.js default externalsAllow to pass more options to experiments.lazyCompilation. e. g. port, https stuff
experiments.lazyCompilation. e. g. port, https stuffoutput.hashFunction used to persistent caching toobuildDependencies Set correctly when loaders are added in beforeLoaders hookfix hanging when trying to write lockfile for experiments.buildHttp
experiments.buildHttpadd /*#__PURE__*/ for Object() in generated code
/*#__PURE__*/ for Object() in generated codemanaged/immutablePathsexperiments.buildHttp
splitChunks.minSizeReduction optionwaitFor when modules are unsafe cachedfix serialization context passed
fix .webpack[] suffix to not execute rules
.webpack[] suffix to not execute rulesadd diagnostics_channel to node builtins
diagnostics_channel to node builtinsfix experiments.cacheUnaffected which broke by last release
reduce number of hash.update calls
DefinePlugin: fix conflict with older variants of the plugin
make DefinePlugin rebuild check more efficient performance and memory wise
fixes for experiments.cacheUnaffected
experiments.cacheUnaffected
make it faster by moving it to Compilation-level instead of in NormalModuleFactory
experiments.cacheUnaffected
module.unsafeCache
Your coding agent can read these notes before it upgrades. Set up the MCP server →