All Versions
76
Latest Version
Avg Release Cycle
3 days
Latest Release
1223 days ago
Changelog History
Page 5
Changelog History
Page 5
-
v5.0.0-beta.19 Changes
June 29, 2020๐ Features
- ๐ Data Uri are now supported
application/json
,text/javascript
,application/javascript
,application/node
,application/wasm
are supported by default as mimetype- added
Rule.mimetype
to match mimetype in rules
- ๐ [Node Chunk Loading] support runtime and entries being in different chunks (e. g. with runtimeChunk single)
- 0๏ธโฃ [splitChunks] defaults for
splitChunks.maxAsyncRequests
andsplitChunks.maxInitialRequests
has been increased to 30
๐ Bugfixes
- ๐ [Chunk Loading] fix a race condition with chunk loading with multiple webpack builds on a single page with overlapping chunk ids (since beta.18)
data-webpack
has now aoutput.uniqueName
+":"
prefixdata-webpack
is not used when nooutput.uniqueName
is specified
- ๐ [HMR] callback function in
module.hot.accept
is now parsed - [splitChunks.maxSize] chunks are not unnecessary renamed when not splitted at all
- [splitChunks.maxSize] no longer generates filenames that only differ in casing
- ๐ [Module Federation] providing modules now also works in incremental builds
- [Normalization]
stats: true
now normalizes tostats: { preset: "normal" }
- ๐ฑ [Stats] fixed as incorrectly inserted new line in the assets table
- [Jsonp Chunk Loading] fix a problem with non-js chunk in the entrypoint
๐ Changes
- ๐ rename
output.jsonpScriptType
tooutput.scriptType
as it's now also used for other things than jsonp (e. g. script externals)
๐ Performance
- ๐ improvements in SplitChunksPlugin
Contributing
- yarn lockfile is now deduplicated and checked by CI
- ๐ Data Uri are now supported
-
v5.0.0-beta.18 Changes
June 17, 2020๐ Features
- โ add
script
external type, which allows to load a global from a script tag - ๐ allow
entry: {}
for no entries - ๐ allow magic comment in
import()
for used exports/* webpackExports: "default" */
/* webpackExports: ["named", "default"] */
- โ add support for the
"exports"
field in package.json - โ add
resolve.restrictions
to restrict the paths a request can resolve to - ๐ ModuleFederationPlugin
- change defaults to use
script
as remoteType by default - for module requests in shared (like
shared: ["package", "package/sub/path"]
) - this will apply only the references to modules that match this shared module
requiredVersion
will be extracted from package.json of the consumer automatically- new
packageName
option allow to choose the package name for thedependencies
lookup (ordev/peer/optionalDependencies
) requiredVersion: false
allows to disable this
- new
- This means webpack will look for cases in your source code where your are using something like
import "package"
. The next package.json for the referencing module is used to determine arequiredVersion
. The resolved result will be provided as shared module in the version of the package.json at the resulting location. - for relative requests in shared (like
shared: ["./relative/path"]
) - will resolve relative to
context
- doesn't depend on usage in the build. Always provided.
- do not use a
requiredVersion
by default. Only when specified orpackageName
is specified. - This means webpack will resolve the relative request and provide the result as shared module in the version of the next package.json found at the location of the result. All requests resolving to the same file location will consume the shared module without any required version check.
- module requests with tailing
/
in shared (likeshared: ["package/"]
) - will match all module request with this prefix
- otherwise behave like normal module requests
- change defaults to use
๐ Bugfixes
- ๐ Fix a bug in HMR runtime code that causes a crash with
Cannot read property 'hot' of undefined
.
- โ add
-
v5.0.0-beta.17 Changes
June 03, 2020Known Problems
- ๐ The transitive
move-file
dependency requires node >= 10.17, while webpack is intended to be >= 10.13 compatible. This temporary increases the min node version for this beta release until we found a solution to that.- Fixed, latest patch releases are >= 10.13 compatible
๐ Features
- Using module in an ESM no longer needs the whole namespace object
- 0๏ธโฃ SideEffects flag can follow reexports that are partially dynamic or use a compat default
- ๐
export *
uses more exports info data for better exports - 0๏ธโฃ dynamic
export *
no longer flags the default export as maybe provided - ๐ allow module concatenation even when provided exports are unknown, but used exports are known
- โ add
promise
external, which is like var but awaits the global value in a async module - โ add
import
external, which usesimport()
to load a native ESM - โ add
output.importFunctionName
to change theimport()
to something else, e.g. to a polyfill. - โ remove some unneeded dependencies
- Module Federation
- removed scope shortcut object config for container plugins (BREAKING)
- add ability to pass advanced options to container plugins
- allow to expose an array of modules (similar to entry)
- allow to provide an array of remote locations (they act as fallback)
- await when a promise is returned by the external
- allow to expose an index module which is used when using the remote without subpath
- change exposed keys to be prefixed with
./
(BREAKING) - automatically inferred keys do no longer omit leading non-word chars
- add version handling to shared modules (see #10960 for details, BREAKING)
๐ Bugfixes
- 0๏ธโฃ export default no longer converts function declarations to expressions
- inline external type can also provided when using an array external.
- ๐ fixed a bug in snapshotting that caused changes to be ignored during watching
- โ add missing dependency for correct typings
- Persistent Caching
- DllPlugin related classes are now serializable
Date
s are serializable
๐ Changes
- ๐ merged all asset processing hooks into a new hook
processAssets
with stages - ๐ Modifications to
compilation.asset
after sealing are deprecated
- ๐ The transitive
-
v5.0.0-beta.16 Changes
May 05, 2020๐ Features
- โ added experimental "Module Federation" - a way to load modules from separate builds into one application
- read more about the concepts here: https://github.com/webpack/changelog-v5/blob/master/guides/module-federation.md
- ๐ improve error messages when wasm experiments are disabled
- ๐ฆ expose some webpack options types in typings
- โ added more details to ProgressPlugin
๐ Bugfixes
- ๐จ refactor exports info logic for CommonJs exports
- fixes a bug when using an export named
default
in CommonJs
- fixes a bug when using an export named
- record chunk id using chunk group name and index in it
- fixes a bug when using HMR and split-chunked initial chunk
- also set parents in module graph when using non-recursive module creation
- fixes crash in harmony dependency when using this.loadModule with imports
- ๐ force upgrade terser-webpack-plugin for memory leak bugfix
- ๐ fix small non-monotony in the ProgressPlugin
- track runtime modules that need a full hash and calculate it
- fixes a bug where main.js is not updated on a HMR update
- This caused that all previous HMR updates are applied on reload
Contributing
- โ CI tests node.js 14 instead of 13 now
- ignore code coverage for timing dependent code
Full Changelog
Feedback
- โ added experimental "Module Federation" - a way to load modules from separate builds into one application
-
v5.0.0-beta.15 Changes
April 21, 2020๐ฅ Breaking Changes
- generate and expose typescript typings from webpack
๐ Features
- โ add API to generate and process CLI arguments targeting webpack configuration
- add
__system_context__
as context from System.js when using System.js as libraryTarget - โ add
module.hot.invalidate()
API to trigger an additional hot update of this module - โ add bigint support for the
DefinePlugin
- โ add bigint support for basic evaluations like maths
๐ Bugfixes
- ๐ fix a
ReferenceError: xxx is not defined
where some pure expression where not be removed from the code - ๐ fix handling of
extends
inclass
when class is unused - ๐ fix incorrect schema validation for Rule conditions (include, exclude and test are not valid here)
- ๐ fix some spelling issues
- โ add space between value and unit in output
- ๐ fix generated code when using the
DefinePlugin
with-0
- Exports from System.js externals behave correctly as ESM now
๐ Improvements
- โ remove some duplication info in seralization
- ๐ make descriptions in schema more consistent in formating
Internal
- โ add spellcheck to CI
Full Changelog
Feedback
-
v5.0.0-beta.14 Changes
March 02, 2020๐ Changes
- 0๏ธโฃ
optimization.sideEffects
,optimization.innerGraph
andoptimization.usedExports
are on by default now (only production before)- Motivation: less difference between prod and dev builds, getting sideEffects benefits in dev mode.
- ๐ EnvironmentPlugin shows an error now when referenced env variable is missing and has no fallback
- Motivation: Builds should fail when an expected env variable is missing
- โ Remove
serve
property from schema- Motivation: No longer needed, as this has move to a plugin
- ๐ merge all library related options into
output.library
output.library: { type, name, export, auxiliaryComment, umdNamedDefine }
- old options are still possible, but no longer recommended
- Motivation: more clear structure, easier sharing with
library
in theentry
option
๐ Features
- ๐ Allow a entry description object for advanced entrypoint configuration
entry: { main: { ... } }
import
: list of modulesfilename
: custom filename template- Using
output.chunkFilename
is no longer recommended and onlyoutput.filename
should be used now dependOn
: list of other entrypoint which are expected to be available on pagelibrary
: library exposing
- โ add
percentBy
option to ProgressPlugin to change percent calculation - ๐ DefinePlugin supports arrays directly now
- ๐ sync wasm support v128 now
- โก๏ธ Update PnP support to pnp version 3 (yarn berry)
- โ add
output.uniqueName
option- defaults to the package.json name in the current directory
- affects globals used for chunk communication e. g.
output.jsonpFunction
DX
- ๐ Make
Compiler/Compilation.cache
property read-only to make it easier to fix compat issues - ๐ ProgressPlugin stores and restores counts from last build to persistent cache for better progress calculation
- โ Add
Did you mean
to error message for some common configuration mistakes
๐ Bugfixes
- ๐ fix infinite loop when using
export *
in a circular way - CLI has non-zero exit code when stdin is not available to ask for webpack-cli installation
- hoist exports in concatenated modules
- fixes bug with circular dependencies with non-concatenated modules
- generate valid syntax for the injected error code when modules are not found
๐จ Refactoring
- ๐จ Internal refactoring of the inner graph API
- ๐จ The way the default webpack configuration is created has been refactored
- New process: 1. configuration is normalized, 2. Plugins are applied, 3. configuration defaults are set
- This allows plugins to apply their own configuration defaults.
- This allows to write Configuration Preset Plugins.
- ๐จ refactor the way library exposing is handled
๐ Performance
- ๐ฒ Increase the time logging of the core when using verbose logging
- ๐ Performance improvements
- Chunk Graph
- Persistent Caching
- SplitChunks
- Chunk
Full Changelog
Feedback
- 0๏ธโฃ
-
v5.0.0-beta.13 Changes
January 29, 2020๐ Features
this.getOptions
in loader context- optionally takes a schema for validation
- see #10017 for more information
- Persistent Cache storage has been improved
- Multiple files instead of one big file. Separate files are created when cache items are unused or unchanged, while trying to keep each file > 1MB
- ๐
generator.filename
support fortype: "asset"/"asset/resource"
๐ Bugfixes
- ๐ fix ident handling for
Rule.options
- ๐ fix handling of
watchOptions.aggregateTimeout: 0
- ๐ fix default for
output.hotUpdatefunction/jsonpFunction/chunkCallbackName
whenoutput.library
is an array - ๐ fix
target: "node"
chunk loading when output files are in different folders - disable constant evaluation in
"use asm"
code - ๐ fix bug with variable renaming in concatenated modules introduced in 5.0.0-beta.11
Full Changelog
Feedback
-
v5.0.0-beta.12 Changes
January 16, 2020๐ Bugfixes
- ๐ handled
sourceRoot
in SourceMaps from modules/loaders - ๐ make order of exports in hashing deterministic to fix a hash change on recompilation
- generate async module code correctly even when no
await
is used, but other async module is imported - ๐ flag all modules as used when using DllPlugin with
entryOnly: false
- ๐ fix a race condition in the persistent cache where the cache file is persisted twice in parallel
- โฌ๏ธ upgrade watchpack for incorrectly emitted change events and wrong timestamps
- ๐ fix string/number formatting inconsistency in HMR output files
/*# __PURE__ */
is applied to function calls when doing innerGraph analysis
๐ Changes
- ๐ change the default of
entryOnly
of theDllPlugin
to true - โ remove special request shortening logic and use single relative paths for readable module names
๐ Features
- ๐ allow
webpack://
urls in SourceMaps to provided paths relative to webpack root context - โ show all possible exports in the warning/error when export was not found or name is incorrect
- treat sequence expression, function and class expressions as pure for innerGraph analysis
Full Changelog
Feedback
- ๐ handled
-
v5.0.0-beta.11 Changes
December 24, 2019๐ Bugfixes
- ๐ show error when mimetype is missing for
type: "asset"
- ๐ fix parsing of requires with nesting
require("x").fn(require("x"))
๐ Improvements
- ๐ rename symbols less often in concatenated modules
Full Changelog
Feedback
- ๐ show error when mimetype is missing for
-
v5.0.0-beta.10 Changes
December 22, 2019๐ Features
- Concatented modules are persistent cacheable now
- โ add an explanation comment to eval-based devtools about readablilty of output files
- ๐ improved profiling mode of progress to display timings per plugin and substep
๐ Bugfixes
- ๐ fix a
no ChunkGraph assigned
crash when using HMR and the mini-css-extract-plugin - bailout inner graph optimization when a module uses
eval()
- detect a cycle in
this.loadModule
and show error in this case - ๐ allow mangle even if object prototype export names are used
- prevent mangling for object prototype export names in CommonJS
- only treat Object.defineProperty for top-level this as export
- replace Object.defineProperty correctly when value is in brakets
๐ Performance
- โ add in-memory cache for wrapper code of module factories
๐ Deprecations
- ๐ deprecate using string loader option in config
- prefer passing an object to
options
- prefer passing an object to
Internal
- ๐จ refactor prefetch/preload logic into separate plugin to be reusable for other module types
Full Changelog
Feedback