Skip to content

Latest commit

 

History

History
10249 lines (7467 loc) · 258 KB

CHANGELOG.md

File metadata and controls

10249 lines (7467 loc) · 258 KB

13.1.0-next.1 (2021-11-10)

@angular/cli

Commit Type Description
4a5ca162c fix avoid redirecting @angular/core in Angular migrations
b7b1325a6 fix favor ng-update packageGroupName in ng update output

@schematics/angular

Commit Type Description
e9d2d98e8 fix migrate ng-packagr configurations in package.json
950b430c0 fix show warning when migrating ng-packagr JS configurations
cf67f2629 fix updated Angular new project version to v13.0.0

@angular-devkit/build-angular

Commit Type Description
47fd128a0 fix don't restore input of type file during HMR
3a89358d3 fix don't show [NG HMR] Unknown input type when restoring file type input
5990ed91c fix improve sourcemap fidelity during code-coverage
b3e588801 fix suppress "@charset" must be the first rule in the file warning
e1bac5bbb fix update Angular peer dependencies to v13.1 prerelease

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Joey Perrott and Paul Gschwendtner

13.0.2 (2021-11-10)

@angular/cli

Commit Type Description
34047b1ad fix avoid redirecting @angular/core in Angular migrations
ff4538e98 fix favor ng-update packageGroupName in ng update output

@schematics/angular

Commit Type Description
1bc00b6fe fix migrate ng-packagr configurations in package.json
9ea74a13d fix show warning when migrating ng-packagr JS configurations

@angular-devkit/build-angular

Commit Type Description
35164bf92 fix don't restore input of type file during HMR
facb5d8ff fix don't show [NG HMR] Unknown input type when restoring file type input
ef8815d04 fix improve sourcemap fidelity during code-coverage
966a1334a fix suppress "@charset" must be the first rule in the file warning
1cdc24da0 fix update Angular peer dependencies to 13.0 stable

Special Thanks

Alan Agius, Charles Lyding, Joey Perrott and Paul Gschwendtner

13.0.1 (2021-11-03)

@schematics/angular

Commit Type Description
40f599241 fix updated Angular new project version to v13.0.0

Special Thanks

Charles Lyding and Joey Perrott

13.1.0-next.0 (2021-11-03)

@ngtools/webpack

Commit Type Description
5402f99f8 fix add cjs and mjs to passthrough files

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Joey Perrott and Ruslan Lekhman

12.2.13 (2021-11-03)

@angular-devkit/build-angular

Commit Type Description
a2bd940e4 fix add verbose logging for differential loading and i18n

Special Thanks

Charles Lyding and Doug Parker

13.0.0 (2021-11-03)

Breaking Changes

@angular/cli

  • We drop support for Node.js versions prior to 12.20.

@schematics/angular

  • classlist.js and web-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 the application schematics since IE 11 is no longer supported.
  • configuration has been removed from the web-worker as it was unused.
  • target has been removed from the service-worker as it was unused.

@angular-devkit/build-angular

  • Support for karma-coverage-instanbul-reporter has been dropped in favor of the official karma coverage plugin karma-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. Configure cli.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 and hmrWarning 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

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 from AngularWebpackPluginOptions. Use inlineStyleFileExtension instead.

  • Applications directly using the webpack-cli and not the Angular CLI to build must set the environment variable DISABLE_V8_COMPILE_CACHE=1. The @ngtools/webpack package now uses dynamic imports to provide support for the ESM @angular/compiler-cli package. The v8-compile-cache package used by the webpack-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. Configure cli.cache in the workspace configuration instead.

@angular/cli

Commit Type Description
9fe55752d feat officially support Node.js v16
5ad145722 fix error when updating Angular packages across multi-major migrations
e4bc35e33 fix exclude packages from ng add that contain invalid peer dependencies
e1b954d70 fix keep relative migration paths during update analysis
c3acf3cc2 fix remove unused cli project options.
77fe6c4e6 fix update engines to require node 12.20.0
8795536a3 fix update ng update output for Angular packages
d8c9f6eaf fix update the update command to fully support Node.js v16

@schematics/angular

Commit Type Description
7ff8c5350 feat add /.angular/cache to .gitignore
3ba13f467 feat add noImplicitOverride and noPropertyAccessFromIndexSignature to workspace tsconfig
268a03b63 feat add migration to update the workspace config
7bdcd7da1 feat create new projects with rxjs 7
eac18aed7 feat drop polyfills required only for Internet Explorer now that support has been dropped for it
4f91816b2 feat migrate libraries to be published from ViewEngine to Ivy Partial compilation
5986befcd feat remove deprecated options
9fbd16655 feat remove IE 11 specific polyfills
a7b2e6f51 feat update ngsw-config resources extensions
732ef7985 fix add browserslist configuration in library projects
585adacd0 fix don't add destroyAfterEach in newly generated spec files
e58226ee9 fix don't export renderModuleFactory from server file
0ec0ad8a4 fix remove target and lib options for library tsconfig
f227e145d fix updated Angular new project version to v13.0 prerelease

Commit Type Description
5e435ff37 docs mark @angular-devkit/build-optimizer as deprecated.

@angular-devkit/architect

Commit Type Description
09e039500 feat include workspace extensions in project metadata

@angular-devkit/build-angular

Commit Type Description
f53bf9dc2 feat add type=module to all scripts tags
e95ecb8ab feat deprecate deployUrl
7dcfffaff feat drop support for karma-coverage-instanbul-reporter
ac3fc2752 feat drop support for node-sass
5904afd1d feat enable disk cache by default and provide configurable options
22cd9edfa feat favor es2020 main fields
7576136b2 feat remove automatic inclusion of ES5 browser polyfills
000b0e51c feat remove deprecated dev-server options
20e48a33c feat remove deprecated options
e78f6ab5d feat remove deprecated tslint builder
701214d17 feat remove differential loading support
fb1ad7c5b feat support ESM proxy configuration files for the dev server
505438cc4 feat support TypeScript 4.4
32dbf659a feat update webpack-dev-server to version 4
c1efaa17f fix calculate valid Angular versions from peerDependencies
d7af4a7b5 fix enable custom es2020 and es2015 conditional exports
f383f3201 fix ESM-interop loaded plugin creators of @angular/localize/tools not respected
7934becb5 fix generate unique webpack runtimes
b14e0a547 fix improve sourcemaps fidelity when code coverage is enabled
e19287453 fix move @angular/localize detection prior to webpack initialization
76d6d8826 fix set browserslist defaults
167eed465 fix update Angular peer dependencies to v13.0 prerelease
1d8cdf853 fix update esbuild to 0.13.12
884111ac0 fix update IE unsupported and deprecation messages
4be6537dd fix update TS/JS regexp checks to latest extensions
427a9ee97 fix update workspace tsconfig lib es2020
ea926db25 fix use es2015 when generating server bundles
13cceab8e fix use URLs for absolute import paths with ESM
4e0743c8a perf change webpack hashing function to xxhash64
cb7d156c2 perf use esbuild as a CSS optimizer for global styles
8e82263c5 perf use esbuild/terser combination to optimize global scripts
e82eef924 refactor remove WOFF handling from inline-fonts processor

@angular-devkit/build-webpack

Commit Type Description
a0b5897d5 feat update webpack-dev-server to version 4
9efcb32e3 fix better handle concurrent dev-servers

@angular-devkit/core

Commit Type Description
0c92ea5ca feat remove deprecated schema id handling
9874aff71 fix add missing option peer dependency on chokidar
a54e5e065 fix support Node.js v16 with NodeJsSyncHost/NodeJsAsyncHost delete operation
d722fdf1f refactor remove deprecated JSON parser

@angular-devkit/schematics

Commit Type Description
0565ed62e feat add UpdateBuffer2 based on magic-string
8954d1152 feat remove deprecated isAction
053b7d66c feat remove deprecated tslint APIs
bdd89ae84 fix handle zero or negative length removals in update buffer

@ngtools/webpack

