Releases: webpack/webpack
v2.2.0-rc.0
This is the first RC for webpack 2. We will try to avoid breaking changes now until webpack 3.
Bugfixes:
- id in generated code of a context module is correctly escaped
- context modules are now affected by NamedModulesPlugin, HashedModuleIdsPlugin, DllPlugin
- performance hints ignore SourceMaps now
- don't include multiple
use stricts imports also mark the module as ES2015 module likeexports- exit the process correctly when watching and a critical error happens
- externals are no longer moved by the commons chunk plugin
Features:
- entrypoints are flagged with
[big]if they are over the limit - improve validation errors
- allow to alias loaders to a value with query
- performance improvements
v2.1.0-beta.28
Major changes:
- add
import()as Code Splitting construct. It should be used instead ofSystem.importwhen possible.System.importwill be deprecated in webpack 2 release (removed in webpack 3) as it's behavior is incorrect according to the spec. *.jsonfiles are now supported without thejson-loader. You may still use it. It's not a breaking change.- webpack will now show performance warnings when bundle size is too big. You can disable them with
performance.hints = false. It recommended to disable them in development but leave them enabled in production.
Bugfixes:
- Generate equal code on each platform when using node.js modules,
module,process,global, etc. - CLI: Fixes
--module-bindfor the-loaderchange - Validation:
externalsnow allows boolean values - Loaders: Complex options are now correctly passed when using remainingRequest like with the
style-loader - Fixes a event leak when using watch mode
- Stats:
excludenow only tests resource and not complete identifier - Fixes bug related to
export * from ... - CLI: Fix behavior of
--cacheand--no-cache - It's now possible to combine webpack ES2015 modules with babel ES2015 modules
Features:
- add
output.strictModuleExceptionHandlingoption which handles exceptions in modules correctly, but with less performance. The more performant variant is enabled by default. - Template strings are now allowed at locations where expressions are allowed.
import(./template/${template}) - Allow to match rules on resourceQuery
- add
__webpack_nonce__to set nonce for chunk loading script tags - Improve tree shaking for
import *
Performance:
- Cache some expensive stuff
🎄 We are approaching the first Release Candidate...
v1.14.0
v2.1.0-beta.27
Bugfixes:
- fixed indexed access to imported namespace object
import * as X; X["abc"] - Deprecated DedupePlugin
- Display an additional message for the breaking change in beta.26 to hint the user
- fixed schema validation problem with
noParse
v2.1.0-beta.26
Breaking Changes:
-loader is no longer automatically added when resolving loaders
This was removed because it often lead to problems.
You can still opt-in to the old behavior with the resolveLoader.moduleExtensions configuration option.
Node.js 0.10 is no longer supported
Node.js LTS for this version is expired. You won't miss it.
Note: 0.12 will expire in December 2017. We will remove it soon too.
Features:
- AMD
requirenow supports an error callback as 3rd argument
Bugfixes:
- Declarations from destruction now hides imports
- The parser now detects identifiers in destruction and default arguments
- The parser no longer crashes on empty patterns
[, a] - The schema now validates more stuff correctly
--versionnow works correctly
v2.1.0-beta.25
Features:
- better error message for
debugand custom properties.
Fixed Bugs:
nodeconfiguration also accepts"empty"- fixed a Testcase
v2.1.0-beta.24
Breaking changes:
- renamed
enforce: "left"/"right"toenforce: "pre"/"post", because it's easier to understand and makes migration simpler
Fixed bugs:
- Validation
- added special error message which points to the LoaderOptionsPlugin
- Schema
- sort alphabetically
- fixes issues with oneOf schema type
- CI
- fixed build
v2.1.0-beta.23
Breaking Changes:
removed postLoaders and preLoaders
rules enforce: "left" and enforce: "right" can be used instead.
rules should be used instead of loaders, but the old one still work.
Same syntax + additional options. Allows to configure the parser too. Allows matching by issuer.
configuration is validated against a schema
moved parser instancation into NormalModuleFactory
compiler.parser must no longer be used. Use this instead:
compiler.plugin("compilation", function(compilation, params) {
params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
parser.plugin(/* ... */);
});
});Features:
DllReferencePlugin- added
extensionsoption. manifestcan be a path to a manifest, which is resolve at compile time.
- added
- Rules
parsercan be configured. Disable parsing features is now possible.- loader
options(query) can be any object now. (Before only stringify-able object were possible)
- Loaders
- loader-runner: loaders can return a Promise.
- Compilation
- WebWorker: fixed HMR template
ChunkModuleIdRangePlugin: added experimental plugin to assign module ids to a chunk. (related to Long Term Caching)
- UglifyJs: version updated.
- MultiCompiler:
dependenciesparameter added. Allows to specify dependencies with multiple configurations. They are compiled in this order. - CLI
- multiple
--configs allowed. - added
--display-provided-exportsand--display-used-exports -vprints version
- multiple
- CI
.editorconfigis validated
Fixed Bugs:
- Tree Shaking
- System parsing
Migration Example
Below is an example PR that you can reference to help assist you in migrating from .22 to .23:
https://github.com/angular/angular-cli/pull/2237/files