15.0.0 (2022-11-16)
Breaking Changes
@angular/cli
- The Angular CLI no longer supports
16.10.x
,16.11.x
and16.12.x
. Current supported versions of Node.js are14.20.x
,16.13.x
and18.10.x
. - Node.js versions older than 14.20 are no longer supported.
- The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead.
@schematics/angular
- Removed unused
appDir
option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect.
-
analyticsSharing
option in the global angular configuration has been
removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data.If this option is used, it can be removed using
ng config --global cli.analyticsSharing undefined
. -
analytics APIs have been removed without replacement from
@angular-devkit/core
and@angular-devkit/architect
.
@angular-devkit/build-angular
-
TypeScript versions older than 4.8.2 are no longer supported.
-
The server builder
bundleDependencies
option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles.The
externalDependencies
option can be used instead to exclude specific node_module packages from the final bundle. -
- Deprecated support for tilde import has been removed. Please update the imports by removing the
~
.
Before
@import "~font-awesome/scss/font-awesome";
After
@import "font-awesome/scss/font-awesome";
- By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting
NG_BUILD_LEGACY_SASS=1
.
- Deprecated support for tilde import has been removed. Please update the imports by removing the
-
Internally the Angular CLI now always set the TypeScript
target
toES2022
anduseDefineForClassFields
tofalse
unless the target is set toES2022
or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration. -
require.context
are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future. -
Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+
-
server builder
bundleDependencies
option now only accept a boolean value. -
Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports.
@angular-devkit/core
- Workspace projects with missing
root
is now an error.
@ngtools/webpack
- TypeScript versions older than 4.8.2 are no longer supported.
@schematics/angular
@angular/cli
Commit | Description |
---|---|
add support for Node.js version 18 | |
drop support for Node.js versions older than 14.20 | |
add unique user id as user parameter in GA | |
add workspace information as part of analytics collection | |
allow ng add to find prerelease versions when CLI is prerelease
| |
do not collect analytics when running in non TTY mode | |
exclude @angular/localize@<10.0.0 from ng add pa… (#24152)
| |
exclude @angular/material@7.x from ng add package discovery
| |
respect registry in RC when running update through yarn | |
remove deprecated path handler |
Commit | Description |
---|---|
migrate analytics collector to use GA4 | |
remove analytics API from core and architect |
@angular-devkit/build-angular
@angular-devkit/core
Commit | Description |
---|---|
throw error when project has missing root property | |
update logger forEach promiseCtor type
|
@ngtools/webpack
Commit | Description |
---|---|
drop support for TypeScript 4.6 and 4.7 | |
support inline style sourcemaps when using css-loader for component styles |
Special Thanks
Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, Doug Parker, Günhan Gülsoy, Jason Bedard, Lukas Spirig, Ruslan Lekhman, angular-robot[bot] and minijus