Commit 1999690
authored
chore(deps): update dependency @angular/compiler to v21.2.4 [security] (#1383)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@angular/compiler](https://redirect.github.com/angular/angular)
([source](https://redirect.github.com/angular/angular/tree/HEAD/packages/compiler))
| [`21.1.0` →
`21.2.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/21.1.0/21.2.4)
|

|

|
---
### Angular has XSS Vulnerability via Unsanitized SVG Script Attributes
[CVE-2026-22610](https://nvd.nist.gov/vuln/detail/CVE-2026-22610) /
[GHSA-jrmj-c5cx-3cw6](https://redirect.github.com/advisories/GHSA-jrmj-c5cx-3cw6)
<details>
<summary>More information</summary>
#### Details
A Cross-Site Scripting (XSS) vulnerability has been identified in the
Angular Template Compiler. The vulnerability exists because Angular’s
internal sanitization schema fails to recognize the `href` and
`xlink:href` attributes of SVG `<script>` elements as a **Resource URL**
context.
In a standard security model, attributes that can load and execute code
(like a script's source) should be strictly validated. However, because
the compiler does not classify these specific SVG attributes correctly,
it allows attackers to bypass Angular's built-in security protections.
When template binding is used to assign user-controlled data to these
attributes for example, `<script [attr.href]="userInput">` the compiler
treats the value as a standard string or a non-sensitive URL rather than
a resource link. This enables an attacker to provide a malicious
payload, such as a `data:text/javascript` URI or a link to an external
malicious script.
##### Impact
When successfully exploited, this vulnerability allows for **arbitrary
JavaScript execution** within the context of the victim's browser
session. This can lead to:
- **Session Hijacking:** Stealing session cookies, localStorage data, or
authentication tokens.
- **Data Exfiltration:** Accessing and transmitting sensitive
information displayed within the application.
- **Unauthorized Actions:** Performing state-changing actions (like
clicking buttons or submitting forms) on behalf of the authenticated
user.
##### Attack Preconditions
1. The victim application must explicitly use SVG `<script>` elements
within its templates.
2. The application must use property or attribute binding
(interpolation) for the `href` or `xlink:href` attributes of those SVG
scripts.
3. The data bound to these attributes must be derived from an untrusted
source (e.g., URL parameters, user-submitted database entries, or
unsanitized API responses).
##### Patches
- 19.2.18
- 20.3.16
- 21.0.7
- 21.1.0-rc.0
##### Workarounds
Until the patch is applied, developers should:
- **Avoid Dynamic Bindings**: Do not use Angular template binding (e.g.,
`[attr.href]`) for SVG `<script>` elements.
- **Input Validation**: If dynamic values must be used, strictly
validate the input against a strict allowlist of trusted URLs on the
server side or before it reaches the template.
##### Resources
-
[https://github.com/angular/angular/pull/66318](https://redirect.github.com/angular/angular/pull/66318)
#### Severity
- CVSS Score: 8.5 / 10 (High)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`
#### References
-
[https://github.com/angular/angular/security/advisories/GHSA-jrmj-c5cx-3cw6](https://redirect.github.com/angular/angular/security/advisories/GHSA-jrmj-c5cx-3cw6)
-
[https://github.com/angular/angular/pull/66318](https://redirect.github.com/angular/angular/pull/66318)
-
[https://nvd.nist.gov/vuln/detail/CVE-2026-22610](https://nvd.nist.gov/vuln/detail/CVE-2026-22610)
-
[https://github.com/angular/angular/commit/91dc91bae4a1bbefc58bef6ef739d0e02ab44d56](https://redirect.github.com/angular/angular/commit/91dc91bae4a1bbefc58bef6ef739d0e02ab44d56)
-
[https://github.com/advisories/GHSA-jrmj-c5cx-3cw6](https://redirect.github.com/advisories/GHSA-jrmj-c5cx-3cw6)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-jrmj-c5cx-3cw6)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### Angular vulnerable to XSS in i18n attribute bindings
[CVE-2026-32635](https://nvd.nist.gov/vuln/detail/CVE-2026-32635) /
[GHSA-g93w-mfhg-p222](https://redirect.github.com/advisories/GHSA-g93w-mfhg-p222)
<details>
<summary>More information</summary>
#### Details
A Cross-Site Scripting (XSS) vulnerability has been identified in the
Angular runtime and compiler. It occurs when the application uses a
security-sensitive attribute (for example href on an anchor tag)
together with Angular's ability to internationalize attributes. Enabling
internationalization for the sensitive attribute by adding
`i18n-<attribute>` name bypasses Angular's built-in sanitization
mechanism, which when combined with a data binding to untrusted
user-generated data can allow an attacker to inject a malicious script.
The following example illustrates the issue:
```html
<a href="" i18n-href>Click me</a>
```
The following attributes have been confirmed to be vulnerable:
- `action`
- `background`
- `cite`
- `codebase`
- `data`
- `formaction`
- `href`
- `itemtype`
- `longdesc`
- `poster`
- `src`
- `xlink:href`
##### Impact
When exploited, this vulnerability allows an attacker to execute
arbitrary code within the context of the vulnerable application's
domain. This enables:
- Session Hijacking: Stealing session cookies and authentication tokens.
- Data Exfiltration: Capturing and transmitting sensitive user data.
- Unauthorized Actions: Performing actions on behalf of the user.
##### Attack Preconditions
1. The application must use a vulnerable version of Angular.
2. The application must bind unsanitized user input to one of the
attributes mentioned above.
3. The bound value must be marked for internationalization via the
presence of a `i18n-<name>` attribute on the same element.
##### Patches
- 22.0.0-next.3
- 21.2.4
- 20.3.18
- 19.2.20
##### Workarounds
The primary workaround is to ensure that any data bound to the
vulnerable attributes is **never sourced from untrusted user input**
(e.g., database, API response, URL parameters) until the patch is
applied, or when it is, it shouldn't be marked for internationalization.
Alternatively, users can explicitly sanitize their attributes by passing
them through Angular's `DomSanitizer`:
```ts
import {Component, inject, SecurityContext} from '@​angular/core';
import {DomSanitizer} from '@​angular/platform-browser';
@​Component({
template: `
<form action="" i18n-action>
<button>Submit</button>
</form>
`,
})
export class App {
url: string;
constructor() {
const dangerousUrl = 'javascript:alert(1)';
const sanitizer = inject(DomSanitizer);
this.url = sanitizer.sanitize(SecurityContext.URL, dangerousUrl) || '';
}
}
```
##### References
- [Fix 1](https://redirect.github.com/angular/angular/pull/67541)
- [Fix 2](https://redirect.github.com/angular/angular/pull/67561)
#### Severity
- CVSS Score: 8.6 / 10 (High)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`
#### References
-
[https://github.com/angular/angular/security/advisories/GHSA-g93w-mfhg-p222](https://redirect.github.com/angular/angular/security/advisories/GHSA-g93w-mfhg-p222)
-
[https://github.com/angular/angular/pull/67541](https://redirect.github.com/angular/angular/pull/67541)
-
[https://github.com/angular/angular/pull/67561](https://redirect.github.com/angular/angular/pull/67561)
-
[https://github.com/angular/angular/commit/224e60ecb1b90115baa702f1c06edc1d64d86187](https://redirect.github.com/angular/angular/commit/224e60ecb1b90115baa702f1c06edc1d64d86187)
-
[https://github.com/angular/angular/commit/78dea55351fb305b33a919c43a6b363137eca166](https://redirect.github.com/angular/angular/commit/78dea55351fb305b33a919c43a6b363137eca166)
-
[https://github.com/angular/angular/commit/8630319f74c9575a21693d875cc7d5252516146d](https://redirect.github.com/angular/angular/commit/8630319f74c9575a21693d875cc7d5252516146d)
-
[https://github.com/angular/angular/commit/ed2d324f9cc12aab6cfa0569ef10b73243a62c65](https://redirect.github.com/angular/angular/commit/ed2d324f9cc12aab6cfa0569ef10b73243a62c65)
-
[https://nvd.nist.gov/vuln/detail/CVE-2026-32635](https://nvd.nist.gov/vuln/detail/CVE-2026-32635)
-
[https://github.com/advisories/GHSA-g93w-mfhg-p222](https://redirect.github.com/advisories/GHSA-g93w-mfhg-p222)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-g93w-mfhg-p222)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### Release Notes
<details>
<summary>angular/angular (@​angular/compiler)</summary>
###
[`v21.2.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2124-2026-03-12)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.2.3...v21.2.4)
##### compiler
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ----------------------------------- |
|
[ed2d324f9c](https://redirect.github.com/angular/angular/commit/ed2d324f9cc12aab6cfa0569ef10b73243a62c65)
| fix | disallow translations of iframe src |
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------- |
|
[abbd8797bb](https://redirect.github.com/angular/angular/commit/abbd8797bbd3ae53a10033c39bd895b5b85a4fae)
| fix | reverts "feat(core): add support for nested animations" |
|
[d1dcd16c5b](https://redirect.github.com/angular/angular/commit/d1dcd16c5b40291aa3fa2dc84d22842cd657b201)
| fix | sanitize translated form attributes |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.2.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2123-2026-03-11)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.2.2...v21.2.3)
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------------------------------------
|
|
[62a97f7e4b](https://redirect.github.com/angular/angular/commit/62a97f7e4b896b4b03a1ef25764db387ffecebe1)
| fix | ensure definitions compile |
|
[21b1c3b2ee](https://redirect.github.com/angular/angular/commit/21b1c3b2ee2c8423782b111b93bd60eb6b453259)
| fix | include signal debug names in their `toString()` representation
|
|
[224e60ecb1](https://redirect.github.com/angular/angular/commit/224e60ecb1b90115baa702f1c06edc1d64d86187)
| fix | sanitize translated attribute bindings with interpolations |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.2.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2122-2026-03-09)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.2.1...v21.2.2)
##### compiler
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------ |
|
[1df1697c6e](https://redirect.github.com/angular/angular/commit/1df1697c6e3a6b1d302f7692b495146943faa12f)
| fix | prevent mutation of children array in RecursiveVisitor |
##### compiler-cli
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------------------------------- |
|
[c822bf8e76](https://redirect.github.com/angular/angular/commit/c822bf8e76611afde332b6625f5e7bae2fe9c3f3)
| fix | always parenthesize object literals in TCB |
|
[05d022d5e6](https://redirect.github.com/angular/angular/commit/05d022d5e61cca7ac90d5b2b2ba3fc738b364ad9)
| fix | ignore generated ngDevMode signal branch for code coverage |
##### forms
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------- |
|
[670d1660c4](https://redirect.github.com/angular/angular/commit/670d1660c40504e3f55e094c3ebbcccad14163f3)
| feat | add 'blur' option to debounce rule |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.2.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2121-2026-03-04)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.2.0...v21.2.1)
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------------------------- |
|
[e2e9a9a531](https://redirect.github.com/angular/angular/commit/e2e9a9a531c9e9a69701e549f28354cc5d5edd77)
| fix | adds transfer cache to httpResource to fix hydration |
|
[b4ec3cc4e4](https://redirect.github.com/angular/angular/commit/b4ec3cc4e41f2948ad0830eb14aa05d14fa3a9ed)
| fix | prevent child animation elements from being orphaned |
|
[e923d88398](https://redirect.github.com/angular/angular/commit/e923d8839868c79989502ab3503e13d93c78516a)
| fix | Prevent removal of elements during drag and drop |
##### http
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- |
----------------------------------------------------------------------------------------------------------
|
|
[277ade97ac](https://redirect.github.com/angular/angular/commit/277ade97ac2a3a7f2a5b513acaa93e7663cdc55f)
| fix | correctly cache blob responses in transfer cache
([#​67002](https://redirect.github.com/angular/angular/pull/67002))
|
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.2.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2120-2026-02-25)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.6...v21.2.0)
##### common
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | --------------------------------------------------------- |
|
[18003a33bb](https://redirect.github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb)
| feat | add an 'outlet' injector option for ngTemplateOutlet |
|
[8bbe6dc46c](https://redirect.github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761)
| feat | Add Location strategies to manage trailing slash on write |
|
[51cc914807](https://redirect.github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5)
| feat | support height in ImageLoaderConfig and built-in loaders |
##### compiler
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | -------------------------------------------------- |
|
[72534e2a34](https://redirect.github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42)
| feat | Add support for the `instanceof` binary operator |
|
[95b3f37d4a](https://redirect.github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b)
| feat | Exhaustive checks for switch blocks |
|
[04ba09a8d9](https://redirect.github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952)
| feat | support `AstVisitor.visitEmptyExpr()` |
|
[ce80136e7b](https://redirect.github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855)
| fix | optimize away unnecessary restore/reset view calls |
|
[3242a61bae](https://redirect.github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac)
| fix | variable counter visiting some expressions twice |
##### compiler-cli
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------------ |
|
[473dd3e1cb](https://redirect.github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b)
| fix | attach source spans to object literal keys in TCB |
|
[a904d9f77b](https://redirect.github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb)
| fix | support nested component declaration |
|
[2ea6dfc6c9](https://redirect.github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04)
| fix | update diagnostic to flag no-op arrow functions in listeners |
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- |
-----------------------------------------------------------------------------------------
|
|
[8d5210c9fe](https://redirect.github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1)
| feat | add ChangeDetectionStrategy.Eager alias for Default |
|
[92d2498910](https://redirect.github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698)
| feat | add host node to DeferBlockData
([#​66546](https://redirect.github.com/angular/angular/pull/66546))
|
|
[ea2016a6dc](https://redirect.github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a)
| feat | add support for nested animations |
|
[81cabc1477](https://redirect.github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c)
| feat | add support for TypeScript 6 |
|
[1ba9b7ac50](https://redirect.github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647)
| feat | resource composition via snapshots |
|
[d9923b72a2](https://redirect.github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18)
| feat | support arrow functions in expressions |
|
[a7e8abbb7e](https://redirect.github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5)
| fix | correctly handle SkipSelf when resolving from embedded view
injector |
|
[0806ee3826](https://redirect.github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c)
| fix | prevent animated element duplication with dynamic components in
zoneless mode |
|
[ed78fa05c7](https://redirect.github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4)
| fix | Remove note to skip arrow functions in best practices |
##### forms
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- |
-----------------------------------------------------------------------------------------------
|
|
[f56bb07d83](https://redirect.github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97)
| feat | add field param to submit action and onInvalid |
|
[ba009b6031](https://redirect.github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150)
| feat | add form directive |
|
[22afbb2f36](https://redirect.github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985)
| feat | add parsing support to native inputs
([#​66917](https://redirect.github.com/angular/angular/pull/66917))
|
|
[95c386469c](https://redirect.github.com/angular/angular/commit/95c386469c7a2f09dd731601c2061bdb10d25717)
| feat | Add passing focus options to form field |
|
[95ecce8334](https://redirect.github.com/angular/angular/commit/95ecce8334299defe55fb2b74264e5258ffd137c)
| feat | allow setting submit options at form-level |
|
[ebae211add](https://redirect.github.com/angular/angular/commit/ebae211add37700858adeb8fc5d87bf503a59721)
| feat | introduce parse errors in signal forms |
|
[3937afc316](https://redirect.github.com/angular/angular/commit/3937afc3167ce409eebb06d91d5fb122eea4e33d)
| feat | introduce SignalFormControl for Reactive Forms compatibility |
|
[30f0914754](https://redirect.github.com/angular/angular/commit/30f09147545b67185f93efb9796e37c1db76733a)
| feat | support binding null to number input
([#​66917](https://redirect.github.com/angular/angular/pull/66917))
|
|
[dd208ca259](https://redirect.github.com/angular/angular/commit/dd208ca2595258fcd1e289374f812ce0b56c7011)
| feat | update submit function to accept options object |
|
[27397b3f4f](https://redirect.github.com/angular/angular/commit/27397b3f4f3182ce00d6e2f8690285c316e2a274)
| fix | clear parse errors when model updates
([#​66917](https://redirect.github.com/angular/angular/pull/66917))
|
|
[63d8005703](https://redirect.github.com/angular/angular/commit/63d80057039928b3e878b59c1fe6b93ef1c6b701)
| fix | preserve custom-control focus context in signal forms |
|
[631f60d1f9](https://redirect.github.com/angular/angular/commit/631f60d1f9be72cb68330308a6ff18cc195babb8)
| fix | preserve parse errors when parse returns value |
|
[adfb83146b](https://redirect.github.com/angular/angular/commit/adfb83146b0c149734f43961563b389e00cc1d85)
| fix | simplify design of parse errors |
|
[fb05fc86d0](https://redirect.github.com/angular/angular/commit/fb05fc86d0f12ffafd94c7c1420118d8a79f7e59)
| fix | sort error summary by DOM order |
|
[567f292e8e](https://redirect.github.com/angular/angular/commit/567f292e8e0f9d2b5ddebadfa1c6d6dd6c456f39)
| fix | support custom controls as host directives |
|
[bdfb60f3e3](https://redirect.github.com/angular/angular/commit/bdfb60f3e33065e047183dc1890c36e527e2b304)
| fix | use consistent error format returned from parse |
|
[d75046bc09](https://redirect.github.com/angular/angular/commit/d75046bc091699bbadcb5f2032be627e983ee6fa)
| fix | warn when showing hidden field state |
##### language-server
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------------------------------------
|
|
[ebc90c26f5](https://redirect.github.com/angular/angular/commit/ebc90c26f5ff1ba1e0ca9b775a44e301ebfb9473)
| feat | Add completions and hover info for inline styles |
|
[26fd0839c3](https://redirect.github.com/angular/angular/commit/26fd0839c32d2ebeaa5e3ecc10ed70ab9ca17749)
| feat | Add folding range support for inline styles |
|
[573aadef7e](https://redirect.github.com/angular/angular/commit/573aadef7eb8b6b5e83b82a16f95d2a556f27c01)
| feat | Add quick info for inline styles |
|
[6fb39d9b62](https://redirect.github.com/angular/angular/commit/6fb39d9b62cbb634e95ec00fe5ef85d84da3bdbd)
| feat | Support client-side file watching via `onDidChangeWatchedFiles`
|
##### language-service
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------ |
|
[496967e7b1](https://redirect.github.com/angular/angular/commit/496967e7b13dfe1ebdde69724cd62880914beb60)
| feat | add JSON schema for angularCompilerOptions |
|
[8c21866f49](https://redirect.github.com/angular/angular/commit/8c21866f49ff74344551395ae0a5df1841d54c0d)
| feat | add linked editing ranges for HTML tag synchronization |
|
[d2137928e8](https://redirect.github.com/angular/angular/commit/d2137928e8f075527016a3c011dd8efc4d4e1ebd)
| perf | use lightweight project warmup for Angular analysis |
##### router
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- |
------------------------------------------------------------------- |
|
[b51bab583d](https://redirect.github.com/angular/angular/commit/b51bab583d84e38f16dea489e4119edc34e2a491)
| feat | Add partial ActivatedRouteSnapshot information to `canMatch`
params |
|
[cf9620f7d0](https://redirect.github.com/angular/angular/commit/cf9620f7d072897f13b7f281b7bca6f51f69cfd0)
| feat | Make match options optional in isActive |
|
[907a94dcec](https://redirect.github.com/angular/angular/commit/907a94dcec2926a5c7d0c4d36249bd62e31a2ae3)
| feat | Update `IsActiveMatchOptions` APIs to accept a Partial |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.1.6`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2116-2026-02-25)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.5...v21.1.6)
#### Breaking Changes
##### core
- Angular now only applies known attributes from HTML in translated ICU
content. Unknown attributes are dropped and not rendered.
(cherry picked from commit
[`306f367`](https://redirect.github.com/angular/angular/commit/306f367899dfc2e04238fecd3455547b5d54075d))
##### common
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------- |
|
[31d3d56496](https://redirect.github.com/angular/angular/commit/31d3d564961b701bda96d94731fbed72c01975fa)
| fix | fix LCP image detection with duplicate URLs |
##### compiler-cli
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------- |
|
[24b578ce90](https://redirect.github.com/angular/angular/commit/24b578ce90ed50022f62584671aef01d4c5dd7b2)
| fix | detect uninvoked functions in defer trigger expressions |
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------------ |
|
[b858309532](https://redirect.github.com/angular/angular/commit/b85830953281ff3a1a77bbfe69019d352d509c93)
| fix | block creation of sensitive URI attributes from ICU messages |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.1.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2115-2026-02-18)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.4...v21.1.5)
No user facing changes in this release
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.1.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2114-2026-02-11)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.3...v21.1.4)
##### compiler
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | --------------------------------- |
|
[caab23dfe6](https://redirect.github.com/angular/angular/commit/caab23dfe6acf06c3b859af091f5e078b08f1c4c)
| fix | add geolocation element to schema |
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- |
------------------------------------------------------------------ |
|
[2b99eaa019](https://redirect.github.com/angular/angular/commit/2b99eaa019b5551a2e2fcf9ff8cd0a796e1e857b)
| fix | capture animation dependencies eagerly to avoid destroyed
injector |
|
[d6aeac504c](https://redirect.github.com/angular/angular/commit/d6aeac504c6181f15e5d8afdca3d9c3e3b32652c)
| fix | Fix flakey test due to document injection |
##### forms
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------ |
|
[0d1acd0165](https://redirect.github.com/angular/angular/commit/0d1acd0165511b57ce853f29486d9b92d0215959)
| feat | support signal-based schemas in validateStandardSchema |
##### http
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------------ |
|
[3905015ccc](https://redirect.github.com/angular/angular/commit/3905015ccc53399a606dd8e4f3c4d0cce628a08e)
| fix | correctly parse ArrayBuffer and Blob in transfer cache |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.1.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2113-2026-02-04)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.2...v21.1.3)
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | --------------------------------------------------- |
|
[2b254bc050](https://redirect.github.com/angular/angular/commit/2b254bc0508b73aab8991c3b1a9a703c339cb735)
| fix | `linkedSignal.update` should propagate errors |
|
[e5110b4fa1](https://redirect.github.com/angular/angular/commit/e5110b4fa155e4669ed507f3460d2d29026a28ab)
| fix | export DirectiveWithBindings |
|
[2cf4da0ea1](https://redirect.github.com/angular/angular/commit/2cf4da0ea11f5746eb7ae4dfd775f757576e4d98)
| fix | hold constructors weakly in DepsTracker cache |
|
[70a5b651be](https://redirect.github.com/angular/angular/commit/70a5b651be29f1421eb25150b560bfe154aad6bc)
| fix | prevent element duplication with dynamic components |
##### forms
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | --------------------------------------------------------- |
|
[6f75b6e3f6](https://redirect.github.com/angular/angular/commit/6f75b6e3f60dc2a4f33e13562649931dc95eb52b)
| fix | Resolves debounce promise on abort in debounceForDuration |
##### localize
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ----------------------------------------------------- |
|
[4c7126d23b](https://redirect.github.com/angular/angular/commit/4c7126d23be3e43b1d5bd6f2fb13119d185c3682)
| fix | add support for unit-test builder in ng-add schematic |
##### router
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | --------------------------------------------------------- |
|
[d6268c0bbb](https://redirect.github.com/angular/angular/commit/d6268c0bbbdc92abaaaeb8eebee3bc45decab9c9)
| fix | limit UrlParser recursion depth to prevent stack overflow |
|
[49a36f4cc7](https://redirect.github.com/angular/angular/commit/49a36f4cc7254420bc34fff4e0f0242e00970280)
| perf | Use .bind to avoid holding other closures in memory |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.1.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2112-2026-01-28)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.1...v21.1.2)
##### forms
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ------------------------------------------------ |
|
[9f99b14882](https://redirect.github.com/angular/angular/commit/9f99b14882bc4f883aa33295856010a8bca900fa)
| fix | only touch visible, interactive fields on submit |
##### language-service
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------------- |
|
[c57b0355b5](https://redirect.github.com/angular/angular/commit/c57b0355b51f5aee5abd822f203fc3bcc3e85acd)
| fix | Detect local project version on creation |
##### router
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------------------------------------- |
|
[21ecdc036a](https://redirect.github.com/angular/angular/commit/21ecdc036a46c487d6c5b6bd25c2bbc3e53a60f9)
| fix | Do not intercept reload events with Navigation integration |
<!-- CHANGELOG SPLIT MARKER -->
###
[`v21.1.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#2111-2026-01-21)
[Compare
Source](https://redirect.github.com/angular/angular/compare/v21.1.0...v21.1.1)
##### compiler-cli
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | -------------------------------------------------- |
|
[0e1f1ed573](https://redirect.github.com/angular/angular/commit/0e1f1ed5732f3bb4d5dfbd1f0ee5a5be840594e4)
| fix | drop .tsx extension for generated relative imports |
##### core
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- | ---------------------------- |
|
[05adfcf8f2](https://redirect.github.com/angular/angular/commit/05adfcf8f26013ac20c38f2b08847b5142e4fd85)
| fix | handle Set in class bindings |
##### forms
| Commit | Type | Description |
|
------------------------------------------------------------------------------------------------
| ---- |
----------------------------------------------------------------- |
|
[d89a80a970](https://redirect.github.com/angular/angular/commit/d89a80a970d9590df0509d8b94090904a99b7aca)
| feat | Ability to manually register a form field binding in signal
forms |
|
[cb75f9ce85](https://redirect.github.com/angular/angular/commit/cb75f9ce85160b2e4359610c06294929ac1169c0)
| fix | fix control value syncing on touch |
<!-- CHANGELOG SPLIT MARKER -->
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- ""
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled because a matching PR was automerged
previously.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-feature/js-sdk).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzguMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 0c955b5 commit 1999690
1 file changed
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments