NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4400 most downloaded on npm
Angular - library for using Angular in a web browser
Last release 4 days ago
30 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
1 version withdrawn
withdrawn after publishing
10 years old
1118 releases · first in 2016
|  | remove refresh button from transfer state
| Commit | Description |
|---|---|
| remove refresh button from transfer state tab (#63592) |
| Commit | Description |
|---|---|
| enable type checking of host bindings by default (#63654) |
| Commit | Description |
|---|---|
introduce BootstrapContext for improved server bootstrapping (#63562) |
|
| drop support for TypeScript 5.8 (#63589) |
| Commit | Description |
|---|---|
| fix bug in ngclass-to-class migration (#63617) |
"typeCheckHostBindings": false in the angularCompilerOptions section of your tsconfig.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);
A schematic is provided to automatically update main.server.ts files to pass the BootstrapContext to the bootstrapApplication call.
In addition, getPlatform() and destroyPlatform() will now return null and be a no-op respectively when running in a server environment.
For more information please see: https://github.com/angular/angular/security/advisories/GHSA-68x2-mx4q-78m7
One column per quarter.
|  | remove deprecated ApplicationConfig e…
| Commit | Description |
|---|---|
| Add experimental support for the Navigation API (#63406) |
| Commit | Description |
|---|---|
| fixes regression with event parsing and animate prefix (#63470) |
| Commit | Description |
|---|---|
| add experimental signal-based forms (#63408) | |
| consistent treatment of empty (#63456) |
| Commit | Description |
|---|---|
| Add reponseType property to HttpResponse and HttpErrorResponse (#63043) |
| Commit | Description |
|---|---|
remove deprecated ApplicationConfig export (#63529) |
| Commit | Description |
|---|---|
| prevent false warning for duplicate state serialization (#63525) |
| Commit | Description |
|---|---|
| Update recognize stage to use internally async/await (#62994) |
| Commit | Description |
|---|---|
| Remove deprecated UpgradeAdapter (#61659) |
TestBed now provides a fake PlatformLocation
implementation that supports the Navigation API. This may break some
tests, though we have not observed any failures internally. You can revert to the
old default for TestBed by providing the MockPlatformLocation from
@angular/common/testing in your providers:
{provide: PlatformLocation, useClass: MockPlatformLocation}provideZoneChangeDetection in the
TestBed providers would previously prevent TestBed from rethrowing
errors as it should. Errors in the test will now be rethrown, regardless
of the usage of provideZoneChangeDetection. Tests should be adjusted to
prevent or account for these errors. As in previous major versions,
this behavior can be disabled with rethrowApplicationErrors: false in
configureTestingModule as a last resort.ignoreChangesOutsideZone is no longer available as an
option for configuring ZoneJS change detection behavior.ApplicationConfig export from @angular/platform-browser has been removed.
Please import ApplicationConfig from @angular/core instead.UpgradeAdapter is no longer available. Use
upgrade/static instead|  | removengModuleFactory input of NgComp
| Commit | Description |
|---|---|
removengModuleFactory input of NgComponentOutlet (#62838) |
| Commit | Description |
|---|---|
| fixes animations on elements with structural directives (#63390) | |
| Keep paraenthesis in Nullish + Boolean expression. (#63292) |
| Commit | Description |
|---|---|
Ensures @for loop animations never get cancelled (#63328) |
|
| fix memory leak with leaving nodes tracking (#63328) | |
Fixes animate.leave binding to a string with spaces (#63366) |
| Commit | Description |
|---|---|
| Add FormArrayDirective (#55880) |
| Commit | Description |
|---|---|
| add migration to convert ngClass to use class (#62983) |
|  | disallow compiling with the emitDeclaratio
| Commit | Description |
|---|---|
disallow compiling with the emitDeclarationOnly TS compiler option enabled (#61609) |
| Commit | Description |
|---|---|
| Provide http services in root (#56212) |
| Commit | Description |
|---|---|
convert lastSuccessfulNavigation to signal (#63057) |
emitDeclarationOnly TS compiler option is enabled as this mode is
not supported.lastSuccessfulNavigation is now a signal and needs to be invokedreject protocol-relative paths in resolveUrl
| Commit | Type | Description |
|---|---|---|
| 83944fc8c5 | fix | reject protocol-relative paths in resolveUrl |
| Commit | Type | Description |
|---|---|---|
| 142f187b3c | fix | do not copy URL-sized objects into every route snapshot |
| cd8efcb924 | fix | reject duplicate outlets in production builds |
| b0d2ba0f54 | fix | require outlets to match a route before processing child segments |
<!-- CHANGELOG SPLIT MARKER -->
<a name="22.2.0"></a>
avoid dense elements allocation for numeric URL keys
| Commit | Type | Description |
|---|---|---|
| ddfe21072b | fix | avoid dense elements allocation for numeric URL keys |
<!-- CHANGELOG SPLIT MARKER -->
<a name="22.1.8"></a>
update domino to latest version
| Commit | Type | Description |
|---|---|---|
| 3db26e2544 | fix | update domino to latest version |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.23"></a>
avoid stripping unicode whitespace during url resolution
| Commit | Type | Description |
|---|---|---|
| 9339a7a2de | fix | avoid stripping unicode whitespace during url resolution |
| 89b20568df | fix | update domino to latest version |
<!-- CHANGELOG SPLIT MARKER -->
<a name="22.1.3"></a>
disallow event handler attributes in Meta
| Commit | Type | Description |
|---|---|---|
| 7538744c10 | fix | disallow event handler attributes in Meta |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.21"></a>
sanitize host bindings on concrete hosts
| Commit | Type | Description |
|---|---|---|
| 2f96c8020f | fix | sanitize host bindings on concrete hosts |
| Commit | Type | Description |
|---|---|---|
| 969133d426 | fix | match header values exactly when deleting |
| 29dd26bd71 | fix | preserve immutability of materialized clones |
| e4c416c20a | fix | run root interceptors in the terminal request chain |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.20"></a>
|  | disallow i18n event attributes |
| Commit | Type | Description |
|---|---|---|
| 5dbcd0ee16 | fix | disallow i18n event attributes |
| db0d4a1a39 | fix | restrict possible event handler check to property names longer than 2 characters |
| Commit | Type | Description |
|---|---|---|
| a64e2883e9 | fix | distinguish repeated transfer cache params |
| Commit | Type | Description |
|---|---|---|
| 6f80cca0b8 | fix | update domino to latest version |
<!-- CHANGELOG SPLIT MARKER -->
<a name="22.0.8"></a>
|  | update babel dependencies to latest v7 |
| Commit | Description |
|---|---|
| update babel dependencies to latest v7 |
| Commit | Description |
|---|---|
| avoid caching missing locale data | |
| reject dynamic script host elements |
| Commit | Description |
|---|---|
| prevent caching of responses with Set-Cookie headers |
| Commit | Description |
|---|---|
| preserve referrer in asset requests | |
| preserve referrer policy in asset requests |
| Commit | Type | Description |
|---|---|---|
| 406aaa31e6 | fix | update babel dependencies to latest v7 |
| Commit | Type | Description |
|---|---|---|
| 26831d0cbd | fix | avoid caching missing locale data |
| 8eb7aea08b | fix | reject dynamic script host elements |
| Commit | Type | Description |
|---|---|---|
| b963f61028 | fix | prevent caching of responses with Set-Cookie headers |
| Commit | Type | Description |
|---|---|---|
| 1fdf234168 | fix | preserve referrer in asset requests |
| baa093ba68 | fix | preserve referrer policy in asset requests |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.18"></a>
|  | deprecate ServerXhr (#69256) |
| Commit | Description |
|---|---|
| Limits date format string length | |
| skip transfer cache for uncacheable HTTP traffic | |
| use cryptographically secure SHA-256 for transfer cache key generation |
| Commit | Description |
|---|---|
| sanitize two-way properties |
| Commit | Description |
|---|---|
| harden TransferState restoration against DOM clobbering | |
| validate lowercase SVG animation attribute names (#69270) |
| Commit | Description |
|---|---|
| preserve empty referrer option in HttpRequest | |
| Rejects non-HTTP(S) URLs in JSONP requests | |
| skip transfer cache for fetch credentialed requests |
| Commit | Description |
|---|---|
| harden platform location origin validation during SSR | |
| deprecate ServerXhr (#69256) |
| Commit | Description |
|---|---|
| Strips sensitive headers on cross-origin redirects |
@angular/platform-server is deprecated. Use standard fetch APIs instead.@angular/platform-server is deprecated. Use standard fetch APIs instead.| Commit | Type | Description |
|---|---|---|
| 9f443bc24c | fix | Limits date format string length |
| 566ad05f20 | fix | skip transfer cache for uncacheable HTTP traffic |
| 1a62130a6b | fix | use cryptographically secure SHA-256 for transfer cache key generation |
| Commit | Type | Description |
|---|---|---|
| a68ec702a0 | fix | sanitize two-way properties |
| Commit | Type | Description |
|---|---|---|
| 768a349e6e | fix | harden TransferState restoration against DOM clobbering |
| ca48b4728d | fix | validate lowercase SVG animation attribute names (#69270) |
| Commit | Type | Description |
|---|---|---|
| 06be298267 | fix | preserve empty referrer option in HttpRequest |
| fa940e1f4d | fix | Rejects non-HTTP(S) URLs in JSONP requests |
| e2ef1ce72a | fix | skip transfer cache for fetch credentialed requests |
| Commit | Type | Description |
|---|---|---|
| 49368c1859 | fix | harden platform location origin validation during SSR |
| d55c94ad81 | refactor | deprecate ServerXhr (#69256) |
| Commit | Type | Description |
|---|---|---|
| d65a5f457b | fix | Strips sensitive headers on cross-origin redirects |
<!-- CHANGELOG SPLIT MARKER -->
<a name="22.0.0"></a>
|  | throw on suspicious URLs and restrict prot
| Commit | Type | Description |
|---|---|---|
| 6ca433e56b | fix | throw on suspicious URLs and restrict protocol-relative URLs |
| 8680b5152f | fix | update domino to latest version |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.15"></a>
|  | prevent namespaced SVG elements from being
| Commit | Type | Description |
|---|---|---|
| d40acc6431 | fix | prevent namespaced SVG <style> elements from being stripped |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.22"></a>
|  | add upper bounds for digitsInfo |
| Commit | Description |
|---|---|
| add upper bounds for digitsInfo | |
| sanitize placeholder |
| Commit | Description |
|---|---|
| exclude withCredentials requests from transfer cache | |
| skip TransferCache for cookie-bearing requests by default |
| Commit | Description |
|---|---|
| secure location and document initialization against SSRF and path hijack |
| Commit | Description |
|---|---|
| preserve redirect policy on reconstructed asset requests | |
| Preserves explicit 'credentials: omit' in asset requests | |
| Preserves HTTP cache mode in asset group requests |
| Commit | Type | Description |
|---|---|---|
| 3d135ce59b | fix | add upper bounds for digitsInfo |
| 39a4b4cc8e | fix | sanitize placeholder |
| Commit | Type | Description |
|---|---|---|
| 8f35b182b1 | fix | normalize tag names with custom namespaces in DomElementSchemaRegistry (#68926) |
| 64a89e917a | fix | sanitize dynamic href and xlink:href bindings on SVG a elements (#68926) |
| 6404edfe0a | fix | strip namespaced SVG script elements during template compilation (#68926) |
| Commit | Type | Description |
|---|---|---|
| e345a58069 | fix | normalize tag names in runtime i18n attribute security context lookup (#68926) |
| d86e4e7b2a | fix | reject script element as a dynamic component host (#68926) |
| af04936045 | fix | sanitize meta selectors |
| dc631efa96 | fix | support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (#68926) |
| 909ef047b3 | fix | synchronize core sanitization schema with compiler (#68926) |
| Commit | Type | Description |
|---|---|---|
| de7b2a62e7 | fix | exclude withCredentials requests from transfer cache |
| 4233188d8e | fix | skip TransferCache for cookie-bearing requests by default |
| Commit | Type | Description |
|---|---|---|
| 49a60f6045 | fix | secure location and document initialization against SSRF and path hijack |
| Commit | Type | Description |
|---|---|---|
| 5fdfd8a998 | fix | preserve redirect policy on reconstructed asset requests |
| 83b022f2d0 | fix | Preserves explicit 'credentials: omit' in asset requests |
| e617fa06eb | fix | Preserves HTTP cache mode in asset group requests |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.23"></a>
|  | add allowedHosts option to renderModule an
| Commit | Type | Description |
|---|---|---|
| f584840e2e | fix | add allowedHosts option to renderModule and renderApplication |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.12"></a>
|  | disallow event attribute bindings in host
| Commit | Type | Description |
|---|---|---|
| a9bcffdbc7 | fix | disallow event attribute bindings in host bindings unconditionally (#68468) |
| 97eeb45cfa | fix | validate security-sensitive attributes in i18n bindings (#68468) |
| Commit | Type | Description |
|---|---|---|
| 25e4e07238 | fix | ensure origin has a trailing slash when parsing url (#68468) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.11"></a>
|  | prevent SSRF bypasses via protocol-relativ
| Commit | Type | Description |
|---|---|---|
| 303d4cd580 | fix | prevent SSRF bypasses via protocol-relative and backslash URLs |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.9"></a>
|  | disallow translations of iframe src |
| Commit | Type | Description |
|---|---|---|
| 02fbf08890 | fix | disallow translations of iframe src |
| Commit | Type | Description |
|---|---|---|
| 72126f9a08 | fix | sanitize translated attribute bindings with interpolations |
| 626bc8bc20 | fix | sanitize translated form attributes |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.4"></a>
|  | block creation of sensitive URI attributes
| Commit | Description |
|---|---|
| block creation of sensitive URI attributes from ICU messages |
Angular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.
(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)
Angular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.
(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)
| Commit | Type | Description |
|---|---|---|
| 7f9de3c118 | fix | block creation of sensitive URI attributes from ICU messages |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.0"></a>
|  | sanitize sensitive attributes on SVG scrip
| Commit | Type | Description |
|---|---|---|
| c2c2b4aaa8 | fix | sanitize sensitive attributes on SVG script elements |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.18"></a>
|  | prevent XSS via SVG animation attributeNam
| Commit | Type | Description |
|---|---|---|
| d1ca8ae043 | fix | prevent XSS via SVG animation attributeName and MathML/SVG URLs |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.17"></a>
|  | prevent XSRF token leakage to protocol-rel
| Commit | Type | Description |
|---|---|---|
| 0276479e7d | fix | prevent XSRF token leakage to protocol-relative URLs |
<!-- CHANGELOG SPLIT MARKER -->
<a name="21.0.1"></a>
<!-- CHANGELOG SPLIT MARKER -->
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.12"></a>
<!-- CHANGELOG SPLIT MARKER -->
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.11"></a>
|  | remove placeholder image listeners once vi
| Commit | Description |
|---|---|
| remove placeholder image listeners once view is removed |
| Commit | Description |
|---|---|
| support arbitrary nesting in :host-context() | |
| support commas in :host() argument | |
| support complex selectors in :nth-child() | |
| support one additional level of nesting in :host() |
| Commit | Description |
|---|---|
| skip leave animations on view swaps |
| Commit | Type | Description |
|---|---|---|
| 5047849a4a | fix | remove placeholder image listeners once view is removed |
| Commit | Type | Description |
|---|---|---|
| f9d0818087 | fix | support arbitrary nesting in :host-context() |
| 106b9040df | fix | support commas in :host() argument |
| 9419ea348a | fix | support complex selectors in :nth-child() |
| 036c5d2a07 | fix | support one additional level of nesting in :host() |
| Commit | Type | Description |
|---|---|---|
| dcdd1bcdbb | fix | skip leave animations on view swaps |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.10"></a>
|  | make required inputs diagnostic less noisy
| Commit | Type | Description |
|---|---|---|
| 840db59dc1 | fix | make required inputs diagnostic less noisy |
| Commit | Type | Description |
|---|---|---|
| a45e6b2b66 | fix | Prevent removal of templates referenced with preceding whitespace characters |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.9"></a>
<!-- CHANGELOG SPLIT MARKER -->
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.7"></a>
|  | account for Element.animate exceptions (#6
| Commit | Description |
|---|---|
account for Element.animate exceptions (#64506) |
| Commit | Description |
|---|---|
| correctly compile long numeric HTML entities (#64297) |
| Commit | Description |
|---|---|
| missingStructuralDirective diagnostic produces false negatives (#64470) |
| Commit | Description |
|---|---|
| pass element removal property through in all locations (#64565) | |
| prevent duplicate nodes from being retained with fast `animate.leave`` calls (#64592) |
| Commit | Description |
|---|---|
| Fix outlet serialization and parsing with no primary children (#64505) | |
| Surface parse errors in Router.parseUrl (#64503) |
| Commit | Type | Description |
|---|---|---|
| bd38cd45a5 | fix | account for Element.animate exceptions (#64506) |
| Commit | Type | Description |
|---|---|---|
| 891f180262 | fix | correctly compile long numeric HTML entities (#64297) |
| Commit | Type | Description |
|---|---|---|
| 371274bfc6 | fix | missingStructuralDirective diagnostic produces false negatives (#64470) |
| Commit | Type | Description |
|---|---|---|
| 4c89a267c3 | fix | pass element removal property through in all locations (#64565) |
| 2fad4d4ab6 | fix | prevent duplicate nodes from being retained with fast `animate.leave`` calls (#64592) |
| Commit | Type | Description |
|---|---|---|
| cfd8ed3fff | fix | Fix outlet serialization and parsing with no primary children (#64505) |
| 182fe78f91 | fix | Surface parse errors in Router.parseUrl (#64503) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.6"></a>
|  | update animation scheduling (#64441) |
| Commit | Type | Description |
|---|---|---|
| 911d6822cb | fix | update animation scheduling (#64441) |
| Commit | Type | Description |
|---|---|---|
| 2ece42866d | fix | DomEventsPlugin should always be the last plugin to be called for supports(). (#50394) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.5"></a>
|  | capture metadata for undecorated fields (#
| Commit | Description |
|---|---|
| capture metadata for undecorated fields (#63957) (#64317) | |
| fix performance of "interpolated signal not invoked" check (#64410) |
| Commit | Description |
|---|---|
fixes regression in animate.leave function bindings (#64413) |
|
| Prevents early style pruning with leave animations (#64335) |
| Commit | Description |
|---|---|
| migrating input with more than 1 usage in a method (#64367) | |
| remove error for no matching files in control flow migration (#64253) (#64314) |
| Commit | Description |
|---|---|
| Scroll restoration should use instant scroll behavior for traversals (#64299) |
| Commit | Type | Description |
|---|---|---|
| 8dec92ff9f | fix | capture metadata for undecorated fields (#63957) (#64317) |
| c2e817b0ef | perf | fix performance of "interpolated signal not invoked" check (#64410) |
| Commit | Type | Description |
|---|---|---|
| f15cfa4cc4 | fix | fixes regression in animate.leave function bindings (#64413) |
| d54dd674ca | fix | Prevents early style pruning with leave animations (#64335) |
| Commit | Type | Description |
|---|---|---|
| 554573e524 | fix | migrating input with more than 1 usage in a method (#64367) |
| 2c79ca0b57 | fix | remove error for no matching files in control flow migration (#64253) (#64314) |
| Commit | Type | Description |
|---|---|---|
| 6e4bcc7d22 | fix | Scroll restoration should use instant scroll behavior for traversals (#64299) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.4"></a>
|  | ensure missing leave animations don't queu
| Commit | Description |
|---|---|
| preserve component imports when pruning NgModules in standalone migration (#64186) |
| Commit | Type | Description |
|---|---|---|
| 853ed169a8 | fix | ensure missing leave animations don't queue leave animations (#64226) |
| 6fed986b7a | fix | Fixes animations in conjunction with content projection (#63776) |
| 76fe5599fe | fix | handle undefined CSS time values in parseCssTimeUnitsToMs function (#64181) |
| 3b959105be | fix | prevent early exit from leave animations when multiple transitions are present (#64225) |
| Commit | Type | Description |
|---|---|---|
| 65884895ff | fix | preserve component imports when pruning NgModules in standalone migration (#64186) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.3"></a>
|  | recover template literals with broken expr
| Commit | Description |
|---|---|
| recover template literals with broken expressions (#64150) |
| Commit | Description |
|---|---|
| handle shorthand property declarations in NgModule (#64160) | |
| skip migration for inputs with 'this' references (#64142) |
| Commit | Type | Description |
|---|---|---|
| f51ab32fb3 | fix | recover template literals with broken expressions (#64150) |
| Commit | Type | Description |
|---|---|---|
| 542cd0019a | fix | do not rename ARIA property bindings to attributes (#64089) |
| 0e928fbc4a | fix | Fixes animations in conjunction with content projection (#63776) |
| e5157bd933 | fix | prevents unintended early termination of leave animations and hoisting (#64088) |
| Commit | Type | Description |
|---|---|---|
| 1710cbd7d4 | fix | handle shorthand property declarations in NgModule (#64160) |
| 77b6305a4b | fix | skip migration for inputs with 'this' references (#64142) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.2"></a>
|  | capture metadata for undecorated fields (#
| Commit | Description |
|---|---|
| capture metadata for undecorated fields (#63904) | |
| resolve import alias in defer blocks (#63966) |
| Commit | Description |
|---|---|
fix narrowing of Resource.hasValue() (#63994) |
|
prevent animations renderer from impacting animate.leave (#63921) |
| Commit | Description |
|---|---|
Emit FormResetEvent when resetting control (#64034) |
| Commit | Description |
|---|---|
| handle import aliases to the same module name (#63934) | |
| handle reused templates in control flow migration (#63996) |
| Commit | Type | Description |
|---|---|---|
| ba40153ac0 | fix | capture metadata for undecorated fields (#63904) |
| 1d4f81c8ee | fix | resolve import alias in defer blocks (#63966) |
| Commit | Type | Description |
|---|---|---|
| 9515a70933 | fix | fix narrowing of Resource.hasValue() (#63994) |
| e78451cf8a | fix | prevent animations renderer from impacting animate.leave (#63921) |
| Commit | Type | Description |
|---|---|---|
| 1fd8d5d446 | fix | Emit FormResetEvent when resetting control (#64034) |
| Commit | Type | Description |
|---|---|---|
| 16d0d43ad4 | fix | handle import aliases to the same module name (#63934) |
| 3ebaeccb46 | fix | handle reused templates in control flow migration (#63996) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.3.1"></a>
|  | Add support for aria-invalid (#63748) |
| Commit | Description |
|---|---|
Add support for aria-invalid (#63748) |
| Commit | Description |
|---|---|
| only bind inputs that are part of microsyntax to a structural directive (#52453) | |
| signal not invoked diagnostic not raised when input has same name in template (#63754) |
| Commit | Description |
|---|---|
| prevent animation events from being cleaned up on destroy (#63414) | |
| Prevent leave animations on a move operation (#63745) |
| Commit | Description |
|---|---|
| fix route-lazy-loading migration (#63818) |
| Commit | Type | Description |
|---|---|---|
| 7fb5a8087e | fix | Add support for aria-invalid (#63748) |
| Commit | Type | Description |
|---|---|---|
| 8843707919 | fix | only bind inputs that are part of microsyntax to a structural directive (#52453) |
| 38c9921ff3 | fix | signal not invoked diagnostic not raised when input has same name in template (#63754) |
| Commit | Type | Description |
|---|---|---|
| 802dbcc2a0 | fix | prevent animation events from being cleaned up on destroy (#63414) |
| 3ec8a5c753 | fix | Prevent leave animations on a move operation (#63745) |
| Commit | Type | Description |
|---|---|---|
| 6e54bdfdcb | fix | fix route-lazy-loading migration (#63818) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="18.2.14"></a>
|  | remove refresh button from transfer state
| Commit | Description |
|---|---|
| remove refresh button from transfer state tab (#63592) |
| Commit | Description |
|---|---|
introduce BootstrapContext for improved server bootstrapping (#63636) |
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);
A schematic is provided to automatically update main.server.ts files to pass the BootstrapContext to the bootstrapApplication call.
In addition, getPlatform() and destroyPlatform() will now return null and be a no-op respectively when running in a server environment.
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);
A schematic is provided to automatically update main.server.ts files to pass the BootstrapContext to the bootstrapApplication call.
In addition, getPlatform() and destroyPlatform() will now return null and be a no-op respectively when running in a server environment.
(cherry picked from commit 8bf80c9d2314b4f2bcf3df83ae01552a6fc49834)
| Commit | Type | Description |
|---|---|---|
| a3f808d7c8 | fix | remove refresh button from transfer state tab (#63592) |
| Commit | Type | Description |
|---|---|---|
| 6117ccee2e | feat | introduce BootstrapContext for improved server bootstrapping (#63636) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.2.4"></a>
|  | remove refresh button from transfer state
| Commit | Description |
|---|---|
| remove refresh button from transfer state tab (#63592) |
| Commit | Description |
|---|---|
introduce BootstrapContext for improved server bootstrapping (#63636) |
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);
A schematic is provided to automatically update main.server.ts files to pass the BootstrapContext to the bootstrapApplication call.
In addition, getPlatform() and destroyPlatform() will now return null and be a no-op respectively when running in a server environment.
For more information please see: https://github.com/angular/angular/security/advisories/GHSA-68x2-mx4q-78m7
|  | Fixed inject migration schematics for migr
| Commit | Type | Description |
|---|---|---|
| dc64f3e478 | fix | Fixed inject migration schematics for migrate destructured properties (#62832) |
| Commit | Type | Description |
|---|---|---|
| d1d32db972 | fix | prevent false warning for duplicate state serialization (#63525) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.2.3"></a>
|  | fixes regression with event parsing and an
| Commit | Description |
|---|---|
| fixes regression with event parsing and animate prefix (#63470) |
| Commit | Type | Description |
|---|---|---|
| 479a919f42 | fix | fixes regression with event parsing and animate prefix (#63470) |
| Commit | Type | Description |
|---|---|---|
| f87fad3fff | fix | avoid injecting internal error handler from a destroyed injector (#62275) |
| 114906d2d6 | fix | Fix cancellation of animation enter classes (#63442) |
| 596b545130 | fix | Prevent an error on cleanup when an rxResource stream threw before returning an Observable (#63342) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.2.2"></a>
|  | fixes animations on elements with structur
| Commit | Type | Description |
|---|---|---|
| d7b6045d61 | fix | fixes animations on elements with structural directives (#63390) |
| Commit | Type | Description |
|---|---|---|
| 6c421ed65d | fix | Ensures @for loop animations never get cancelled (#63328) |
| 9093e0e132 | fix | fix memory leak with leaving nodes tracking (#63328) |
| c8f07daf8f | fix | Fixes animate.leave binding to a string with spaces (#63366) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.2.1"></a>
|  | Keep paraenthesis in Nullish + Boolean exp
| Commit | Type | Description |
|---|---|---|
| a28672fb70 | fix | Keep paraenthesis in Nullish + Boolean expression. (#63292) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.2.0"></a>
|  | deprecate the animations package (#62…
| Commit | Description |
|---|---|
| deprecate the animations package (#62795) |
| Commit | Description |
|---|---|
| allow more characters in square-bracketed attribute names (#62742) | |
| fixes animation event host bindings not firing (#63217) |
| Commit | Description |
|---|---|
| add support for pushing an array of controls to formarray (#57102) |
| Commit | Description |
|---|---|
| support auto-import for attribute completions (#62797) | |
| support to report the deprecated API in the template (#62054) | |
| Support to resolve the re-export component. (#62585) |
| Commit | Description |
|---|---|
| Warns on conflicting hydration and blocking navigation (#62963) |
| Commit | Type | Description |
|---|---|---|
| 9766116cea | refactor | deprecate the animations package (#62795) |
| Commit | Type | Description |
|---|---|---|
| 7767aa640c | fix | allow more characters in square-bracketed attribute names (#62742) |
| 7b51728813 | fix | fixes animation event host bindings not firing (#63217) |
| Commit | Type | Description |
|---|---|---|
| 5abfe4a899 | feat | add diagnostic for uninvoked functions in text interpolation (#59191) |
| c4917074f1 | fix | display proper function in NG8117 message (#62842) |
| 812463c563 | fix | Ignore diagnostics on ngTemplateContextGuard lines in TCB (#63054) |
| 45b030b5ce | fix | prevent dom event assertion in TCB generation on older angular versions (#63053) |
| Commit | Type | Description |
|---|---|---|
| 6b1f4b9e8b | feat | add enter and leave animation instructions (#62682) |
| cec91c0035 | feat | add option to infer the tag names of components in tests (#62283) |
| 141bb75ff2 | feat | Promote zoneless to stable (#62699) |
| 4138aca91f | feat | render ARIA property bindings as attributes (#62630) |
| a409534d6c | feat | support as aliases on else if blocks (#63047) |
| 745ea44394 | feat | support TypeScript 5.9 (#62541) |
| 593cc8a368 | fix | checks if body exists before continuing (#62768) |
| bdc31675b7 | fix | ensure animate events do not have duplicate elements (#63216) |
| de3a0c5cf3 | fix | Fix animate.enter class removal when composing classes (#62981) |
| 6597ac0af7 | fix | fix support for space separated strings in leave animations (#62979) |
| ebd622b344 | fix | fixes empty animations when recalculating styles (#63007) |
| 455b147488 | fix | fixes timing issues with enter animations (#62925) |
| f9d73cc687 | fix | handle cases where classes added have no animations (#63242) |
| 6a1184600c | fix | prevents duplicate nodes when @if toggles with leave animations (#63048) |
| 063b5e166f | fix | switch check to documentElement with chaining (#62773) |
| 320de4e96d | refactor | deprecate animations field on component interface (#62895) |
| Commit | Type | Description |
|---|---|---|
| c353497a01 | feat | add support for pushing an array of controls to formarray (#57102) |
| Commit | Type | Description |
|---|---|---|
| 0984b30388 | feat | Add redirected property to HttpResponse and HttpErrorResponse (#62675) |
| be811fee79 | feat | add referrer & integrity support for fetch requests in httpResource (#62461) |
| 1cf9d9064c | feat | Add support for fetch referrer & integrity options in HttpClient (#62417) |
| 1408baff45 | fix | Add missing timeout and transferCache options to HttpClient (#62586) |
| Commit | Type | Description |
|---|---|---|
| c81e345e72 | feat | support auto-import for attribute completions (#62797) |
| d64dd27a02 | feat | support to report the deprecated API in the template (#62054) |
| 591c7e2ec8 | fix | Support to resolve the re-export component. (#62585) |
| Commit | Type | Description |
|---|---|---|
| 52b8e07d6e | feat | Warns on conflicting hydration and blocking navigation (#62963) |
| Commit | Type | Description |
|---|---|---|
| d00b3fed58 | feat | add a currentNavigation signal to the Router service. (#62971) |
| 687c374826 | feat | add a currentNavigation signal to the Router service. (#63011) |
| 9c45c322d1 | fix | ensure preloaded components are properly activated (#62502) |
| Commit | Type | Description |
|---|---|---|
| 8255e0cf15 | feat | add messageerror event handling and logging (#62834) |
| 5220b51e75 | feat | Adds for type in provideServiceWorker (#62831) |
| 4ac6171b09 | feat | Adds support for updateViaCache in provideServiceWorker (#62721) |
| b65c3d5e19 | feat | Improves storage full detection in data caching (#62737) |
| 3b214d2040 | feat | Logs unhandled promise rejections in service worker (#63059) |
| 6d011687ec | feat | notify clients about version failures (#62718) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.8"></a>
|  | incorrect spans for AST inside input value
|  | error when type checking host bindings of
| Commit | Description |
|---|---|
| error when type checking host bindings of generic directive (#63061) |
| Commit | Description |
|---|---|
support as aliases on else if blocks (#63047) |
|
destroying the effect on afterRenderEffect (#63001) |
|
prevents duplicate nodes when @if toggles with leave animations (#63048) |
| Commit | Description |
|---|---|
| attempt to resolve component resources in JIT mode (#63062) |
| Commit | Description |
|---|---|
| Logs unhandled promise rejections in service worker (#63059) |
|  | Ignore diagnostics on ngTemplateContextGua
The Router.getCurrentNavigation method is deprecated. Use the Router.currentNavigation signal instead.
The Router.getCurrentNavigation method is deprecated. Use the Router.currentNavigation signal instead.
| Commit | Description |
|---|---|
| correctly type check host listeners to own outputs (#62965) |
| Commit | Description |
|---|---|
| add support for pushing an array of controls to formarray (#57102) |
| Commit | Description |
|---|---|
Reset headers, progress, and statusCode when using set() in HttpResource (#62873) |
| Commit | Description |
|---|---|
| incorrect filtering in inject migration (#62913) |
| Commit | Description |
|---|---|
| Warns on conflicting hydration and blocking navigation (#62963) |
| Commit | Description |
|---|---|
add a currentNavigation signal to the Router service. (#62971) |
| Commit | Description |
|---|---|
| add messageerror event handling and logging (#62834) | |
| Adds for type in provideServiceWorker (#62831) |
|  | deprecate the animations package (#62…
| Commit | Description |
|---|---|
| deprecate the animations package (#62795) |
| Commit | Description |
|---|---|
| exclude more safe reads expression from 2way-binding (#62852) |
| Commit | Description |
|---|---|
| display proper function in NG8117 message (#62842) |
| Commit | Description |
|---|---|
| update symbols for new signals api (#62284) | |
| deprecate animations field on component interface (#62895) |
| Commit | Description |
|---|---|
| Add redirected property to HttpResponse and HttpErrorResponse (#62675) | |
| add missing http options allowed in fetch API (#62881) | |
| propagate plain errors when parsing fails (#62765) |
| Commit | Description |
|---|---|
| Improves storage full detection in data caching (#62737) | |
| notify clients about version failures (#62718) |
|  | allow more characters in square-bracketed
| Commit | Description |
|---|---|
| allow more characters in square-bracketed attribute names (#62742) | |
| fix detection of directive deps in JIT (#62666) |
| Commit | Description |
|---|---|
| add diagnostic for uninvoked functions in text interpolation (#59191) |
| Commit | Description |
|---|---|
| resolve component resources before bootstrapping in JIT mode (#62758) |
| Commit | Description |
|---|---|
| Adds support for updateViaCache in provideServiceWorker (#62721) |
…| support to report the deprecated API in the template (#62054) |
| Commit | Description |
|---|---|
| incorrect spans for left side of binary operation (#62641) | |
| more permissive parsing of @ characters (#62644) |
| Commit | Description |
|---|---|
| infer type of event target for void elements (#62648) |
| Commit | Description |
|---|---|
| support TypeScript 5.9 (#62541) | |
| Ensure application remains unstable during bootstrap (#62631) | |
| InputBinding marks component a dirty. (#62613) |
| Commit | Description |
|---|---|
| support to report the deprecated API in the template (#62054) |
| Commit | Description |
|---|---|
| ensure preloaded components are properly activated (#62502) | |
| handle errors from view transition readiness (#62535) |
|  | Add support for fetch referrer & integrit
|  | error when ng-content fallback has transla
| Commit | Type | Description |
|---|---|---|
| 691f5ed033 | fix | error when ng-content fallback has translated children (#63156) |
| b1dec9bc50 | fix | incorrect source span for expression AST inside template attribute (#63175) |
| Commit | Type | Description |
|---|---|---|
| cda402f1d8 | fix | account for expression with type arguments during HMR extraction (#63261) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.7"></a>
|  | incorrect spans for AST inside input value
| Commit | Description |
|---|---|
| incorrect spans for AST inside input value with leading space (#63082) |
| Commit | Description |
|---|---|
| error when type checking host bindings of generic directive (#63061) |
| Commit | Description |
|---|---|
destroying the effect on afterRenderEffect (#63001) |
| Commit | Description |
|---|---|
| attempt to resolve component resources in JIT mode (#63062) |
| Commit | Type | Description |
|---|---|---|
| d9e37908a5 | fix | incorrect spans for AST inside input value with leading space (#63082) |
| Commit | Type | Description |
|---|---|---|
| 4aa120ac00 | fix | error when type checking host bindings of generic directive (#63061) |
| Commit | Type | Description |
|---|---|---|
| 322042c5b3 | fix | destroying the effect on afterRenderEffect (#63001) |
| Commit | Type | Description |
|---|---|---|
| 5fd79424e3 | fix | attempt to resolve component resources in JIT mode (#63062) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.6"></a>
<!-- CHANGELOG SPLIT MARKER -->
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.5"></a>
|  | correctly type check host listeners to own
| Commit | Description |
|---|---|
| correctly type check host listeners to own outputs (#62965) |
| Commit | Description |
|---|---|
properly recognize failed fetch responses when loading external resources in JIT (#62992) |
| Commit | Description |
|---|---|
Reset headers, progress, and statusCode when using set() in HttpResource (#62873) |
| Commit | Description |
|---|---|
| incorrect filtering in inject migration (#62913) |
| Commit | Type | Description |
|---|---|---|
| 3b2e8efcac | fix | correctly type check host listeners to own outputs (#62965) |
| Commit | Type | Description |
|---|---|---|
| c9f3976eba | fix | properly recognize failed fetch responses when loading external resources in JIT (#62992) |
| Commit | Type | Description |
|---|---|---|
| ae443f8eb0 | fix | Reset headers, progress, and statusCode when using set() in HttpResource (#62873) |
| Commit | Type | Description |
|---|---|---|
| 7a5851e4b0 | fix | incorrect filtering in inject migration (#62913) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.4"></a>
|  | exclude more safe reads expression from 2w
| Commit | Type | Description |
|---|---|---|
| db3c5826ee | fix | exclude more safe reads expression from 2way-binding (#62852) |
| Commit | Type | Description |
|---|---|---|
| c633b63e56 | fix | update symbols for new signals api (#62284) |
| Commit | Type | Description |
|---|---|---|
| ab6033979a | fix | add missing http options allowed in fetch API (#62881) |
| 15670d8417 | fix | propagate plain errors when parsing fails (#62765) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.3"></a>
|  | fix change tracking for Resource#hasValue
| Commit | Type | Description |
|---|---|---|
| 2c522efbe5 | fix | fix change tracking for Resource#hasValue (#62595) |
| Commit | Type | Description |
|---|---|---|
| 2fd1f7beb5 | fix | resolve component resources before bootstrapping in JIT mode (#62758) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.2"></a>
|  | fix detection of directive deps in JIT (#6
| Commit | Type | Description |
|---|---|---|
| 8ad10fd63b | fix | fix detection of directive deps in JIT (#62666) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.1"></a>
|  | incorrect spans for left side of binary op
| Commit | Description |
|---|---|
| incorrect spans for left side of binary operation (#62641) | |
| more permissive parsing of @ characters (#62644) |
| Commit | Description |
|---|---|
| infer type of event target for void elements (#62648) |
| Commit | Description |
|---|---|
| Ensure application remains unstable during bootstrap (#62631) | |
| InputBinding marks component a dirty. (#62613) |
| Commit | Description |
|---|---|
do not display warnings Angular detected that a HttpClientrequest with thekeepalive option was sent using XHR when option is not true (#62536) |
| Commit | Description |
|---|---|
| handle errors from view transition readiness (#62535) |
| Commit | Type | Description |
|---|---|---|
| 75d2a349b4 | fix | incorrect spans for left side of binary operation (#62641) |
| 70c8780c54 | fix | more permissive parsing of @ characters (#62644) |
| Commit | Type | Description |
|---|---|---|
| 9506cdfaad | fix | infer type of event target for void elements (#62648) |
| Commit | Type | Description |
|---|---|---|
| 26ade4a337 | fix | Ensure application remains unstable during bootstrap (#62631) |
| a81f0faa1a | fix | InputBinding marks component a dirty. (#62613) |
| Commit | Type | Description |
|---|---|---|
| 276836ee73 | fix | do not display warnings Angular detected that a HttpClientrequest with thekeepalive option was sent using XHR when option is not true (#62536) |
| Commit | Type | Description |
|---|---|---|
| 5949373692 | fix | handle errors from view transition readiness (#62535) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="20.1.0"></a>
Your coding agent can read these notes before it upgrades. Set up the MCP server →