Commit Type Description
d2a97f919 fix update Angular peer dependencies to v13.0 prerelease
7928b18ed perf reduce repeat path mapping analysis during resolution
8ce8e4edc refactor remove deprecated inlineStyleMimeType option
7d98ab3df refactor support an ESM-only @angular/compiler-cli package

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Douglas Parker, Joey Perrott, Kristiyan Kostadinov, Lukas Spirig and Paul Gschwendtner

12.2.9 (2021-10-06)

@angular-devkit/build-angular

Commit Type Description
9d45b7752 fix add web-streams-polyfill to downlevel exclusion list
ccedf53a8 fix update esbuild to 0.13.4

Special Thanks

Alan Agius and Charles Lyding

12.2.8 (2021-10-01)

@angular-devkit/build-angular

Commit Type Description
821a1b5a9 fix babel adjust enum plugin incorrectly transforming loose enums

Special Thanks

Paul Gschwendtner

12.2.7 (2021-09-22)

@angular-devkit/build-angular

Commit Type Description
d856b4d23 fix support WASM-based esbuild optimizer fallback

Special Thanks

Alan Agius and Charles Lyding

12.2.6 (2021-09-15)

@angular/cli

Commit Type Description
8b21effad fix handle FORCE_COLOR when stdout is not instance of WriteStream

@angular-devkit/build-angular

Commit Type Description
ea60f0f52 fix handle FORCE_COLOR when stdout is not instance of WriteStream

Special Thanks

Alan Agius

12.2.5 (2021-09-08)

@angular-devkit/build-angular

Commit Type Description
0498768c5 fix disable dev-server response compression
367fce2e9 fix improve Safari browserslist to esbuild target conversion

Special Thanks:

Alan Agius and Charles Lyding

12.2.4 (2021-09-01)

@angular-devkit/build-angular

Commit Type Description
aaadef026 fix update esbuild to 0.12.24
f8a9f4a01 fix update mini-css-extract-plugin to 2.2.1

Special Thanks

Alan Agius

12.2.3 (2021-08-26)

@angular-devkit/build-angular

Commit Type Description
3e3321857 fix RGBA converted to hex notation in component styles breaks IE11

Special Thanks:

Alan Agius and Trevor Karjanis

12.2.2 (2021-08-18)

@angular-devkit/build-angular

Commit Description
a55118a75 fix: provide supported browsers to esbuild
81baa4f95 fix: update Angular peer dependencies to 12.2 stable
297410ae8 fix: handle undefined entrypoints when marking async chunks

@ngtools/webpack

Commit Description
b7199f366 fix: update Angular peer dependencies to 12.2 stable

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott and Simon Primetzhofer

12.2.1 (2021-08-11)

@angular/cli

Commit Description
8dc3c895a fix(@angular/cli): show error when using non-TTY terminal without passing --skip-confirmation during ng add

@angular-devkit/schematics-cli

Commit Description
eded01270 fix(@angular-devkit/schematics-cli): log when in debug and/or dry run modes

@angular-devkit/build-angular

Commit Description
22e0208a9 fix(@angular-devkit/build-angular): ensure native async is downlevelled in third-party libraries
9b4b86fb0 fix(@angular-devkit/build-angular): support both pure annotation forms for static properties
cea028090 fix(@angular-devkit/build-angular): do not consume inline sourcemaps when vendor sourcemaps is disabled.
e7ec0346e fix(@angular-devkit/build-angular): avoid attempting to optimize copied JavaScript assets
4f757c2bc fix(@angular-devkit/build-angular): handle null maps in JavaScript optimizer worker

Special Thanks:

Alan Agius and Charles Lyding

12.2.0 (2021-08-04)

@angular/cli

Commit Description
259e26979 fix(@angular/cli): merge npmrc files values
c1eddbdc9 fix(@angular/cli): handle YARN_ environment variables during ng update and ng add
6b00d1270 fix(@angular/cli): handle NPM_CONFIG environment variables during ng update and ng add
88ee85c41 fix(@angular/cli): disable update notifier when retrieving package manager version during ng version

@angular-devkit/build-angular

Commit Description
d750c686f fix(@angular-devkit/build-angular): add priority to copy-webpack-plugin patterns
4bcd1dc9e fix(@angular-devkit/build-angular): allow classes with pure annotated static properties to be optimized
ceade0c27 fix(@angular-devkit/build-angular): dasherize disable-host-check suggestion
8383c6b42 fix(@angular-devkit/build-angular): silence Sass compiler warnings from 3rd party stylesheets
07763702f fix(@angular-devkit/build-angular): force linker sourceMapping option to false.
a5c69722f fix(@angular-devkit/build-angular): ensure NG_PERSISTENT_BUILD_CACHE always creates a cache in the specified cache directory
c65b04999 fix(@angular-devkit/build-angular): fail browser build when index generation fails
3d71c63b3 fix(@angular-devkit/build-angular): fix issue were @media all causing critical CSS inling to fail
9a04975a2 fix(@angular-devkit/build-angular): extractLicenses didn't have an effect when using server builder
2ac8e9c0e fix(@angular-devkit/build-angular): display incompatibility errors
2c2b49919 fix(@angular-devkit/build-angular): limit advanced terser passes to two
1be3b0783 fix(@angular-devkit/build-angular): exclude outputPath from persistent build cache key
fefd6d042 perf(@angular-devkit/build-angular): use esbuild as a CSS optimizer for component styles
18cfa0431 feat(@angular-devkit/build-angular): add support to inline Adobe Fonts
9a751f0f8 fix(@angular-devkit/build-angular): handle ENOENT and ENOTDIR errors when deleting outputs
41e645792 fix(@angular-devkit/build-angular): downlevel for await...of when targetting ES2018+
070a13364 fix(@angular-devkit/build-angular): configure webpack target in common configuration
da32daa75 perf(@angular-devkit/build-angular): use combination of esbuild and terser as a JavaScript optimizer
6a2b11906 perf(@angular-devkit/build-angular): cache JavaScriptOptimizerPlugin results
ab17b1721 fix(@angular-devkit/build-angular): handle ng-packagr errors more gracefully.
d4c5f8518 fix(@angular-devkit/build-angular): control linker template sourcemapping via builder sourcemap options
06181c2fb fix(@angular-devkit/build-angular): parse web-workers in tests when webWorkerTsConfig is defined

@angular-devkit/build-webpack

Commit Description
615353022 fix(@angular-devkit/build-webpack): emit result when webpack is closed

@ngtools/webpack

Commit Description
dbbcf5c8c fix(@ngtools/webpack): only track file dependencies
7536338e0 fix(@ngtools/webpack): allow generated assets of Angular component resources
720feee34 fix(@ngtools/webpack): avoid non-actionable template type-checker syntax diagnostics
6a7bcf330 fix(@ngtools/webpack): encode component style data
12c14b565 fix(@ngtools/webpack): remove no longer needed component styles workaround

@schematics/angular

Commit Description
20fd33f6d feat(@schematics/angular): destroy test module after every test
5b10d4f54 fix(@schematics/angular): remove unsafe any usage in application spec file
1b5e18e7b fix(@schematics/angular): replace interactive div with button in application component template
0907b6941 fix(@schematics/angular): use stricter semver for karma-jasmine-html-reporter
8ad1539c5 fix(@schematics/angular): add 'none' value for the 'style' option of the component schematic
e5ba29c7d fix(@schematics/angular): display warning during migrations when using third-party builders
a44dc02fe fix(@schematics/angular): add devtools to ng new

Special Thanks:

Alan Agius, Charles Lyding, David Scourfield, Doug Parker, hien-pham, Joey Perrott, LeonEck, Mike Jancar, twerske, Vaibhav Singh and originalfrostig

12.2.0-rc.0 (2021-07-28)

@angular/cli

Commit Description
259e26979 fix(@angular/cli): merge npmrc files values

@angular-devkit/build-angular

Commit Description
d750c686f fix(@angular-devkit/build-angular): add priority to copy-webpack-plugin patterns

@angular-devkit/build-webpack

Commit Description
615353022 fix(@angular-devkit/build-webpack): emit result when webpack is closed

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott and originalfrostig

12.1.4 (2021-07-28)

@angular/cli

Commit Description
e02c97dd0 fix(@angular/cli): merge npmrc files values

@schematics/angular

Commit Description
cfc267426 fix(@schematics/angular): ensure valid SemVer range for new project Angular packages

