Commit Graph

3 Commits

Author SHA1 Message Date
dependabot[bot]
64b97bf4b5 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates (#11274)
Bumps the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `17.2.1` | `17.3.0` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `17.2.1` | `17.3.0` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `17.2.1` | `17.3.0` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `17.2.1` | `17.3.0` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `17.2.1` | `17.3.0` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `17.2.1` | `17.3.0` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `17.2.1` | `17.3.0` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `17.2.1` | `17.3.0` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |
| [@angular/cli](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `17.2.1` | `17.3.0` |
| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.1702.0` | `0.1703.0` |
| [@angular-devkit/build-webpack](https://github.com/angular/angular-cli) | `0.1702.0` | `0.1703.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |

Updates `@angular/animations` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/animations</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d"><img src="https://img.shields.io/badge/2909e9817d-fix-green" alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf"><img src="https://img.shields.io/badge/7243c704cf-fix-green" alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38"><img src="https://img.shields.io/badge/bb35414a38-perf-orange" alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c"><img src="https://img.shields.io/badge/8d37ed035c-fix-green" alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02"><img src="https://img.shields.io/badge/c1c7384e02-feat-blue" alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311"><img src="https://img.shields.io/badge/7225485311-fix-green" alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de"><img src="https://img.shields.io/badge/ae7dbe42de-fix-green" alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- 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"><code>@​angular/animations</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772">#54772</a>)</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="12dc4d074e">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</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="331b16efd2">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748">#54748</a>)</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="8d37ed035c">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647">#54647</a>)</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="586cc24a10">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/animations">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/common` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/common</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d"><img src="https://img.shields.io/badge/2909e9817d-fix-green" alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf"><img src="https://img.shields.io/badge/7243c704cf-fix-green" alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38"><img src="https://img.shields.io/badge/bb35414a38-perf-orange" alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c"><img src="https://img.shields.io/badge/8d37ed035c-fix-green" alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02"><img src="https://img.shields.io/badge/c1c7384e02-feat-blue" alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311"><img src="https://img.shields.io/badge/7225485311-fix-green" alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de"><img src="https://img.shields.io/badge/ae7dbe42de-fix-green" alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- 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"><code>@​angular/common</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772">#54772</a>)</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="12dc4d074e">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</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="331b16efd2">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748">#54748</a>)</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="8d37ed035c">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647">#54647</a>)</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="586cc24a10">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8d37ed035c"><code>8d37ed0</code></a> fix(http): exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54746">#54746</a>)</li>
<li><a href="974958913c"><code>9749589</code></a> feat(core): support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414">#54414</a>)</li>
<li><a href="707bfc9b32"><code>707bfc9</code></a> perf(common): <code>AsyncPipe</code> should not call <code>markForCheck</code> on subscription (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54">#54</a>...</li>
<li><a href="55fd7b3c85"><code>55fd7b3</code></a> docs(docs-infra): Add missing api entries (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54517">#54517</a>)</li>
<li><a href="219445cda4"><code>219445c</code></a> fix(common): image placeholder not removed in OnPush component (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54515">#54515</a>)</li>
<li><a href="74b5a51226"><code>74b5a51</code></a> fix(http): Use string body to generate transfer cache key. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54379">#54379</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/common">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/compiler` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/compiler</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d"><img src="https://img.shields.io/badge/2909e9817d-fix-green" alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf"><img src="https://img.shields.io/badge/7243c704cf-fix-green" alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38"><img src="https://img.shields.io/badge/bb35414a38-perf-orange" alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c"><img src="https://img.shields.io/badge/8d37ed035c-fix-green" alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02"><img src="https://img.shields.io/badge/c1c7384e02-feat-blue" alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311"><img src="https://img.shields.io/badge/7225485311-fix-green" alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de"><img src="https://img.shields.io/badge/ae7dbe42de-fix-green" alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- 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"><code>@​angular/compiler</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772">#54772</a>)</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="12dc4d074e">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</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="331b16efd2">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748">#54748</a>)</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="8d37ed035c">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647">#54647</a>)</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="586cc24a10">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f386a04c9d"><code>f386a04</code></a> fix(compiler): handle two-way bindings to signal-based template variables in ...</li>
<li><a href="1f129f114e"><code>1f129f1</code></a> fix(compiler): not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54772">#54772</a>)</li>
<li><a href="b40f1e5b86"><code>b40f1e5</code></a> refactor(compiler): Remove deep imports in the language service (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54695">#54695</a>)</li>
<li><a href="5e32a775d9"><code>5e32a77</code></a> refactor(compiler): cleanup unused code in template builder pipeline (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54654">#54654</a>)</li>
<li><a href="1a6beae8a2"><code>1a6beae</code></a> feat(compiler): Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54571">#54571</a>)</li>
<li><a href="badda0c389"><code>badda0c</code></a> fix(compiler-cli): correctly detect deferred dependencies across scoped nodes...</li>
<li><a href="dba3e0b5aa"><code>dba3e0b</code></a> fix(compiler): adding the inert property to the &quot;SCHEMA&quot; array (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53148">#53148</a>)</li>
<li><a href="6c2d4b650b"><code>6c2d4b6</code></a> refactor(compiler): Enable Template Pipeline globally in 1P. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54435">#54435</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/compiler">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/core` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="https://github.com/angular/angular/commit/2909e9817daf69b6478...

_Description has been truncated_
2024-03-14 21:05:24 +00:00
dependabot[bot]
9483d49f72 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates (#11160)
Bumps the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `17.0.7` | `17.2.1` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `17.0.7` | `17.2.1` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `17.0.7` | `17.2.1` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `17.0.7` | `17.2.1` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `17.0.7` | `17.2.1` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `17.0.7` | `17.2.1` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `17.0.7` | `17.2.1` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `17.0.7` | `17.2.1` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `17.0.7` | `17.2.0` |
| [@angular/cli](https://github.com/angular/angular-cli) | `17.0.7` | `17.2.0` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `17.0.7` | `17.2.1` |
| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.1700.7` | `0.1702.0` |
| [@angular-devkit/build-webpack](https://github.com/angular/angular-cli) | `0.1700.7` | `0.1702.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli) | `17.0.7` | `17.2.0` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `17.0.7` | `17.2.0` |

Updates `@angular/animations` from 17.0.7 to 17.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/animations</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.2.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228"><img src="https://img.shields.io/badge/7234824228-fix-green" alt="fix - 7234824228" /></a></td>
<td>fix broken version detection condition (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54443">#54443</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79"><img src="https://img.shields.io/badge/03c3b3eb79-feat-blue" alt="feat - 03c3b3eb79" /></a></td>
<td>add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54311">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836"><img src="https://img.shields.io/badge/f5c520b836-feat-blue" alt="feat - f5c520b836" /></a></td>
<td>add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53783">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101"><img src="https://img.shields.io/badge/47e6e84101-feat-blue" alt="feat - 47e6e84101" /></a></td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54057">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf"><img src="https://img.shields.io/badge/66e940aebf-feat-blue" alt="feat - 66e940aebf" /></a></td>
<td>scope selectors in <a href="https://github.com/starting-style"><code>@​starting-style</code></a> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53943">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49"><img src="https://img.shields.io/badge/7b4d275f49-fix-green" alt="fix - 7b4d275f49" /></a></td>
<td>Fix the template pipeline option (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54148">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e"><img src="https://img.shields.io/badge/7e861c640e-feat-blue" alt="feat - 7e861c640e" /></a></td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2"><img src="https://img.shields.io/badge/3263df23f2-feat-blue" alt="feat - 3263df23f2" /></a></td>
<td>generate global imports in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e"><img src="https://img.shields.io/badge/b774e22d8e-feat-blue" alt="feat - b774e22d8e" /></a></td>
<td>make it configurable to generate alias reexports (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53937">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e"><img src="https://img.shields.io/badge/3e1384048e-feat-blue" alt="feat - 3e1384048e" /></a></td>
<td>support host directives for local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53877">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69"><img src="https://img.shields.io/badge/a592904c69-fix-green" alt="fix - a592904c69" /></a></td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36"><img src="https://img.shields.io/badge/4b1d948b36-fix-green" alt="fix - 4b1d948b36" /></a></td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12"><img src="https://img.shields.io/badge/96bcf4fb12-fix-green" alt="fix - 96bcf4fb12" /></a></td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6"><img src="https://img.shields.io/badge/64fa5715c6-fix-green" alt="fix - 64fa5715c6" /></a></td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a"><img src="https://img.shields.io/badge/6c8b09468a-fix-green" alt="fix - 6c8b09468a" /></a></td>
<td>highlight the unresolved element in the <a href="https://github.com/Component"><code>@​Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20"><img src="https://img.shields.io/badge/0970129e20-fix-green" alt="fix - 0970129e20" /></a></td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53983">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418"><img src="https://img.shields.io/badge/f39cb06418-fix-green" alt="fix - f39cb06418" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/Directive"><code>@​Directive</code></a>.exportAs in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945"><img src="https://img.shields.io/badge/f3851b5945-fix-green" alt="fix - f3851b5945" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding"><code>@​HostBinding</code></a>'s argument in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8"><img src="https://img.shields.io/badge/39ddd884e8-fix-green" alt="fix - 39ddd884e8" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostListener"><code>@​HostListener</code></a>'s event name in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd"><img src="https://img.shields.io/badge/5d633240fd-fix-green" alt="fix - 5d633240fd" /></a></td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component"><code>@​Component</code></a>.styles (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6"><img src="https://img.shields.io/badge/58b8a232d6-fix-green" alt="fix - 58b8a232d6" /></a></td>
<td>support jumping to definitions of signal-based inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54053">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c"><img src="https://img.shields.io/badge/702ab28b4c-feat-blue" alt="feat - 702ab28b4c" /></a></td>
<td>add support for model inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54252">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6"><img src="https://img.shields.io/badge/e95ef2cbc6-feat-blue" alt="feat - e95ef2cbc6" /></a></td>
<td>expose queries as signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54283">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3"><img src="https://img.shields.io/badge/656bc282e3-fix-green" alt="fix - 656bc282e3" /></a></td>
<td>add toString implementation to signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54002">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551"><img src="https://img.shields.io/badge/62b87b4551-fix-green" alt="fix - 62b87b4551" /></a></td>
<td>do not crash for signal query that does not have any matches (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54353">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee"><img src="https://img.shields.io/badge/4b96f370ee-fix-green" alt="fix - 4b96f370ee" /></a></td>
<td>expose model signal subcribe for type checking purposes (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54357">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561"><img src="https://img.shields.io/badge/744cb1e561-fix-green" alt="fix - 744cb1e561" /></a></td>
<td>return the same children query results if there are no changes (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54392">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4"><img src="https://img.shields.io/badge/6d00115bf4-fix-green" alt="fix - 6d00115bf4" /></a></td>
<td>show placeholder block on the server with immediate trigger (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54394">#54394</a>)</td>
</tr>
</tbody>
</table>
<!-- 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"><code>@​angular/animations</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228">7234824228</a></td>
<td>fix</td>
<td>fix broken version detection condition (<a href="https://redirect.github.com/angular/angular/pull/54443">#54443</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79">03c3b3eb79</a></td>
<td>feat</td>
<td>add Netlify image loader (<a href="https://redirect.github.com/angular/angular/pull/54311">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836">f5c520b836</a></td>
<td>feat</td>
<td>add placeholder to NgOptimizedImage (<a href="https://redirect.github.com/angular/angular/pull/53783">#53783</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="47e6e84101">47e6e84101</a></td>
<td>feat</td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://redirect.github.com/angular/angular/pull/54057">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf">66e940aebf</a></td>
<td>feat</td>
<td>scope selectors in <a href="https://github.com/starting-style"><code>@​starting-style</code></a> (<a href="https://redirect.github.com/angular/angular/pull/53943">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49">7b4d275f49</a></td>
<td>fix</td>
<td>Fix the template pipeline option (<a href="https://redirect.github.com/angular/angular/pull/54148">#54148</a>)</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="7e861c640e">7e861c640e</a></td>
<td>feat</td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2">3263df23f2</a></td>
<td>feat</td>
<td>generate global imports in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e">b774e22d8e</a></td>
<td>feat</td>
<td>make it configurable to generate alias reexports (<a href="https://redirect.github.com/angular/angular/pull/53937">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e">3e1384048e</a></td>
<td>feat</td>
<td>support host directives for local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53877">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69">a592904c69</a></td>
<td>fix</td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36">4b1d948b36</a></td>
<td>fix</td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://redirect.github.com/angular/angular/pull/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12">96bcf4fb12</a></td>
<td>fix</td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://redirect.github.com/angular/angular/pull/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6">64fa5715c6</a></td>
<td>fix</td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a">6c8b09468a</a></td>
<td>fix</td>
<td>highlight the unresolved element in the <a href="https://github.com/Component"><code>@​Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20">0970129e20</a></td>
<td>fix</td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53983">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418">f39cb06418</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/Directive"><code>@​Directive</code></a>.exportAs in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945">f3851b5945</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding"><code>@​HostBinding</code></a>'s argument in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8">39ddd884e8</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostListener"><code>@​HostListener</code></a>'s event name in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd">5d633240fd</a></td>
<td>fix</td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component"><code>@​Component</code></a>.styles (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6">58b8a232d6</a></td>
<td>fix</td>
<td>support jumping to definitions of signal-based inputs (<a href="https://redirect.github.com/angular/angular/pull/54053">#54053</a>)</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="702ab28b4c">702ab28b4c</a></td>
<td>feat</td>
<td>add support for model inputs (<a href="https://redirect.github.com/angular/angular/pull/54252">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6">e95ef2cbc6</a></td>
<td>feat</td>
<td>expose queries as signals (<a href="https://redirect.github.com/angular/angular/pull/54283">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3">656bc282e3</a></td>
<td>fix</td>
<td>add toString implementation to signals (<a href="https://redirect.github.com/angular/angular/pull/54002">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551">62b87b4551</a></td>
<td>fix</td>
<td>do not crash for signal query that does not have any matches (<a href="https://redirect.github.com/angular/angular/pull/54353">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee">4b96f370ee</a></td>
<td>fix</td>
<td>expose model signal subcribe for type checking purposes (<a href="https://redirect.github.com/angular/angular/pull/54357">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561">744cb1e561</a></td>
<td>fix</td>
<td>return the same children query results if there are no changes (<a href="https://redirect.github.com/angular/angular/pull/54392">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4">6d00115bf4</a></td>
<td>fix</td>
<td>show placeholder block on the server with immediate trigger (<a href="https://redirect.github.com/angular/angular/pull/54394">#54394</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bbbe477f47"><code>bbbe477</code></a> refactor: migrate animations to prettier formatting (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53977">#53977</a>)</li>
<li><a href="5ae85e4849"><code>5ae85e4</code></a> refactor(core): node removal notifies scheduler only when animations are enab...</li>
<li><a href="91f250dab7"><code>91f250d</code></a> build: configure cross-pkg resolution for api extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/52499">#52499</a>)</li>
<li><a href="c4de4e1f89"><code>c4de4e1</code></a> refactor(docs-infra): build adev application using local generated assets (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/5">#5</a>...</li>
<li><a href="d7e7409e81"><code>d7e7409</code></a> refactor(animations): drop <code>convertToMap</code> &amp; <code>copyStyles</code> and use native funct...</li>
<li><a href="d28ce0a4cf"><code>d28ce0a</code></a> refactor(animations): use a spread operator instead of custom <code>copyObj</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/52441">#52441</a>)</li>
<li><a href="6a347d36eb"><code>6a347d3</code></a> refactor(animations): use a spread operator to convert an iterable to an arra...</li>
<li><a href="635c3b4fa8"><code>635c3b4</code></a> refactor(animations): use existing helper methods. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/52441">#52441</a>)</li>
<li><a href="5ee11a74ec"><code>5ee11a7</code></a> fix(animations): prevent the AsyncAnimationRenderer from calling the delegate...</li>
<li><a href="a02a745a4a"><code>a02a745</code></a> fix(animations): remove <code>finish</code> listener once player is destroyed (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/51136">#51136</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/17.2.1/packages/animations">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/common` from 17.0.7 to 17.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/common</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.2.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228"><img src="https://img.shields.io/badge/7234824228-fix-green" alt="fix - 7234824228" /></a></td>
<td>fix broken version detection condition (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54443">#54443</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79"><img src="https://img.shields.io/badge/03c3b3eb79-feat-blue" alt="feat - 03c3b3eb79" /></a></td>
<td>add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54311">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836"><img src="https://img.shields.io/badge/f5c520b836-feat-blue" alt="feat - f5c520b836" /></a></td>
<td>add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53783">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101"><img src="https://img.shields.io/badge/47e6e84101-feat-blue" alt="feat - 47e6e84101" /></a></td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54057">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf"><img src="https://img.shields.io/badge/66e940aebf-feat-blue" alt="feat - 66e940aebf" /></a></td>
<td>scope selectors in <a href="https://github.com/starting-style"><code>@​starting-style</code></a> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53943">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49"><img src="https://img.shields.io/badge/7b4d275f49-fix-green" alt="fix - 7b4d275f49" /></a></td>
<td>Fix the template pipeline option (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54148">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e"><img src="https://img.shields.io/badge/7e861c640e-feat-blue" alt="feat - 7e861c640e" /></a></td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2"><img src="https://img.shields.io/badge/3263df23f2-feat-blue" alt="feat - 3263df23f2" /></a></td>
<td>generate global imports in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e"><img src="https://img.shields.io/badge/b774e22d8e-feat-blue" alt="feat - b774e22d8e" /></a></td>
<td>make it configurable to generate alias reexports (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53937">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e"><img src="https://img.shields.io/badge/3e1384048e-feat-blue" alt="feat - 3e1384048e" /></a></td>
<td>support host directives for local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53877">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69"><img src="https://img.shields.io/badge/a592904c69-fix-green" alt="fix - a592904c69" /></a></td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36"><img src="https://img.shields.io/badge/4b1d948b36-fix-green" alt="fix - 4b1d948b36" /></a></td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12"><img src="https://img.shields.io/badge/96bcf4fb12-fix-green" alt="fix - 96bcf4fb12" /></a></td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6"><img src="https://img.shields.io/badge/64fa5715c6-fix-green" alt="fix - 64fa5715c6" /></a></td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a"><img src="https://img.shields.io/badge/6c8b09468a-fix-green" alt="fix - 6c8b09468a" /></a></td>
<td>highlight the unresolved element in the <a href="https://github.com/Component"><code>@​Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20"><img src="https://img.shields.io/badge/0970129e20-fix-green" alt="fix - 0970129e20" /></a></td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53983">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418"><img src="https://img.shields.io/badge/f39cb06418-fix-green" alt="fix - f39cb06418" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/Directive"><code>@​Directive</code></a>.exportAs in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945"><img src="https://img.shields.io/badge/f3851b5945-fix-green" alt="fix - f3851b5945" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding"><code>@​HostBinding</code></a>'s argument in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8"><img src="https://img.shields.io/badge/39ddd884e8-fix-green" alt="fix - 39ddd884e8" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostListener"><code>@​HostListener</code></a>'s event name in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd"><img src="https://img.shields.io/badge/5d633240fd-fix-green" alt="fix - 5d633240fd" /></a></td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component"><code>@​Component</code></a>.styles (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6"><img src="https://img.shields.io/badge/58b8a232d6-fix-green" alt="fix - 58b8a232d6" /></a></td>
<td>support jumping to definitions of signal-based inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54053">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c"><img src="https://img.shields.io/badge/702ab28b4c-feat-blue" alt="feat - 702ab28b4c" /></a></td>
<td>add support for model inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54252">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6"><img src="https://img.shields.io/badge/e95ef2cbc6-feat-blue" alt="feat - e95ef2cbc6" /></a></td>
<td>expose queries as signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54283">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3"><img src="https://img.shields.io/badge/656bc282e3-fix-green" alt="fix - 656bc282e3" /></a></td>
<td>add toString implementation to signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54002">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551"><img src="https://img.shields.io/badge/62b87b4551-fix-green" alt="fix - 62b87b4551" /></a></td>
<td>do not crash for signal query that does not have any matches (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54353">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee"><img src="https://img.shields.io/badge/4b96f370ee-fix-green" alt="fix - 4b96f370ee" /></a></td>
<td>expose model signal subcribe for type checking purposes (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54357">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561"><img src="https://img.shields.io/badge/744cb1e561-fix-green" alt="fix - 744cb1e561" /></a></td>
<td>return the same children query results if there are no changes (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54392">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4"><img src="https://img.shields.io/badge/6d00115bf4-fix-green" alt="fix - 6d00115bf4" /></a></td>
<td>show placeholder block on the server with immediate trigger (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54394">#54394</a>)</td>
</tr>
</tbody>
</table>
<!-- 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"><code>@​angular/common</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228">7234824228</a></td>
<td>fix</td>
<td>fix broken version detection condition (<a href="https://redirect.github.com/angular/angular/pull/54443">#54443</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79">03c3b3eb79</a></td>
<td>feat</td>
<td>add Netlify image loader (<a href="https://redirect.github.com/angular/angular/pull/54311">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836">f5c520b836</a></td>
<td>feat</td>
<td>add placeholder to NgOptimizedImage (<a href="https://redirect.github.com/angular/angular/pull/53783">#53783</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="47e6e84101">47e6e84101</a></td>
<td>feat</td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://redirect.github.com/angular/angular/pull/54057">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf">66e940aebf</a></td>
<td>feat</td>
<td>scope selectors in <a href="https://github.com/starting-style"><code>@​starting-style</code></a> (<a href="https://redirect.github.com/angular/angular/pull/53943">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49">7b4d275f49</a></td>
<td>fix</td>
<td>Fix the template pipeline option (<a href="https://redirect.github.com/angular/angular/pull/54148">#54148</a>)</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="7e861c640e">7e861c640e</a></td>
<td>feat</td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2">3263df23f2</a></td>
<td>feat</td>
<td>generate global imports in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e">b774e22d8e</a></td>
<td>feat</td>
<td>make it configurable to generate alias reexports (<a href="https://redirect.github.com/angular/angular/pull/53937">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e">3e1384048e</a></td>
<td>feat</td>
<td>support host directives for local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53877">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69">a592904c69</a></td>
<td>fix</td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36">4b1d948b36</a></td>
<td>fix</td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://redirect.github.com/angular/angular/pull/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12">96bcf4fb12</a></td>
<td>fix</td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://redirect.github.com/angular/angular/pull/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6">64fa5715c6</a></td>
<td>fix</td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a">6c8b09468a</a></td>
<td>fix</td>
<td>highlight the unresolved element in the <a href="https://github.com/Component"><code>@​Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20">0970129e20</a></td>
<td>fix</td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53983">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418">f39cb06418</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/Directive"><code>@​Directive</code></a>.exportAs in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945">f3851b5945</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding"><code>@​HostBinding</code></a>'s argument in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8">39ddd884e8</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostListener"><code>@​HostListener</code></a>'s event name in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd">5d633240fd</a></td>
<td>fix</td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component"><code>@​Component</code></a>.styles (<a href="https://redirect.github.com/angular/angular/pull/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6">58b8a232d6</a></td>
<td>fix</td>
<td>support jumping to definitions of signal-based inputs (<a href="https://redirect.github.com/angular/angular/pull/54053">#54053</a>)</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="702ab28b4c">702ab28b4c</a></td>
<td>feat</td>
<td>add support for model inputs (<a href="https://redirect.github.com/angular/angular/pull/54252">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6">e95ef2cbc6</a></td>
<td>feat</td>
<td>expose queries as signals (<a href="https://redirect.github.com/angular/angular/pull/54283">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3">656bc282e3</a></td>
<td>fix</td>
<td>add toString implementation to signals (<a href="https://redirect.github.com/angular/angular/pull/54002">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551">62b87b4551</a></td>
<td>fix</td>
<td>do not crash for signal query that does not have any matches (<a href="https://redirect.github.com/angular/angular/pull/54353">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee">4b96f370ee</a></td>
<td>fix</td>
<td>expose model signal subcribe for type checking purposes (<a href="https://redirect.github.com/angular/angular/pull/54357">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561">744cb1e561</a></td>
<td>fix</td>
<td>return the same children query results if there are no changes (<a href="https://redirect.github.com/angular/angular/pull/54392">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4">6d00115bf4</a></td>
<td>fix</td>
<td>show placeholder block on the server with immediate trigger (<a href="https://redirect.github.com/angular/angular/pull/54394">#54394</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1c536250b6"><code>1c53625</code></a> fix(http): Use string body to generate transfer cache key. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54379">#54379</a>)</li>
<li><a href="03c3b3eb79"><code>03c3b3e</code></a> feat(common): add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54311">#54311</a>)</li>
<li><a href="122213d37d"><code>122213d</code></a> fix(common): The date pipe should return ISO format for week and week-year as...</li>
<li><a href="4a44f73288"><code>4a44f73</code></a> docs: Update docs about equality. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54158">#54158</a>)</li>
<li><a href="0460a9dfaf"><code>0460a9d</code></a> refactor: migrate common to prettier formatting (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54150">#54150</a>)</li>
<li><a href="f3567bbc26"><code>f3567bb</code></a> refactor(common): simplify i18n plural and select pipe metadata (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53939">#53939</a>)</li>
<li><a href="3c881acc5d"><code>3c881ac</code></a> refactor(common): simplify date pipe metadata (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53939">#53939</a>)</li>
<li><a href="15c48113c2"><code>15c4811</code></a> refactor(router): Update integration tests to cover navigation and history AP...</li>
<li><a href="f5c520b836"><code>f5c520b</code></a> feat(common): add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53783">#53783</a>)</li>
<li><a href="7800a3c9f5"><code>7800a3c</code></a> refactor(core): remove <code>InjectionToken</code> descriptions in optimized builds. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/5">#5</a>...</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/17.2.1/packages/common">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/compiler` from 17.0.7 to 17.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/compiler</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.2.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228"><img src="https://img.shields.io/badge/7234824228-fix-green" alt="fix - 7234824228" /></a></td>
<td>fix broken version detection condition (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54443">#54443</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79"><img src="https://img.shields.io/badge/03c3b3eb79-feat-blue" alt="feat - 03c3b3eb79" /></a></td>
<td>add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54311">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836"><img src="https://img.shields.io/badge/f5c520b836-feat-blue" alt="feat - f5c520b836" /></a></td>
<td>add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53783">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101"><img src="https://img.shields.io/badge/47e6e84101-feat-blue" alt="feat - 47e6e84101" /></a></td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54057">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf"><img src="https://img.shields.io/badge/66e940aebf-feat-blue" alt="feat - 66e940aebf" /></a></td>
<td>scope selectors in <a href="https://github.com/starting-style"><code>@​starting-style</code></a> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53943">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49"><img src="https://img.shields.io/badge/7b4d275f49-fix-green" alt="fix - 7b4d275f49" /></a></td>
<td>Fix the template pipeline option (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54148">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e"><img src="https://img.shields.io/badge/7e861c640e-feat-blue" alt="feat - 7e861c640e" /></a></td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2"><img src="https://img.shields.io/badge/3263df23f2-feat-blue" alt="feat - 3263df23f2" /></a></td>
<td>generate global imports in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e"><img src="https://img.shields.io/badge/b774e22d8e-feat-blue" alt="feat - b774e22d8e" /></a></td>
<td>make it configurable to generate alias reexports (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53937">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e"><img src="https://img.shields.io/badge/3e1384048e-feat-blue" alt="feat - 3e1384048e" /></a></td>
<td>support host directives for local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53877">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69"><img src="https://img.shields.io/badge/a592904c69-fix-green" alt="fix - a592904c69" /></a></td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36"><img src="https://img.shields.io/badge/4b1d948b36-fix-green" alt="fix - 4b1d948b36" /></a></td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12"><img src="https://img.shields.io/badge/96bcf4fb12-fix-green" alt="fix - 96bcf4fb12" /></a></td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54139">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6"><img src="https://img.shields.io/badge/64fa5715c6-fix-green" alt="fix - 64fa5715c6" /></a></td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a"><img src="https://img.shields.io/badge/6c8b09468a-fix-green" alt="fix - 6c8b09468a" /></a></td>
<td>highlight the unresolved element in the <a href="https://github.com/Component"><code>@​Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20"><img src="https://img.shields.io/badge/0970129e20-fix-green" alt="fix - 0970129e20" /></a></td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53983">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418"><img src="https://img.shields.io/badge/f39cb06418-fix-green" alt="fix - f39cb06418" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/Directive"><code>@​Directive</code></a>.exportAs in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945"><img src="https://img.shields.io/badge/f3851b5945-fix-green" alt="fix - f3851b5945" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding"><code>@​HostBinding</code></a>'s argument in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8"><img src="https://img.shields.io/badge/39ddd884e8-fix-green" alt="fix - 39ddd884e8" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostListener"><code>@​HostListener</code></a>'s event name in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd"><img src="https://img.shields.io/badge/5d633240fd-fix-green" alt="fix - 5d633240fd" /></a></td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component"><code>@​Component</code></a>.styles (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6"><img src="https://img.shields.io/badge/58b8a232d6-fix-green" alt="fix - 58b8a232d6" /></a></td>
<td>support jumping to definitions of signal-based inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54053">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c"><img src="https://img.shields.io/badge/702ab28b4c-feat-blue" alt="feat - 702ab28b4c" /></a></td>
<td>add support for model inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54252">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6"><img src="https://img.shields.io/badge/e95ef2cbc6-feat-blue" alt="feat - e95ef2cbc6" /></a></td>
<td>expose queries as signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54283">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3"><img src="https://img.shields.io/badge/656bc282e3-fix-green" alt="fix - 656bc282e3" /></a></td>
<td>add toString implementation to signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54002">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551"><img src="https://img.shields.io/badge/62b87b4551-fix-green" alt="fix - 62b87b4551" /></a></td>
<td>do not crash for signal query that does not have any matches (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54353">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee"><img src="https://img.shields.io/badge/4b96f370ee-fix-green" alt="fix - 4b96f370ee" /></a></td>
<td>expose model signal subcribe for type checking purposes (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54357">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561"><img src="https://img.shields.io/badge/744cb1e561-fix-green" alt="fix - 744cb1e561" /></a></td>
<td>return the same children query results if there are no changes (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54392">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4"><img src="https://img.shields.io/badge/6d00115bf4-fix-green" alt="fix - 6d00115bf4" /></a></td>
<td>show placeholder block on the server with immediate trigger (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54394">#54394</a>)</td>
</tr>
</tbody>
</table>
<!-- 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"><code>@​angular/compiler</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228">7234824228</a></td>
<td>fix</td>
<td>fix broken version detection condition (<a href="https://redirect.github.com/angular/angular/pull/54443">#54443</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79">03c3b3eb79</a></td>
<td>feat</td>
<td>add Netlify image loader (<a href="https://redirect.github.com/angular/angular/pull/54311">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836">f5c520b836</a></td>
<td>feat</td>
<td>add placeholder to NgOptimizedImage (<a href="https://redirect.github.com/angular/angular/pull/53783">#53783</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="47e6e84101">47e6e84101</a></td>
<td>feat</td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://redirect.github.com/angular/angular/pull/54057">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf">66e940aebf</a></td>
<td>feat</td>
<td>scope selectors in <a href="https://github.com/starting-style"><code>@​starting-style</code></a> (<a href="https://redirect.github.com/angular/angular/pull/53943">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49">7b4d275f49</a></td>
<td>fix</td>
<td>Fix the template pipeline option (<a href="https://redirect.github.com/angular/angular/pull/54148">#54148</a>)</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="7e861c640e">7e861c640e</a></td>
<td>feat</td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2">3263df23f2</a></td>
<td>feat</td>
<td>generate global imports in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53543">#53543</a>)</td>
</tr>
<tr>
<td><a href="https://github.com/angular/angular/commit/b774e22d8e384f43e9cd8f5c...

_Description has been truncated_
2024-02-15 17:25:58 +00:00
Trek Glowacki
838d56c31c [static-build] Add Angular 17 fixture (#10969)
Add Angular 17 fixture
2023-12-20 21:25:04 +00:00