NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2016 most downloaded on npm
Angular DevKit - Core Utility Library
Last release today
01 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
1035 releases · first in 2017
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 3475e0281 | fix | update direct semver dependencies to 7.5.3 |
| Commit | Type | Description |
|---|---|---|
| 8108b8c2d | fix | allow linker JIT support with prebundling with esbuild builder |
| 502365037 | fix | use all style language watch files in esbuild builder |
<!-- CHANGELOG SPLIT MARKER -->
<a name="14.2.12"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| f017fee2e | fix | actually disable Vite prebundling file discovery |
| 2b4beaca2 | fix | experimental esbuild pipeline, add es2015 to main fields for RxJS v6 compatibility |
| e3c85e00e | fix | track postcss provided file dependencies in esbuild builder |
| 1419fff88 | fix | unpin and downgrade browserslist |
| 950a4b60f | fix | watch all bundler provided inputs with esbuild builder |
<!-- CHANGELOG SPLIT MARKER -->
<a name="16.1.0"></a>
One column per quarter.
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| b14b95990 | feat | add bootstrap-agnostic utilities for writing ng-add schematics |
| Commit | Type | Description |
|---|---|---|
| 3ede1a2ca | feat | allow forcing esbuild builder with dev-server |
| 2d141fe3b | feat | show estimated transfer size with esbuild builder |
| 9aa9b5264 | feat | support autoprefixer/tailwind CSS with Less/Sass in esbuild builder |
| 3d1c09b23 | feat | support dev-server package prebundling with esbuild builder |
| d8930facc | feat | support incremental TypeScript semantic diagnostics in esbuild builder |
| 5cacd34a2 | fix | watch all TypeScript referenced files in esbuild builder |
| 8336ad80d | perf | enable in-memory load result caching for stylesheets in esbuild builder |
<!-- CHANGELOG SPLIT MARKER -->
<a name="16.0.6"></a>
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
| Commit | Type | Description |
| Commit | Type | Description |
| Commit | Type | Description |
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 1d83bb656 | fix | percent encode asset URLs in development server for esbuild |
<!-- CHANGELOG SPLIT MARKER -->
<a name="16.0.2"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 7a3c895c8 | fix | attempt relative global script read first in esbuild builder |
| f30be2518 | fix | correctly generate serviceworker hashes for binary assets |
| 117e8d001 | fix | normalize Vite dev-server Windows asset paths |
| e5c1d43de | perf | minor sourcemap ignorelist improvements for esbuild builder |
<!-- CHANGELOG SPLIT MARKER -->
<a name="16.0.1"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| ed82c83fe | fix | avoid CommonJS warnings for relative imports with esbuild builders |
| 3083c4eda | fix | avoid hash filenames for non-injected global styles/scripts |
| b106bc9d0 | fix | clean incoming index URL before processing in esbuild builder |
| 2967705ed | fix | convert dev-server glob proxy entries for esbuild builder |
| a9d20015c | fix | disable runtime errors from being displayed in overlay |
| 822b552f6 | fix | fix index option const value for browser-esbuild |
| 131cd23b6 | fix | prevent relative import failure with Less in esbuild builder |
| fedcc5d92 | fix | properly set base dev-server path with esbuild |
| cb3161045 | fix | show error note for CSS url() tilde usage in esbuild builder |
| 54e5000ca | fix | workaround for esbuild static block AOT generated code |
| Commit | Type | Description |
|---|---|---|
| 5a35970af | fix | do not generate an UpdateBuffer for created and overridden files |
| Commit | Type | Description |
|---|---|---|
| 70d224ca7 | fix | compress PWA icons |
<!-- CHANGELOG SPLIT MARKER -->
<a name="16.0.0"></a>
The deprecated defaultCollection workspace option has been removed. Use schematicCollections instead.
The deprecated defaultCollection workspace option has been removed. Use schematicCollections instead.
Before
"defaultCollection": "@angular/material"
After
"schematicCollections": ["@angular/material"]
The deprecated defaultProject workspace option has been removed. The project to use will be determined from the current working directory.
Node.js v14 support has been removed
Node.js v14 is planned to be End-of-Life on 2023-04-30. Angular will stop supporting Node.js v14 in Angular v16. Angular v16 will continue to officially support Node.js versions v16 and v18.
ng g resolver and ng g guard now generate a functional resolver or guard by default. It is still possible to generate a (deprecated) class-based resolver or guard by using ng g resolver --no-functional or ng g guard --no-functional.CanLoad guards. Use CanMatch instead.Deprecated outputPath and outputPaths from the server and browser builder have been removed from the builder output. Use outputs instead.
Note: this change does not effect application developers.
SchemaRegistry.
compile method now returns a Promise.flatten has been removed without replacement.ContentHasMutatedException, InvalidUpdateRecordException, UnimplementedException and MergeConflictException API from @angular-devkit/core have been removed in favor of the API from @angular-devkit/schematics.UnsupportedPlatformException - A custom error exception should be created instead.UpdateBuffer has been removed and UpdateBuffer2
is renamed to UpdateBuffer. With this change the related and
deprecated symbols ContentCannotBeRemovedException and Chunk
have also been removed.| Commit | Type | Description |
|---|---|---|
| c2d2da41b | feat | add support to add service worker to standalone application |
| 22fdd7da9 | feat | generate functional resolvers and guards by default |
| a832c2028 | feat | Implement a standalone flag for new applications |
| 5ceedcb11 | feat | remove deprecated CanLoad option for guards |
| c9e84d024 | feat | remove generation of BrowserModule.withServerTransition |
| 50b9e59a5 | feat | update app-shell schematic to support standalone applications |
| dc5cc893d | feat | Update universal schematic to support standalone applications |
| f98c9de80 | fix | add experimental message when using standalone application schematic. |
| a5cb46124 | fix | add standalone option to library library |
| b2ed7bd10 | fix | provide migration that disables build optimizer on dev server builds |
| ba4414b2c | fix | reformat app.config.ts |
| 202e9a50f | fix | remove compileComponents from component test schematic |
| 0d58f73c5 | fix | rename app.server.module.ts to app.module.server.ts |
| de6d30102 | fix | replace provideServerSupport with provideServerRendering |
| bff634fe0 | fix | update private Components utilities to work with standalone project structure |
| 85fe820b0 | fix | use same property order in standalone AppComponent |
| Commit | Type | Description |
|---|---|---|
| 68024234e | feat | remove deprecated defaultCollection from workspace configuration |
| d58428d3d | feat | remove deprecated defaultProject from workspace configuration |
| 7cb5689e0 | feat | show optional migrations during update process |
| c29c8e18d | refactor | remove Node.js v14 support |
| Commit | Type | Description |
|---|---|---|
| 5a171ddff | build | update to TypeScript 5 and drop support for TypeScript 4.8 |
| Commit | Type | Description |
|---|---|---|
| 48871381a | fix | allow registered builder teardowns to execute |
| Commit | Type | Description |
|---|---|---|
| ff5ebf9b1 | feat | add CSP support for inline styles |
| ee8013f66 | feat | display build output table with esbuild |
| 0eac98f61 | feat | implement progress option for esbuild builder |
| f04859d16 | feat | initial autoprefixer support for CSS in esbuild builder |
| 8c550302c | feat | initial development server for esbuild-based builder |
| 52969db6b | feat | initial tailwindcss support for CSS in esbuild builder |
| ce46ecae0 | feat | support module resolution with less stylesheets in esbuild builder |
| 584b51907 | feat | support scripts option with esbuild builder |
| e4883b0ee | feat | support SSL options with esbuild development server |
| 290802060 | feat | support standalone app-shell generation |
| 766c14698 | fix | add sourcemap x_google_ignoreList support for esbuild builder |
| cdfa7ca88 | fix | allow multiple polyfills with esbuild-based builder |
| e690b7cbd | fix | always enable looseEnums build optimizer rule |
| 135ab4c36 | fix | avoid double sourcemap comments with esbuild dev-server |
| dcf60d2be | fix | correctly filter lazy global styles in esbuild builder |
| 342a4ea30 | fix | correctly show initial files in stat table with esbuild builder |
| 107851ae4 | fix | display warning when preserveWhitespaces is set in the tsconfig provided to the server builder |
| ff8a89cbf | fix | ensure all build resources are served in esbuild dev server |
| f76a8358e | fix | ensure directories are properly ignored in esbuild builder |
| 005ba4276 | fix | ensure empty component styles compile with esbuild |
| f74151baa | fix | exclude @angular/platform-server/init from unsafe optimizations |
| f72155bc7 | fix | fully remove third-party sourcemaps when disabled in esbuild builder |
| 26dced95c | fix | JIT support for standalone applications |
| 4822b3ba5 | fix | keep esbuild server active until builder fully stops |
| adbf2c8a1 | fix | normalize long-form asset option output to relative path |
| 67670b612 | fix | pass listening port in result for esbuild dev server |
| 1a8833b21 | fix | provide option to run build-optimizer on server bundles |
| b8c9667f9 | fix | remove unintended files in esbuild output stats table |
| 04274afc1 | fix | set public class fields as properties (#24849) |
| a778fe6c2 | fix | show lazy files in stat table correctly with esbuild |
| 955b493b1 | fix | support CSP on critical CSS link tags. |
| c272172c8 | fix | update esbuild builder complete log |
| 0b450578a | fix | update list of known tailwind configuration files |
| 759ae92aa | fix | update peer dependencies to support version 16 |
| eca366a84 | fix | use preserveSymlinks option for tsconfigs in esbuild builder |
| 28c27567c | perf | asynchronously delete output path in esbuild builder |
| 458400b7b | perf | avoid unnessary iterations |
| a710a262a | perf | cache Sass in memory with esbuild watch mode |
| e1398d333 | perf | do not inline sourcemap when using vite dev-server |
| b2ece91b7 | perf | enhance Sass package resolution in esbuild builder |
| aae34fc02 | perf | fully lazy load sass in esbuild builder |
| 9ea3e8e34 | perf | only import esbuild watcher when in watch mode |
| f88ac6fdf | perf | skip Angular linker in JIT mode with esbuild |
| a99018cd7 | refactor | remove deprecated outputPaths and outputPath Builder output |
| Commit | Type | Description |
|---|---|---|
| f6624b974 | feat | update SchemaRegistry compile to return Promise |
| 0ad81cdbc | refactor | remove deprecated exceptions |
| Commit | Type | Description |
|---|---|---|
| d2ef386f4 | refactor | remove UpdateBuffer and rename UpdateBuffer2 to UpdateBuffer |
| Commit | Type | Description |
|---|---|---|
| c8ac660d8 | refactor | remove NGCC integration |
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.8"></a>
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| c6feb0bb0 | fix | update webpack-dev-middleware to 6.1.2 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.1"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 05213c95b | fix | update dependency postcss to v8.4.31 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="14.2.13"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| f36e38a91 | fix | update direct semver dependencies to 7.5.3 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="16.1.2"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 069dcdf0c | docs | improve wording in doc command version description |
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.7"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| f4a6dac87 | fix | process keeps running when analytics are enabled |
| f9b2fb1c4 | perf | register CLI commands lazily |
| Commit | Type | Description |
|---|---|---|
| d9aefd6da | fix | replace vscode launch type from pwa-chrome to chrome |
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.6"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| f0b257ef4 | fix | ignore hidden directories when running browserlist migration |
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.5"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| db173d7ed | fix | collect tech information |
Alan Agius
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.4"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| f74bfea24 | fix | update webpack dependency to 5.76.1 |
Alan Agius
<!-- CHANGELOG SPLIT MARKER -->
<a name="14.2.11"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| a93680585 | fix | correct wrap ES2022 classes with static properties |
Alan Agius and Paul Gschwendtner
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.2"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| dfd03aa7c | fix | correctly transform numbers from prompts |
| Commit | Type | Description |
|---|---|---|
| eb22f634f | fix | build optimizer support for non spec-compliant ES2022 class static properties |
Alan Agius
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.1"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 9a5609a44 | fix | improve parsing of error messages |
Alan Agius and Paul Gschwendtner
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.2.0"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 0f58a17c4 | feat | log number of files update during ng update |
| Commit | Type | Description |
|---|---|---|
| ecf43090d | feat | auto detect package manager (#24305) |
| Commit | Type | Description |
|---|---|---|
| 01b3bcf89 | feat | add Less stylesheet support to experimental esbuild-based builder |
| 09af70743 | feat | implement node module license extraction for esbuild builder |
| bbc1a4f0d | feat | support CommonJS dependency checking in esbuild |
| 8cf0d17fb | feat | support JIT compilation with esbuild |
| 3f6769ef9 | fix | allow empty scripts to be optimized |
| 421417a36 | fix | avoid CommonJS warning for zone.js in esbuild |
Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott, Marvin and Paul Gschwendtner
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.1.6"></a>
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 3d1f48fa2 | fix | add set SessionEngaged in GA |
| df07ab113 | fix | convert before option in .npmrc to Date |
| c787cc780 | fix | replace os.version with os.release. |
| Commit | Type | Description |
|---|---|---|
| 34a4a1bbf | fix | correctly copy safety-worker.js contents |
| 88a33155d | fix | update the ECMA output warning message to be more actionable |
| 384ad29c9 | fix | use babel default export helper in build optimizer |
| 59aa1cdbd | perf | reduce rebuilt times when using the scripts option |
Alan Agius and Charles Lyding
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.1.5"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| b8bbe9688 | fix | error if Angular compiler is used in a schematic |
| fabbb8a93 | fix | only set DebugView when NG_DEBUG is passed |
| Commit | Type | Description |
|---|---|---|
| 499173b5d | fix | remove bootstrapping wrapping in universal schematic |
| Commit | Type | Description |
|---|---|---|
| e87134fe9 | fix | build optimizer support for spec-compliant downlevel class properties |
| d80adde2f | fix | do not fail compilation when spec pattern does not match |
| 11be502e7 | fix | fix support of Safari TP versions |
| 14e317d85 | fix | load polyfills and runtime as scripts instead of modules |
Alan Agius, Charles Lyding, Kristiyan Kostadinov and Ricardo
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.1.4"></a>
| Commit | Type | Description |
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| de15ec576 | fix | handle extended schematics when retrieving aliases |
| Commit | Type | Description |
|---|---|---|
| 2c04f4a8f | fix | update browserslist config to include last 2 Chrome version |
| Commit | Type | Description |
|---|---|---|
| f31bf300b | fix | avoid undefined module path for Sass imports in esbuild |
| c152a4a13 | fix | update browserslist config to include last 2 Chrome versions |
| Commit | Type | Description |
|---|---|---|
| 9de99202e | fix | handle number like strings in workspace writer |
Alan Agius, Charles Lyding and Doug Parker
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.1.2"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 387472a95 | fix | register schematic aliases when providing collection name in ng generate |
| 5d9fd788a | fix | remove --to option from being required when using --from in ng update |
| Commit | Type | Description |
|---|---|---|
| 0f5fb7e59 | fix | replace existing BrowserModule.withServerTransition calls when running universal schematic |
| Commit | Type | Description |
|---|---|---|
| bf4639a6e | fix | prevent hanging initial build during exception with esbuild |
Alan Agius, Charles Lyding and Doug Parker
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.1.1"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| b94bf60ca | fix | update esbuild to 0.16.17 |
Alan Agius
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.1.0"></a>
The Observable based SchematicTestRunner.runSchematicAsync and SchematicTestRunner.runExternalSchematicAsync method have been deprecated in favor of t…
SchematicTestRunner.runSchematicAsync and SchematicTestRunner.runExternalSchematicAsync method have been deprecated in favor of the Promise based SchematicTestRunner.runSchematic and SchematicTestRunner.runExternalSchematic.| Commit | Type | Description |
|---|---|---|
| 5b18ce154 | feat | add guardType as an alias of implements in guard schematic |
| dd2b65943 | feat | add configuration files generation schematic |
| 8d000d156 | feat | add environments generation schematic |
| 6c39a162b | feat | Add schematics for generating functional router guards and resolvers |
| 62121f89a | feat | add sideEffects:false to library package.json |
| 9299dea64 | feat | generate functional interceptors |
| 49b313f27 | fix | add missing import for functional interceptor spec |
| 2f92fe7e5 | fix | add missing semicolon in functional guard/resolver/interceptor |
| 9b6d190f4 | fix | remove EnvironmentInjector import in functional guard spec |
| b11d3f644 | fix | use proper variable in functional guard spec |
| 451975f76 | fix | use proper variable in resolver functional spec |
| Commit | Type | Description |
|---|---|---|
| c29df6954 | feat | add assets option to server builder |
| 839d0cb57 | feat | implement stats-json option for esbuild builder |
| 216991b9d | feat | support inline component Sass styles with esbuild builder |
| 7c87ce47c | fix | ensure Sass load paths are resolved from workspace root |
| 7a063238b | fix | explicitly send options to JS transformer workers |
| 22cba7937 | fix | provide an option to exclude specs in Karma builder |
| 20376649c | fix | transform async generator class methods for Zone.js support |
| 0520608f6 | fix | use relative css resource paths in esbuild JSON stats |
| 0c01532cb | perf | use worker pool for JavaScript transforms in esbuild builder |
| Commit | Type | Description |
|---|---|---|
| 207358afb | feat | add runSchematic and runExternalSchematic methods |
Alan Agius, Andrew Scott, Charles Lyding, Cédric Exbrayat, Doug Parker, Felix Hamann, Jason Bedard, Joey Perrott and Kristiyan Kostadinov
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.0.5"></a>
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| c2030dec7 | fix | format esbuild error messages to include more information |
Alan Agius, Kristiyan Kostadinov, Paul Gschwendtner and aanchal
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.0.4"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| ccc8e0350 | fix | display actionable error when a style does not exist in Karma builder |
| 507f756c3 | fix | downlevel class private methods when targeting Safari <=v15 |
| a0da91dba | fix | include sources in generated |
| 9fd356234 | fix | only set ngDevMode when script optimizations are enabled |
| 8e85f4728 | fix | update css-loader to 6.7.3 |
| b2d4415ca | fix | update locale setting snippet to use globalThis. |
Alan Agius and Charles Lyding
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.0.3"></a>
| Commit | Type | Description |
| Commit | Type | Description |
|---|---|---|
| 3d9971edb | fix | default preserve symlinks to Node.js value for esbuild |
| 24f4b51d2 | fix | downlevel class fields with Safari <= v15 for esbuild |
| 45afc42db | fix | downlevel class properties when targeting Safari <=v15 |
| e6461badf | fix | prevent optimization adding unsupported ECMASCript features |
Charles Lyding, Dominic Elm and Paul Gschwendtner
<!-- CHANGELOG SPLIT MARKER -->
<a name="15.0.2"></a>
Your coding agent can read these notes before it upgrades. Set up the MCP server →