@angular-devkit/build-angular

Commit Description
55c0bddc8 fix(@angular-devkit/build-angular): add priority to copy-webpack-plugin patterns

@angular-devkit/build-webpack

Commit Description
b3736a3c0 fix(@angular-devkit/build-webpack): emit result when webpack is closed

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott and originalfrostig

12.2.0-next.3 (2021-07-21)

@angular/cli

Commit Description
c1eddbdc9 fix(@angular/cli): handle YARN_ environment variables during ng update and ng add
6b00d1270 fix(@angular/cli): handle NPM_CONFIG environment variables during ng update and ng add

@angular-devkit/build-angular

Commit Description
4bcd1dc9e fix(@angular-devkit/build-angular): allow classes with pure annotated static properties to be optimized
ceade0c27 fix(@angular-devkit/build-angular): dasherize disable-host-check suggestion

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott, LeonEck and Mike Jancar

12.1.3 (2021-07-21)

@angular/cli

Commit Description
eaa2378b6 fix(@angular/cli): handle YARN_ environment variables during ng update and ng add
4b9a41bde fix(@angular/cli): handle NPM_CONFIG environment variables during ng update and ng add

@angular-devkit/build-angular

Commit Description
04e9ffe4f fix(@angular-devkit/build-angular): allow classes with pure annotated static properties to be optimized
6ae17e265 fix(@angular-devkit/build-angular): dasherize disable-host-check suggestion

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott, LeonEck and Mike Jancar

v12.2.0-next.2 (2021-07-14)

Commits

@angular-devkit/build-angular (12.2.0-next.2)

