13.0.0 (2021-11-03)
Breaking Changes
@schematics/angular
classlist.js
andweb-animations-js
are removed from application polyfills and uninstalled from the package. These were only needed for compatibility with Internet Explorer, which is no longer needed now that Angular only supports evergreen browsers. See: https://angular.io/guide/browser-support.
Add the following to the polyfills file for an app to re-add these packages:
import 'classlist.js';
import 'web-animations-js';
And then run:
npm install classlist.js web-animations-js --save
- We removed several deprecated
@schematics/angular
deprecated options. lintFix
have been removed from all schematics.ng lint --fix
should be used instead.legacyBrowsers
have been removed from theapplication
schematics since IE 11 is no longer supported.configuration
has been removed from theweb-worker
as it was unused.target
has been removed from theservice-worker
as it was unused.
@angular/cli
- We drop support for Node.js versions prior to
12.20
.
@angular-devkit/build-angular
-
Support for
karma-coverage-instanbul-reporter
has been dropped in favor of the official karma coverage pluginkarma-coverage
. -
Support for
node-sass
has been removed.sass
will be used by default to compile SASS and SCSS files. -
NG_PERSISTENT_BUILD_CACHE
environment variable option no longer have effect. Configurecli.cache
in the workspace configuration instead.
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"cli": {
"cache": {
"enabled": true,
"path": ".custom-cache-path",
"environment": "all"
}
}
...
}
-
The automatic inclusion of Angular-required ES2015 polyfills to support ES5 browsers has been removed. Previously when targetting ES5 within the application's TypeScript configuration or listing an ES5 requiring browser in the browserslist file, Angular-required polyfills were included in the built application. However, with Angular no longer supporting IE11, there are now no browsers officially supported by Angular that would require these polyfills. As a result, the automatic inclusion of these ES2015 polyfills has been removed. Any polyfills manually added to an application's code are not affected by this change.
-
With this change a number of deprecated dev-server builder options which proxied to the browser builder have been removed. These options should be configured in the browser builder instead.
The removed options are:
-
aot
-
sourceMap
-
deployUrl
-
baseHref
-
vendorChunk
-
commonChunk
-
optimization
-
progress
-
With this change we removed several deprecated builder options
-
extractCss
has been removed from the browser builder. CSS is now always extracted. -
servePathDefaultWarning
andhmrWarning
have been removed from the dev-server builder. These options had no effect. -
Deprecated
@angular-devkit/build-angular:tslint
builder has been removed. Use https://github.com/angular-eslint/angular-eslint instead. -
Differential loading support has been removed. With Angular no longer supporting IE11, there are now no browsers officially supported by Angular that require ES5 code. As a result, differential loading's functionality for creating and conditionally loading ES5 and ES2015+ variants of an application is no longer required.
-
TypeScript versions prior to 4.4 are no longer supported.
-
The dev-server now uses WebSockets to communicate changes to the browser during HMR and live-reloaded. If during your development you are using a proxy you will need to enable proxying of WebSockets.
-
We remove inlining of Google fonts in WOFF format since IE 11 is no longer supported. Other supported browsers use WOFF2.
@angular-devkit/build-webpack
- Support for
webpack-dev-server
version 3 has been removed. For more information about the migration please see: https://github.com/webpack/webpack-dev-server/blob/master/migration-v4.md
Note: this change only affects users depending on @angular-devkit/build-webpack
directly.
@angular-devkit/core
- With this change we drop support for the deprecated behaviour to transform
id
in schemas. Use$id
instead.
Note: this only effects schematics and builders authors.
- The deprecated JSON parser has been removed from public API. jsonc-parser should be used instead.
@angular-devkit/schematics
-
isAction
has been removed without replacement as it was unused. -
With this change we remove the following deprecated APIs
-
TslintFixTask
-
TslintFixTaskOptions
Note: this only effects schematics developers.
@ngtools/webpack
-
Deprecated
inlineStyleMimeType
option has been removed fromAngularWebpackPluginOptions
. UseinlineStyleFileExtension
instead. -
Applications directly using the
webpack-cli
and not the Angular CLI to build must set the environment variableDISABLE_V8_COMPILE_CACHE=1
. The@ngtools/webpack
package now uses dynamic imports to provide support for the ESM@angular/compiler-cli
package. Thev8-compile-cache
package used by thewebpack-cli
does not currently support dynamic import expressions and will cause builds to fail if the environment variable is not specified. Applications using the Angular CLI are not affected by this limitation.
Deprecations
@angular-devkit/build-optimizer
It's functionality has been included in @angular-devkit/build-angular
so this package is no longer needed by the CLI and we will stop publishing the package soon. It has been an experimental (never hit 1.0.0
) and internal (only used by Angular itself) package and should be not be used directly by others.
@angular-devkit/build-angular
NG_BUILD_CACHE
environment variable option will be removed in the next major version. Configurecli.cache
in the workspace configuration instead.
@schematics/angular
@angular/cli
Commit | Description |
---|---|
mark @angular-devkit/build-optimizer as deprecated.
|
@angular-devkit/architect
Commit | Description |
---|---|
include workspace extensions in project metadata |
@angular-devkit/build-angular
@angular-devkit/build-webpack
Commit | Description |
---|---|
update webpack-dev-server to version 4
| |
better handle concurrent dev-servers |
@angular-devkit/core
@angular-devkit/schematics
Commit | Description |
---|---|
add UpdateBuffer2 based on magic-string | |
remove deprecated isAction
| |
remove deprecated tslint APIs | |
handle zero or negative length removals in update buffer |
@ngtools/webpack
Special Thanks
Alan Agius, Charles Lyding, Doug Parker, Douglas Parker, Joey Perrott, Kristiyan Kostadinov, Lukas Spirig and Paul Gschwendtner