NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2210 most downloaded on npm
Angular Schematics - Library
Last release 5 days ago
23 Sep 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
1055 releases · first in 2017
|  | add less as a devDependency when select
| Commit | Type | Description |
|---|---|---|
| bf64a0f2d | fix | add less as a devDependency when selected as the style preprocessor |
| cb258a3e1 | fix | correctly detect modules using new file extension format |
| Commit | Type | Description |
|---|---|---|
| 424f1cbbf | fix | do not consider internal Angular files as external imports |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.15"></a>
One column per quarter.
|  | only overwrite JSON file if actually ch
| Commit | Description |
|---|---|
| only overwrite JSON file if actually changed | |
| remove karma config devkit package usages during application migration | |
| skip zone.js dependency for zoneless applications |
| Commit | Description |
|---|---|
| improve Node.js version check and error messages |
| Commit | Description |
|---|---|
| also disable outputMode in vitest unit-tests | |
| resolve junit karma reporter output to workspace root |
| Commit | Type | Description |
|---|---|---|
| 0883248cb | fix | improve Node.js version check and error messages |
| Commit | Type | Description |
|---|---|---|
| 525ddcbd2 | fix | only overwrite JSON file if actually changed |
| 83c820e5a | fix | remove karma config devkit package usages during application migration |
| 87266b38a | fix | skip zone.js dependency for zoneless applications |
| Commit | Type | Description |
|---|---|---|
| e5efdc577 | fix | also disable outputMode in vitest unit-tests |
| 5814393db | fix | resolve junit karma reporter output to workspace root |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.0.0"></a>
|  | remove deprecated NodePackageLinkT…
| Commit | Description |
|---|---|
| add Node.js 24 as supported version | |
| remove Node.js v18 support | |
| update min Node.js support to 20.19, 22.12, and 24.0 | |
| update minimum supported Node.js 22 version to 22.11.0 |
| Commit | Description |
|---|---|
| respect i18nDuplicateTranslation option when duplicates exist |
| Commit | Description |
|---|---|
remove deprecated NodePackageLinkTask |
| Commit | Description |
|---|---|
| support using default index option when not present |
| Commit | Description |
|---|---|
| disable TypeScript composite option with Angular compiler |
--server-routing option has been removed from several schematics. Server routing will be used when using the application builder.Node.js v18 is no longer supported with Angular.
Before updating a project to Angular v20, the Node.js version must be at least 20.19.0. For the full list of supported Node.js versions, see https://angular.dev/reference/versions.
Node.js versions from 22.0 to 22.10 are no longer supported
The NodePackageLinkTask has been removed without a replacement. Create a custom task if needed.
Note: This does not affect application developers.
Node.js v18 is no longer supported with Angular.
Before updating a project to Angular v20, the Node.js version must be at least 20.11.1. For the full list of supported Node.js versions, see https://angular.dev/reference/versions.
Node.js versions from 22.0 to 22.10 are no longer supported
--server-routing option has been removed from several schematics. Server routing will be used when using the application builder.The NodePackageLinkTask has been removed without a replacement. Create a custom task if needed.
Note: This does not affect application developers.
| Commit | Type | Description |
|---|---|---|
| e03f2b899 | feat | Add global error listeners to new app generation |
| 1e137ca84 | feat | add migration to update moduleResolution to bundler |
| 26fd4ea73 | feat | add migrations for server rendering updates |
| 5876577af | feat | Add prompt for new apps to be zoneless |
| fdc6291dd | feat | add update migration to keep previous style guide generation behavior |
| 093c5a315 | feat | directly use @angular/build in new projects |
| d6f594fe0 | feat | generate applications using TypeScript project references |
| 0ab1ddf63 | feat | generate libraries using TypeScript project references |
| 18e13e2ce | feat | remove --server-routing option |
| 03180fe03 | feat | use TypeScript module preserve option for new projects |
| 86d241629 | fix | add @angular/ssr dependency only when provideServerRendering import has been updated |
| 9e6b9b537 | fix | add type checking of host bindings to strict config |
| 8654b3fea | fix | application migration should migrate karma builder package |
| c557a19ef | fix | avoid empty polyfill option for new zoneless application |
| 90615a88b | fix | default component templates to not use .ng.html extension |
| 672ae14cd | fix | drop composite in tsconfig |
| da6ef626f | fix | ensure app-shell schematic consistently uses withAppShell |
| f126f8d34 | fix | ensure module discovery checks for an NgModule decorator |
| dc2f65999 | fix | generate component templates with a .ng.html file extension |
| 23fc8e1e1 | fix | generate components without a .component extension/type |
| 8d715fa94 | fix | generate directives without a .directive extension/type |
| 5fc595144 | fix | generate guards with a dash type separator |
| 040282d8f | fix | generate interceptors with a dash type separator |
| 070d60fb3 | fix | generate modules with a dash type separator |
| e6083b57b | fix | generate pipes with a dash type separator |
| 92e193c0b | fix | generate resolvers with a dash type separator |
| bc0f07b48 | fix | generate services without a .service extension/type |
| ea1143ddd | fix | infer app component name and path in server schematic |
| bcc0892a6 | fix | migrate provideServerRoutesConfig to provideServerRendering |
| 5e8c6494d | fix | relative tsconfig paths in references |
| 381d35fe4 | fix | remove empty scripts option value from new applications |
| 148498c2b | fix | Remove experimental from zoneless |
| a910fe9ae | fix | remove explicit outputPath option value from generated applications |
| 901ab60d9 | fix | remove explicit index option from new applications |
| be6f13ec1 | fix | remove setting files tsconfig field with SSR/Server generation |
| 661609e3e | fix | set explicit type in library schematic |
| 0f7dc2cd8 | fix | skip spec project reference for minimal ng new |
| 3cf6ab0f7 | fix | support using default browser option when not present |
| b13805a77 | fix | use protected for class member |
| Commit | Type | Description |
|---|---|---|
| e513cd4aa | fix | add Node.js 24 as supported version |
| 5e90c1b4e | fix | remove Node.js v18 support |
| 787e510dc | fix | update min Node.js support to 20.19, 22.12, and 24.0 |
| 64732534e | fix | update minimum supported Node.js 22 version to 22.11.0 |
| Commit | Type | Description |
|---|---|---|
| a42e045ba | fix | respect i18nDuplicateTranslation option when duplicates exist |
| Commit | Type | Description |
|---|---|---|
| e6be37601 | refactor | remove deprecated NodePackageLinkTask |
| Commit | Type | Description |
|---|---|---|
| d6ea6b09f | feat | add experimental vitest browser support to unit-testing |
| 12def3a2e | feat | add experimental vitest unit-testing support |
| c1de63300 | feat | allow control of source map sources content for application builds |
| 31c81e9c6 | feat | drop support for TypeScript older than 5.8 |
| e80963036 | feat | expand browser support policy to widely available Baseline |
| 3c9172159 | feat | integrate Chrome automatic workspace folders |
| 9b682e625 | feat | support a default outputPath option for applications |
| d067cedf0 | feat | support custom resolution conditions with applications |
| f4be83119 | feat | Support Sass package importers |
| f36a27272 | fix | allow a default application browser option |
| f42f5c14c | fix | allow component HMR for templates with i18n |
| e36bf964a | fix | allow TestBed provider configuration with vitest unit-testing |
| 769961e4a | fix | allow vitest-based unit testing to use watch option |
| 3e24a59a9 | fix | disable TypeScript composite option with Angular compiler |
| b155ba1dc | fix | enable unit-test builder watch outside CI |
| 7bb1f8747 | fix | enable unit-test reporters option |
| 05485ede7 | fix | ensure com.chrome.devtools.json is consistently served after initial run |
| 7877d9a97 | fix | ensure disabled vitest config loading |
| c8c73185a | fix | ensure matching coverage excludes with karma on Windows |
| aec95042b | fix | exclude only source test files with unit-test vitest support |
| 5bea3de4c | fix | invalidate com.chrome.devtools.json if project is moved |
| 1cd65a08d | fix | perform testing module cleanup when using Vitest |
| c51a540ce | fix | provide direct debugging support for unit test builder |
| c7f2cb596 | fix | provide vitest globals in unit-test builder |
| d2bfc6bd4 | fix | revert setup unit-test polyfills before TestBed init |
| 0d40cdecd | fix | setup unit-test polyfills before TestBed init |
| fa3dc6387 | fix | show unit-test error for missing vitest browser package |
| 247cd3352 | fix | show unit-test error for missing vitest package |
| eee816f79 | fix | use global unit-test hooks during TestBed init |
| 566de64cb | fix | use virtual module for Karma TestBed initialization |
| 52fbffcd7 | fix | warn and remove jsdom launcher when used with karma |
| 5ff6188c4 | perf | directly check code for Angular partial linking |
| Commit | Type | Description |
|---|---|---|
| fa0a06f9f | fix | support using default index option when not present |
| Commit | Type | Description |
|---|---|---|
| 33b9de3eb | feat | expose provideServerRendering and remove provideServerRouting |
| cdfc50c29 | feat | stabilize AngularNodeAppEngine, AngularAppEngine, and provideServerRouting APIs |
| 319b8e0c2 | fix | manage unhandled errors in zoneless applications |
| 2d11e8e45 | fix | return 302 when redirectTo is a function |
| 059c10eb4 | fix | SSR should work without @angular/router |
| 63428f3f1 | perf | flush headers prior to start rendering the HTML |
| 280693231 | perf | optimize response times by introducing header flushing |
| 6bd7b9b4a | perf | optimized request handling performance |
| Commit | Type | Description |
|---|---|---|
| 427bd846f | fix | disable TypeScript composite option with Angular compiler |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.14"></a>
|  | migrate provideServerRoutesConfig to pr
|  | use protected for class member |
| Commit | Description |
|---|---|
| use protected for class member |
| Commit | Description |
|---|---|
| update min Node.js support to 20.19, 22.12, and 24.0 |
| Commit | Description |
|---|---|
| respect i18nDuplicateTranslation option when duplicates exist |
| Commit | Description |
|---|---|
remove background_color and theme_color from manifest |
| Commit | Description |
|---|---|
SSR should work without @angular/router |
|  | revert setup unit-test polyfills before
|  | support using default browser option wh
| Commit | Description |
|---|---|
| support using default browser option when not present |
| Commit | Description |
|---|---|
properly handle Node.js require() errors with ESM modules |
|  | remove explicit index option from new a
| Commit | Description |
|---|---|
| remove explicit index option from new applications |
| Commit | Description |
|---|---|
| add Node.js 24 as supported version |
| Commit | Description |
|---|---|
| correctly set i18n subPath in webpack browser builder |
| Commit | Description |
|---|---|
| support using default index option when not present |
|  | Add prompt for new apps to be zoneless
| Commit | Description |
|---|---|
| Add prompt for new apps to be zoneless | |
| avoid empty polyfill option for new zoneless application | |
| Remove experimental from zoneless | |
| skip spec project reference for minimal ng new |
| Commit | Description |
|---|---|
| add experimental vitest browser support to unit-testing | |
ensure com.chrome.devtools.json is consistently served after initial run |
| Commit | Description |
|---|---|
| return 302 when redirectTo is a function |
|  | generate libraries using TypeScript pr
|  | Add global error listeners to new app
| Commit | Description |
|---|---|
| Add global error listeners to new app generation | |
| drop composite in tsconfig | |
| relative tsconfig paths in references |
| Commit | Description |
|---|---|
| expand browser support policy to widely available Baseline | |
| use virtual module for Karma TestBed initialization |
| Commit | Description |
|---|---|
support getPrerenderParams for wildcard routes |
|  | generate applications using TypeScript
| Commit | Description |
|---|---|
| generate applications using TypeScript project references | |
| application migration should migrate karma builder package | |
| remove setting files tsconfig field with SSR/Server generation |
|  | add update migration to keep previous
| Commit | Description |
|---|---|
disable TypeScript composite option with Angular compiler |
|
| include component test metadata in development builds | |
| skip normalization of relative externals |
| Commit | Description |
|---|---|
| manage unhandled errors in zoneless applications |
| Commit | Description |
|---|---|
| disable TypeScript composite option with Angular compiler |
|  | add migration to update moduleResoluti
| Commit | Description |
|---|---|
add migration to update moduleResolution to bundler |
| Commit | Description |
|---|---|
| properly resolve relative schematics when executed from a nested directory |
| Commit | Description |
|---|---|
| support custom resolution conditions with applications | |
correctly handle false value in server option |
|
| warn and remove jsdom launcher when used with karma |
|  | update minimum supported Node.js 22 ver
| Commit | Description |
|---|---|
| update minimum supported Node.js 22 version to 22.11.0 |
| Commit | Description |
|---|---|
| add type checking of host bindings to strict config | |
remove empty scripts option value from new applications |
|
remove explicit outputPath option value from generated applications |
| Commit | Description |
|---|---|
| flush headers prior to start rendering the HTML | |
| optimized request handling performance |
|  | add migrations for server rendering up
| Commit | Description |
|---|---|
| Support Sass package importers | |
| ensure errors for missing component resources | |
| ensure relative karma stack traces for test failures |
| Commit | Description |
|---|---|
expose provideServerRendering and remove provideServerRouting |
|
stabilize AngularNodeAppEngine, AngularAppEngine, and provideServerRouting APIs |
--server-routing option has been removed from several schematics. Server routing will be used when using the application builder.|  | record analytics for nested schematics
| Commit | Description |
|---|---|
| record analytics for nested schematics |
| Commit | Description |
|---|---|
| use TypeScript module preserve option for new projects | |
generate component templates with a .ng.html file extension |
| Commit | Description |
|---|---|
prevent stream draining if write does not return a boolean |
|  | remove deprecated NodePackageLinkT…
<a name="20.0.0-next.0"></a>
| Commit | Description |
|---|---|
| remove Node.js v18 support |
| Commit | Description |
|---|---|
directly use @angular/build in new projects |
| Commit | Description |
|---|---|
remove deprecated NodePackageLinkTask |
| Commit | Description |
|---|---|
| ensure matching coverage excludes with karma on Windows |
| Commit | Description |
|---|---|
| optimize response times by introducing header flushing |
Node.js v18 is no longer supported with Angular.
Before updating a project to Angular v20, the Node.js version must be at least 20.11.1. For the full list of supported Node.js versions, see https://angular.dev/reference/versions.
The NodePackageLinkTask has been removed without a replacement. Create a custom task if needed.
Note: This does not affect application developers.
|  | add support for configuring trusted pro
| Commit | Type | Description |
|---|---|---|
| 2c0dfc2ac | fix | add support for configuring trusted proxy headers via environment variable |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.13"></a>
|  | allow all hosts in common engine render
| Commit | Type | Description |
|---|---|---|
| 842fee029 | fix | allow all hosts in common engine rendering options to prevent validation errors |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.10"></a>
|  | upgrade postcss to 8.5.12 |
| Commit | Type | Description |
|---|---|---|
| 49ae0ad2d | fix | upgrade postcss to 8.5.12 |
| Commit | Type | Description |
|---|---|---|
| 2d53feca5 | fix | update esbuild to 0.28.0 |
| Commit | Type | Description |
|---|---|---|
| 02ce8bf26 | fix | introduce trustProxyHeaders option to safely validate and sanitize proxy headers |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.9"></a>
|  | update vite to 6.4.2 |
| Commit | Type | Description |
|---|---|---|
| f4595d599 | fix | update vite to 6.4.2 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.6"></a>
|  | update picomatch to 4.0.4 |
| Commit | Type | Description |
|---|---|---|
| 67cfbe32f | fix | update picomatch to 4.0.4 |
| Commit | Type | Description |
|---|---|---|
| 771b979e7 | fix | update picomatch to 4.0.4 |
| Commit | Type | Description |
|---|---|---|
| de2da4874 | fix | update picomatch to 4.0.4 |
| Commit | Type | Description |
|---|---|---|
| 27a9ce4a7 | fix | update picomatch to 4.0.4 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.4"></a>
|  | update ajv to 8.18.0 |
| Commit | Type | Description |
|---|---|---|
| 0a01aecd9 | fix | update ajv to 8.18.0 |
| Commit | Type | Description |
|---|---|---|
| 79f59412a | fix | update rollup to 4.59.0 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.0"></a>
|  | prevent open redirect via X-Forwarded-P
| Commit | Type | Description |
|---|---|---|
| 288e22816 | fix | prevent open redirect via X-Forwarded-Prefix header |
| 2a72d7483 | fix | validate host headers to prevent header-based SSRF |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.20"></a>
|  | update webpack to 5.105.0 |
| Commit | Type | Description |
|---|---|---|
| 0e5421ba7 | fix | update webpack to 5.105.0 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.1.4"></a>
|  | update vite to v6.4.1 |
| Commit | Type | Description |
|---|---|---|
| 4d8ea27a1 | fix | update vite to v6.4.1 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.7"></a>
|  | prevent malicious URL from overriding h
| Commit | Type | Description |
|---|---|---|
| 9136a5d13 | fix | prevent malicious URL from overriding host |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.5"></a>
|  | update vite to 6.3.6 |
| Commit | Type | Description |
|---|---|---|
| 365d525b5 | fix | update vite to 6.3.6 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.1"></a>
|  | avoid extra tick in SSR builds |
| Commit | Description |
|---|---|
| avoid extra tick in SSR builds |
| Commit | Description |
|---|---|
| avoid extra tick in SSR dev-server builds |
| Commit | Description |
|---|---|
| introduce BootstrapContext for isolated server-side rendering |
The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.
Before:
const bootstrap = () => bootstrapApplication(AppComponent, config);
After:
const bootstrap = (context: BootstrapContext) =>
bootstrapApplication(AppComponent, config, context);
For more information please see: https://github.com/angular/angular/security/advisories/GHSA-68x2-mx4q-78m7
The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.
Before:
const bootstrap = () => bootstrapApplication(AppComponent, config);
After:
const bootstrap = (context: BootstrapContext) =>
bootstrapApplication(AppComponent, config, context);
| Commit | Type | Description |
|---|---|---|
| b0f4330a9 | fix | avoid extra tick in SSR builds |
| Commit | Type | Description |
|---|---|---|
| ee5c5f823 | fix | avoid extra tick in SSR dev-server builds |
| Commit | Type | Description |
|---|---|---|
| 32980f7e7 | feat | introduce BootstrapContext for isolated server-side rendering |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.0"></a>
|  | update dependency webpack-dev-server to
| Commit | Type | Description |
|---|---|---|
| b120e1411 | fix | update dependency webpack-dev-server to v5.2.2 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.20"></a>
|  | HMR requires AOT do not show HMR enable
| Commit | Type | Description |
|---|---|---|
| a3504fd45 | fix | HMR requires AOT do not show HMR enabled when using JIT |
| 5ce9f96a4 | fix | include full metadata for AOT unit-testing |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.13"></a>
|  | remove background_color and theme_color
| Commit | Type | Description |
|---|---|---|
| ad2fb2959 | fix | remove background_color and theme_color from manifest |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.12"></a>
|  | properly handle Node.js require() error
| Commit | Type | Description |
|---|---|---|
| 0098c38c6 | fix | properly handle Node.js require() errors with ESM modules |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.11"></a>
|  | correctly set i18n subPath in webpack b
| Commit | Type | Description |
|---|---|---|
| 9eaf34405 | fix | correctly set i18n subPath in webpack browser builder |
| Commit | Type | Description |
|---|---|---|
| cba66a85c | fix | avoid attempting to watch bundler internal files |
| 009fc3776 | fix | avoid internal karma request cache for assets |
| b43da3949 | perf | fix unnecessary esbuild rebuilds |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.10"></a>
|  | update vite to 6.2.7 |
| Commit | Type | Description |
|---|---|---|
| 067f1cba0 | fix | update vite to 6.2.7 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.17"></a>
|  | update http-proxy-middleware to v3.0.5
| Commit | Type | Description |
|---|---|---|
| de52cc2c8 | fix | update http-proxy-middleware to v3.0.5 |
| Commit | Type | Description |
|---|---|---|
| cc5229a45 | fix | pass preserveSymlinks option to Karma esbuild builder |
| Commit | Type | Description |
|---|---|---|
| a4e415ea6 | fix | support getPrerenderParams for wildcard routes |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.19"></a>
|  | include module value check when adding
| Commit | Type | Description |
|---|---|---|
| 4a8a4a083 | fix | include module value check when adding custom conditions |
| 00cd0d123 | fix | prevent nested CSS in components |
| a297c4153 | fix | properly resolve transitive external dependencies in vite-dev-server |
| 8ab033e8e | fix | update vite to 6.2.6 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.7"></a>
|  | include component test metadata in deve
| Commit | Type | Description |
|---|---|---|
| 7f1e8c677 | fix | include component test metadata in development builds |
| 74cd4edd5 | fix | skip normalization of relative externals |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.18"></a>
|  | properly resolve relative schematics wh
| Commit | Type | Description |
|---|---|---|
| e5aec562f | fix | properly resolve relative schematics when executed from a nested directory |
| Commit | Type | Description |
|---|---|---|
| 76cfd364a | fix | correctly handle false value in server option |
| d69188c6b | fix | update vite to 6.2.4 due to a security issues |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.17"></a>
|  | correct handling of response/request er
| Commit | Type | Description |
|---|---|---|
| 20455e2a6 | fix | correct handling of response/request errors |
| 32b1dcd91 | fix | handle undefined getOrCreateAngularServerApp during error compilation |
| 7552a9fec | fix | normalize karma asset paths before lookup |
| 1eb5b4357 | fix | update vite to 6.2.3 |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.16"></a>
|  | replace @angular/platform-browser-dynam
| Commit | Type | Description |
|---|---|---|
| 0a4e96bda | fix | replace @angular/platform-browser-dynamic with @angular/platform-browser |
| Commit | Type | Description |
|---|---|---|
| b0b643e46 | fix | ensure errors for missing component resources |
| 2cd763e89 | fix | ensure relative karma stack traces for test failures |
<!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.13"></a>
|  | update babel packages |
| Commit | Type | Description |
|---|---|---|
| 5a739820b | fix | update babel packages |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.15"></a>
|  | record analytics for nested schematics
<a name="19.2.2"></a>
| Commit | Description |
|---|---|
| record analytics for nested schematics |
| Commit | Description |
|---|---|
| exclude all entrypoints of a library from prebundling | |
| handle postcss compilation errors gracefully | |
provide extract-i18n does not respect |
|
| remove duplicate prebundling warning |
| Commit | Description |
|---|---|
prevent stream draining if write does not return a boolean |
| Commit | Type | Description |
|---|---|---|
| 0ee24e29b | fix | record analytics for nested schematics |
| Commit | Type | Description |
|---|---|---|
| 4575265f0 | fix | exclude all entrypoints of a library from prebundling |
| 83fcffbb7 | fix | handle postcss compilation errors gracefully |
| 78297ee47 | fix | provide extract-i18n does not respect |
| b18b9c8f2 | fix | remove duplicate prebundling warning |
| Commit | Type | Description |
|---|---|---|
| e6e8ce960 | fix | prevent stream draining if write does not return a boolean |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.1"></a>
|  | prevent accidental deletion of main.ts
<a name="19.2.1"></a>
| Commit | Description |
|---|---|
prevent accidental deletion of main.ts during application builder migration |
|
| prevent error when tsconfig file is missing in application builder migration |
| Commit | Description |
|---|---|
| improve error message when configuration is missing |
| Commit | Description |
|---|---|
| allow component HMR with a service worker | |
| exclude component styles from 'any' and 'all' budget calculations | |
handle undefined less stylesheet sourcemap values |
| Commit | Type | Description |
|---|---|---|
| 4c35b5721 | fix | prevent accidental deletion of main.ts during application builder migration |
| d7f9cb578 | fix | prevent error when tsconfig file is missing in application builder migration |
| Commit | Type | Description |
|---|---|---|
| 3ebd7ca7c | fix | improve error message when configuration is missing |
| Commit | Type | Description |
|---|---|---|
| c07330967 | fix | allow component HMR with a service worker |
| c989c91c3 | fix | exclude component styles from 'any' and 'all' budget calculations |
| 96e5dcb5f | fix | handle undefined less stylesheet sourcemap values |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.0"></a>
|  | add additional checks for application b
<a name="19.2.0"></a>
| Commit | Description |
|---|---|
| add additional checks for application builder usage | |
| remove animations module from ng new app |
| Commit | Description |
|---|---|
| add aot option to jest | |
| add aot option to karma | |
| add aot to WTR schema | |
| support aot option for karma browser builder |
| Commit | Description |
|---|---|
| Add support for route matchers with fine-grained render mode control |
| Commit | Type | Description |
|---|---|---|
| fe8d83a1f | fix | add additional checks for application builder usage |
| adf4ea5d4 | fix | remove animations module from ng new app |
| Commit | Type | Description |
|---|---|---|
| ef7ea536f | feat | add aot option to jest |
| 523d539c6 | feat | add aot option to karma |
| a00a49a65 | feat | add aot to WTR schema |
| 2bae1a9c0 | fix | support aot option for karma browser builder |
| Commit | Type | Description |
|---|---|---|
| 11fab9c7d | feat | add application builder karma testing to package |
| a5fcf8044 | fix | provide karma stack trace sourcemap support |
| 964fb778b | fix | support per component updates of multi-component files |
| f836be9e6 | fix | support Vite allowedHosts option for development server |
| 0ddf6aafa | fix | utilize bazel stamp instead of resolving peer dependency versions |
| Commit | Type | Description |
|---|---|---|
| 9726cd084 | feat | Add support for route matchers with fine-grained render mode control |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.9"></a>
|  | remove animations module from ng new ap
<a name="19.2.0-rc.0"></a>
| Commit | Description |
|---|---|
| remove animations module from ng new app |
| Commit | Description |
|---|---|
| correctly parse and resolve relative schematic collection names on Windows | |
| prefer installed package as fallback when listing package groups |
| Commit | Description |
|---|---|
| add aot to WTR schema | |
| pass missing options to Karma esbuild builder | |
| support aot option for karma browser builder |
|  | include default export for Express app
<a name="19.2.0-next.2"></a>
| Commit | Description |
|---|---|
| include default export for Express app | |
| remove additional newline after standalone property | |
skip ssr migration when @angular/ssr is not a dependency |
| Commit | Description |
|---|---|
| add aot option to jest | |
| add aot option to karma |
|  | update library schematic to use @angula
<a name="19.2.0-next.1"></a>
| Commit | Description |
|---|---|
update library schematic to use @angular-devkit/build-angular:ng-packagr |
| Commit | Description |
|---|---|
| enhance dynamic route matching for better performance and accuracy | |
| redirect to locale pathname instead of full URL | |
rename provideServerRoutesConfig to provideServerRouting |
|  | handle empty module case to avoid TypeE
|  | always disable JSON stats with dev-serv
| Commit | Type | Description |
|---|---|---|
| 2d361e9b0 | fix | always disable JSON stats with dev-server |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.8"></a>
|  | correctly parse and resolve relative sc
<a name="19.1.8"></a>
| Commit | Description |
|---|---|
| correctly parse and resolve relative schematic collection names on Windows | |
| prefer installed package as fallback when listing package groups |
| Commit | Description |
|---|---|
| pass missing options to Karma esbuild builder |
| Commit | Description |
|---|---|
suppress asset missing warning for /index.html requests |
|
update critical CSS inlining to support autoCsp |
| Commit | Type | Description |
|---|---|---|
| f76cee637 | fix | correctly parse and resolve relative schematic collection names on Windows |
| ceba7739c | fix | prefer installed package as fallback when listing package groups |
| Commit | Type | Description |
|---|---|---|
| c54b9996a | fix | pass missing options to Karma esbuild builder |
| Commit | Type | Description |
|---|---|---|
| 2f60a24dd | fix | suppress asset missing warning for /index.html requests |
| b8f7952b7 | fix | update critical CSS inlining to support autoCsp |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.7"></a>
|  | include default export for Express app
<a name="19.1.7"></a>
| Commit | Description |
|---|---|
| include default export for Express app |
| Commit | Description |
|---|---|
accurately calculate content length for static pages with \r\n |
|
| properly handle baseHref with protocol |
| Commit | Type | Description |
|---|---|---|
| de73b1c0c | fix | include default export for Express app |
| Commit | Type | Description |
|---|---|---|
| 8890a5f76 | fix | always provide Vite client helpers with development server |
| df1d38846 | fix | configure Vite CORS option |
| a13a49d95 | fix | exclude unmodified files from logs with --localize |
| 0826315fa | fix | handle unlocalizable files correctly in localized prerender |
| d2e1c8e9f | perf | cache translated i18n bundles for faster builds |
| Commit | Type | Description |
|---|---|---|
| f5d974576 | fix | accurately calculate content length for static pages with \r\n |
| c26ea1619 | fix | properly handle baseHref with protocol |
<!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.12"></a>
|  | remove additional newline after standal
<a name="19.1.6"></a>
| Commit | Description |
|---|---|
| remove additional newline after standalone property | |
skip ssr migration when @angular/ssr is not a dependency |
| Commit | Description |
|---|---|
| prioritize the first matching route over subsequent ones |
| Commit | Type | Description |
|---|---|---|
| 3f7042672 | fix | remove additional newline after standalone property |
| e9778dba0 | fix | skip ssr migration when @angular/ssr is not a dependency |
| Commit | Type | Description |
|---|---|---|
| 27f833186 | fix | avoid pre-transform errors with Vite pre-bundling |
| 8f6ee7ed9 | fix | ensure full rebuild after initial error build in watch mode |
| 2b9c00f68 | fix | prevent fallback to serving main.js for unknown requests |
| 45abd15b7 | fix | prevent server manifest generation when no server features are enabled |
| Commit | Type | Description |
|---|---|---|
| 5bf5e5fd2 | fix | prioritize the first matching route over subsequent ones |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.5"></a>
|  | update library schematic to use @angula
<a name="19.1.5"></a>
| Commit | Description |
|---|---|
update library schematic to use @angular-devkit/build-angular:ng-packagr |
| Commit | Description |
|---|---|
| enhance dynamic route matching for better performance and accuracy | |
| redirect to locale pathname instead of full URL | |
rename provideServerRoutesConfig to provideServerRouting |
| Commit | Type | Description |
|---|---|---|
| 14e3a71e4 | fix | update library schematic to use @angular-devkit/build-angular:ng-packagr |
| Commit | Type | Description |
|---|---|---|
| d53d25fc1 | fix | allow tailwindcss 4.x as a peer dependency |
| bd9d379f0 | fix | disable TypeScript removeComments option |
| e73e9102e | fix | handle empty module case to avoid TypeError |
| bb413456e | fix | keep background referenced HMR update chunks |
| 2011d3428 | fix | support template updates that also trigger global stylesheet changes |
| 688019946 | fix | update vite to version 6.0.11 |
| Commit | Type | Description |
|---|---|---|
| 94643d54d | fix | enhance dynamic route matching for better performance and accuracy |
| 747557aa0 | fix | redirect to locale pathname instead of full URL |
| bbbc1eb7a | fix | rename provideServerRoutesConfig to provideServerRouting |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.14"></a>
|  | replace deprecation of i18n.baseHref wi…
<a name="19.1.4"></a>
| Commit | Description |
|---|---|
| ensure collections can be resolved via test runner in pnpm workspaces |
| Commit | Description |
|---|---|
| prevent route matcher error when SSR routing is not used | |
| properly manage catch-all routes with base href | |
unblock route extraction with withEnabledBlockingInitialNavigation |
| Commit | Type | Description |
|---|---|---|
| aa6f0d051 | fix | ensure collections can be resolved via test runner in pnpm workspaces |
| Commit | Type | Description |
|---|---|---|
| ff8192a35 | fix | correct path for /@ng/components on Windows |
| 14d2f7ca0 | fix | include extracted routes in the manifest during prerendering |
| c87a38f5b | fix | only issue invalid i18n config error for duplicate subPaths with inlined locales |
| d50788cf9 | fix | replace deprecation of i18n.baseHref with a warning |
| Commit | Type | Description |
|---|---|---|
| bcc5fab75 | fix | prevent route matcher error when SSR routing is not used |
| 9bacf3981 | fix | properly manage catch-all routes with base href |
| 59c757781 | fix | unblock route extraction with withEnabledBlockingInitialNavigation |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.3"></a>
|  | allow asset changes to reload page on i
| Commit | Type | Description |
|---|---|---|
| 7d8c34172 | fix | allow asset changes to reload page on incremental updates |
| 9fa29af37 | fix | handle relative @ng/components |
| c4de34703 | fix | perform full reload for templates with $localize usage |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.2"></a>
|  | perform incremental background file upd
| Commit | Type | Description |
|---|---|---|
| 939d1612a | fix | perform incremental background file updates with component updates |
| 304027207 | fix | prevent full page reload on HMR updates with SSR enabled |
| 148acbd58 | fix | reset component updates on dev-server index request |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.1"></a>
|  | resolve HMR-prefixed files in SSR with
| Commit | Type | Description |
|---|---|---|
| 298506751 | fix | resolve HMR-prefixed files in SSR with Vite |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.1.0"></a>
The baseHref option under i18n.locales and i18n.sourceLocale in angular.json is deprecated in favor of subPath.
<a name="19.1.0"></a>
| Commit | Description |
|---|---|
use @angular/build package in library generation schematic |
|
| application migration should migrate ng-packagr builder package |
| Commit | Description |
|---|---|
| require build schemas from modules | |
| avoid Node.js resolution for relative builder schema |
| Commit | Description |
|---|---|
| handle Windows drive letter case insensitivity in path functions |
| Commit | Description |
|---|---|
update Rule type to support returning a Promise of Tree |
The baseHref option under i18n.locales and i18n.sourceLocale in angular.json is deprecated in favor of subPath.
The subPath defines the URL segment for the locale, serving as both the HTML base HREF and the directory name for output. By default, if not specified, subPath will use the locale code.
The baseHref option under i18n.locales and i18n.sourceLocale in angular.json is deprecated in favor of subPath.
The subPath defines the URL segment for the locale, serving as both the HTML base HREF and the directory name for output. By default, if not specified, subPath will use the locale code.
| Commit | Type | Description |
|---|---|---|
| 02825eec5 | feat | use @angular/build package in library generation schematic |
| 88431b756 | fix | application migration should migrate ng-packagr builder package |
| Commit | Type | Description |
|---|---|---|
| 2b8a02bac | feat | require build schemas from modules |
| fe1ae6933 | fix | avoid Node.js resolution for relative builder schema |
| Commit | Type | Description |
|---|---|---|
| ce7c4e203 | fix | handle Windows drive letter case insensitivity in path functions |
| Commit | Type | Description |
|---|---|---|
| 2f55209dd | fix | update Rule type to support returning a Promise of Tree |
| Commit | Type | Description |
|---|---|---|
| 2c9d7368f | feat | add ng-packagr builder to the package |
| 0a570c0c2 | feat | add support for customizing URL segments with i18n |
| 298b554a7 | feat | enable component template hot replacement by default |
| d350f357b | fix | correctly validate locales subPath |
| 8aa1ce608 | fix | handle loaders correctly in SSR bundles for external packages |
| 3b7e6a8c6 | fix | invalidate component template updates with dev-server SSR |
| 8fa682e57 | fix | remove deleted assets from output during watch mode |
| 48cae815c | fix | skip vite SSR warmup file configuration when SSR is disabled |
| ba16ad6b5 | fix | support incremental build file results in watch mode |
| 955acef3d | fix | trigger browser reload on asset changes with Vite dev server |
| e74300a2c | fix | use component updates for component style HMR |
| 6a19c217e | fix | warn when using both isolatedModules and emitDecoratorMetadata |
| Commit | Type | Description |
|---|---|---|
| 8d7a51dfc | feat | add modulepreload for lazy-loaded routes |
| 41ece633b | feat | redirect to preferred locale when accessing root route without a specified locale |
| 3feecddbb | fix | disable component boostrapping when running route extraction |
| 6edb90883 | fix | throw error when using route matchers |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.0.7"></a>
Your coding agent can read these notes before it upgrades. Set up the MCP server →