Commit Description Notes
silence Sass compiler warnings from 3rd party stylesheets [Closes #21235]
force linker `sourceMapping` option to false. [Closes #21271]
ensure `NG_PERSISTENT_BUILD_CACHE` always creates a cache in the specified cache directory
fail browser build when index generation fails
fix issue were `@media all` causing critical CSS inling to fail [Closes #20804]
`extractLicenses` didn't have an effect when using server builder
display incompatibility errors [Closes #21322]
limit advanced terser passes to two
exclude `outputPath` from persistent build cache key [Closes #21275]
use `esbuild` as a CSS optimizer for component styles

@ngtools/webpack (12.2.0-next.2)

Commit Description Notes
only track file dependencies [Closes #21228]
allow generated assets of Angular component resources
avoid non-actionable template type-checker syntax diagnostics

@schematics/angular (12.2.0-next.2)

Commit Description Notes
destroy test module after every test [Closes #21280]
remove unsafe any usage in application spec file
replace interactive `div` with `button` in application component template
use stricter semver for `karma-jasmine-html-reporter`


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott

v12.1.2 (2021-07-14)

Commits

@angular-devkit/build-angular (12.1.2)

Commit Description Notes
silence Sass compiler warnings from 3rd party stylesheets [Closes #21235]
ensure `NG_PERSISTENT_BUILD_CACHE` always creates a cache in the specified cache directory
force linker `sourceMapping` option to false. [Closes #21271]
fail browser build when index generation fails
`extractLicenses` didn't have an effect when using server builder
fix issue were `@media all` causing critical CSS inling to fail [Closes #20804]
display incompatibility errors [Closes #21322]
exclude `outputPath` from persistent build cache key [Closes #21275]

@ngtools/webpack (12.1.2)

Commit Description Notes
only track file dependencies [Closes #21228]
allow generated assets of Angular component resources
avoid non-actionable template type-checker syntax diagnostics

@schematics/angular (12.1.2)

Commit Description Notes
remove unsafe any usage in application spec file
replace interactive `div` with `button` in application component template
use stricter semver for `karma-jasmine-html-reporter`


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Terence D. Honles

v12.1.1 (2021-07-01)

Commits

@angular-devkit/build-angular (12.1.1)

Commit Description Notes
handle `ENOENT` and `ENOTDIR` errors when deleting outputs [Closes #21202]
downlevel `for await...of` when targetting ES2018+ [Closes #21196]
configure webpack target in common configuration [Closes #21239]
update `mini-css-extract-plugin` to `1.6.2`
update `webpack` to `5.41.1`

@angular/cli (12.1.1)

Commit Description Notes
disable update notifier when retrieving package manager version during `ng version` [Closes #21172]

@ngtools/webpack (12.1.1)

Commit Description Notes
encode component style data [Closes #21236]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker

v12.2.0-next.1 (2021-07-01)

Commits

@angular-devkit/build-angular (12.2.0-next.1)

Commit Description Notes
add support to inline Adobe Fonts [Closes #21186]
handle `ENOENT` and `ENOTDIR` errors when deleting outputs [Closes #21202]
downlevel `for await...of` when targetting ES2018+ [Closes #21196]
configure webpack target in common configuration [Closes #21239]
use combination of `esbuild` and `terser` as a JavaScript optimizer
cache JavaScriptOptimizerPlugin results

@angular/cli (12.2.0-next.1)

Commit Description Notes
disable update notifier when retrieving package manager version during `ng version` [Closes #21172]

@ngtools/webpack (12.2.0-next.1)

Commit Description Notes
encode component style data [Closes #21236]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker

v12.2.0-next.0 (2021-06-24)

Commits

@angular-devkit/build-angular (12.1.0)

Commit Description Notes
handle ng-packagr errors more gracefully.
control linker template sourcemapping via builder sourcemap options
parse web-workers in tests when webWorkerTsConfig is defined

@ngtools/webpack (12.1.0)

Commit Description Notes
remove no longer needed component styles workaround

@schematics/angular (12.1.0)

Commit Description Notes
add 'none' value for the 'style' option of the component schematic
display warning during migrations when using third-party builders
add devtools to ng new


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Vaibhav Singh, Joey Perrott, twerske, David Scourfield, hien-pham

v12.1.0 (2021-06-24)

Commits

@angular-devkit/build-angular (12.1.0)

Commit Description Notes
enable webpack Trusted Types support
deprecate protractor builder
suppport using TypeScript 4.3
revert open to 8.0.2 [Closes #20807]
correctly ignore inline styles during i18n extraction
use the name as chunk filename instead of id
handle ng-packagr errors more gracefully.
control linker template sourcemapping via builder sourcemap options
parse web-workers in tests when webWorkerTsConfig is defined
use CSS optimization plugin that leverages workers
enable opt-in usage of file system cache

@angular/cli (12.1.0)

Commit Description Notes
show Node.js version support status in version command [Closes #20879]
handle unscoped authentication details in `.npmrc` files
don't resolve `.npmrc` from parent directories

@ngtools/webpack (12.1.0)

Commit Description Notes
support using TypeScript 4.3
remove redundant inline style cache
ensure plugin provided Webpack instance is used
disable caching for ngcc synchronous Webpack resolver
remove no longer needed component styles workaround

@schematics/angular (12.1.0)

Commit Description Notes
create new projects with TypeScript 4.3
add migration to replace deprecated `--prod` [Closes #21036]
add 'none' value for the 'style' option of the component schematic
display warning during migrations when using third-party builders
add devtools to ng new


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Joey Perrott, Bjarki, Vaibhav Singh, twerske, David Scourfield, hien-pham, Alberto Calvo, Paul Gschwendtner, Keen Yee Liau

v12.1.0-next.6 (2021-06-17)

Commits

@angular-devkit/build-angular (12.1.0-next.6)

Commit Description Notes
don't parse `new Worker` syntax when `webWorkerTsConfig` is not defined in karma builder [Closes #21108]
explicitly set compilation target in test configuration [Closes #21111]
use the name as chunk filename instead of id
enable opt-in usage of file system cache

@angular/cli (12.1.0-next.6)

Commit Description Notes
handle unscoped authentication details in `.npmrc` files
don't resolve `.npmrc` from parent directories

@schematics/angular (12.1.0-next.6)

Commit Description Notes
add migration to replace deprecated `--prod` [Closes #21036]


Special Thanks

Alan Agius, Joey Perrott, Alberto Calvo, Charles Lyding

v12.0.5 (2021-06-17)

Commits

@angular-devkit/build-angular (12.0.5)

Commit Description Notes
don't parse `new Worker` syntax when `webWorkerTsConfig` is not defined in karma builder [Closes #21108]
explicitly set compilation target in test configuration [Closes #21111]

@angular/cli (12.0.5)

Commit Description Notes
handle unscoped authentication details in .npmrc files


Special Thanks

Alan Agius, Joey Perrott

v12.1.0-next.5 (2021-06-10)

Commits

@angular-devkit/build-angular (12.1.0-next.5)

Commit Description Notes
suppport using TypeScript 4.3
ensure all Webpack Stats assets are present on rebuilds [Closes #21038]
dispose Sass worker resources on Webpack shutdown [Closes #20985]
show progress during re-builds
correctly mark async chunks as non initial in dev-server
add web-workers in lazy chunks in stats output [Closes #21059]
styles CSS files not available in unit tests [Closes #21054]
reduce memory usage by cleaning output directory before emitting

@angular-devkit/schematics (12.1.0-next.5)

Commit Description Notes
handle updating renamed files [Closes #14255]
[Closes #21083]

@angular/cli (12.1.0-next.5)

Commit Description Notes
avoid shell exec when bootstrapping update command
correctly redirect nested Angular schematic dependency requests [Closes #21075]

@ngtools/webpack (12.1.0-next.5)

Commit Description Notes
support using TypeScript 4.3
ensure plugin provided Webpack instance is used
disable caching for ngcc synchronous Webpack resolver

@schematics/angular (12.1.0-next.5)

Commit Description Notes
create new projects with TypeScript 4.3
added webWorkerTsConfig into test option
working with formatting


Special Thanks

Charles Lyding, Alan Agius, Doug Parker, Santosh Mahto, Joey Perrott

v12.0.4 (2021-06-09)

Commits

@angular-devkit/build-angular (12.0.4)

Commit Description Notes
ensure all Webpack Stats assets are present on rebuilds [Closes #21038]
dispose Sass worker resources on Webpack shutdown [Closes #20985]
show progress during re-builds
correctly mark async chunks as non initial in dev-server
add web-workers in lazy chunks in stats output [Closes #21059]
styles CSS files not available in unit tests [Closes #21054]
reduce memory usage by cleaning output directory before emitting

@angular-devkit/schematics (12.0.4)

Commit Description Notes
handle updating renamed files [Closes #14255]
[Closes #21083]

@angular/cli (12.0.4)

Commit Description Notes
avoid shell exec when bootstrapping update command
correctly redirect nested Angular schematic dependency requests [Closes #21075]

@ngtools/webpack (12.0.4)

Commit Description Notes
ensure plugin provided Webpack instance is used

@schematics/angular (12.0.4)

Commit Description Notes
added webWorkerTsConfig into test option
working with formatting


Special Thanks

Alan Agius, Charles Lyding, Santosh Mahto, Joey Perrott, Doug Parker

v12.0.3 (2021-06-02)

Commits

@angular-devkit/build-angular (12.0.3)

Commit Description Notes
do not resolve web-workers in server builds [Closes #20877]
provided earlier build feedback in console [Closes #20957]
correctly ignore inline styles during i18n extraction [Closes #20968]
update `license-webpack-plugin` to `2.3.19`

@angular-devkit/build-webpack (0.1200.3)

Commit Description Notes
include only required stats in webpackStats

@angular-devkit/core (12.0.3)

Commit Description Notes
show allowed enum values when validation on enum fails
handle complex smart defaults in schemas
handle async schema validations
transform path using getSystemPath for NodeJsAsyncHost's `exists` method

@angular/cli (12.0.3)

Commit Description Notes
update supported range of node versions to be less restrictive [Closes #20796]

@ngtools/webpack (12.0.3)

Commit Description Notes
normalize paths when adding file dependencies [Closes #20891]
remove redundant inline style cache

@schematics/angular (12.0.3)

Commit Description Notes
make version 12 workspace config migration idempotent [Closes #20979]
show better error when non existing project is passed to the component schematic


Special Thanks

Alan Agius, Doug Parker, Charles Lyding, why520crazy

v12.1.0-next.4 (2021-06-02)

Commits

@angular-devkit/build-angular (12.1.0-next.4)

Commit Description Notes
do not resolve web-workers in server builds [Closes #20877]
provided earlier build feedback in console [Closes #20957]
correctly ignore inline styles during i18n extraction

@angular-devkit/build-webpack (0.1201.0-next.4)

Commit Description Notes
include only required stats in webpackStats

@angular-devkit/core (12.1.0-next.4)

Commit Description Notes
show allowed enum values when validation on enum fails
handle complex smart defaults in schemas
handle async schema validations
transform path using getSystemPath for NodeJsAsyncHost's `exists` method

@angular/cli (12.1.0-next.4)

Commit Description Notes
update supported range of node versions to be less restrictive [Closes #20796]

@ngtools/webpack (12.1.0-next.4)

Commit Description Notes
normalize paths when adding file dependencies [Closes #20891]
remove redundant inline style cache

@schematics/angular (12.1.0-next.4)

Commit Description Notes
make version 12 workspace config migration idempotent [Closes #20979]
show better error when non existing project is passed to the component schematic


Special Thanks

Alan Agius, Doug Parker, Charles Lyding, why520crazy

v12.1.0-next.3 (2021-05-26)

Commits

@angular-devkit/build-angular (12.1.0-next.3)

Commit Description Notes
enable webpack Trusted Types support
deprecate protractor builder
ensure Sass worker implementation supports Node.js 12.14
don't add `.hot-update.js` script tags [Closes #20855]
correctly generate ServiceWorker config on Windows [Closes #20894]
ensure latest inline stylesheet data is used during rebuilds
allow i18n extraction on application that uses web-workers [Closes #20930]
hide stacktraces from dart-sass errors
resolve absolute outputPath properly [Closes #20935]
show `--disable-host-check` warning only when not using `disableHostCheck` [Closes #20951]
disable CSS optimization parallelism for components styles [Closes #20883]
load postcss-preset-env configuration once

@angular/cli (12.1.0-next.3)

Commit Description Notes
show Node.js version support status in version command [Closes #20879]
ng update on windows to allow path

@ngtools/webpack (12.1.0-next.3)

Commit Description Notes
re-emit component stylesheet assets [Closes #20882]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Bjarki, Hassan Sani, JoostK, George Kalpakas, Joey Perrott

v12.0.2 (2021-05-26)

Commits

@angular-devkit/build-angular (12.0.2)

Commit Description Notes
ensure Sass worker implementation supports Node.js 12.14
don't add `.hot-update.js` script tags [Closes #20855]
correctly generate ServiceWorker config on Windows [Closes #20894]
ensure latest inline stylesheet data is used during rebuilds
allow i18n extraction on application that uses web-workers [Closes #20930]
hide stacktraces from dart-sass errors
resolve absolute outputPath properly [Closes #20935]
show `--disable-host-check` warning only when not using `disableHostCheck` [Closes #20951]
update PostCSS to 8.3
disable CSS optimization parallelism for components styles [Closes #20883]
load postcss-preset-env configuration once

@angular/cli (12.0.2)

Commit Description Notes
ng update on windows to allow path

@ngtools/webpack (12.0.2)

Commit Description Notes
re-emit component stylesheet assets [Closes #20882]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Hassan Sani, JoostK, George Kalpakas, Joey Perrott

v12.0.1 (2021-05-19)

Commits

@angular-devkit/build-angular (12.0.1)

Commit Description Notes
add experimental web-assembly [Closes #20762]
fix error with inline styles when running extract-i18n
add `NG_BUILD_MAX_WORKERS` settimgs to control maximum number of workers
non injected styles should not count as initial [Closes #20781]
revert open to 8.0.2 [Closes #20807]
correctly resolve babel runtime helpers [Closes #20800]
compile schema in synchronously [Closes #20847]
execute dart-sass in a worker
reduce JSON stats
use CSS optimization plugin that leverages workers
render Sass using a pool of workers
clean no-longer used assets during builds

@angular/cli (12.0.1)

Commit Description Notes
cannot locate bin for temporary package
clean node modules directory prior to updating
improve `--prod` deprecation warning [Closes #20806]

@ngtools/webpack (12.0.1)

Commit Description Notes
reduce non-watch mode TypeScript diagnostic analysis overhead

@schematics/angular (12.0.1)

Commit Description Notes
remove --prod option from README template
don't add `skipTest` option to module schematic options [Closes #20811]
add migration to remove `skipTests` from `@schematics/angular:module` [Closes #20848]


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Keen Yee Liau, Luca Vazzano, Pankaj Patil, Ryan Lester, Terence D. Honles, Alan Cohen

v12.1.0-next.2 (2021-05-19)

Commits

@angular-devkit/build-angular (12.1.0-next.2)

Commit Description Notes
add experimental web-assembly [Closes #20762]
add `NG_BUILD_MAX_WORKERS` settimgs to control maximum number of workers
non injected styles should not count as initial [Closes #20781]
revert open to 8.0.2 [Closes #20807]
correctly resolve babel runtime helpers [Closes #20800]
compile schema in synchronously [Closes #20847]
execute dart-sass in a worker
reduce JSON stats
use CSS optimization plugin that leverages workers
render Sass using a pool of workers
clean no-longer used assets during builds

@angular/cli (12.1.0-next.2)

Commit Description Notes
cannot locate bin for temporary package
clean node modules directory prior to updating
improve `--prod` deprecation warning [Closes #20806]

@ngtools/webpack (12.1.0-next.2)

Commit Description Notes
reduce non-watch mode TypeScript diagnostic analysis overhead

@schematics/angular (12.1.0-next.2)

Commit Description Notes
remove --prod option from README template
don't add `skipTest` option to module schematic options [Closes #20811]
add migration to remove `skipTests` from `@schematics/angular:module` [Closes #20848]


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Keen Yee Liau, Luca Vazzano, Pankaj Patil, Ryan Lester, Alan Cohen, Paul Gschwendtner

v12.0.0 (2021-05-12)

Commits

@angular-devkit/architect (0.1200.0)

Commit Description Notes
add implementation for defaultConfiguration

@angular-devkit/build-angular (12.0.0)

Commit Description Notes
add `postcss-preset-env` with stage 3 features
drop support for karma version 5.2
drop support for ng-packagr version 11
enable inlineCritical by default
show warning during build when project requires IE 11 support
expose legacy-migrate message format
integrate JIT mode linker [Closes #20281]
upgrade to Webpack 5 throughout the build system
support processing component inline CSS styles
support specifying stylesheet language for inline component styles
remove left-over `experimentalRollupPass` option
support writing large Webpack stat outputs
ensure output directory is present before writing stats JSON
remove deprecated View Engine support for i18n extraction
remove usage of deprecated View Engine compiler
remove deprecated i18nLocale and i18nFormat options from i18n-extract
update karma builder to use non-deprecated API
disable webpack cache when using `NG_BUILD_CACHE`
remove duplicate application bundle generation complete message
mark programmatic builder execution functions as experimental
avoid double build optimizer processing
replace Webpack 4 `hashForChunk` hook usage
use new Webpack watch API in karma webpack plugin
recover from CSS optimization errors
disable Webpack 5 automatic public path support
always inject live reload client when using live reload
change several builder options defaults
show warning when using stylus
avoid triggering file change after file build
remove left-over `forkTypeChecker` option
disable CSS declaration sorting optimizations [Closes #20693]
disable `showCircularDependencies` by default
use Webpack's GC memory caching in watch mode
improve incremental time during Karma tests
avoid async downlevel for known ES2015 code

@angular-devkit/build-optimizer (0.1200.0)

Commit Description Notes
support Webpack 5

@angular-devkit/build-webpack (0.1200.0)

Commit Description Notes
provide output path in builder results
support Webpack 5

@angular-devkit/core (12.0.0)

Commit Description Notes
add handling for `defaultConfiguration` target definition property
update schema validator
ensure job input values are processed in order
improve handling of set schema values [Closes #20594]

@angular/cli (12.0.0)

Commit Description Notes
add `defaultConfiguration` property to architect schema
deprecate `--prod` command line argument
confirm ng add action before installation
support TypeScript 4.2
ensure odd number Node.js version message is a warning
remove npm 7 incompatibility notification
avoid exceptions for expected errors in architect commands
ensure update migrations are fully executed
exclude deprecated packages with removal migrations from update
add message update updating from non LTS versions of the CLI
ignore `tsickle` during updates
run all migrations when updating from or between prereleases
add package manager name and version in `ng version` output
Support XDG Base Directory Specfication
don't display options multiple times in schematics help output
change package installation to async
infer schematic defaults correctly when using `--project` [Closes #20666]
propagate update's force option to package managers
allow unsetting config when value is `undefined`
allow config object to be of JSON.
disallow additional properties in builders sections

@ngtools/webpack (12.0.0)

Commit Description Notes
support Webpack 5
drop support for string based lazy loading
support multiple plugin instances per compilation
support generating data URIs for inline component styles in JIT
support processing inline component styles in AOT
remove Webpack 5 deprecation warning in resource loader
use correct Webpack asset stage in resource loader
remove Webpack plugin for deprecated ViewEngine compiler
only track actual resource file dependencies
avoid adding transitive dependencies to Webpack's dependency graph
use precalculated dependencies in unused file check
only check affected files for Angular semantic diagnostics
cache results of processed inline resources
rebuild Angular required files asynchronously
reduce source file and Webpack module iteration

@schematics/angular (12.0.0)

Commit Description Notes
add migration to remove deprecated options from 'angular.json'
strict mode by default
use new zone.js entry-points
add migration to use new zone.js entry-points
add migration to remove emitDecoratorMetadata
augment `universal` schematics to import `platform-server` shims [Closes #40559]
update new project dependencies version [Closes #20106]
production builds by default
deprecate `legacyBrowsers` application and ng-new option
add migration to remove `lazyModules` configuration option
add migration to update lazy loading string syntax to use dynamic imports
update several TypeScript compilation target (Syntax)
remove tslint and codelyzer from new projects [Closes #20105]
[Closes #18465]
add production by default optional migration
update new workspaces to use Karma 6.3
remove `entryComponent` from `component` schematic
configure new libraries to be published in Ivy partial mode
update `jasmine-spec-reporter` to version 7
migrate web workers to support Webpack 5
only update removed v12 options in migration
add `additionalProperties` to all schemas
remove references to the prod flag
only show legacy browsers deprecation warning when option is used
remove leftover workspace tslint config
correctly handle adding multi-line strings to `@NgModule` metadata
run update-i18n migration for server builder
update web-worker to support Webpack 5
set `inlineStyleLanguage` when application `style` option is used
set `inlineStyleLanguage` for universal if present in build options
remove jasmine-spec-reporter and ts-node from default workspace
remove Protractor from home page
remove lint command from package.json [Closes #20618]
fix migration for namedChunks and option
add "type" option in enum schematic
only run `emitDecoratorMetadata` removal migration in safe workspaces
replace `clientProject` with `project`

 

Breaking Changes

@schematics/angular: remove `stylus` from `style` options (fd729ac)

`styl` (Stylus) is no longer a supported value as `style` in `application`, `component`, `ng-new` schematics. Stylus is not actively maintained and only 0.3% of the Angular CLI users use it.

(cherry picked from commit 0272fc55b67d1a3f986b996c8eb21aea31eedf51)

@angular-devkit/build-angular: change several builder options defaults (656f8d7)

A number of browser and server builder options have had their default values changed. The aim of these changes is to reduce the configuration complexity and support the new "production builds by default" initiative.

Browser builder

Option Previous default value New default value
optimization false true
aot false true
buildOptimizer false true
sourceMap true false
extractLicenses false true
namedChunks true false
vendorChunk true false

Server builder

Option Previous default value New default value
optimization false true
sourceMap true false

(cherry picked from commit 0a74d0d28daf68510459ed73ef048c91bfcabbbc)

@angular-devkit/core: update schema validator (0875313)

support for JSON Schema draft-04 and draft-06 is removed. If you have schemas using the `id` keyword replace them with `$id`. For an interim period we will auto rename any top level `id` keyword to `$id`.

NB: This change only effects schematics and builders authors.

@angular-devkit/build-angular: upgrade to Webpack 5 throughout the build system (d883ce5)

Webpack 5 lazy loaded file name changes Webpack 5 generates similar but differently named files for lazy loaded JavaScript files in development configurations (when the `namedChunks` option is enabled). For the majority of users this change should have no effect on the application and/or build process. Production builds should also not be affected as the `namedChunks` option is disabled by default in production configurations. However, if a project's post-build process makes assumptions as to the file names then adjustments may need to be made to account for the new naming paradigm. Such post-build processes could include custom file transformations after the build, integration into service-side frameworks, or deployment procedures. Example development file name change: `lazy-lazy-module.js` --> `src_app_lazy_lazy_module_ts.js`

Webpack 5 now includes web worker support. However, the structure of the URL within the Worker constructor must be in a specific format that differs from the current requirement. Web worker usage should be updated as shown below (where ./app.worker should be replaced with the actual worker name): Before: new Worker('./app.worker', ...) After: new Worker(new URL('./app.worker', import.meta.url), ...)

@ngtools/webpack: remove Webpack plugin for deprecated ViewEngine compiler (160102a)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the View Engine Webpack plugin has been removed. The Ivy-based Webpack plugin is the default used within the Angular CLI. If using a custom standalone Webpack configuration, the removed `AngularCompilerPlugin` should be replaced with the Ivy-based `AngularWebpackPlugin`.

@angular-devkit/build-angular: remove deprecated i18n options from server and browser builder (5cf9a08)

Removal of deprecated browser and server command options. - `i18nFile`, use `locales` object in the project metadata instead. - `i18nFormat`, No longer needed as the format will be determined automatically. - `i18nLocale`, use `localize` option instead.

@angular-devkit/build-angular: remove deprecated i18nLocale and i18nFormat options from i18n-extract (eca5a01)

Removal of deprecated `extract-i18n` command options The deprecated `i18nLocale` option has been removed and the `i18n.sourceLocale` within a project's configuration should be used instead. The deprecated `i18nFormat` option has been removed and the `format` option should be used instead.

@angular-devkit/build-angular: remove usage of deprecated View Engine compiler (677913f)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, Ivy-based compilation will always be used when building an application. The default behavior for applications is to use the Ivy compiler when building and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and an Ivy-based build will be attempted. If the build fails, the application may need to be updated to become Ivy compatible.

@schematics/angular: remove `entryComponent` from `component` schematic (8582ddc)

`entryComponent` option has been removed from the `component` schematic as this was intended to be used with the the now no longer supported ViewEngine rendering engine.

@angular-devkit/build-angular: remove view engine app-shell generation (1c2aeeb)

App-shell builder now only supports generation using Ivy

@angular-devkit/build-angular: remove deprecated View Engine support for i18n extraction (012700a)

Removal of View Engine support from i18n extraction With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the `ng extract-i18n` command will now always use the Ivy compiler. The `--ivy` option has also been removed as Ivy-based extraction is always enabled. The default behavior for applications is to use the Ivy compiler for building/extraction and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and Ivy-based extraction will be attempted. If the extraction fails, the application may need to be updated to become Ivy compatible.

@angular/cli: confirm ng add action before installation (985dc1a)

The `ng add` command will now ask the user to confirm the package and version prior to installing and executing an uninstalled package. This new behavior allows a user to abort the action if the version selected is not appropriate or if a typo occurred on the command line and an incorrect package would be installed. A `--skip-confirmation` option has been added to skip the prompt and directly install and execute the package. This option is useful in CI and non-TTY scenarios such as automated scripts.

@angular-devkit/build-angular: remove deprecated `lazyModules` option (8d66912)

Server and Browser builder `lazyModules` option has been removed without replacement.

@ngtools/webpack: drop support for string based lazy loading (0dc7327)

With this change we drop support for string based lazy loading `./lazy.module#LazyModule` use dynamic imports instead.

The following options which were used to support the above syntax were removed without replacement.

  • discoverLazyRoutes
  • additionalLazyModules
  • additionalLazyModuleResources
  • contextElementDependencyConstructor

@angular-devkit/build-angular: enable inlineCritical by default (aa3ea88)

Critical CSS inlining is now enabled by default. If you wish to turn this off set `inlineCritical` to `false`.

See: https://angular.io/guide/workspace-config#optimization-configuration

@angular-devkit/build-angular: drop support for zone.js 0.10 (f309516)

Minimum supported `zone.js` version is `0.11.4`

@angular-devkit/build-angular: drop support for ng-packagr version 11 (44e75be)

Minimum supported `ng-packagr` version is `12.0.0-next`

@angular-devkit/build-angular: drop support for karma version 5.2 (fa5cf53)

Minimum supported `karma` version is `6.0.0`

set minimum Node.js version to 12.13 (d1f6169)

Node.js version 10 will become EOL on 2021-04-30. Angular CLI 12 will require Node.js 12.13+ or 14.15+. Node.js 12.13 and 14.15 are the first LTS releases for their respective majors.

@angular-devkit/build-angular: remove file-loader dependency (6732294)

The unsupported/undocumented, Webpack specific functionality to `import`/`require()` a non-module file has been removed.

Before

import img from './images/asset.png';

After

<img src="images/asset.png" />

Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Joey Perrott, Doug Parker, Cédric Exbrayat, Douglas Parker, George Kalpakas, Sam Bulatov, Joshua Chapman, Santosh Yadav, David Shevitz, Kristiyan Kostadinov

v12.0.0-rc.3 (2021-05-10)

Commits

@angular/cli (12.0.0-rc.3)

Commit Description Notes
propagate update's force option to package managers
allow unsetting config when value is `undefined`
allow config object to be of JSON.
disallow additional properties in builders sections

Special Thanks

Alan Agius, Charles Lyding, Joey Perrott

v12.0.0-rc.2 (2021-05-05)

Commits

@angular-devkit/build-angular (12.0.0-rc.2)

Commit Description Notes
disable CSS declaration sorting optimizations [Closes #20693]

@angular/cli (12.0.0-rc.2)

Commit Description Notes
don't display options multiple times in schematics help output
change package installation to async
infer schematic defaults correctly when using `--project` [Closes #20666]

@ngtools/webpack (12.0.0-rc.2)

Commit Description Notes
rebuild Angular required files asynchronously
reduce source file and Webpack module iteration

@schematics/angular (12.0.0-rc.2)

Commit Description Notes
add "type" option in enum schematic
only run `emitDecoratorMetadata` removal migration in safe workspaces
replace `clientProject` with `project`


Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Sam Bulatov, Doug Parker

v12.0.0-rc.1 (2021-04-28)

Commits

@angular-devkit/build-angular (12.0.0-rc.1)

Commit Description Notes
remove left-over `forkTypeChecker` option
output webpack-dev-server and webpack-dev-middleware errors
improve incremental time during Karma tests
avoid async downlevel for known ES2015 code

@angular-devkit/core (12.0.0-rc.1)

Commit Description Notes
improve handling of set schema values [Closes #20594]

@angular/cli (12.0.0-rc.1)

Commit Description Notes
add package manager name and version in `ng version` output
Support XDG Base Directory Specfication

@schematics/angular (12.0.0-rc.1)

Commit Description Notes
remove jasmine-spec-reporter and ts-node from default workspace
remove Protractor from home page
remove lint command from package.json [Closes #20618]
avoid unuse imports for canLoad guard generation
fix migration for namedChunks and option

@angular-devkit/schematics-cli (12.0.0-rc.1)

Commit Description Notes
accept windows like paths for schematics


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Cédric Exbrayat, Doug Parker, Joshua Chapman, Billy Lando, Santosh Yadav, mzocateli

v12.0.0-rc.0 (2021-04-21)

Commits

@angular-devkit/build-angular (12.0.0-rc.0)

Commit Description Notes
avoid double build optimizer processing
replace Webpack 4 `hashForChunk` hook usage
use new Webpack watch API in karma webpack plugin
recover from CSS optimization errors
disable Webpack 5 automatic public path support
always inject live reload client when using live reload
change several builder options defaults
show warning when using stylus
set Tailwind CSS mode when using Tailwind
avoid triggering file change after file build
use Webpack's GC memory caching in watch mode

@angular/cli (12.0.0-rc.0)

Commit Description Notes
ignore `tsickle` during updates
run all migrations when updating from or between prereleases

@ngtools/webpack (12.0.0-rc.0)

Commit Description Notes
only track actual resource file dependencies
cache results of processed inline resources

@schematics/angular (12.0.0-rc.0)

Commit Description Notes
set `inlineStyleLanguage` when application `style` option is used
set `inlineStyleLanguage` for universal if present in build options

Breaking Changes

@schematics/angular: remove `stylus` from `style` options (fd729ac)

`styl` (Stylus) is no longer a supported value as `style` in `application`, `component`, `ng-new` schematics. Stylus is not actively maintained and only 0.3% of the Angular CLI users use it.

(cherry picked from commit 0272fc55b67d1a3f986b996c8eb21aea31eedf51)

@angular-devkit/build-angular: change several builder options defaults (656f8d7)

A number of browser and server builder options have had their default values changed. The aim of these changes is to reduce the configuration complexity and support the new "production builds by default" initiative.

Browser builder

Option Previous default value New default value
optimization false true
aot false true
buildOptimizer false true
sourceMap true false
extractLicenses false true
namedChunks true false
vendorChunk true false

Server builder

Option Previous default value New default value
optimization false true
sourceMap true false

(cherry picked from commit 0a74d0d28daf68510459ed73ef048c91bfcabbbc)


Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Joey Perrott, David Shevitz

v12.0.0-next.9 (2021-04-14)

Commits

@angular-devkit/build-angular (12.0.0-next.9)

Commit Description Notes
upgrade to Webpack 5 throughout the build system
support processing component inline CSS styles
support specifying stylesheet language for inline component styles
update karma builder to use non-deprecated API
disable webpack cache when using `NG_BUILD_CACHE`
remove duplicate application bundle generation complete message
mark programmatic builder execution functions as experimental

@angular-devkit/build-webpack (0.1200.0-next.9)

Commit Description Notes
support Webpack 5

@angular-devkit/core (12.0.0-next.9)

Commit Description Notes
update schema validator

@angular/cli (12.0.0-next.9)

Commit Description Notes
add message update updating from non LTS versions of the CLI

@ngtools/webpack (12.0.0-next.9)

Commit Description Notes
support multiple plugin instances per compilation
support generating data URIs for inline component styles in JIT
support processing inline component styles in AOT

@schematics/angular (12.0.0-next.9)

Commit Description Notes
configure new libraries to be published in Ivy partial mode
update `jasmine-spec-reporter` to version 7
migrate web workers to support Webpack 5
update web-worker to support Webpack 5

Breaking Changes

@angular-devkit/core: update schema validator (0875313)

support for JSON Schema draft-04 and draft-06 is removed. If you have schemas using the `id` keyword replace them with `$id`. For an interim period we will auto rename any top level `id` keyword to `$id`.

NB: This change only effects schematics and builders authors.

@angular-devkit/build-angular: upgrade to Webpack 5 throughout the build system (d883ce5)

Webpack 5 generates similar but differently named files for lazy loaded JavaScript files in development configurations (when the `namedChunks` option is enabled). For the majority of users this change should have no effect on the application and/or build process. Production builds should also not be affected as the `namedChunks` option is disabled by default in production configurations. However, if a project's post-build process makes assumptions as to the file names then adjustments may need to be made to account for the new naming paradigm. Such post-build processes could include custom file transformations after the build, integration into service-side frameworks, or deployment procedures. Example development file name change: `lazy-lazy-module.js` --> `src_app_lazy_lazy_module_ts.js`

@angular-devkit/build-angular: upgrade to Webpack 5 throughout the build system (d883ce5)

Webpack 5 now includes web worker support. However, the structure of the URL within the `Worker` constructor must be in a specific format that differs from the current requirement. Web worker usage should be updated as shown below (where `./app.worker` should be replaced with the actual worker name):

Before:

new Worker('./app.worker', ...)

After:

new Worker(new URL('./app.worker', import.meta.url), ...)

Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Doug Parker, Douglas Parker

v12.0.0-next.8 (2021-04-07)

Commits

@angular-devkit/build-angular (0.1200.0-next.8)

Commit Description Notes
remove deprecated i18nLocale and i18nFormat options from i18n-extract

@ngtools/webpack (12.0.0-next.8)

Commit Description Notes
remove Webpack plugin for deprecated ViewEngine compiler

@schematics/angular (12.0.0-next.8)

Commit Description Notes
run update-i18n migration for server builder

Breaking Changes

@ngtools/webpack: remove Webpack plugin for deprecated ViewEngine compiler (160102a)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the View Engine Webpack plugin has been removed. The Ivy-based Webpack plugin is the default used within the Angular CLI. If using a custom standalone Webpack configuration, the removed `AngularCompilerPlugin` should be replaced with the Ivy-based `AngularWebpackPlugin`.

@angular-devkit/build-angular: remove deprecated i18n options from server and browser builder (5cf9a08)

Removal of deprecated browser and server command options. - `i18nFile`, use `locales` object in the project metadata instead. - `i18nFormat`, No longer needed as the format will be determined automatically. - `i18nLocale`, use `localize` option instead.

@angular-devkit/build-angular: remove deprecated i18nLocale and i18nFormat options from i18n-extract (eca5a01)

Removal of deprecated `extract-i18n` command options The deprecated `i18nLocale` option has been removed and the `i18n.sourceLocale` within a project's configuration should be used instead. The deprecated `i18nFormat` option has been removed and the `format` option should be used instead.

Special Thanks

Charles Lyding, Renovate Bot, Alan Agius, Doug Parker, Joey Perrott

v12.0.0-next.7 (2021-04-02)

Commits

@angular-devkit/build-angular (0.1200.0-next.7)

Commit Description Notes
validate scripts and styles bundleName [Closes #20360]
remove deprecated View Engine support for i18n extraction
remove usage of deprecated View Engine compiler

@angular/cli (12.0.0-next.7)

Commit Description Notes
ensure update migrations are fully executed
exclude deprecated packages with removal migrations from update

@ngtools/webpack (12.0.0-next.7)

Commit Description Notes
use correct Webpack asset stage in resource loader
only check affected files for Angular semantic diagnostics

@schematics/angular (12.0.0-next.7)

Commit Description Notes
remove `entryComponent` from `component` schematic
correctly handle adding multi-line strings to `@NgModule` metadata
explicitly specify ServiceWorker registration strategy

Breaking Changes

@angular-devkit/build-angular: remove usage of deprecated View Engine compiler (677913f)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, Ivy-based compilation will always be used when building an application. The default behavior for applications is to use the Ivy compiler when building and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and an Ivy-based build will be attempted. If the build fails, the application may need to be updated to become Ivy compatible.

@schematics/angular: remove `entryComponent` from `component` schematic (8582ddc)

`entryComponent` option has been removed from the `component` schematic as this was intended to be used with the the now no longer supported ViewEngine rendering engine.

@angular-devkit/build-angular: remove view engine app-shell generation (1c2aeeb)

App-shell builder now only supports generation using Ivy

@angular-devkit/build-angular: remove deprecated View Engine support for i18n extraction (012700a)

Removal of View Engine support from i18n extraction With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the `ng extract-i18n` command will now always use the Ivy compiler. The `--ivy` option has also been removed as Ivy-based extraction is always enabled. The default behavior for applications is to use the Ivy compiler for building/extraction and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and Ivy-based extraction will be attempted. If the extraction fails, the application may need to be updated to become Ivy compatible.

Special Thanks

Charles Lyding, Alan Agius, Renovate Bot, George Kalpakas, Joey Perrott, Keen Yee Liau

v12.0.0-next.6 (2021-03-24)

Commits

@angular-devkit/build-angular (0.1200.0-next.6)

Commit Description Notes
ensure output directory is present before writing stats JSON

@schematics/angular (12.0.0-next.6)

Commit Description Notes
add production by default optional migration
update new workspaces to use Karma 6.3
remove leftover workspace tslint config


Special Thanks

Renovate Bot, Alan Agius, Charles Lyding, Keen Yee Liau

v12.0.0-next.5 (2021-03-18)

Commits

@angular-devkit/build-angular (0.1200.0-next.5)

Commit Description Notes
expose legacy-migrate message format
integrate JIT mode linker [Closes #20281]
display correct filename for bundles that are ES2016+
don't load an input sourcemap from file when using Babel
support writing large Webpack stat outputs
skip FESM2015 from `async` transformation
remove Webpack Stats.toJson usage in analytics plugin
remove Webpack Stats.toJson usage in karma plugin
enforce Babel not to load sourcemaps from file
disable `showCircularDependencies` by default

@angular-devkit/build-webpack (0.1200.0-next.5)

Commit Description Notes
provide output path in builder results

@angular/cli (12.0.0-next.5)

Commit Description Notes
confirm ng add action before installation
support TypeScript 4.2
remove `project` from required properties in ng-packagr schema

@ngtools/webpack (12.0.0-next.5)

Commit Description Notes
remove Webpack 5 deprecation warning in resource loader
avoid adding transitive dependencies to Webpack's dependency graph
use precalculated dependencies in unused file check

@schematics/angular (12.0.0-next.5)

Commit Description Notes
update several TypeScript compilation target (Syntax)
remove tslint and codelyzer from new projects [Closes #20105]
[Closes #18465]
remove references to the prod flag
fix youtube icon margin
only show legacy browsers deprecation warning when option is used
remove Native value from viewEncapsulation option
use title for svg on home page

Breaking Changes

@angular/cli: confirm ng add action before installation (985dc1a)

The `ng add` command will now ask the user to confirm the package and version prior to installing and executing an uninstalled package. This new behavior allows a user to abort the action if the version selected is not appropriate or if a typo occurred on the command line and an incorrect package would be installed. A `--skip-confirmation` option has been added to skip the prompt and directly install and execute the package. This option is useful in CI and non-TTY scenarios such as automated scripts.

Special Thanks

Alan Agius, Charles Lyding, Renovate Bot, Doug Parker, Cédric Exbrayat, Kristiyan Kostadinov, Mouad Ennaciri, Omar Hasan

v12.0.0-next.4 (2021-03-10)

Commits

@angular-devkit/architect (0.1200.0-next.4)

Commit Description Notes
add implementation for defaultConfiguration

@angular-devkit/build-angular (0.1200.0-next.4)

Commit Description Notes
show warning during build when project requires IE 11 support
only remove nomodule and defer attributes empty values [Closes #20207]

@angular-devkit/core (12.0.0-next.4)

Commit Description Notes
add handling for `defaultConfiguration` target definition property

@angular/cli (12.0.0-next.4)

Commit Description Notes
deprecate `--prod` command line argument
add `defaultConfiguration` property to architect schema
avoid exceptions for expected errors in architect commands
add ng-packagr builder schema in IDE schema

@ngtools/webpack (12.0.0-next.4)

Commit Description Notes
drop support for string based lazy loading

@schematics/angular (12.0.0-next.4)

Commit Description Notes
add migration to update lazy loading string syntax to use dynamic imports
add migration to remove `lazyModules` configuration option
deprecate `legacyBrowsers` application and ng-new option
production builds by default
add `additionalProperties` to all schemas

Breaking Changes

@angular-devkit/build-angular: remove deprecated `lazyModules` option (8d66912)

Server and Browser builder `lazyModules` option has been removed without replacement.

@ngtools/webpack: drop support for string based lazy loading (0dc7327)

With this change we drop support for string based lazy loading `./lazy.module#LazyModule` use dynamic imports instead.

The following options which were used to support the above syntax were removed without replacement.

  • discoverLazyRoutes
  • additionalLazyModules
  • additionalLazyModuleResources
  • contextElementDependencyConstructor

Special Thanks

Alan Agius, Charles Lyding, Renovate Bot, Joey Perrott

v12.0.0-next.3 (2021-03-03)

Commits

@angular-devkit/build-angular (0.1200.0-next.3)

Commit Description Notes
enable inlineCritical by default
remove left-over `experimentalRollupPass` option
inline critical font-face rules when using crittical css inlining

@schematics/angular (12.0.0-next.3)

Commit Description Notes
update ng new links

Breaking Changes

@angular-devkit/build-angular: enable inlineCritical by default (aa3ea88)

Critical CSS inlining is now enabled by default. If you wish to turn this off set `inlineCritical` to `false`.

See: https://angular.io/guide/workspace-config#optimization-configuration


Special Thanks

Renovate Bot, Charles Lyding, Alan Agius, Keen Yee Liau, Douglas Parker, twerske

v12.0.0-next.2 (2021-02-24)

Commits

@angular-devkit/build-angular (0.1200.0-next.2)

Commit Description Notes
only show index and service worker status once
disable declaration and declarationMap [Closes #20103]

@angular/cli (12.0.0-next.2)

Commit Description Notes
remove npm 7 incompatibility notification

@schematics/angular (12.0.0-next.2)

Commit Description Notes
update new project dependencies version [Closes #20106]
augment `universal` schematics to import `platform-server` shims [Closes #40559]
add migration to remove emitDecoratorMetadata


Special Thanks

Renovate Bot, Charles Lyding, Alan Agius, Doug Parker, Joey Perrott, Jefiozie, George Kalpakas, Keen Yee Liau

v12.0.0-next.1 (2021-02-17)

Commits

@angular-devkit/build-angular (0.1200.0-next.1)

Commit Description Notes
drop support for ng-packagr version 11
drop support for karma version 5.2

@angular-devkit/build-optimizer (0.1200.0-next.1)

Commit Description Notes
support Webpack 5

@angular/cli (12.0.0-next.1)

Commit Description Notes
support update migration packages with no entry points [Closes #20032]
ensure odd number Node.js version message is a warning
improve error logging when resolving update migrations

@ngtools/webpack (12.0.0-next.1)

Commit Description Notes
support Webpack 5
normalize paths when pruning AOT rebuild requests

@schematics/angular (12.0.0-next.1)

Commit Description Notes
add migration to use new zone.js entry-points
use new zone.js entry-points

Breaking Changes

@angular-devkit/build-angular: drop support for zone.js 0.10 (f309516)

Minimum supported `zone.js` version is `0.11.4`

@angular-devkit/build-angular: drop support for ng-packagr version 11 (44e75be)

Minimum supported `ng-packagr` version is `12.0.0-next`

@angular-devkit/build-angular: drop support for karma version 5.2 (fa5cf53)

Minimum supported `karma` version is `6.0.0`

Special Thanks

Renovate Bot, Alan Agius, Charles Lyding, Keen Yee Liau, Aravind V Nair

v12.0.0-next.0 (2021-02-11)

Commits

@angular-devkit/build-angular (0.1200.0-next.0)

Commit Description Notes
add `postcss-preset-env` with stage 3 features
ensure i18n extraction sourcemaps are fully configured
the root Tailwind configuration file is always picked
fixed ignoring of karma plugins config [Closes #19993]

@angular-devkit/core (12.0.0-next.0)

Commit Description Notes
ensure job input values are processed in order

@angular/cli (12.0.0-next.0)

Commit Description Notes
update NPM 7 guidance

@ngtools/webpack (12.0.0-next.0)

Commit Description Notes
reduce overhead of Angular compiler rebuild requests

@schematics/angular (12.0.0-next.0)

Commit Description Notes
strict mode by default
add migration to remove deprecated options from 'angular.json'
only update removed v12 options in migration

Breaking Changes

set minimum Node.js version to 12.13 (d1f6169)

Node.js version 10 will become EOL on 2021-04-30. Angular CLI 12 will require Node.js 12.13+ or 14.15+. Node.js 12.13 and 14.15 are the first LTS releases for their respective majors.

@angular-devkit/build-angular: remove file-loader dependency (6732294)

The unsupported/undocumented, Webpack specific functionality to `import`/`require()` a non-module file has been removed.

Before

import img from './images/asset.png';

After

<img src="images/asset.png" />

Special Thanks

Renovate Bot, Charles Lyding, Alan Agius, Doug Parker, Bruno Baia, Amadou Sall, S. Iftekhar Hossain


Note: For release notes prior to this CHANGELOG see release notes.