dependabot[bot] opened a new pull request, #25: URL: https://github.com/apache/fineract-consumer-facing/pull/25
Bumps [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler), [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common), [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core), [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms), [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser), [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router), [@angular/build](https://github.com/angular/angular-cli) and [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli). These dependencies needed to be updated together. Updates `@angular/compiler` from 20.3.21 to 22.0.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/compiler's releases</a>.</em></p> <blockquote> <h2>22.0.2</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix - 94ea403563" /></a></td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix - 6c1f3e9d49" /></a></td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix - 6f1171991a" /></a></td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix - 528a34f766" /></a></td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix - e17e8d5422" /></a></td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix - 59dea13f80" /></a></td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b"><img src="https://img.shields.io/badge/3a48abc15c-fix-green" alt="fix - 3a48abc15c" /></a></td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d"><img src="https://img.shields.io/badge/93d0a5f95c-fix-green" alt="fix - 93d0a5f95c" /></a></td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><img src="https://img.shields.io/badge/b32ee7ceb3-fix-green" alt="fix - b32ee7ceb3" /></a></td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><img src="https://img.shields.io/badge/f902d1d35e-perf-orange" alt="perf - f902d1d35e" /></a></td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><img src="https://img.shields.io/badge/6867f77ec7-fix-green" alt="fix - 6867f77ec7" /></a></td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><img src="https://img.shields.io/badge/7ef1399068-fix-green" alt="fix - 7ef1399068" /></a></td> <td>skip transfer cache for fetch credentialed requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24"><img src="https://img.shields.io/badge/15314c1736-fix-green" alt="fix - 15314c1736" /></a></td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <h2>22.0.1</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8"><img src="https://img.shields.io/badge/c4b5fa3c92-fix-green" alt="fix - c4b5fa3c92" /></a></td> <td>escape CSS string-terminating characters in escapeCssUrl</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5"><img src="https://img.shields.io/badge/dfff57ede9-fix-green" alt="fix - dfff57ede9" /></a></td> <td>Limits date format string length</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c"><img src="https://img.shields.io/badge/3c2892c8df-fix-green" alt="fix - 3c2892c8df" /></a></td> <td>prevent prototype pollution in formatDateTime</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1"><img src="https://img.shields.io/badge/1d87c49f6e-fix-green" alt="fix - 1d87c49f6e" /></a></td> <td>use cryptographically secure SHA-256 for transfer cache key generation</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce"><img src="https://img.shields.io/badge/1ee224ca30-fix-green" alt="fix - 1ee224ca30" /></a></td> <td>disallow i18n event attributes</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136"><img src="https://img.shields.io/badge/a56f1cdf8f-fix-green" alt="fix - a56f1cdf8f" /></a></td> <td>more robust logic to check if regex can be optimized</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b"><img src="https://img.shields.io/badge/5946c18275-fix-green" alt="fix - 5946c18275" /></a></td> <td>sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the MathML namespace</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918"><img src="https://img.shields.io/badge/393b84caf8-fix-green" alt="fix - 393b84caf8" /></a></td> <td>sanitize two-way properties</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39"><img src="https://img.shields.io/badge/3d9ca2f173-fix-green" alt="fix - 3d9ca2f173" /></a></td> <td>bind switch exhaustive check expressions</td> </tr> </tbody> </table> <h3>core</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md">@angular/compiler's changelog</a>.</em></p> <blockquote> <h1>22.0.2 (2026-06-17)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475">94ea403563</a></td> <td>fix</td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf">6c1f3e9d49</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53">6f1171991a</a></td> <td>fix</td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49">528a34f766</a></td> <td>fix</td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b">e17e8d5422</a></td> <td>fix</td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15">59dea13f80</a></td> <td>fix</td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b">3a48abc15c</a></td> <td>fix</td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d">93d0a5f95c</a></td> <td>fix</td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966">b32ee7ceb3</a></td> <td>fix</td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190">f902d1d35e</a></td> <td>perf</td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c">6867f77ec7</a></td> <td>fix</td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d">7ef1399068</a></td> <td>fix</td> <td>skip transfer cache for fetch credentialed requests (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24">15314c1736</a></td> <td>fix</td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>22.1.0-next.0 (2026-06-10)</h1> <h2>Deprecations</h2> <h3>http</h3> <ul> <li><code>HttpClient.jsonp</code>, <code>HttpClientJsonpModule</code>, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.</li> </ul> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e">1ad6824d0d</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69017">#69017</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b">25c744c4d0</a></td> <td>fix</td> <td>support foreign components defined outside top-level scope</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/aeb55c8bc101dc313dc64f83f4428ddfad28d54e">aeb55c8bc1</a></td> <td>fix</td> <td>allow passing uninvoked signals as foreign component props</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff">7c60a98b3c</a></td> <td>fix</td> <td>support import aliases in foreignImports (<a href="https://redirect.github.com/angular/angular/pull/68674">#68674</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4"><code>74f2b91</code></a> refactor(compiler): correct TcbInvalidReferenceOp initializer</li> <li><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><code>b32ee7c</code></a> fix(core): treat iframe credentialless as security-sensitive</li> <li><a href="https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427"><code>f309727</code></a> refactor(compiler): Collect in-element comments</li> <li><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><code>6f11719</code></a> fix(compiler): restrict possible event handler check to property names longer...</li> <li><a href="https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4"><code>8bb3947</code></a> refactor: optimize dom security schema lookups</li> <li><a href="https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825"><code>4645850</code></a> refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor</li> <li><a href="https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce"><code>1ee224c</code></a> fix(compiler): disallow i18n event attributes</li> <li><a href="https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b"><code>5946c18</code></a> fix(compiler): sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the ...</li> <li><a href="https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918"><code>393b84c</code></a> fix(compiler): sanitize two-way properties</li> <li><a href="https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39"><code>3d9ca2f</code></a> fix(compiler-cli): bind switch exhaustive check expressions</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v22.0.2/packages/compiler">compare view</a></li> </ul> </details> <br /> Updates `@angular/common` from 20.3.21 to 22.0.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/common's releases</a>.</em></p> <blockquote> <h2>22.0.2</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix - 94ea403563" /></a></td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix - 6c1f3e9d49" /></a></td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix - 6f1171991a" /></a></td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix - 528a34f766" /></a></td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix - e17e8d5422" /></a></td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix - 59dea13f80" /></a></td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b"><img src="https://img.shields.io/badge/3a48abc15c-fix-green" alt="fix - 3a48abc15c" /></a></td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d"><img src="https://img.shields.io/badge/93d0a5f95c-fix-green" alt="fix - 93d0a5f95c" /></a></td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><img src="https://img.shields.io/badge/b32ee7ceb3-fix-green" alt="fix - b32ee7ceb3" /></a></td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><img src="https://img.shields.io/badge/f902d1d35e-perf-orange" alt="perf - f902d1d35e" /></a></td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><img src="https://img.shields.io/badge/6867f77ec7-fix-green" alt="fix - 6867f77ec7" /></a></td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><img src="https://img.shields.io/badge/7ef1399068-fix-green" alt="fix - 7ef1399068" /></a></td> <td>skip transfer cache for fetch credentialed requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24"><img src="https://img.shields.io/badge/15314c1736-fix-green" alt="fix - 15314c1736" /></a></td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <h2>22.0.1</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8"><img src="https://img.shields.io/badge/c4b5fa3c92-fix-green" alt="fix - c4b5fa3c92" /></a></td> <td>escape CSS string-terminating characters in escapeCssUrl</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5"><img src="https://img.shields.io/badge/dfff57ede9-fix-green" alt="fix - dfff57ede9" /></a></td> <td>Limits date format string length</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c"><img src="https://img.shields.io/badge/3c2892c8df-fix-green" alt="fix - 3c2892c8df" /></a></td> <td>prevent prototype pollution in formatDateTime</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1"><img src="https://img.shields.io/badge/1d87c49f6e-fix-green" alt="fix - 1d87c49f6e" /></a></td> <td>use cryptographically secure SHA-256 for transfer cache key generation</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce"><img src="https://img.shields.io/badge/1ee224ca30-fix-green" alt="fix - 1ee224ca30" /></a></td> <td>disallow i18n event attributes</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136"><img src="https://img.shields.io/badge/a56f1cdf8f-fix-green" alt="fix - a56f1cdf8f" /></a></td> <td>more robust logic to check if regex can be optimized</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b"><img src="https://img.shields.io/badge/5946c18275-fix-green" alt="fix - 5946c18275" /></a></td> <td>sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the MathML namespace</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918"><img src="https://img.shields.io/badge/393b84caf8-fix-green" alt="fix - 393b84caf8" /></a></td> <td>sanitize two-way properties</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39"><img src="https://img.shields.io/badge/3d9ca2f173-fix-green" alt="fix - 3d9ca2f173" /></a></td> <td>bind switch exhaustive check expressions</td> </tr> </tbody> </table> <h3>core</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md">@angular/common's changelog</a>.</em></p> <blockquote> <h1>22.0.2 (2026-06-17)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475">94ea403563</a></td> <td>fix</td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf">6c1f3e9d49</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53">6f1171991a</a></td> <td>fix</td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49">528a34f766</a></td> <td>fix</td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b">e17e8d5422</a></td> <td>fix</td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15">59dea13f80</a></td> <td>fix</td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b">3a48abc15c</a></td> <td>fix</td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d">93d0a5f95c</a></td> <td>fix</td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966">b32ee7ceb3</a></td> <td>fix</td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190">f902d1d35e</a></td> <td>perf</td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c">6867f77ec7</a></td> <td>fix</td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d">7ef1399068</a></td> <td>fix</td> <td>skip transfer cache for fetch credentialed requests (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24">15314c1736</a></td> <td>fix</td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>22.1.0-next.0 (2026-06-10)</h1> <h2>Deprecations</h2> <h3>http</h3> <ul> <li><code>HttpClient.jsonp</code>, <code>HttpClientJsonpModule</code>, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.</li> </ul> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e">1ad6824d0d</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69017">#69017</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b">25c744c4d0</a></td> <td>fix</td> <td>support foreign components defined outside top-level scope</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/aeb55c8bc101dc313dc64f83f4428ddfad28d54e">aeb55c8bc1</a></td> <td>fix</td> <td>allow passing uninvoked signals as foreign component props</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff">7c60a98b3c</a></td> <td>fix</td> <td>support import aliases in foreignImports (<a href="https://redirect.github.com/angular/angular/pull/68674">#68674</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><code>6867f77</code></a> fix(http): distinguish repeated transfer cache params</li> <li><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><code>6c1f3e9</code></a> fix(common): skip transfer cache for uncacheable HTTP traffic (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</li> <li><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><code>7ef1399</code></a> fix(http): skip transfer cache for fetch credentialed requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</li> <li><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><code>94ea403</code></a> fix(common): escape anchor fragment in shadow DOM name selector</li> <li><a href="https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe"><code>2dd65d2</code></a> fix(http): pass down the <code>reportUploadProgress</code> and <code>reportDownloadProgress</code> ...</li> <li><a href="https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97"><code>1bd5a56</code></a> docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...</li> <li><a href="https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c"><code>3c2892c</code></a> fix(common): prevent prototype pollution in formatDateTime</li> <li><a href="https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8"><code>c4b5fa3</code></a> fix(common): escape CSS string-terminating characters in escapeCssUrl</li> <li><a href="https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320"><code>4254eb4</code></a> fix(http): preserve empty referrer option in HttpRequest</li> <li><a href="https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22"><code>167bd4c</code></a> fix(http): Rejects non-HTTP(S) URLs in JSONP requests</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v22.0.2/packages/common">compare view</a></li> </ul> </details> <br /> Updates `@angular/core` from 20.3.21 to 22.0.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/core's releases</a>.</em></p> <blockquote> <h2>22.0.2</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix - 94ea403563" /></a></td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix - 6c1f3e9d49" /></a></td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix - 6f1171991a" /></a></td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix - 528a34f766" /></a></td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix - e17e8d5422" /></a></td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix - 59dea13f80" /></a></td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b"><img src="https://img.shields.io/badge/3a48abc15c-fix-green" alt="fix - 3a48abc15c" /></a></td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d"><img src="https://img.shields.io/badge/93d0a5f95c-fix-green" alt="fix - 93d0a5f95c" /></a></td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><img src="https://img.shields.io/badge/b32ee7ceb3-fix-green" alt="fix - b32ee7ceb3" /></a></td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><img src="https://img.shields.io/badge/f902d1d35e-perf-orange" alt="perf - f902d1d35e" /></a></td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><img src="https://img.shields.io/badge/6867f77ec7-fix-green" alt="fix - 6867f77ec7" /></a></td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><img src="https://img.shields.io/badge/7ef1399068-fix-green" alt="fix - 7ef1399068" /></a></td> <td>skip transfer cache for fetch credentialed requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24"><img src="https://img.shields.io/badge/15314c1736-fix-green" alt="fix - 15314c1736" /></a></td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <h2>22.0.1</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8"><img src="https://img.shields.io/badge/c4b5fa3c92-fix-green" alt="fix - c4b5fa3c92" /></a></td> <td>escape CSS string-terminating characters in escapeCssUrl</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5"><img src="https://img.shields.io/badge/dfff57ede9-fix-green" alt="fix - dfff57ede9" /></a></td> <td>Limits date format string length</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c"><img src="https://img.shields.io/badge/3c2892c8df-fix-green" alt="fix - 3c2892c8df" /></a></td> <td>prevent prototype pollution in formatDateTime</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1"><img src="https://img.shields.io/badge/1d87c49f6e-fix-green" alt="fix - 1d87c49f6e" /></a></td> <td>use cryptographically secure SHA-256 for transfer cache key generation</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce"><img src="https://img.shields.io/badge/1ee224ca30-fix-green" alt="fix - 1ee224ca30" /></a></td> <td>disallow i18n event attributes</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136"><img src="https://img.shields.io/badge/a56f1cdf8f-fix-green" alt="fix - a56f1cdf8f" /></a></td> <td>more robust logic to check if regex can be optimized</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b"><img src="https://img.shields.io/badge/5946c18275-fix-green" alt="fix - 5946c18275" /></a></td> <td>sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the MathML namespace</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918"><img src="https://img.shields.io/badge/393b84caf8-fix-green" alt="fix - 393b84caf8" /></a></td> <td>sanitize two-way properties</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39"><img src="https://img.shields.io/badge/3d9ca2f173-fix-green" alt="fix - 3d9ca2f173" /></a></td> <td>bind switch exhaustive check expressions</td> </tr> </tbody> </table> <h3>core</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md">@angular/core's changelog</a>.</em></p> <blockquote> <h1>22.0.2 (2026-06-17)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475">94ea403563</a></td> <td>fix</td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf">6c1f3e9d49</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53">6f1171991a</a></td> <td>fix</td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49">528a34f766</a></td> <td>fix</td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b">e17e8d5422</a></td> <td>fix</td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15">59dea13f80</a></td> <td>fix</td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b">3a48abc15c</a></td> <td>fix</td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d">93d0a5f95c</a></td> <td>fix</td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966">b32ee7ceb3</a></td> <td>fix</td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190">f902d1d35e</a></td> <td>perf</td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c">6867f77ec7</a></td> <td>fix</td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d">7ef1399068</a></td> <td>fix</td> <td>skip transfer cache for fetch credentialed requests (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24">15314c1736</a></td> <td>fix</td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>22.1.0-next.0 (2026-06-10)</h1> <h2>Deprecations</h2> <h3>http</h3> <ul> <li><code>HttpClient.jsonp</code>, <code>HttpClientJsonpModule</code>, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.</li> </ul> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e">1ad6824d0d</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69017">#69017</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b">25c744c4d0</a></td> <td>fix</td> <td>support foreign components defined outside top-level scope</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/aeb55c8bc101dc313dc64f83f4428ddfad28d54e">aeb55c8bc1</a></td> <td>fix</td> <td>allow passing uninvoked signals as foreign component props</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff">7c60a98b3c</a></td> <td>fix</td> <td>support import aliases in foreignImports (<a href="https://redirect.github.com/angular/angular/pull/68674">#68674</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced"><code>152601e</code></a> refactor(core): add <code>childSignalProp</code> to <code>ReactiveNodeKind</code></li> <li><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><code>59dea13</code></a> fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool</li> <li><a href="https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb"><code>81cb457</code></a> refactor(router): Add handling for ActivatedRoute-scoped injector</li> <li><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><code>f902d1d</code></a> perf(core): detect existing signal dependency without checking all producer l...</li> <li><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><code>e17e8d5</code></a> fix(core): escape overlapping comment delimiters in escapeCommentText</li> <li><a href="https://github.com/angular/angular/commit/0f1cfe30829bd33ff4778e45322de4e80f2fe9a9"><code>0f1cfe3</code></a> build: update cross-repo angular dependencies to v22.0.2</li> <li><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><code>b32ee7c</code></a> fix(core): treat iframe credentialless as security-sensitive</li> <li><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d"><code>93d0a5f</code></a> fix(core): prevent unsubscribe during emit from throwing off other listeners</li> <li><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><code>528a34f</code></a> fix(core): avoid caching missing locale data</li> <li><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><code>6f11719</code></a> fix(compiler): restrict possible event handler check to property names longer...</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v22.0.2/packages/core">compare view</a></li> </ul> </details> <br /> Updates `@angular/forms` from 20.3.21 to 22.0.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/forms's releases</a>.</em></p> <blockquote> <h2>22.0.2</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix - 94ea403563" /></a></td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix - 6c1f3e9d49" /></a></td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix - 6f1171991a" /></a></td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix - 528a34f766" /></a></td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix - e17e8d5422" /></a></td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix - 59dea13f80" /></a></td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b"><img src="https://img.shields.io/badge/3a48abc15c-fix-green" alt="fix - 3a48abc15c" /></a></td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d"><img src="https://img.shields.io/badge/93d0a5f95c-fix-green" alt="fix - 93d0a5f95c" /></a></td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><img src="https://img.shields.io/badge/b32ee7ceb3-fix-green" alt="fix - b32ee7ceb3" /></a></td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><img src="https://img.shields.io/badge/f902d1d35e-perf-orange" alt="perf - f902d1d35e" /></a></td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><img src="https://img.shields.io/badge/6867f77ec7-fix-green" alt="fix - 6867f77ec7" /></a></td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><img src="https://img.shields.io/badge/7ef1399068-fix-green" alt="fix - 7ef1399068" /></a></td> <td>skip transfer cache for fetch credentialed requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24"><img src="https://img.shields.io/badge/15314c1736-fix-green" alt="fix - 15314c1736" /></a></td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <h2>22.0.1</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8"><img src="https://img.shields.io/badge/c4b5fa3c92-fix-green" alt="fix - c4b5fa3c92" /></a></td> <td>escape CSS string-terminating characters in escapeCssUrl</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5"><img src="https://img.shields.io/badge/dfff57ede9-fix-green" alt="fix - dfff57ede9" /></a></td> <td>Limits date format string length</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c"><img src="https://img.shields.io/badge/3c2892c8df-fix-green" alt="fix - 3c2892c8df" /></a></td> <td>prevent prototype pollution in formatDateTime</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1"><img src="https://img.shields.io/badge/1d87c49f6e-fix-green" alt="fix - 1d87c49f6e" /></a></td> <td>use cryptographically secure SHA-256 for transfer cache key generation</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce"><img src="https://img.shields.io/badge/1ee224ca30-fix-green" alt="fix - 1ee224ca30" /></a></td> <td>disallow i18n event attributes</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136"><img src="https://img.shields.io/badge/a56f1cdf8f-fix-green" alt="fix - a56f1cdf8f" /></a></td> <td>more robust logic to check if regex can be optimized</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b"><img src="https://img.shields.io/badge/5946c18275-fix-green" alt="fix - 5946c18275" /></a></td> <td>sanitize <code>href</code>/<code>xlink:href</code> attributes of any element of the MathML namespace</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918"><img src="https://img.shields.io/badge/393b84caf8-fix-green" alt="fix - 393b84caf8" /></a></td> <td>sanitize two-way properties</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39"><img src="https://img.shields.io/badge/3d9ca2f173-fix-green" alt="fix - 3d9ca2f173" /></a></td> <td>bind switch exhaustive check expressions</td> </tr> </tbody> </table> <h3>core</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md">@angular/forms's changelog</a>.</em></p> <blockquote> <h1>22.0.2 (2026-06-17)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475">94ea403563</a></td> <td>fix</td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf">6c1f3e9d49</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53">6f1171991a</a></td> <td>fix</td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49">528a34f766</a></td> <td>fix</td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b">e17e8d5422</a></td> <td>fix</td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15">59dea13f80</a></td> <td>fix</td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b">3a48abc15c</a></td> <td>fix</td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d">93d0a5f95c</a></td> <td>fix</td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966">b32ee7ceb3</a></td> <td>fix</td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190">f902d1d35e</a></td> <td>perf</td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c">6867f77ec7</a></td> <td>fix</td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d">7ef1399068</a></td> <td>fix</td> <td>skip transfer cache for fetch credentialed requests (<a href="https://redirect.github.com/angular/angular/pull/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24">15314c1736</a></td> <td>fix</td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>22.1.0-next.0 (2026-06-10)</h1> <h2>Deprecations</h2> <h3>http</h3> <ul> <li><code>HttpClient.jsonp</code>, <code>HttpClientJsonpModule</code>, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.</li> </ul> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e">1ad6824d0d</a></td> <td>fix</td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://redirect.github.com/angular/angular/pull/69017">#69017</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b">25c744c4d0</a></td> <td>fix</td> <td>support foreign components defined outside top-level scope</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/aeb55c8bc101dc313dc64f83f4428ddfad28d54e">aeb55c8bc1</a></td> <td>fix</td> <td>allow passing uninvoked signals as foreign component props</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff">7c60a98b3c</a></td> <td>fix</td> <td>support import aliases in foreignImports (<a href="https://redirect.github.com/angular/angular/pull/68674">#68674</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/3f055435f6e2f5f9824bc8f70d061b284bea7c80"><code>3f05543</code></a> refactor(forms): fix initWebMcpForm description to be required</li> <li><a href="https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014"><code>11836a6</code></a> fix(forms): delay mcp reading the form model by a <code>tick</code></li> <li><a href="https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae"><code>e51ad37</code></a> fix(forms): remove animationstart listener on component destroy to prevent me...</li> <li><a href="https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd"><code>85d2d10</code></a> fix(forms): harden FormGroup control lookups against prototype shadowing</li> <li><a href="https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f"><code>cdcea80</code></a> fix(core): require WebMCP tool descriptions</li> <li><a href="https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a"><code>55b7b5a</code></a> fix(forms): set <code>additionalProperties: false</code> on generated WebMCP form</li> <li><a href="https://github.com/angular/angular/commit/e81c7e84669e06f70aff0ca80dc3792809afdbd3"><code>e81c7e8</code></a> refactor(forms): type built-in getError results</li> <li><a href="https://github.com/angular/angular/commit/eb600aa3b265b559b456408617220744d8dd3b24"><code>eb600aa</code></a> refactor(forms): mark date and limit signal forms APIs public</li> <li><a href="https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd"><code>a97d5ec</code></a> build: update minimum supported Node.js versions</li> <li><a href="https://github.com/angular/angular/commit/3b4ef1e2ffa7f33583b9d6c5d927e2148a507921"><code>3b4ef1e</code></a> perf(forms): avoid redundant invalidations in parser errors signal</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v22.0.2/packages/forms">compare view</a></li> </ul> </details> <br /> Updates `@angular/platform-browser` from 20.3.21 to 22.0.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/platform-browser's releases</a>.</em></p> <blockquote> <h2>22.0.2</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix - 94ea403563" /></a></td> <td>escape anchor fragment in shadow DOM name selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix - 6c1f3e9d49" /></a></td> <td>skip transfer cache for uncacheable HTTP traffic (<a href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix - 6f1171991a" /></a></td> <td>restrict possible event handler check to property names longer than 2 characters</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix - 528a34f766" /></a></td> <td>avoid caching missing locale data</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix - e17e8d5422" /></a></td> <td>escape overlapping comment delimiters in escapeCommentText</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix - 59dea13f80" /></a></td> <td>guard against DOM clobbering in declareExperimentalWebMcpTool</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b"><img src="https://img.shields.io/badge/3a48abc15c-fix-green" alt="fix - 3a48abc15c" /></a></td> <td>preserve leave animation for sibling instances sharing a TNode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d"><img src="https://img.shields.io/badge/93d0a5f95c-fix-green" alt="fix - 93d0a5f95c" /></a></td> <td>prevent unsubscribe during emit from throwing off other listeners</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><img src="https://img.shields.io/badge/b32ee7ceb3-fix-green" alt="fix - b32ee7ceb3" /></a></td> <td>treat iframe credentialless as security-sensitive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><img src="https://img.shields.io/badge/f902d1d35e-perf-orange" alt="perf - f902d1d35e" /></a></td> <td>detect existing signal dependency without checking all producer links</td> </tr> </tbody> </table> <h3>http</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><img src="https://img.shields.io/badge/6867f77ec7-fix-green" alt="fix - 6867f77ec7" /></a></td> <td>distinguish repeated transfer cache params</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><img src="https://img.shields.io/badge/7ef1399068-fix-green" alt="fix - 7ef1399068" /></a></td> <td>skip transfer cache for fetch credentialed requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316">#69316</a>)</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24"><img src="https://img.shields.io/badge/15314c1736-fix-green" alt="fix - 15314c1736" /></a></td> <td>migration skip any target are not build or test</td> </tr> </tbody> </table> <h2>22.0.1</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8"><img src="https://img.shields.io/badge/c4b5fa3c92-fix-green" alt="fix - c4b5fa3c92" /></a></td> <td>escape CSS string-terminating ... _Description has been truncated_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
