Bumps
[@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic)
from 20.3.16 to 21.1.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases"><code>@angular/platform-browser-dynamic</code>'s
releases</a>.</em></p>
<blockquote>
<h2>21.1.2</h2>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="9f99b14882"><img
src="https://img.shields.io/badge/9f99b14882-fix-green" alt="fix -
9f99b14882" /></a></td>
<td>only touch visible, interactive fields on submit</td>
</tr>
</tbody>
</table>
<h3>language-service</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="c57b0355b5"><img
src="https://img.shields.io/badge/c57b0355b5-fix-green" alt="fix -
c57b0355b5" /></a></td>
<td>Detect local project version on creation</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="21ecdc036a"><img
src="https://img.shields.io/badge/21ecdc036a-fix-green" alt="fix -
21ecdc036a" /></a></td>
<td>Do not intercept reload events with Navigation integration</td>
</tr>
</tbody>
</table>
<h2>21.1.1</h2>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="0e1f1ed573"><img
src="https://img.shields.io/badge/0e1f1ed573-fix-green" alt="fix -
0e1f1ed573" /></a></td>
<td>drop .tsx extension for generated relative imports</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="05adfcf8f2"><img
src="https://img.shields.io/badge/05adfcf8f2-fix-green" alt="fix -
05adfcf8f2" /></a></td>
<td>handle Set in class bindings</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="d89a80a970"><img
src="https://img.shields.io/badge/d89a80a970-feat-blue" alt="feat -
d89a80a970" /></a></td>
<td>Ability to manually register a form field binding in signal
forms</td>
</tr>
<tr>
<td><a
href="cb75f9ce85"><img
src="https://img.shields.io/badge/cb75f9ce85-fix-green" alt="fix -
cb75f9ce85" /></a></td>
<td>fix control value syncing on touch</td>
</tr>
</tbody>
</table>
<h2>VSCode Extension: 21.1.1</h2>
<ul>
<li>fix(vscode-extension): add syntax highlighting for arrow functions
(<a
href="a649fc8f57">a649fc8f57</a>)</li>
<li>fix(vscode-extension): add syntax highlighting for spread/rest
expressions (<a
href="8f16846dd9">8f16846dd9</a>)</li>
</ul>
<h2>VSCode Extension: 21.1.0</h2>
<h2>21.1.0 (2026-01-12)</h2>
<ul>
<li>fix(vscode-extension): convert enum member kind in completions
correctly (<a
href="50674f8c28">50674f8c28</a>)</li>
</ul>
<h2>21.1.0</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="d8790972be"><img
src="https://img.shields.io/badge/d8790972be-feat-blue" alt="feat -
d8790972be" /></a></td>
<td>Add custom transformations for Cloudflare and Cloudinary image
loaders</td>
</tr>
<tr>
<td><a
href="a6b8cb68af"><img
src="https://img.shields.io/badge/a6b8cb68af-feat-blue" alt="feat -
a6b8cb68af" /></a></td>
<td>support custom transformations in ImageKit and Imgix loaders</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="640693da8e"><img
src="https://img.shields.io/badge/640693da8e-feat-blue" alt="feat -
640693da8e" /></a></td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a
href="0ad3adc7c6"><img
src="https://img.shields.io/badge/0ad3adc7c6-fix-green" alt="fix -
0ad3adc7c6" /></a></td>
<td>Support empty cases</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@angular/platform-browser-dynamic</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>21.1.2 (2026-01-28)</h1>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="9f99b14882">9f99b14882</a></td>
<td>fix</td>
<td>only touch visible, interactive fields on submit</td>
</tr>
</tbody>
</table>
<h3>language-service</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="c57b0355b5">c57b0355b5</a></td>
<td>fix</td>
<td>Detect local project version on creation</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="21ecdc036a">21ecdc036a</a></td>
<td>fix</td>
<td>Do not intercept reload events with Navigation integration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>21.2.0-next.0 (2026-01-22)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="72534e2a34">72534e2a34</a></td>
<td>feat</td>
<td>Add support for the <code>instanceof</code> binary operator</td>
</tr>
<tr>
<td><a
href="04ba09a8d9">04ba09a8d9</a></td>
<td>feat</td>
<td>support <code>AstVisitor.visitEmptyExpr()</code></td>
</tr>
<tr>
<td><a
href="ce80136e7b">ce80136e7b</a></td>
<td>fix</td>
<td>optimize away unnecessary restore/reset view calls</td>
</tr>
<tr>
<td><a
href="3242a61bae">3242a61bae</a></td>
<td>fix</td>
<td>variable counter visiting some expressions twice</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="473dd3e1cb">473dd3e1cb</a></td>
<td>fix</td>
<td>attach source spans to object literal keys in TCB</td>
</tr>
<tr>
<td><a
href="a904d9f77b">a904d9f77b</a></td>
<td>fix</td>
<td>support nested component declaration</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="92d2498910">92d2498910</a></td>
<td>feat</td>
<td>add host node to DeferBlockData (<a
href="https://redirect.github.com/angular/angular/pull/66546">#66546</a>)</td>
</tr>
<tr>
<td><a
href="1ba9b7ac50">1ba9b7ac50</a></td>
<td>feat</td>
<td>resource composition via snapshots</td>
</tr>
<tr>
<td><a
href="d9923b72a2">d9923b72a2</a></td>
<td>feat</td>
<td>support arrow functions in expressions</td>
</tr>
<tr>
<td><a
href="ed78fa05c7">ed78fa05c7</a></td>
<td>fix</td>
<td>Remove note to skip arrow functions in best practices</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="95c386469c">95c386469c</a></td>
<td>feat</td>
<td>Add passing focus options to form field</td>
</tr>
</tbody>
</table>
<h3>language-server</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="ebc90c26f5">ebc90c26f5</a></td>
<td>feat</td>
<td>Add completions and hover info for inline styles</td>
</tr>
<tr>
<td><a
href="26fd0839c3">26fd0839c3</a></td>
<td>feat</td>
<td>Add folding range support for inline styles</td>
</tr>
<tr>
<td><a
href="573aadef7e">573aadef7e</a></td>
<td>feat</td>
<td>Add quick info for inline styles</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d3f67f6ca8"><code>d3f67f6</code></a>
refactor(core): mark <code>VERSION</code> as <code>@__PURE__</code> for
better tree-shaking</li>
<li><a
href="26fed34e0e"><code>26fed34</code></a>
build: format md files</li>
<li><a
href="c3576506b3"><code>c357650</code></a>
refactor(core): Update tests for zoneless by default (<a
href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/63668">#63668</a>)</li>
<li><a
href="2fcafb65c5"><code>2fcafb6</code></a>
build: rename defaults2.bzl to defaults.bzl (<a
href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/63383">#63383</a>)</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v21.1.2/packages/platform-browser-dynamic">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[@angular-devkit/build-angular](https://github.com/angular/angular-cli)
from 20.3.15 to 21.1.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular-cli/releases"><code>@angular-devkit/build-angular</code>'s
releases</a>.</em></p>
<blockquote>
<h2>21.1.2</h2>
<h3><code>@angular-devkit/schematics-cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="e7458c81d6"><img
src="https://img.shields.io/badge/e7458c81d-fix-green" alt="fix -
e7458c81d" /></a></td>
<td>Add boolean type inference for 'true' and 'false' string values in
argument parsing</td>
</tr>
</tbody>
</table>
<h3><code>@angular-devkit/architect</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="d66f1fe647"><img
src="https://img.shields.io/badge/d66f1fe64-fix-green" alt="fix -
d66f1fe64" /></a></td>
<td>Add boolean type inference for 'true' and 'false' string values in
argument parsing</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="80911af673"><img
src="https://img.shields.io/badge/80911af67-fix-green" alt="fix -
80911af67" /></a></td>
<td>loosen Vitest dependency checks when runnerConfig is used</td>
</tr>
<tr>
<td><a
href="2d30639d3c"><img
src="https://img.shields.io/badge/2d30639d3-fix-green" alt="fix -
2d30639d3" /></a></td>
<td>support merging coverage thresholds with Vitest runnerConfig</td>
</tr>
</tbody>
</table>
<h2>21.1.1</h2>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="9da6d8fa76"><img
src="https://img.shields.io/badge/9da6d8fa7-fix-green" alt="fix -
9da6d8fa7" /></a></td>
<td>correct vscode MCP configuration for new projects</td>
</tr>
<tr>
<td><a
href="361758c75c"><img
src="https://img.shields.io/badge/361758c75-fix-green" alt="fix -
361758c75" /></a></td>
<td>remove special characters from jasmine-vitest report filename</td>
</tr>
</tbody>
</table>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="151b69587d"><img
src="https://img.shields.io/badge/151b69587-fix-green" alt="fix -
151b69587" /></a></td>
<td>Remove nonexistent link from MCP response</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="1b7e3307af"><img
src="https://img.shields.io/badge/1b7e3307a-fix-green" alt="fix -
1b7e3307a" /></a></td>
<td>allow application assets in workspace root</td>
</tr>
<tr>
<td><a
href="d1e596dc53"><img
src="https://img.shields.io/badge/d1e596dc5-fix-green" alt="fix -
d1e596dc5" /></a></td>
<td>prevent incorrect catch binding removal in downleveled
for-await</td>
</tr>
<tr>
<td><a
href="98ef0981a2"><img
src="https://img.shields.io/badge/98ef0981a-fix-green" alt="fix -
98ef0981a" /></a></td>
<td>update undici to v7.18.2</td>
</tr>
</tbody>
</table>
<h2>21.1.0</h2>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="36cf3afb48"><img
src="https://img.shields.io/badge/36cf3afb4-feat-blue" alt="feat -
36cf3afb4" /></a></td>
<td>add browserMode option to jasmine-vitest schematic</td>
</tr>
<tr>
<td><a
href="e71a72ffdc"><img
src="https://img.shields.io/badge/e71a72ffd-feat-blue" alt="feat -
e71a72ffd" /></a></td>
<td>generate detailed migration report for
<code>refactor-jasmine-vitest</code></td>
</tr>
<tr>
<td><a
href="18cf6c51b7"><img
src="https://img.shields.io/badge/18cf6c51b-fix-green" alt="fix -
18cf6c51b" /></a></td>
<td>add MCP configuration file to new workspaces</td>
</tr>
</tbody>
</table>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="772e6efe7a"><img
src="https://img.shields.io/badge/772e6efe7-feat-blue" alt="feat -
772e6efe7" /></a></td>
<td>add 'test' and 'e2e' MCP tools</td>
</tr>
<tr>
<td><a
href="8efb863184"><img
src="https://img.shields.io/badge/8efb86318-feat-blue" alt="feat -
8efb86318" /></a></td>
<td>Add "all" as an experimental tool group</td>
</tr>
<tr>
<td><a
href="c3c9ac5067"><img
src="https://img.shields.io/badge/c3c9ac506-feat-blue" alt="feat -
c3c9ac506" /></a></td>
<td>Add MCP tools for building and running devservers</td>
</tr>
<tr>
<td><a
href="d635a6c633"><img
src="https://img.shields.io/badge/d635a6c63-feat-blue" alt="feat -
d635a6c63" /></a></td>
<td>add signal forms lessons</td>
</tr>
<tr>
<td><a
href="d8b76e93d3"><img
src="https://img.shields.io/badge/d8b76e93d-fix-green" alt="fix -
d8b76e93d" /></a></td>
<td>correctly handle yarn classic tag manifest fetching</td>
</tr>
<tr>
<td><a
href="7ab5c0b0a1"><img
src="https://img.shields.io/badge/7ab5c0b0a-fix-green" alt="fix -
7ab5c0b0a" /></a></td>
<td>correctly spawn package managers on Windows in new abstraction</td>
</tr>
<tr>
<td><a
href="3480966233"><img
src="https://img.shields.io/badge/348096623-fix-green" alt="fix -
348096623" /></a></td>
<td>enhance list_projects MCP tool file system traversal and symlink
handling</td>
</tr>
<tr>
<td><a
href="316fca8626"><img
src="https://img.shields.io/badge/316fca862-fix-green" alt="fix -
316fca862" /></a></td>
<td>handle array output from npm view in manifest parser</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-cli/blob/main/CHANGELOG.md"><code>@angular-devkit/build-angular</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>21.1.2 (2026-01-28)</h1>
<h3><code>@angular-devkit/schematics-cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="e7458c81d6">e7458c81d</a></td>
<td>fix</td>
<td>Add boolean type inference for 'true' and 'false' string values in
argument parsing</td>
</tr>
</tbody>
</table>
<h3><code>@angular-devkit/architect</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="d66f1fe647">d66f1fe64</a></td>
<td>fix</td>
<td>Add boolean type inference for 'true' and 'false' string values in
argument parsing</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="80911af673">80911af67</a></td>
<td>fix</td>
<td>loosen Vitest dependency checks when runnerConfig is used</td>
</tr>
<tr>
<td><a
href="2d30639d3c">2d30639d3</a></td>
<td>fix</td>
<td>support merging coverage thresholds with Vitest runnerConfig</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>21.1.1 (2026-01-21)</h1>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="151b69587d">151b69587</a></td>
<td>fix</td>
<td>Remove nonexistent link from MCP response</td>
</tr>
</tbody>
</table>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="9da6d8fa76">9da6d8fa7</a></td>
<td>fix</td>
<td>correct vscode MCP configuration for new projects</td>
</tr>
<tr>
<td><a
href="361758c75c">361758c75</a></td>
<td>fix</td>
<td>remove special characters from jasmine-vitest report filename</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="1b7e3307af">1b7e3307a</a></td>
<td>fix</td>
<td>allow application assets in workspace root</td>
</tr>
<tr>
<td><a
href="d1e596dc53">d1e596dc5</a></td>
<td>fix</td>
<td>prevent incorrect catch binding removal in downleveled
for-await</td>
</tr>
<tr>
<td><a
href="98ef0981a2">98ef0981a</a></td>
<td>fix</td>
<td>update undici to v7.18.2</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="702d7170ea"><code>702d717</code></a>
release: cut the v21.1.2 release</li>
<li><a
href="d66f1fe647"><code>d66f1fe</code></a>
fix(<code>@angular-devkit/architect</code>): Add boolean type inference
for 'true' and 'fa...</li>
<li><a
href="e7458c81d6"><code>e7458c8</code></a>
fix(<code>@angular-devkit/schematics-cli</code>): Add boolean type
inference for 'true' an...</li>
<li><a
href="e974e404e5"><code>e974e40</code></a>
build: lock file maintenance</li>
<li><a
href="2d30639d3c"><code>2d30639</code></a>
fix(<code>@angular/build</code>): support merging coverage thresholds
with Vitest runnerCo...</li>
<li><a
href="80911af673"><code>80911af</code></a>
fix(<code>@angular/build</code>): loosen Vitest dependency checks when
runnerConfig is used</li>
<li><a
href="7cf1d3b8eb"><code>7cf1d3b</code></a>
build: update cross-repo angular dependencies</li>
<li><a
href="165e7d666e"><code>165e7d6</code></a>
build: update all github actions</li>
<li><a
href="8e7f86be91"><code>8e7f86b</code></a>
build: update bazel dependencies</li>
<li><a
href="3206b8b11c"><code>3206b8b</code></a>
build: update cross-repo angular dependencies</li>
<li>Additional commits viewable in <a
href="https://github.com/angular/angular-cli/compare/v20.3.15...v21.1.2">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 20.3.16 to 21.1.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>21.1.1</h2>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="0e1f1ed573"><img src="https://img.shields.io/badge/0e1f1ed573-fix-green" alt="fix - 0e1f1ed573" /></a></td>
<td>drop .tsx extension for generated relative imports</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="05adfcf8f2"><img src="https://img.shields.io/badge/05adfcf8f2-fix-green" alt="fix - 05adfcf8f2" /></a></td>
<td>handle Set in class bindings</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d89a80a970"><img src="https://img.shields.io/badge/d89a80a970-feat-blue" alt="feat - d89a80a970" /></a></td>
<td>Ability to manually register a form field binding in signal forms</td>
</tr>
<tr>
<td><a href="cb75f9ce85"><img src="https://img.shields.io/badge/cb75f9ce85-fix-green" alt="fix - cb75f9ce85" /></a></td>
<td>fix control value syncing on touch</td>
</tr>
</tbody>
</table>
<h2>VSCode Extension: 21.1.1</h2>
<ul>
<li>fix(vscode-extension): add syntax highlighting for arrow functions (<a href="a649fc8f57">a649fc8f57</a>)</li>
<li>fix(vscode-extension): add syntax highlighting for spread/rest expressions (<a href="8f16846dd9">8f16846dd9</a>)</li>
</ul>
<h2>VSCode Extension: 21.1.0</h2>
<h2>21.1.0 (2026-01-12)</h2>
<ul>
<li>fix(vscode-extension): convert enum member kind in completions correctly (<a href="50674f8c28">50674f8c28</a>)</li>
</ul>
<h2>21.1.0</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be"><img src="https://img.shields.io/badge/d8790972be-feat-blue" alt="feat - d8790972be" /></a></td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af"><img src="https://img.shields.io/badge/a6b8cb68af-feat-blue" alt="feat - a6b8cb68af" /></a></td>
<td>support custom transformations in ImageKit and Imgix loaders</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="640693da8e"><img src="https://img.shields.io/badge/640693da8e-feat-blue" alt="feat - 640693da8e" /></a></td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6"><img src="https://img.shields.io/badge/0ad3adc7c6-fix-green" alt="fix - 0ad3adc7c6" /></a></td>
<td>Support empty cases</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="99ad18a4ee"><img src="https://img.shields.io/badge/99ad18a4ee-feat-blue" alt="feat - 99ad18a4ee" /></a></td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86"><img src="https://img.shields.io/badge/a0dfa5fa86-feat-blue" alt="feat - a0dfa5fa86" /></a></td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9"><img src="https://img.shields.io/badge/6e18fa8bc9-feat-blue" alt="feat - 6e18fa8bc9" /></a></td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5"><img src="https://img.shields.io/badge/e407280ab5-feat-blue" alt="feat - e407280ab5" /></a></td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb"><img src="https://img.shields.io/badge/06be8034bb-fix-green" alt="fix - 06be8034bb" /></a></td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42"><img src="https://img.shields.io/badge/b4f584cf42-fix-green" alt="fix - b4f584cf42" /></a></td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703"><img src="https://img.shields.io/badge/1ea5c97703-feat-blue" alt="feat - 1ea5c97703" /></a></td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<p>| Commit | Description |</p>
</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>21.1.1 (2026-01-21)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="0e1f1ed573">0e1f1ed573</a></td>
<td>fix</td>
<td>drop .tsx extension for generated relative imports</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="05adfcf8f2">05adfcf8f2</a></td>
<td>fix</td>
<td>handle Set in class bindings</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d89a80a970">d89a80a970</a></td>
<td>feat</td>
<td>Ability to manually register a form field binding in signal forms</td>
</tr>
<tr>
<td><a href="cb75f9ce85">cb75f9ce85</a></td>
<td>fix</td>
<td>fix control value syncing on touch</td>
</tr>
</tbody>
</table>
<h1>21.1.0 (2026-01-14)</h1>
<h2>Deprecations</h2>
<h3>upgrade</h3>
<ul>
<li><code>VERSION</code> from <code>@angular/upgrade</code> is deprecated. Please use the entry from <code>@angular/upgrade/static</code> instead.</li>
</ul>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be">d8790972be</a></td>
<td>feat</td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af">a6b8cb68af</a></td>
<td>feat</td>
<td>support custom transformations in ImageKit and Imgix loaders</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="640693da8e">640693da8e</a></td>
<td>feat</td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6">0ad3adc7c6</a></td>
<td>fix</td>
<td>Support empty cases</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="99ad18a4ee">99ad18a4ee</a></td>
<td>feat</td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86">a0dfa5fa86</a></td>
<td>feat</td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9">6e18fa8bc9</a></td>
<td>feat</td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5">e407280ab5</a></td>
<td>feat</td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb">06be8034bb</a></td>
<td>fix</td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42">b4f584cf42</a></td>
<td>fix</td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703">1ea5c97703</a></td>
<td>feat</td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee">ec9dc94cee</a></td>
<td>feat</td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e">ab67988d2e</a></td>
<td>feat</td>
<td>resolve JIT resources in <code>createApplication</code></td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="abb179466d"><code>abb1794</code></a> refactor(core): mark VERSION exports as pure for better tree-shaking</li>
<li><a href="26fed34e0e"><code>26fed34</code></a> build: format md files</li>
<li><a href="b9e2ccdda8"><code>b9e2ccd</code></a> refactor(common): remove unused import (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699">#64699</a>)</li>
<li><a href="70332b0453"><code>70332b0</code></a> fix(core): pass element removal property through in all locations (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565">#64565</a>)</li>
<li><a href="2b257b3659"><code>2b257b3</code></a> fix(animations): account for <code>Element.animate</code> exceptions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64506">#64506</a>)</li>
<li><a href="dde5badb71"><code>dde5bad</code></a> fix(core): prevent animations renderer from impacting <code>animate.leave</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63921">#63921</a>)</li>
<li><a href="c3576506b3"><code>c357650</code></a> refactor(core): Update tests for zoneless by default (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63668">#63668</a>)</li>
<li><a href="021ead5399"><code>021ead5</code></a> refactor(animations): remove dependency on <code>@angular/common</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63248">#63248</a>)</li>
<li><a href="2fcafb65c5"><code>2fcafb6</code></a> build: rename defaults2.bzl to defaults.bzl (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63383">#63383</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/v21.1.1/packages/animations">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) from 20.3.16 to 21.1.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>21.1.1</h2>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="0e1f1ed573"><img src="https://img.shields.io/badge/0e1f1ed573-fix-green" alt="fix - 0e1f1ed573" /></a></td>
<td>drop .tsx extension for generated relative imports</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="05adfcf8f2"><img src="https://img.shields.io/badge/05adfcf8f2-fix-green" alt="fix - 05adfcf8f2" /></a></td>
<td>handle Set in class bindings</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d89a80a970"><img src="https://img.shields.io/badge/d89a80a970-feat-blue" alt="feat - d89a80a970" /></a></td>
<td>Ability to manually register a form field binding in signal forms</td>
</tr>
<tr>
<td><a href="cb75f9ce85"><img src="https://img.shields.io/badge/cb75f9ce85-fix-green" alt="fix - cb75f9ce85" /></a></td>
<td>fix control value syncing on touch</td>
</tr>
</tbody>
</table>
<h2>VSCode Extension: 21.1.1</h2>
<ul>
<li>fix(vscode-extension): add syntax highlighting for arrow functions (<a href="a649fc8f57">a649fc8f57</a>)</li>
<li>fix(vscode-extension): add syntax highlighting for spread/rest expressions (<a href="8f16846dd9">8f16846dd9</a>)</li>
</ul>
<h2>VSCode Extension: 21.1.0</h2>
<h2>21.1.0 (2026-01-12)</h2>
<ul>
<li>fix(vscode-extension): convert enum member kind in completions correctly (<a href="50674f8c28">50674f8c28</a>)</li>
</ul>
<h2>21.1.0</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be"><img src="https://img.shields.io/badge/d8790972be-feat-blue" alt="feat - d8790972be" /></a></td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af"><img src="https://img.shields.io/badge/a6b8cb68af-feat-blue" alt="feat - a6b8cb68af" /></a></td>
<td>support custom transformations in ImageKit and Imgix loaders</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="640693da8e"><img src="https://img.shields.io/badge/640693da8e-feat-blue" alt="feat - 640693da8e" /></a></td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6"><img src="https://img.shields.io/badge/0ad3adc7c6-fix-green" alt="fix - 0ad3adc7c6" /></a></td>
<td>Support empty cases</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="99ad18a4ee"><img src="https://img.shields.io/badge/99ad18a4ee-feat-blue" alt="feat - 99ad18a4ee" /></a></td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86"><img src="https://img.shields.io/badge/a0dfa5fa86-feat-blue" alt="feat - a0dfa5fa86" /></a></td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9"><img src="https://img.shields.io/badge/6e18fa8bc9-feat-blue" alt="feat - 6e18fa8bc9" /></a></td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5"><img src="https://img.shields.io/badge/e407280ab5-feat-blue" alt="feat - e407280ab5" /></a></td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb"><img src="https://img.shields.io/badge/06be8034bb-fix-green" alt="fix - 06be8034bb" /></a></td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42"><img src="https://img.shields.io/badge/b4f584cf42-fix-green" alt="fix - b4f584cf42" /></a></td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703"><img src="https://img.shields.io/badge/1ea5c97703-feat-blue" alt="feat - 1ea5c97703" /></a></td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<p>| Commit | Description |</p>
</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>21.1.1 (2026-01-21)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="0e1f1ed573">0e1f1ed573</a></td>
<td>fix</td>
<td>drop .tsx extension for generated relative imports</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="05adfcf8f2">05adfcf8f2</a></td>
<td>fix</td>
<td>handle Set in class bindings</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d89a80a970">d89a80a970</a></td>
<td>feat</td>
<td>Ability to manually register a form field binding in signal forms</td>
</tr>
<tr>
<td><a href="cb75f9ce85">cb75f9ce85</a></td>
<td>fix</td>
<td>fix control value syncing on touch</td>
</tr>
</tbody>
</table>
<h1>21.1.0 (2026-01-14)</h1>
<h2>Deprecations</h2>
<h3>upgrade</h3>
<ul>
<li><code>VERSION</code> from <code>@angular/upgrade</code> is deprecated. Please use the entry from <code>@angular/upgrade/static</code> instead.</li>
</ul>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be">d8790972be</a></td>
<td>feat</td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af">a6b8cb68af</a></td>
<td>feat</td>
<td>support custom transformations in ImageKit and Imgix loaders</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="640693da8e">640693da8e</a></td>
<td>feat</td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6">0ad3adc7c6</a></td>
<td>fix</td>
<td>Support empty cases</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="99ad18a4ee">99ad18a4ee</a></td>
<td>feat</td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86">a0dfa5fa86</a></td>
<td>feat</td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9">6e18fa8bc9</a></td>
<td>feat</td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5">e407280ab5</a></td>
<td>feat</td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb">06be8034bb</a></td>
<td>fix</td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42">b4f584cf42</a></td>
<td>fix</td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703">1ea5c97703</a></td>
<td>feat</td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee">ec9dc94cee</a></td>
<td>feat</td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e">ab67988d2e</a></td>
<td>feat</td>
<td>resolve JIT resources in <code>createApplication</code></td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3954dc278b"><code>3954dc2</code></a> refactor(http): remove redundant providedIn: 'root' in XSRF_HEADER_NAME</li>
<li><a href="03e2b36826"><code>03e2b36</code></a> refactor(core): update error message links to versioned docs (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/66374">#66374</a>)</li>
<li><a href="74af7d85e5"><code>74af7d8</code></a> refactor(core): Use the provided Document value rather than global in FakeNav...</li>
<li><a href="a2b9429992"><code>a2b9429</code></a> Revert "feat(router): add trailingSlash config option"</li>
<li><a href="12fccc5e99"><code>12fccc5</code></a> feat(router): add trailingSlash config option</li>
<li><a href="3dfdb71d65"><code>3dfdb71</code></a> docs: add docs for transform property in built-in loaders</li>
<li><a href="dd58c4b667"><code>dd58c4b</code></a> refactor(common): Add token to indicate whether precommit handler is supported</li>
<li><a href="a6b8cb68af"><code>a6b8cb6</code></a> feat(common): support custom transformations in ImageKit and Imgix loaders</li>
<li><a href="d8790972be"><code>d879097</code></a> feat(common): Add custom transformations for Cloudflare and Cloudinary image ...</li>
<li><a href="6270bba056"><code>6270bba</code></a> ci: reformat files</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v21.1.1/packages/common">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 5.1.15 to 6.0.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) from 20.3.16 to 21.1.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>VSCode Extension: 21.1.0</h2>
<h2>21.1.0 (2026-01-12)</h2>
<ul>
<li>fix(vscode-extension): convert enum member kind in completions correctly (<a href="50674f8c28">50674f8c28</a>)</li>
</ul>
<h2>21.1.0</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be"><img src="https://img.shields.io/badge/d8790972be-feat-blue" alt="feat - d8790972be" /></a></td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af"><img src="https://img.shields.io/badge/a6b8cb68af-feat-blue" alt="feat - a6b8cb68af" /></a></td>
<td>support custom transformations in ImageKit and Imgix loaders</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="640693da8e"><img src="https://img.shields.io/badge/640693da8e-feat-blue" alt="feat - 640693da8e" /></a></td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6"><img src="https://img.shields.io/badge/0ad3adc7c6-fix-green" alt="fix - 0ad3adc7c6" /></a></td>
<td>Support empty cases</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="99ad18a4ee"><img src="https://img.shields.io/badge/99ad18a4ee-feat-blue" alt="feat - 99ad18a4ee" /></a></td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86"><img src="https://img.shields.io/badge/a0dfa5fa86-feat-blue" alt="feat - a0dfa5fa86" /></a></td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9"><img src="https://img.shields.io/badge/6e18fa8bc9-feat-blue" alt="feat - 6e18fa8bc9" /></a></td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5"><img src="https://img.shields.io/badge/e407280ab5-feat-blue" alt="feat - e407280ab5" /></a></td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb"><img src="https://img.shields.io/badge/06be8034bb-fix-green" alt="fix - 06be8034bb" /></a></td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42"><img src="https://img.shields.io/badge/b4f584cf42-fix-green" alt="fix - b4f584cf42" /></a></td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703"><img src="https://img.shields.io/badge/1ea5c97703-feat-blue" alt="feat - 1ea5c97703" /></a></td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee"><img src="https://img.shields.io/badge/ec9dc94cee-feat-blue" alt="feat - ec9dc94cee" /></a></td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e"><img src="https://img.shields.io/badge/ab67988d2e-feat-blue" alt="feat - ab67988d2e" /></a></td>
<td>resolve JIT resources in <code>createApplication</code></td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5edceffd04"><img src="https://img.shields.io/badge/5edceffd04-feat-blue" alt="feat - 5edceffd04" /></a></td>
<td>add controls for route cleanup</td>
</tr>
<tr>
<td><a href="a03c82564d"><img src="https://img.shields.io/badge/a03c82564d-feat-blue" alt="feat - a03c82564d" /></a></td>
<td>Add scroll behavior controls on router navigation</td>
</tr>
<tr>
<td><a href="e44839b016"><img src="https://img.shields.io/badge/e44839b016-feat-blue" alt="feat - e44839b016" /></a></td>
<td>Add standalone function to create a comptued for isActive</td>
</tr>
<tr>
<td><a href="c25d749d85"><img src="https://img.shields.io/badge/c25d749d85-feat-blue" alt="feat - c25d749d85" /></a></td>
<td>Execute RunGuardsAndResolvers function in injection context</td>
</tr>
<tr>
<td><a href="1c00ab42f8"><img src="https://img.shields.io/badge/1c00ab42f8-feat-blue" alt="feat - 1c00ab42f8" /></a></td>
<td>extend paramters of RedirectFunction to include paramMap and queryParamMap</td>
</tr>
<tr>
<td><a href="7003e8d241"><img src="https://img.shields.io/badge/7003e8d241-feat-blue" alt="feat - 7003e8d241" /></a></td>
<td>Publish Router's integration with platform Navigation API as experimental</td>
</tr>
<tr>
<td><a href="c84d372778"><img src="https://img.shields.io/badge/c84d372778-feat-blue" alt="feat - c84d372778" /></a></td>
<td>Support wildcard params with segments trailing (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/64737">#64737</a>)</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="75fe8f8af9"><img src="https://img.shields.io/badge/75fe8f8af9-refactor-yellow" alt="refactor - 75fe8f8af9" /></a></td>
<td>deprecate <code>VERSION</code> export</td>
</tr>
</tbody>
</table>
<h2>Deprecations</h2>
<h3>upgrade</h3>
</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>21.1.0 (2026-01-14)</h1>
<h2>Deprecations</h2>
<h3>upgrade</h3>
<ul>
<li><code>VERSION</code> from <code>@angular/upgrade</code> is deprecated. Please use the entry from <code>@angular/upgrade/static</code> instead.</li>
</ul>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be">d8790972be</a></td>
<td>feat</td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af">a6b8cb68af</a></td>
<td>feat</td>
<td>support custom transformations in ImageKit and Imgix loaders</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="640693da8e">640693da8e</a></td>
<td>feat</td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6">0ad3adc7c6</a></td>
<td>fix</td>
<td>Support empty cases</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="99ad18a4ee">99ad18a4ee</a></td>
<td>feat</td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86">a0dfa5fa86</a></td>
<td>feat</td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9">6e18fa8bc9</a></td>
<td>feat</td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5">e407280ab5</a></td>
<td>feat</td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb">06be8034bb</a></td>
<td>fix</td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42">b4f584cf42</a></td>
<td>fix</td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703">1ea5c97703</a></td>
<td>feat</td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee">ec9dc94cee</a></td>
<td>feat</td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e">ab67988d2e</a></td>
<td>feat</td>
<td>resolve JIT resources in <code>createApplication</code></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="5edceffd04">5edceffd04</a></td>
<td>feat</td>
<td>add controls for route cleanup</td>
</tr>
<tr>
<td><a href="a03c82564d">a03c82564d</a></td>
<td>feat</td>
<td>Add scroll behavior controls on router navigation</td>
</tr>
<tr>
<td><a href="e44839b016">e44839b016</a></td>
<td>feat</td>
<td>Add standalone function to create a comptued for isActive</td>
</tr>
<tr>
<td><a href="c25d749d85">c25d749d85</a></td>
<td>feat</td>
<td>Execute RunGuardsAndResolvers function in injection context</td>
</tr>
<tr>
<td><a href="1c00ab42f8">1c00ab42f8</a></td>
<td>feat</td>
<td>extend paramters of RedirectFunction to include paramMap and queryParamMap</td>
</tr>
<tr>
<td><a href="7003e8d241">7003e8d241</a></td>
<td>feat</td>
<td>Publish Router's integration with platform Navigation API as experimental</td>
</tr>
<tr>
<td><a href="c84d372778">c84d372778</a></td>
<td>feat</td>
<td>Support wildcard params with segments trailing (<a href="https://redirect.github.com/angular/angular/pull/64737">#64737</a>)</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="75fe8f8af9">75fe8f8af9</a></td>
<td>refactor</td>
<td>deprecate <code>VERSION</code> export</td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="532633301b"><code>5326333</code></a> fix(forms): Ensure the control instruction comes after the other bindings</li>
<li><a href="29f074a93f"><code>29f074a</code></a> fix(forms): Rename signal form [field] to [formField]</li>
<li><a href="0875deab8d"><code>0875dea</code></a> refactor(compiler): switch <code>Binary.isAssignmentOperation</code> to type guard function</li>
<li><a href="83bac5adc9"><code>83bac5a</code></a> refactor(compiler): tighten <code>Unary.operator</code> type</li>
<li><a href="e01dcae4c5"><code>e01dcae</code></a> refactor: <code>_ParseAST.isAssignmentOperator</code> to type guard</li>
<li><a href="4cdf4d5760"><code>4cdf4d5</code></a> refactor(compiler): tighten <code>Binary.operation</code> type</li>
<li><a href="0ad3adc7c6"><code>0ad3adc</code></a> fix(compiler): Support empty cases</li>
<li><a href="4dc5ae54a9"><code>4dc5ae5</code></a> refactor(core): remove unused instruction parameter</li>
<li><a href="3a56c1367f"><code>3a56c13</code></a> fix(compiler): produce accurate span for typeof and void expressions</li>
<li><a href="a0dfa5fa86"><code>a0dfa5f</code></a> feat(core): support rest arguments in function calls</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v21.1.0/packages/compiler">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) from 20.3.16 to 21.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@angular/forms</code>'s releases</a>.</em></p>
<blockquote>
<h2>VSCode Extension: 21.1.0</h2>
<h2>21.1.0 (2026-01-12)</h2>
<ul>
<li>fix(vscode-extension): convert enum member kind in completions correctly (<a href="50674f8c28">50674f8c28</a>)</li>
</ul>
<h2>21.1.0</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be"><img src="https://img.shields.io/badge/d8790972be-feat-blue" alt="feat - d8790972be" /></a></td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af"><img src="https://img.shields.io/badge/a6b8cb68af-feat-blue" alt="feat - a6b8cb68af" /></a></td>
<td>support custom transformations in ImageKit and Imgix loaders</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="640693da8e"><img src="https://img.shields.io/badge/640693da8e-feat-blue" alt="feat - 640693da8e" /></a></td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6"><img src="https://img.shields.io/badge/0ad3adc7c6-fix-green" alt="fix - 0ad3adc7c6" /></a></td>
<td>Support empty cases</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="99ad18a4ee"><img src="https://img.shields.io/badge/99ad18a4ee-feat-blue" alt="feat - 99ad18a4ee" /></a></td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86"><img src="https://img.shields.io/badge/a0dfa5fa86-feat-blue" alt="feat - a0dfa5fa86" /></a></td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9"><img src="https://img.shields.io/badge/6e18fa8bc9-feat-blue" alt="feat - 6e18fa8bc9" /></a></td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5"><img src="https://img.shields.io/badge/e407280ab5-feat-blue" alt="feat - e407280ab5" /></a></td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb"><img src="https://img.shields.io/badge/06be8034bb-fix-green" alt="fix - 06be8034bb" /></a></td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42"><img src="https://img.shields.io/badge/b4f584cf42-fix-green" alt="fix - b4f584cf42" /></a></td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703"><img src="https://img.shields.io/badge/1ea5c97703-feat-blue" alt="feat - 1ea5c97703" /></a></td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee"><img src="https://img.shields.io/badge/ec9dc94cee-feat-blue" alt="feat - ec9dc94cee" /></a></td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e"><img src="https://img.shields.io/badge/ab67988d2e-feat-blue" alt="feat - ab67988d2e" /></a></td>
<td>resolve JIT resources in <code>createApplication</code></td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5edceffd04"><img src="https://img.shields.io/badge/5edceffd04-feat-blue" alt="feat - 5edceffd04" /></a></td>
<td>add controls for route cleanup</td>
</tr>
<tr>
<td><a href="a03c82564d"><img src="https://img.shields.io/badge/a03c82564d-feat-blue" alt="feat - a03c82564d" /></a></td>
<td>Add scroll behavior controls on router navigation</td>
</tr>
<tr>
<td><a href="e44839b016"><img src="https://img.shields.io/badge/e44839b016-feat-blue" alt="feat - e44839b016" /></a></td>
<td>Add standalone function to create a comptued for isActive</td>
</tr>
<tr>
<td><a href="c25d749d85"><img src="https://img.shields.io/badge/c25d749d85-feat-blue" alt="feat - c25d749d85" /></a></td>
<td>Execute RunGuardsAndResolvers function in injection context</td>
</tr>
<tr>
<td><a href="1c00ab42f8"><img src="https://img.shields.io/badge/1c00ab42f8-feat-blue" alt="feat - 1c00ab42f8" /></a></td>
<td>extend paramters of RedirectFunction to include paramMap and queryParamMap</td>
</tr>
<tr>
<td><a href="7003e8d241"><img src="https://img.shields.io/badge/7003e8d241-feat-blue" alt="feat - 7003e8d241" /></a></td>
<td>Publish Router's integration with platform Navigation API as experimental</td>
</tr>
<tr>
<td><a href="c84d372778"><img src="https://img.shields.io/badge/c84d372778-feat-blue" alt="feat - c84d372778" /></a></td>
<td>Support wildcard params with segments trailing (<a href="https://github.com/angular/angular/tree/HEAD/packages/forms/issues/64737">#64737</a>)</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="75fe8f8af9"><img src="https://img.shields.io/badge/75fe8f8af9-refactor-yellow" alt="refactor - 75fe8f8af9" /></a></td>
<td>deprecate <code>VERSION</code> export</td>
</tr>
</tbody>
</table>
<h2>Deprecations</h2>
<h3>upgrade</h3>
</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/forms</code>'s changelog</a>.</em></p>
<blockquote>
<h1>21.1.0 (2026-01-14)</h1>
<h2>Deprecations</h2>
<h3>upgrade</h3>
<ul>
<li><code>VERSION</code> from <code>@angular/upgrade</code> is deprecated. Please use the entry from <code>@angular/upgrade/static</code> instead.</li>
</ul>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be">d8790972be</a></td>
<td>feat</td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af">a6b8cb68af</a></td>
<td>feat</td>
<td>support custom transformations in ImageKit and Imgix loaders</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="640693da8e">640693da8e</a></td>
<td>feat</td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6">0ad3adc7c6</a></td>
<td>fix</td>
<td>Support empty cases</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="99ad18a4ee">99ad18a4ee</a></td>
<td>feat</td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86">a0dfa5fa86</a></td>
<td>feat</td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9">6e18fa8bc9</a></td>
<td>feat</td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5">e407280ab5</a></td>
<td>feat</td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb">06be8034bb</a></td>
<td>fix</td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42">b4f584cf42</a></td>
<td>fix</td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703">1ea5c97703</a></td>
<td>feat</td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee">ec9dc94cee</a></td>
<td>feat</td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e">ab67988d2e</a></td>
<td>feat</td>
<td>resolve JIT resources in <code>createApplication</code></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="5edceffd04">5edceffd04</a></td>
<td>feat</td>
<td>add controls for route cleanup</td>
</tr>
<tr>
<td><a href="a03c82564d">a03c82564d</a></td>
<td>feat</td>
<td>Add scroll behavior controls on router navigation</td>
</tr>
<tr>
<td><a href="e44839b016">e44839b016</a></td>
<td>feat</td>
<td>Add standalone function to create a comptued for isActive</td>
</tr>
<tr>
<td><a href="c25d749d85">c25d749d85</a></td>
<td>feat</td>
<td>Execute RunGuardsAndResolvers function in injection context</td>
</tr>
<tr>
<td><a href="1c00ab42f8">1c00ab42f8</a></td>
<td>feat</td>
<td>extend paramters of RedirectFunction to include paramMap and queryParamMap</td>
</tr>
<tr>
<td><a href="7003e8d241">7003e8d241</a></td>
<td>feat</td>
<td>Publish Router's integration with platform Navigation API as experimental</td>
</tr>
<tr>
<td><a href="c84d372778">c84d372778</a></td>
<td>feat</td>
<td>Support wildcard params with segments trailing (<a href="https://redirect.github.com/angular/angular/pull/64737">#64737</a>)</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="75fe8f8af9">75fe8f8af9</a></td>
<td>refactor</td>
<td>deprecate <code>VERSION</code> export</td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1ea5c97703"><code>1ea5c97</code></a> feat(forms): allow focusing bound control from field state</li>
<li><a href="532633301b"><code>5326333</code></a> fix(forms): Ensure the control instruction comes after the other bindings</li>
<li><a href="8474277b49"><code>8474277</code></a> test(forms): improve test coverage for multiple pattern validators</li>
<li><a href="5ad2e1bae0"><code>5ad2e1b</code></a> docs: replace old <a href="https://angular.io/license">https://angular.io/license</a> with <a href="https://angular.dev/license">https://angular.dev/license</a></li>
<li><a href="03e2b36826"><code>03e2b36</code></a> refactor(core): update error message links to versioned docs (<a href="https://github.com/angular/angular/tree/HEAD/packages/forms/issues/66374">#66374</a>)</li>
<li><a href="29f074a93f"><code>29f074a</code></a> fix(forms): Rename signal form [field] to [formField]</li>
<li><a href="0c23d02944"><code>0c23d02</code></a> docs(forms): Clarify returning errors from submit functions</li>
<li><a href="46dbd18566"><code>46dbd18</code></a> refactor(forms): remove <code>customError()</code></li>
<li><a href="b2f417585a"><code>b2f4175</code></a> docs: update angular.io links to angular.dev in comments, TSDoc, and warnings</li>
<li><a href="e7d99f02cb"><code>e7d99f0</code></a> fix(forms): clean up abort listener after timeout</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v21.1.0/packages/forms">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 20.3.16 to 21.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@angular/router</code>'s releases</a>.</em></p>
<blockquote>
<h2>VSCode Extension: 21.1.0</h2>
<h2>21.1.0 (2026-01-12)</h2>
<ul>
<li>fix(vscode-extension): convert enum member kind in completions correctly (<a href="50674f8c28">50674f8c28</a>)</li>
</ul>
<h2>21.1.0</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be"><img src="https://img.shields.io/badge/d8790972be-feat-blue" alt="feat - d8790972be" /></a></td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af"><img src="https://img.shields.io/badge/a6b8cb68af-feat-blue" alt="feat - a6b8cb68af" /></a></td>
<td>support custom transformations in ImageKit and Imgix loaders</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="640693da8e"><img src="https://img.shields.io/badge/640693da8e-feat-blue" alt="feat - 640693da8e" /></a></td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6"><img src="https://img.shields.io/badge/0ad3adc7c6-fix-green" alt="fix - 0ad3adc7c6" /></a></td>
<td>Support empty cases</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="99ad18a4ee"><img src="https://img.shields.io/badge/99ad18a4ee-feat-blue" alt="feat - 99ad18a4ee" /></a></td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86"><img src="https://img.shields.io/badge/a0dfa5fa86-feat-blue" alt="feat - a0dfa5fa86" /></a></td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9"><img src="https://img.shields.io/badge/6e18fa8bc9-feat-blue" alt="feat - 6e18fa8bc9" /></a></td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5"><img src="https://img.shields.io/badge/e407280ab5-feat-blue" alt="feat - e407280ab5" /></a></td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb"><img src="https://img.shields.io/badge/06be8034bb-fix-green" alt="fix - 06be8034bb" /></a></td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42"><img src="https://img.shields.io/badge/b4f584cf42-fix-green" alt="fix - b4f584cf42" /></a></td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703"><img src="https://img.shields.io/badge/1ea5c97703-feat-blue" alt="feat - 1ea5c97703" /></a></td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee"><img src="https://img.shields.io/badge/ec9dc94cee-feat-blue" alt="feat - ec9dc94cee" /></a></td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e"><img src="https://img.shields.io/badge/ab67988d2e-feat-blue" alt="feat - ab67988d2e" /></a></td>
<td>resolve JIT resources in <code>createApplication</code></td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5edceffd04"><img src="https://img.shields.io/badge/5edceffd04-feat-blue" alt="feat - 5edceffd04" /></a></td>
<td>add controls for route cleanup</td>
</tr>
<tr>
<td><a href="a03c82564d"><img src="https://img.shields.io/badge/a03c82564d-feat-blue" alt="feat - a03c82564d" /></a></td>
<td>Add scroll behavior controls on router navigation</td>
</tr>
<tr>
<td><a href="e44839b016"><img src="https://img.shields.io/badge/e44839b016-feat-blue" alt="feat - e44839b016" /></a></td>
<td>Add standalone function to create a comptued for isActive</td>
</tr>
<tr>
<td><a href="c25d749d85"><img src="https://img.shields.io/badge/c25d749d85-feat-blue" alt="feat - c25d749d85" /></a></td>
<td>Execute RunGuardsAndResolvers function in injection context</td>
</tr>
<tr>
<td><a href="1c00ab42f8"><img src="https://img.shields.io/badge/1c00ab42f8-feat-blue" alt="feat - 1c00ab42f8" /></a></td>
<td>extend paramters of RedirectFunction to include paramMap and queryParamMap</td>
</tr>
<tr>
<td><a href="7003e8d241"><img src="https://img.shields.io/badge/7003e8d241-feat-blue" alt="feat - 7003e8d241" /></a></td>
<td>Publish Router's integration with platform Navigation API as experimental</td>
</tr>
<tr>
<td><a href="c84d372778"><img src="https://img.shields.io/badge/c84d372778-feat-blue" alt="feat - c84d372778" /></a></td>
<td>Support wildcard params with segments trailing (<a href="https://github.com/angular/angular/tree/HEAD/packages/router/issues/64737">#64737</a>)</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="75fe8f8af9"><img src="https://img.shields.io/badge/75fe8f8af9-refactor-yellow" alt="refactor - 75fe8f8af9" /></a></td>
<td>deprecate <code>VERSION</code> export</td>
</tr>
</tbody>
</table>
<h2>Deprecations</h2>
<h3>upgrade</h3>
</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/router</code>'s changelog</a>.</em></p>
<blockquote>
<h1>21.1.0 (2026-01-14)</h1>
<h2>Deprecations</h2>
<h3>upgrade</h3>
<ul>
<li><code>VERSION</code> from <code>@angular/upgrade</code> is deprecated. Please use the entry from <code>@angular/upgrade/static</code> instead.</li>
</ul>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="d8790972be">d8790972be</a></td>
<td>feat</td>
<td>Add custom transformations for Cloudflare and Cloudinary image loaders</td>
</tr>
<tr>
<td><a href="a6b8cb68af">a6b8cb68af</a></td>
<td>feat</td>
<td>support custom transformations in ImageKit and Imgix loaders</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="640693da8e">640693da8e</a></td>
<td>feat</td>
<td>Add support for multiple swich cases matching</td>
</tr>
<tr>
<td><a href="0ad3adc7c6">0ad3adc7c6</a></td>
<td>fix</td>
<td>Support empty cases</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="99ad18a4ee">99ad18a4ee</a></td>
<td>feat</td>
<td>Add stability debugging utility</td>
</tr>
<tr>
<td><a href="a0dfa5fa86">a0dfa5fa86</a></td>
<td>feat</td>
<td>support rest arguments in function calls</td>
</tr>
<tr>
<td><a href="6e18fa8bc9">6e18fa8bc9</a></td>
<td>feat</td>
<td>support spread elements in array literals</td>
</tr>
<tr>
<td><a href="e407280ab5">e407280ab5</a></td>
<td>feat</td>
<td>support spread expressions in object literals</td>
</tr>
<tr>
<td><a href="06be8034bb">06be8034bb</a></td>
<td>fix</td>
<td>Microtask scheduling should be used after any application synchronization</td>
</tr>
<tr>
<td><a href="b4f584cf42">b4f584cf42</a></td>
<td>fix</td>
<td>return <code>StaticProvider</code> for <code>providePlatformInitializer</code></td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1ea5c97703">1ea5c97703</a></td>
<td>feat</td>
<td>allow focusing bound control from field state</td>
</tr>
</tbody>
</table>
<h3>platform-browser</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="ec9dc94cee">ec9dc94cee</a></td>
<td>feat</td>
<td>add <code>context</code> to <code>createApplication</code></td>
</tr>
<tr>
<td><a href="ab67988d2e">ab67988d2e</a></td>
<td>feat</td>
<td>resolve JIT resources in <code>createApplication</code></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="5edceffd04">5edceffd04</a></td>
<td>feat</td>
<td>add controls for route cleanup</td>
</tr>
<tr>
<td><a href="a03c82564d">a03c82564d</a></td>
<td>feat</td>
<td>Add scroll behavior controls on router navigation</td>
</tr>
<tr>
<td><a href="e44839b016">e44839b016</a></td>
<td>feat</td>
<td>Add standalone function to create a comptued for isActive</td>
</tr>
<tr>
<td><a href="c25d749d85">c25d749d85</a></td>
<td>feat</td>
<td>Execute RunGuardsAndResolvers function in injection context</td>
</tr>
<tr>
<td><a href="1c00ab42f8">1c00ab42f8</a></td>
<td>feat</td>
<td>extend paramters of RedirectFunction to include paramMap and queryParamMap</td>
</tr>
<tr>
<td><a href="7003e8d241">7003e8d241</a></td>
<td>feat</td>
<td>Publish Router's integration with platform Navigation API as experimental</td>
</tr>
<tr>
<td><a href="c84d372778">c84d372778</a></td>
<td>feat</td>
<td>Support wildcard params with segments trailing (<a href="https://redirect.github.com/angular/angular/pull/64737">#64737</a>)</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="75fe8f8af9">75fe8f8af9</a></td>
<td>refactor</td>
<td>deprecate <code>VERSION</code> export</td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b1c68e66a7"><code>b1c68e6</code></a> docs: update examples to use <code>isActive</code> instead of deprecated `Router.isActiv...</li>
<li><a href="a2b9429992"><code>a2b9429</code></a> Revert "feat(router): add trailingSlash config option"</li>
<li><a href="12fccc5e99"><code>12fccc5</code></a> feat(router): add trailingSlash config option</li>
<li><a href="7003e8d241"><code>7003e8d</code></a> feat(router): Publish Router's integration with platform Navigation API as ex...</li>
<li><a href="9e043decaf"><code>9e043de</code></a> fix(router): handle errors from view transition <code>updateCallbackDone</code> promise</li>
<li><a href="bcef77d950"><code>bcef77d</code></a> fix(router): Fix RouterLink href not updating with <code>queryParamsHandling</code></li>
<li><a href="1c00ab42f8"><code>1c00ab4</code></a> feat(router): extend paramters of RedirectFunction to include paramMap and qu...</li>
<li><a href="97fd1de0ac"><code>97fd1de</code></a> Revert "refactor(router): Add support for precommitHandler in Navigation inte...</li>
<li><a href="397dbc4c37"><code>397dbc4</code></a> Revert "refactor(router): Retain original navigateEvent across redirects"</li>
<li><a href="e44839b016"><code>e44839b</code></a> feat(router): Add standalone function to create a comptued for isActive</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v21.1.0/packages/router">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
I got carried away with Gemini and basically rewrote CI and the release
process for the new LLM reality. This work was largely completed by
Gemini.
- Bump all SDK versions to the current beta (3.9.0-0)
- Run `flutter channel beta`
- Wrote `ci_script.dart` to replace the bash scripts
- Converted repository to pub workspace #2499
- Added llm.md and release.md
- Added redirect for deprecated Samples Index
## Pre-launch Checklist
- [x] I read the [Flutter Style Guide] _recently_, and have followed its
advice.
- [x] I signed the [CLA].
- [x] I read the [Contributors Guide].
- [x] I have added sample code updates to the [changelog].
- [x] I updated/added relevant documentation (doc comments with `///`).
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 19.0.7 to 20.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/releases"><code>@angular/cli</code>'s releases</a>.</em></p>
<blockquote>
<h2>20.1.0</h2>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1c19e0dcd4"><img src="https://img.shields.io/badge/1c19e0dcd-feat-blue" alt="feat - 1c19e0dcd" /></a></td>
<td>use signal in app component</td>
</tr>
</tbody>
</table>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="dc45c186ec"><img src="https://img.shields.io/badge/dc45c186e-feat-blue" alt="feat - dc45c186e" /></a></td>
<td>add initial MCP server implementation</td>
</tr>
</tbody>
</table>
<h3><code>@angular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="49a09737d5"><img src="https://img.shields.io/badge/49a09737d-feat-blue" alt="feat - 49a09737d" /></a></td>
<td>provide partial custom postcss configuration support</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1159cf0810"><img src="https://img.shields.io/badge/1159cf081-feat-blue" alt="feat - 1159cf081" /></a></td>
<td>add code coverage reporters option for unit-test</td>
</tr>
<tr>
<td><a href="8f305ef0ba"><img src="https://img.shields.io/badge/8f305ef0b-feat-blue" alt="feat - 8f305ef0b" /></a></td>
<td>add dataurl, base64 loaders</td>
</tr>
<tr>
<td><a href="adfeee0a4c"><img src="https://img.shields.io/badge/adfeee0a4-fix-green" alt="fix - adfeee0a4" /></a></td>
<td>adjust coverage includes/excludes for unit-test vitest runner</td>
</tr>
<tr>
<td><a href="c19cd2985c"><img src="https://img.shields.io/badge/c19cd2985-fix-green" alt="fix - c19cd2985" /></a></td>
<td>coverage reporter option</td>
</tr>
<tr>
<td><a href="8879716cac"><img src="https://img.shields.io/badge/8879716ca-fix-green" alt="fix - 8879716ca" /></a></td>
<td>expose unit test and karma builder API</td>
</tr>
<tr>
<td><a href="a415a4999f"><img src="https://img.shields.io/badge/a415a4999-fix-green" alt="fix - a415a4999" /></a></td>
<td>improve default coverage reporter handling for vitest</td>
</tr>
<tr>
<td><a href="e0de8680d1"><img src="https://img.shields.io/badge/e0de8680d-fix-green" alt="fix - e0de8680d" /></a></td>
<td>inject zone.js/testing before karma builder execution</td>
</tr>
<tr>
<td><a href="2672f6ec17"><img src="https://img.shields.io/badge/2672f6ec1-fix-green" alt="fix - 2672f6ec1" /></a></td>
<td>json and json-summary as vitest coverage reporters</td>
</tr>
<tr>
<td><a href="b67fdfd6bc"><img src="https://img.shields.io/badge/b67fdfd6b-fix-green" alt="fix - b67fdfd6b" /></a></td>
<td>resolve "Controller is already closed" error in Karma</td>
</tr>
<tr>
<td><a href="2784883ecf"><img src="https://img.shields.io/badge/2784883ec-fix-green" alt="fix - 2784883ec" /></a></td>
<td>support extra test setup files with unit-test vitest runner</td>
</tr>
<tr>
<td><a href="f177f5508a"><img src="https://img.shields.io/badge/f177f5508-fix-green" alt="fix - f177f5508" /></a></td>
<td>support injecting global styles into vitest unit-tests</td>
</tr>
<tr>
<td><a href="130c650146"><img src="https://img.shields.io/badge/130c65014-fix-green" alt="fix - 130c65014" /></a></td>
<td>use an empty array as default value for vitest exclude</td>
</tr>
<tr>
<td><a href="917af12aeb"><img src="https://img.shields.io/badge/917af12ae-fix-green" alt="fix - 917af12ae" /></a></td>
<td>use date/time based output path for vitest unit-test</td>
</tr>
</tbody>
</table>
<h3><code>@angular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="21b5852f12"><img src="https://img.shields.io/badge/21b5852f1-fix-green" alt="fix - 21b5852f1" /></a></td>
<td>ensure <code>loadChildren</code> runs in correct injection context during route extraction</td>
</tr>
</tbody>
</table>
<h2>20.1.0-rc.0</h2>
<h3><code>@angular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="f1d41b069d"><img src="https://img.shields.io/badge/f1d41b069-fix-green" alt="fix - f1d41b069" /></a></td>
<td>remove unused <code>@vitejs/plugin-basic-ssl</code> dependency</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="73f57f3c9e"><img src="https://img.shields.io/badge/73f57f3c9-fix-green" alt="fix - 73f57f3c9" /></a></td>
<td>proxy karma request from <code>/</code> to <code>/base</code></td>
</tr>
</tbody>
</table>
<h2>20.1.0-next.3</h2>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="4221a33cc7"><img src="https://img.shields.io/badge/4221a33cc-fix-green" alt="fix - 4221a33cc" /></a></td>
<td>add missing prettier config</td>
</tr>
</tbody>
</table>
<h3><code>@angular/cli</code></h3>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md"><code>@angular/cli</code>'s changelog</a>.</em></p>
<blockquote>
<h1>20.1.0 (2025-07-09)</h1>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="dc45c186ec">dc45c186e</a></td>
<td>feat</td>
<td>add initial MCP server implementation</td>
</tr>
</tbody>
</table>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1c19e0dcd4">1c19e0dcd</a></td>
<td>feat</td>
<td>use signal in app component</td>
</tr>
</tbody>
</table>
<h3><code>@angular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="49a09737d5">49a09737d</a></td>
<td>feat</td>
<td>provide partial custom postcss configuration support</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1159cf0810">1159cf081</a></td>
<td>feat</td>
<td>add code coverage reporters option for unit-test</td>
</tr>
<tr>
<td><a href="8f305ef0ba">8f305ef0b</a></td>
<td>feat</td>
<td>add dataurl, base64 loaders</td>
</tr>
<tr>
<td><a href="adfeee0a4c">adfeee0a4</a></td>
<td>fix</td>
<td>adjust coverage includes/excludes for unit-test vitest runner</td>
</tr>
<tr>
<td><a href="c19cd2985c">c19cd2985</a></td>
<td>fix</td>
<td>coverage reporter option</td>
</tr>
<tr>
<td><a href="8879716cac">8879716ca</a></td>
<td>fix</td>
<td>expose unit test and karma builder API</td>
</tr>
<tr>
<td><a href="a415a4999f">a415a4999</a></td>
<td>fix</td>
<td>improve default coverage reporter handling for vitest</td>
</tr>
<tr>
<td><a href="e0de8680d1">e0de8680d</a></td>
<td>fix</td>
<td>inject zone.js/testing before karma builder execution</td>
</tr>
<tr>
<td><a href="2672f6ec17">2672f6ec1</a></td>
<td>fix</td>
<td>json and json-summary as vitest coverage reporters</td>
</tr>
<tr>
<td><a href="b67fdfd6bc">b67fdfd6b</a></td>
<td>fix</td>
<td>resolve "Controller is already closed" error in Karma</td>
</tr>
<tr>
<td><a href="2784883ecf">2784883ec</a></td>
<td>fix</td>
<td>support extra test setup files with unit-test vitest runner</td>
</tr>
<tr>
<td><a href="f177f5508a">f177f5508</a></td>
<td>fix</td>
<td>support injecting global styles into vitest unit-tests</td>
</tr>
<tr>
<td><a href="130c650146">130c65014</a></td>
<td>fix</td>
<td>use an empty array as default value for vitest exclude</td>
</tr>
<tr>
<td><a href="917af12aeb">917af12ae</a></td>
<td>fix</td>
<td>use date/time based output path for vitest unit-test</td>
</tr>
</tbody>
</table>
<h3><code>@angular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="21b5852f12">21b5852f1</a></td>
<td>fix</td>
<td>ensure <code>loadChildren</code> runs in correct injection context during route extraction</td>
</tr>
</tbody>
</table>
<h1>20.0.6 (2025-07-09)</h1>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ed09cef09c"><code>ed09cef</code></a> release: cut the v20.1.0 release</li>
<li><a href="bf6823db55"><code>bf6823d</code></a> build: update Angular versions for 20.1 stable</li>
<li><a href="aea3ed808e"><code>aea3ed8</code></a> fix(<code>@angular/build</code>): exclude <code>@vitest/browser/context</code> from esbuild bundling</li>
<li><a href="2784883ecf"><code>2784883</code></a> fix(<code>@angular/build</code>): support extra test setup files with unit-test vitest runner</li>
<li><a href="ace8a3544b"><code>ace8a35</code></a> test: increase timeout for ssr dev server tests</li>
<li><a href="b54a45bd3d"><code>b54a45b</code></a> refactor: reduce the number of builds done in output-path_spec</li>
<li><a href="be89073b92"><code>be89073</code></a> test: Reduce default timeouts</li>
<li><a href="4a791319d2"><code>4a79131</code></a> test: remove contents of <code>main.ts</code> from polyfill tests</li>
<li><a href="67e481ba0a"><code>67e481b</code></a> test: reduce karma test flakes by using <code>clearContext</code> that is set in the bui...</li>
<li><a href="f369d88653"><code>f369d88</code></a> build: change size to "medium" and "small"</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular-cli/compare/19.0.7...20.1.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 19.2.15 to 20.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/releases"><code>@angular-devkit/build-angular</code>'s releases</a>.</em></p>
<blockquote>
<h2>20.0.2</h2>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="bf64a0f2dc"><img src="https://img.shields.io/badge/bf64a0f2d-fix-green" alt="fix - bf64a0f2d" /></a></td>
<td>add <code>less</code> as a devDependency when selected as the style preprocessor</td>
</tr>
<tr>
<td><a href="cb258a3e15"><img src="https://img.shields.io/badge/cb258a3e1-fix-green" alt="fix - cb258a3e1" /></a></td>
<td>correctly detect modules using new file extension format</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="424f1cbbfb"><img src="https://img.shields.io/badge/424f1cbbf-fix-green" alt="fix - 424f1cbbf" /></a></td>
<td>do not consider internal Angular files as external imports</td>
</tr>
</tbody>
</table>
<h2>20.0.1</h2>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="525ddcbd29"><img src="https://img.shields.io/badge/525ddcbd2-fix-green" alt="fix - 525ddcbd2" /></a></td>
<td>only overwrite JSON file if actually changed</td>
</tr>
<tr>
<td><a href="83c820e5ab"><img src="https://img.shields.io/badge/83c820e5a-fix-green" alt="fix - 83c820e5a" /></a></td>
<td>remove karma config devkit package usages during application migration</td>
</tr>
<tr>
<td><a href="87266b38a0"><img src="https://img.shields.io/badge/87266b38a-fix-green" alt="fix - 87266b38a" /></a></td>
<td>skip zone.js dependency for zoneless applications</td>
</tr>
</tbody>
</table>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="0883248cbd"><img src="https://img.shields.io/badge/0883248cb-fix-green" alt="fix - 0883248cb" /></a></td>
<td>improve Node.js version check and error messages</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="e5efdc577b"><img src="https://img.shields.io/badge/e5efdc577-fix-green" alt="fix - e5efdc577" /></a></td>
<td>also disable outputMode in vitest unit-tests</td>
</tr>
<tr>
<td><a href="5814393dbb"><img src="https://img.shields.io/badge/5814393db-fix-green" alt="fix - 5814393db" /></a></td>
<td>resolve junit karma reporter output to workspace root</td>
</tr>
</tbody>
</table>
<h2>20.0.0</h2>
<h3><code>@angular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="e513cd4aa2"><img src="https://img.shields.io/badge/e513cd4aa-fix-green" alt="fix - e513cd4aa" /></a></td>
<td>add Node.js 24 as supported version</td>
</tr>
<tr>
<td><a href="5e90c1b4ec"><img src="https://img.shields.io/badge/5e90c1b4e-fix-green" alt="fix - 5e90c1b4e" /></a></td>
<td>remove Node.js v18 support</td>
</tr>
<tr>
<td><a href="787e510dcc"><img src="https://img.shields.io/badge/787e510dc-fix-green" alt="fix - 787e510dc" /></a></td>
<td>update min Node.js support to 20.19, 22.12, and 24.0</td>
</tr>
<tr>
<td><a href="64732534ec"><img src="https://img.shields.io/badge/64732534e-fix-green" alt="fix - 64732534e" /></a></td>
<td>update minimum supported Node.js 22 version to 22.11.0</td>
</tr>
</tbody>
</table>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="e03f2b8999"><img src="https://img.shields.io/badge/e03f2b899-feat-blue" alt="feat - e03f2b899" /></a></td>
<td>Add global error listeners to new app generation</td>
</tr>
<tr>
<td><a href="1e137ca848"><img src="https://img.shields.io/badge/1e137ca84-feat-blue" alt="feat - 1e137ca84" /></a></td>
<td>add migration to update <code>moduleResolution</code> to <code>bundler</code></td>
</tr>
<tr>
<td><a href="26fd4ea73a"><img src="https://img.shields.io/badge/26fd4ea73-feat-blue" alt="feat - 26fd4ea73" /></a></td>
<td>add migrations for server rendering updates</td>
</tr>
<tr>
<td><a href="5876577af1"><img src="https://img.shields.io/badge/5876577af-feat-blue" alt="feat - 5876577af" /></a></td>
<td>Add prompt for new apps to be zoneless</td>
</tr>
<tr>
<td><a href="fdc6291dda"><img src="https://img.shields.io/badge/fdc6291dd-feat-blue" alt="feat - fdc6291dd" /></a></td>
<td>add update migration to keep previous style guide generation behavior</td>
</tr>
<tr>
<td><a href="093c5a3152"><img src="https://img.shields.io/badge/093c5a315-feat-blue" alt="feat - 093c5a315" /></a></td>
<td>directly use <code>@angular/build</code> in new projects</td>
</tr>
<tr>
<td><a href="d6f594fe0f"><img src="https://img.shields.io/badge/d6f594fe0-feat-blue" alt="feat - d6f594fe0" /></a></td>
<td>generate applications using TypeScript project references</td>
</tr>
<tr>
<td><a href="0ab1ddf632"><img src="https://img.shields.io/badge/0ab1ddf63-feat-blue" alt="feat - 0ab1ddf63" /></a></td>
<td>generate libraries using TypeScript project references</td>
</tr>
<tr>
<td><a href="18e13e2cee"><img src="https://img.shields.io/badge/18e13e2ce-feat-blue" alt="feat - 18e13e2ce" /></a></td>
<td>remove <code>--server-routing</code> option</td>
</tr>
<tr>
<td><a href="03180fe035"><img src="https://img.shields.io/badge/03180fe03-feat-blue" alt="feat - 03180fe03" /></a></td>
<td>use TypeScript module preserve option for new projects</td>
</tr>
<tr>
<td><a href="86d241629f"><img src="https://img.shields.io/badge/86d241629-fix-green" alt="fix - 86d241629" /></a></td>
<td>add <code>@angular/ssr</code> dependency only when <code>provideServerRendering</code> import has been updated</td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md"><code>@angular-devkit/build-angular</code>'s changelog</a>.</em></p>
<blockquote>
<h1>20.0.2 (2025-06-11)</h1>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="bf64a0f2dc">bf64a0f2d</a></td>
<td>fix</td>
<td>add <code>less</code> as a devDependency when selected as the style preprocessor</td>
</tr>
<tr>
<td><a href="cb258a3e15">cb258a3e1</a></td>
<td>fix</td>
<td>correctly detect modules using new file extension format</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="424f1cbbfb">424f1cbbf</a></td>
<td>fix</td>
<td>do not consider internal Angular files as external imports</td>
</tr>
</tbody>
</table>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e89245debd"><code>e89245d</code></a> release: cut the v20.0.2 release</li>
<li><a href="bf64a0f2dc"><code>bf64a0f</code></a> fix(<code>@schematics/angular</code>): add <code>less</code> as a devDependency when selected as the ...</li>
<li><a href="424f1cbbfb"><code>424f1cb</code></a> fix(<code>@angular/build</code>): do not consider internal Angular files as external imports</li>
<li><a href="631ac7e6bc"><code>631ac7e</code></a> ci: use new pull-request-labeling action</li>
<li><a href="fa253851a0"><code>fa25385</code></a> build: fix perf workflows</li>
<li><a href="1db861cbda"><code>1db861c</code></a> build: improve globbing of jasmine test files</li>
<li><a href="cb258a3e15"><code>cb258a3</code></a> fix(<code>@schematics/angular</code>): correctly detect modules using new file extension f...</li>
<li><a href="19dc7ddd54"><code>19dc7dd</code></a> build: simplify unit test target names</li>
<li><a href="d513e58d3d"><code>d513e58</code></a> build: simplify unit test target names</li>
<li><a href="4e7e0b073f"><code>4e7e0b0</code></a> release: cut the v20.0.1 release</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular-cli/compare/19.2.15...20.0.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.4.0 to 5.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jasmine/jasmine/releases">jasmine-core's releases</a>.</em></p>
<blockquote>
<h2>v5.5.0</h2>
<p>Please see the <a href="https://github.com/jasmine/jasmine/blob/main/release_notes/5.5.0.md">release notes</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="483d4ab3c3"><code>483d4ab</code></a> Bump version to 5.5.0</li>
<li><a href="663dfe5932"><code>663dfe5</code></a> Updated release instructions</li>
<li><a href="ce9c752899"><code>ce9c752</code></a> Added debug logging to flaky test</li>
<li><a href="d5e7bc9fd6"><code>d5e7bc9</code></a> Optionally enforce uniqueness of spec and suite names</li>
<li><a href="744e765d6f"><code>744e765</code></a> Update copyright date</li>
<li><a href="29551ba4f3"><code>29551ba</code></a> Prettier</li>
<li><a href="bd9a3b2305"><code>bd9a3b2</code></a> Include property value mismatches in diffs even when there are missing or ext...</li>
<li>See full diff in <a href="https://github.com/jasmine/jasmine/compare/v5.4.0...v5.5.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
â ï¸ **Dependabot is rebasing this PR** â ï¸
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
---
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 18.2.12 to 19.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/releases"><code>@âangular/cli</code>'s releases</a>.</em></p>
<blockquote>
<h2>v19.0.2</h2>
<h1>19.0.2 (2024-11-25)</h1>
<h3><code>@âschematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="2f53e2af55"><img src="https://img.shields.io/badge/2f53e2af5-fix-green" alt="fix - 2f53e2af5" /></a></td>
<td>skip SSR routing prompt in webcontainer</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="f9da163f88"><img src="https://img.shields.io/badge/f9da163f8-fix-green" alt="fix - f9da163f8" /></a></td>
<td>minimize reliance on esbuild <code>inject</code> to prevent code reordering</td>
</tr>
<tr>
<td><a href="c497749e67"><img src="https://img.shields.io/badge/c497749e6-fix-green" alt="fix - c497749e6" /></a></td>
<td>prevent errors with parameterized routes when <code>getPrerenderParams</code> is undefined</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c8cd90e0f6"><img src="https://img.shields.io/badge/c8cd90e0f-fix-green" alt="fix - c8cd90e0f" /></a></td>
<td>handle nested redirects not explicitly defined in router config</td>
</tr>
</tbody>
</table>
<h2>v19.0.1</h2>
<h1>19.0.1 (2024-11-21)</h1>
<h3><code>@âangular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="b63123f207"><img src="https://img.shields.io/badge/b63123f20-fix-green" alt="fix - b63123f20" /></a></td>
<td>use stylePreprocessorOptions</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="74461da643"><img src="https://img.shields.io/badge/74461da64-fix-green" alt="fix - 74461da64" /></a></td>
<td>ensure accurate content length for server assets</td>
</tr>
<tr>
<td><a href="1b4dcedd59"><img src="https://img.shields.io/badge/1b4dcedd5-fix-green" alt="fix - 1b4dcedd5" /></a></td>
<td>use <code>sha256</code> instead of <code>sha-256</code> as hash algorithm name</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8bd2b260e2"><img src="https://img.shields.io/badge/8bd2b260e-fix-green" alt="fix - 8bd2b260e" /></a></td>
<td>handle baseHref that start with <code>./</code></td>
</tr>
</tbody>
</table>
<h2>v19.0.0</h2>
<h1>19.0.0 (2024-11-19)</h1>
<h3><code>@âangular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="201b60e1dd"><img src="https://img.shields.io/badge/201b60e1d-feat-blue" alt="feat - 201b60e1d" /></a></td>
<td>handle string key/value pairs, e.g. --define</td>
</tr>
<tr>
<td><a href="b847d4460c"><img src="https://img.shields.io/badge/b847d4460-fix-green" alt="fix - b847d4460" /></a></td>
<td>recommend optional application update migration during v19 update</td>
</tr>
<tr>
<td><a href="f249e7e856"><img src="https://img.shields.io/badge/f249e7e85-perf-orange" alt="perf - f249e7e85" /></a></td>
<td>enable Node.js compile code cache when available</td>
</tr>
<tr>
<td><a href="ecc107d83b"><img src="https://img.shields.io/badge/ecc107d83-perf-orange" alt="perf - ecc107d83" /></a></td>
<td>enable Node.js compile code cache when available</td>
</tr>
</tbody>
</table>
<h3><code>@âschematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="a381a3db18"><img src="https://img.shields.io/badge/a381a3db1-feat-blue" alt="feat - a381a3db1" /></a></td>
<td>add option to export component as default</td>
</tr>
<tr>
<td><a href="755f3a07f5"><img src="https://img.shields.io/badge/755f3a07f-feat-blue" alt="feat - 755f3a07f" /></a></td>
<td>add option to setup new workspace or application as zoneless mode</td>
</tr>
<tr>
<td><a href="cfca5442ec"><img src="https://img.shields.io/badge/cfca5442e-feat-blue" alt="feat - cfca5442e" /></a></td>
<td>integrate <code>withEventReplay()</code> in <code>provideClientHydration</code> for new SSR apps</td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md"><code>@âangular/cli</code>'s changelog</a>.</em></p>
<blockquote>
<h1>19.0.2 (2024-11-25)</h1>
<h3><code>@âschematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="2f53e2af55">2f53e2af5</a></td>
<td>fix</td>
<td>skip SSR routing prompt in webcontainer</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="f9da163f88">f9da163f8</a></td>
<td>fix</td>
<td>minimize reliance on esbuild <code>inject</code> to prevent code reordering</td>
</tr>
<tr>
<td><a href="c497749e67">c497749e6</a></td>
<td>fix</td>
<td>prevent errors with parameterized routes when <code>getPrerenderParams</code> is undefined</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c8cd90e0f6">c8cd90e0f</a></td>
<td>fix</td>
<td>handle nested redirects not explicitly defined in router config</td>
</tr>
</tbody>
</table>
<h1>19.0.1 (2024-11-21)</h1>
<h3><code>@âangular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="b63123f207">b63123f20</a></td>
<td>fix</td>
<td>use stylePreprocessorOptions</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="74461da643">74461da64</a></td>
<td>fix</td>
<td>ensure accurate content length for server assets</td>
</tr>
<tr>
<td><a href="1b4dcedd59">1b4dcedd5</a></td>
<td>fix</td>
<td>use <code>sha256</code> instead of <code>sha-256</code> as hash algorithm name</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8bd2b260e2">8bd2b260e</a></td>
<td>fix</td>
<td>handle baseHref that start with <code>./</code></td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d261246834"><code>d261246</code></a> release: cut the v19.0.2 release</li>
<li><a href="c497749e67"><code>c497749</code></a> fix(<code>@âangular/build</code>): prevent errors with parameterized routes when `getPreren...</li>
<li><a href="d8cbf3b576"><code>d8cbf3b</code></a> refactor(<code>@âangular/build</code>): maintain previous compiler plugin factory signature</li>
<li><a href="2f53e2af55"><code>2f53e2a</code></a> fix(<code>@âschematics/angular</code>): skip SSR routing prompt in webcontainer</li>
<li><a href="f9da163f88"><code>f9da163</code></a> fix(<code>@âangular/build</code>): minimize reliance on esbuild <code>inject</code> to prevent code re...</li>
<li><a href="5ac03f40e7"><code>5ac03f4</code></a> refactor(<code>@âangular/ssr</code>): use appRef.whenStable instead of util function from a...</li>
<li><a href="0eb5870190"><code>0eb5870</code></a> refactor(<code>@âangular/ssr</code>): replace <code>:params</code> with <code>*</code></li>
<li><a href="c8cd90e0f6"><code>c8cd90e</code></a> fix(<code>@âangular/ssr</code>): handle nested redirects not explicitly defined in router c...</li>
<li><a href="8cd6aa94b7"><code>8cd6aa9</code></a> release: cut the v19.0.1 release</li>
<li><a href="1b4dcedd59"><code>1b4dced</code></a> fix(<code>@âangular/build</code>): use <code>sha256</code> instead of <code>sha-256</code> as hash algorithm name</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular-cli/compare/18.2.12...19.0.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 18.2.12 to 19.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/releases"><code>@âangular-devkit/build-angular</code>'s releases</a>.</em></p>
<blockquote>
<h2>v19.0.2</h2>
<h1>19.0.2 (2024-11-25)</h1>
<h3><code>@âschematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="2f53e2af55"><img src="https://img.shields.io/badge/2f53e2af5-fix-green" alt="fix - 2f53e2af5" /></a></td>
<td>skip SSR routing prompt in webcontainer</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="f9da163f88"><img src="https://img.shields.io/badge/f9da163f8-fix-green" alt="fix - f9da163f8" /></a></td>
<td>minimize reliance on esbuild <code>inject</code> to prevent code reordering</td>
</tr>
<tr>
<td><a href="c497749e67"><img src="https://img.shields.io/badge/c497749e6-fix-green" alt="fix - c497749e6" /></a></td>
<td>prevent errors with parameterized routes when <code>getPrerenderParams</code> is undefined</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c8cd90e0f6"><img src="https://img.shields.io/badge/c8cd90e0f-fix-green" alt="fix - c8cd90e0f" /></a></td>
<td>handle nested redirects not explicitly defined in router config</td>
</tr>
</tbody>
</table>
<h2>v19.0.1</h2>
<h1>19.0.1 (2024-11-21)</h1>
<h3><code>@âangular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="b63123f207"><img src="https://img.shields.io/badge/b63123f20-fix-green" alt="fix - b63123f20" /></a></td>
<td>use stylePreprocessorOptions</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="74461da643"><img src="https://img.shields.io/badge/74461da64-fix-green" alt="fix - 74461da64" /></a></td>
<td>ensure accurate content length for server assets</td>
</tr>
<tr>
<td><a href="1b4dcedd59"><img src="https://img.shields.io/badge/1b4dcedd5-fix-green" alt="fix - 1b4dcedd5" /></a></td>
<td>use <code>sha256</code> instead of <code>sha-256</code> as hash algorithm name</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8bd2b260e2"><img src="https://img.shields.io/badge/8bd2b260e-fix-green" alt="fix - 8bd2b260e" /></a></td>
<td>handle baseHref that start with <code>./</code></td>
</tr>
</tbody>
</table>
<h2>v19.0.0</h2>
<h1>19.0.0 (2024-11-19)</h1>
<h3><code>@âangular/cli</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="201b60e1dd"><img src="https://img.shields.io/badge/201b60e1d-feat-blue" alt="feat - 201b60e1d" /></a></td>
<td>handle string key/value pairs, e.g. --define</td>
</tr>
<tr>
<td><a href="b847d4460c"><img src="https://img.shields.io/badge/b847d4460-fix-green" alt="fix - b847d4460" /></a></td>
<td>recommend optional application update migration during v19 update</td>
</tr>
<tr>
<td><a href="f249e7e856"><img src="https://img.shields.io/badge/f249e7e85-perf-orange" alt="perf - f249e7e85" /></a></td>
<td>enable Node.js compile code cache when available</td>
</tr>
<tr>
<td><a href="ecc107d83b"><img src="https://img.shields.io/badge/ecc107d83-perf-orange" alt="perf - ecc107d83" /></a></td>
<td>enable Node.js compile code cache when available</td>
</tr>
</tbody>
</table>
<h3><code>@âschematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="a381a3db18"><img src="https://img.shields.io/badge/a381a3db1-feat-blue" alt="feat - a381a3db1" /></a></td>
<td>add option to export component as default</td>
</tr>
<tr>
<td><a href="755f3a07f5"><img src="https://img.shields.io/badge/755f3a07f-feat-blue" alt="feat - 755f3a07f" /></a></td>
<td>add option to setup new workspace or application as zoneless mode</td>
</tr>
<tr>
<td><a href="cfca5442ec"><img src="https://img.shields.io/badge/cfca5442e-feat-blue" alt="feat - cfca5442e" /></a></td>
<td>integrate <code>withEventReplay()</code> in <code>provideClientHydration</code> for new SSR apps</td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md"><code>@âangular-devkit/build-angular</code>'s changelog</a>.</em></p>
<blockquote>
<h1>19.0.2 (2024-11-25)</h1>
<h3><code>@âschematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="2f53e2af55">2f53e2af5</a></td>
<td>fix</td>
<td>skip SSR routing prompt in webcontainer</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="f9da163f88">f9da163f8</a></td>
<td>fix</td>
<td>minimize reliance on esbuild <code>inject</code> to prevent code reordering</td>
</tr>
<tr>
<td><a href="c497749e67">c497749e6</a></td>
<td>fix</td>
<td>prevent errors with parameterized routes when <code>getPrerenderParams</code> is undefined</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c8cd90e0f6">c8cd90e0f</a></td>
<td>fix</td>
<td>handle nested redirects not explicitly defined in router config</td>
</tr>
</tbody>
</table>
<h1>19.0.1 (2024-11-21)</h1>
<h3><code>@âangular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="b63123f207">b63123f20</a></td>
<td>fix</td>
<td>use stylePreprocessorOptions</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="74461da643">74461da64</a></td>
<td>fix</td>
<td>ensure accurate content length for server assets</td>
</tr>
<tr>
<td><a href="1b4dcedd59">1b4dcedd5</a></td>
<td>fix</td>
<td>use <code>sha256</code> instead of <code>sha-256</code> as hash algorithm name</td>
</tr>
</tbody>
</table>
<h3><code>@âangular/ssr</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8bd2b260e2">8bd2b260e</a></td>
<td>fix</td>
<td>handle baseHref that start with <code>./</code></td>
</tr>
</tbody>
</table>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d261246834"><code>d261246</code></a> release: cut the v19.0.2 release</li>
<li><a href="c497749e67"><code>c497749</code></a> fix(<code>@âangular/build</code>): prevent errors with parameterized routes when `getPreren...</li>
<li><a href="d8cbf3b576"><code>d8cbf3b</code></a> refactor(<code>@âangular/build</code>): maintain previous compiler plugin factory signature</li>
<li><a href="2f53e2af55"><code>2f53e2a</code></a> fix(<code>@âschematics/angular</code>): skip SSR routing prompt in webcontainer</li>
<li><a href="f9da163f88"><code>f9da163</code></a> fix(<code>@âangular/build</code>): minimize reliance on esbuild <code>inject</code> to prevent code re...</li>
<li><a href="5ac03f40e7"><code>5ac03f4</code></a> refactor(<code>@âangular/ssr</code>): use appRef.whenStable instead of util function from a...</li>
<li><a href="0eb5870190"><code>0eb5870</code></a> refactor(<code>@âangular/ssr</code>): replace <code>:params</code> with <code>*</code></li>
<li><a href="c8cd90e0f6"><code>c8cd90e</code></a> fix(<code>@âangular/ssr</code>): handle nested redirects not explicitly defined in router c...</li>
<li><a href="8cd6aa94b7"><code>8cd6aa9</code></a> release: cut the v19.0.1 release</li>
<li><a href="1b4dcedd59"><code>1b4dced</code></a> fix(<code>@âangular/build</code>): use <code>sha256</code> instead of <code>sha-256</code> as hash algorithm name</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular-cli/compare/18.2.12...19.0.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
â ï¸ **Dependabot is rebasing this PR** â ï¸
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
---
Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) from 18.2.12 to 19.0.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>v19.0.0</h2>
<h1>19.0.0 (2024-11-19)</h1>
<p>Explore Angular v19 with a blog post from the Angular team: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger</li>
</ul>
</li>
</ul>
</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>19.0.0 (2024-11-19)</h1>
<p>Blog post: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger
it synchronously and expect the error. For example, a jasmine test
could write <code>expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()</code></li>
</ul>
</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7dfb127c03"><code>7dfb127</code></a> refactor: add <code>@__PURE__</code> next to <code>@pureOrBreakMyCode</code> for improved bundler c...</li>
<li><a href="da9c0c5044"><code>da9c0c5</code></a> refactor: cleanup initializers that use ctor params (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/58349">#58349</a>)</li>
<li><a href="24c6373820"><code>24c6373</code></a> feat(common): add optional rounded transform support in cloudinary image load...</li>
<li><a href="4b9accdf16"><code>4b9accd</code></a> feat(http): promote <code>withRequestsMadeViaParent</code> to stable. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/58221">#58221</a>)</li>
<li><a href="13c13067bc"><code>13c1306</code></a> feat(common): disable keyvalue sorting using null compareFn (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/57487">#57487</a>)</li>
<li><a href="09df589e31"><code>09df589</code></a> refactor(core): Migrate all packages with the <code>explicit-standalone-flag</code> sche...</li>
<li><a href="08b4a8af6e"><code>08b4a8a</code></a> docs: move JSDoc below constructor (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/57187">#57187</a>)</li>
<li><a href="a36744e4bb"><code>a36744e</code></a> docs: move JSDoc before functions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/58087">#58087</a>)</li>
<li><a href="0eb1c5c021"><code>0eb1c5c</code></a> docs(common): Minor typo in code example (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/58085">#58085</a>)</li>
<li><a href="84b6896956"><code>84b6896</code></a> refactor(platform-server): Add an ssr benchmark setup. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/57647">#57647</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/19.0.0/packages/common">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
â ï¸ **Dependabot is rebasing this PR** â ï¸
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
---
Bumps [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) from 18.2.12 to 19.0.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>v19.0.0</h2>
<h1>19.0.0 (2024-11-19)</h1>
<p>Explore Angular v19 with a blog post from the Angular team: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger</li>
</ul>
</li>
</ul>
</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>19.0.0 (2024-11-19)</h1>
<p>Blog post: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger
it synchronously and expect the error. For example, a jasmine test
could write <code>expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()</code></li>
</ul>
</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="806a61b5a6"><code>806a61b</code></a> fix(compiler): fix multiline selectors (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58681">#58681</a>)</li>
<li><a href="e5d3abb298"><code>e5d3abb</code></a> fix(compiler): resolve <code>:host:host-context(.foo)</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58681">#58681</a>)</li>
<li><a href="80f56954ce"><code>80f5695</code></a> fix(compiler): transform chained pseudo-selectors (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58681">#58681</a>)</li>
<li><a href="2be161d015"><code>2be161d</code></a> fix(compiler): fix <code>:host</code> parsing in pseudo-selectors (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58681">#58681</a>)</li>
<li><a href="560282aa9b"><code>560282a</code></a> fix(compiler): control flow nodes with root at the end projected incorrectly ...</li>
<li><a href="86d8f6bda8"><code>86d8f6b</code></a> refactor(compiler): trigger hmr load on initialization (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58465">#58465</a>)</li>
<li><a href="abd0da7265"><code>abd0da7</code></a> refactor(compiler): remove unused field from output AST (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58444">#58444</a>)</li>
<li><a href="b25121ee4a"><code>b25121e</code></a> fix(compiler): avoid having to duplicate core environment (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58444">#58444</a>)</li>
<li><a href="98804fd4be"><code>98804fd</code></a> fix(compiler): add more specific matcher for hydrate never block (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58360">#58360</a>)</li>
<li><a href="c79b62ced2"><code>c79b62c</code></a> refactor(core): remove the standalone feature (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/58288">#58288</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/19.0.0/packages/compiler">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) from 18.2.12 to 19.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@âangular/platform-browser-dynamic</code>'s releases</a>.</em></p>
<blockquote>
<h2>v19.0.0</h2>
<h1>19.0.0 (2024-11-19)</h1>
<p>Explore Angular v19 with a blog post from the Angular team: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger</li>
</ul>
</li>
</ul>
</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/platform-browser-dynamic</code>'s changelog</a>.</em></p>
<blockquote>
<h1>19.0.0 (2024-11-19)</h1>
<p>Blog post: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger
it synchronously and expect the error. For example, a jasmine test
could write <code>expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()</code></li>
</ul>
</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="09df589e31"><code>09df589</code></a> refactor(core): Migrate all packages with the <code>explicit-standalone-flag</code> sche...</li>
<li><a href="84b6896956"><code>84b6896</code></a> refactor(platform-server): Add an ssr benchmark setup. (<a href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/57647">#57647</a>)</li>
<li><a href="9dbe6fc18b"><code>9dbe6fc</code></a> refactor: update license text to point to angular.dev (<a href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/57901">#57901</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/19.0.0/packages/platform-browser-dynamic">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 18.2.12 to 19.0.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>v19.0.0</h2>
<h1>19.0.0 (2024-11-19)</h1>
<p>Explore Angular v19 with a blog post from the Angular team: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger</li>
</ul>
</li>
</ul>
</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>19.0.0 (2024-11-19)</h1>
<p>Blog post: <a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84">https://blog.angular.dev/meet-angular-v19-7b29dfd05b84</a></p>
<h2>Breaking Changes</h2>
<h3>compiler</h3>
<ul>
<li><code>this.foo</code> property reads no longer refer to template context variables. If you intended to read the template variable, do not use <code>this.</code>.</li>
</ul>
<h3>core</h3>
<ul>
<li>
<p>Angular directives, components and pipes are now standalone by default.</p>
<ul>
<li>Specify <code>standalone: false</code> for declarations that are currently declared in <code>@NgModule</code>s.</li>
<li><code>ng update</code> for v19 will take care of this automatically.</li>
</ul>
</li>
<li>
<p>TypeScript versions less than 5.5 are no longer supported.</p>
</li>
<li>
<p>Timing changes for <code>effect</code> API (in developer preview):</p>
<ul>
<li>
<p>effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).</p>
</li>
<li>
<p>effects which are triggered during change detection (e.g. by input
signals) run <em>earlier</em>, before the component's template.</p>
</li>
</ul>
</li>
<li>
<p><code>ExperimentalPendingTasks</code> has been renamed to <code>PendingTasks</code>.</p>
</li>
<li>
<p>The <code>autoDetect</code> feature of <code>ComponentFixture</code> will now
attach the fixture to the <code>ApplicationRef</code>. As a result, errors during
automatic change detection of the fixture be reported to the <code>ErrorHandler</code>.
This change may cause custom error handlers to observe new failures that were previously unreported.</p>
</li>
<li>
<p><code>createComponent</code> will now render default fallback with empty <code>projectableNodes</code>.</p>
<ul>
<li>When passing an empty array to <code>projectableNodes</code> in the <code>createComponent</code> API, the default fallback content
of the <code>ng-content</code> will be rendered if present. To prevent rendering the default content, pass <code>document.createTextNode('')</code> as a <code>projectableNode</code>.</li>
</ul>
<pre lang="ts"><code>// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
<p>// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });</p>
<p></code></pre></p>
</li>
<li>
<p>Errors that are thrown during <code>ApplicationRef.tick</code>
will now be rethrown when using <code>TestBed</code>. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:</p>
<ul>
<li>Instead of waiting for automatic change detection to happen, trigger
it synchronously and expect the error. For example, a jasmine test
could write <code>expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()</code></li>
</ul>
</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="09df589e31"><code>09df589</code></a> refactor(core): Migrate all packages with the <code>explicit-standalone-flag</code> sche...</li>
<li><a href="84b6896956"><code>84b6896</code></a> refactor(platform-server): Add an ssr benchmark setup. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/57647">#57647</a>)</li>
<li><a href="9dbe6fc18b"><code>9dbe6fc</code></a> refactor: update license text to point to angular.dev (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/57901">#57901</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/19.0.0/packages/animations">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.3.0 to 5.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jasmine/jasmine/releases">jasmine-core's releases</a>.</em></p>
<blockquote>
<h2>v5.4.0</h2>
<p>Please see the <a href="https://github.com/jasmine/jasmine/blob/main/release_notes/5.4.0.md">release notes</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c8c3325b56"><code>c8c3325</code></a> Bump version to 5.4.0</li>
<li><a href="84c7e2b21b"><code>84c7e2b</code></a> Fixed de-duplication of exception messages containing blank lines on Node and...</li>
<li><a href="dda25bb29e"><code>dda25bb</code></a> Removed references to PhantomJS from StackTraceSpec.js</li>
<li><a href="9ccf2ef96b"><code>9ccf2ef</code></a> Also deprecate the expected and actual properties of ThrowUnlessFailure</li>
<li><a href="c6fa55bfc8"><code>c6fa55b</code></a> Clarify support status of old Firefox ESRs</li>
<li><a href="06bcf1c2e1"><code>06bcf1c</code></a> Fixed broken docs link</li>
<li><a href="40f402d117"><code>40f402d</code></a> Deprecate the expected and actual properties of expectation results</li>
<li><a href="71f6a95ce5"><code>71f6a95</code></a> Added Firefox 128 (current ESR) to supported browsers</li>
<li>See full diff in <a href="https://github.com/jasmine/jasmine/compare/v5.3.0...v5.4.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
â ï¸ **Dependabot is rebasing this PR** â ï¸
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
---
Bumps [flutter_lints](https://github.com/flutter/packages/tree/main/packages) from 4.0.0 to 5.0.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="f38b780f53"><code>f38b780</code></a> [package:flutter_lints] update the dep on <code>package:lints</code> to 5.0.0 and the sd...</li>
<li><a href="7da2374fd8"><code>7da2374</code></a> Update test to not depend on <code>Color.toString()</code> (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7701">#7701</a>)</li>
<li><a href="54dd8883c5"><code>54dd888</code></a> [flutter_lints] remove prefer_const_constructors, prefer_const_declarations, ...</li>
<li><a href="47795ab86a"><code>47795ab</code></a> [go_router] Fixed TabView swiping in custom stateful shell route example (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7">#7</a>...</li>
<li><a href="4926c0f8bd"><code>4926c0f</code></a> [quick_actions] Add guidance for correcting task management/back press behavi...</li>
<li><a href="21d99dcc16"><code>21d99dc</code></a> [various] Adds macOS privacy manifests (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7687">#7687</a>)</li>
<li><a href="24594a0816"><code>24594a0</code></a> [google_maps_flutter_android] Convert <code>PlatformPolyline.pattern</code> to Pigeon (#...</li>
<li><a href="f54fe93075"><code>f54fe93</code></a> [pigeon] Validates support for nested collections with generic types. (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7614">#7614</a>)</li>
<li><a href="e9253e6016"><code>e9253e6</code></a> [interactive_media_ads] Adds internal wrapper for Android native `AdsRenderin...</li>
<li><a href="fef7ffb4fe"><code>fef7ffb</code></a> [interactive_media_ads]: Bump com.google.ads.interactivemedia.v3:interactivem...</li>
<li>Additional commits viewable in <a href="https://github.com/flutter/packages/commits/flutter_lints-v5.0.0/packages">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [flutter_lints](https://github.com/flutter/packages/tree/main/packages) from 4.0.0 to 5.0.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="f38b780f53"><code>f38b780</code></a> [package:flutter_lints] update the dep on <code>package:lints</code> to 5.0.0 and the sd...</li>
<li><a href="7da2374fd8"><code>7da2374</code></a> Update test to not depend on <code>Color.toString()</code> (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7701">#7701</a>)</li>
<li><a href="54dd8883c5"><code>54dd888</code></a> [flutter_lints] remove prefer_const_constructors, prefer_const_declarations, ...</li>
<li><a href="47795ab86a"><code>47795ab</code></a> [go_router] Fixed TabView swiping in custom stateful shell route example (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7">#7</a>...</li>
<li><a href="4926c0f8bd"><code>4926c0f</code></a> [quick_actions] Add guidance for correcting task management/back press behavi...</li>
<li><a href="21d99dcc16"><code>21d99dc</code></a> [various] Adds macOS privacy manifests (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7687">#7687</a>)</li>
<li><a href="24594a0816"><code>24594a0</code></a> [google_maps_flutter_android] Convert <code>PlatformPolyline.pattern</code> to Pigeon (#...</li>
<li><a href="f54fe93075"><code>f54fe93</code></a> [pigeon] Validates support for nested collections with generic types. (<a href="https://github.com/flutter/packages/tree/main/packages/issues/7614">#7614</a>)</li>
<li><a href="e9253e6016"><code>e9253e6</code></a> [interactive_media_ads] Adds internal wrapper for Android native `AdsRenderin...</li>
<li><a href="fef7ffb4fe"><code>fef7ffb</code></a> [interactive_media_ads]: Bump com.google.ads.interactivemedia.v3:interactivem...</li>
<li>Additional commits viewable in <a href="https://github.com/flutter/packages/commits/flutter_lints-v5.0.0/packages">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.2.0 to 5.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jasmine/jasmine/releases">jasmine-core's releases</a>.</em></p>
<blockquote>
<h2>v5.3.0</h2>
<p>Please see the <a href="https://github.com/jasmine/jasmine/blob/main/release_notes/5.3.0.md">release notes</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5cd7d47f72"><code>5cd7d47</code></a> Bump version to 5.3.0</li>
<li><a href="d0fe5c4712"><code>d0fe5c4</code></a> Require curly braces around loop and conditonal bodies</li>
<li><a href="f602c4911c"><code>f602c49</code></a> Merge branch 'dave-unclamp-safari' of <a href="https://github.com/dcsaszar/jasmine">https://github.com/dcsaszar/jasmine</a></li>
<li><a href="7aaf7eaf30"><code>7aaf7ea</code></a> API reference for reporter capabilities</li>
<li><a href="35f16e8125"><code>35f16e8</code></a> Add test for unclamping setTimeout in Safari</li>
<li><a href="acc777c267"><code>acc777c</code></a> Unclamp setTimeout in Safari</li>
<li><a href="1c74356691"><code>1c74356</code></a> Add unclampedSetTimeout helper</li>
<li><a href="bbebea0fa5"><code>bbebea0</code></a> Refactor: extract postMessage</li>
<li><a href="66eb27b0af"><code>66eb27b</code></a> Throw if spying has no effect</li>
<li><a href="7a63c06a65"><code>7a63c06</code></a> Merge branch 'webkit-performance' of <a href="https://github.com/m-akinc/jasmine">https://github.com/m-akinc/jasmine</a></li>
<li>Additional commits viewable in <a href="https://github.com/jasmine/jasmine/compare/v5.2.0...v5.3.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps
[zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js)
from 0.14.10 to 0.15.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/blob/main/packages/zone.js/CHANGELOG.md">zone.js's
changelog</a>.</em></p>
<blockquote>
<h1><a
href="https://github.com/angular/angular/compare/zone.js-0.14.10...zone.js-0.15.0">0.15.0</a>
(2024-08-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>zone.js:</strong> Add support for addition jest functions.
(<a
href="https://redirect.github.com/angular/angular/issues/57280">#57280</a>)
(<a
href="e1240c6f5d">e1240c6</a>),
closes <a
href="https://redirect.github.com/angular/angular/issues/57277">#57277</a></li>
<li><strong>zone.js:</strong> Update the default behavior of fakeAsync
to flush after the test (<a
href="https://redirect.github.com/angular/angular/issues/57240">#57240</a>)
(<a
href="70e8b40750">70e8b40</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li><strong>zone.js:</strong> <code>fakeAsync</code> will now flush
pending timers at the end of
the given function by default. To opt-out of this, you can use
<code>{flush: false}</code> in options parameter of
<code>fakeAsync</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d1d4adcba2"><code>d1d4adc</code></a>
release: cut the zone.js-0.15.0 release (<a
href="https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/57418">#57418</a>)</li>
<li><a
href="24cd1c8db6"><code>24cd1c8</code></a>
build: lock file maintenance (<a
href="https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/57340">#57340</a>)</li>
<li><a
href="e1240c6f5d"><code>e1240c6</code></a>
fix(zone.js): Add support for addition jest functions. (<a
href="https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/57280">#57280</a>)</li>
<li><a
href="70e8b40750"><code>70e8b40</code></a>
fix(zone.js): Update the default behavior of fakeAsync to flush after
the tes...</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/zone.js-0.15.0/packages/zone.js">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 18.1.4
to 18.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular-cli/releases"><code>@angular/cli</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v18.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>18.2.0 (2024-08-14)</h1>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="4da922e4f4"><img
src="https://img.shields.io/badge/4da922e4f-feat-blue" alt="feat -
4da922e4f" /></a></td>
<td>use isolatedModules in generated project</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="24aaf1e37f"><img
src="https://img.shields.io/badge/24aaf1e37-feat-blue" alt="feat -
24aaf1e37" /></a></td>
<td>support import attribute based loader configuration</td>
</tr>
</tbody>
</table>
<h2>v18.2.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>18.2.0-rc.0 (2024-08-07)</h1>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="182ecbd188"><img
src="https://img.shields.io/badge/182ecbd18-fix-green" alt="fix -
182ecbd18" /></a></td>
<td>allow explicitly disabling TypeScript incremental mode</td>
</tr>
<tr>
<td><a
href="34908a3fcb"><img
src="https://img.shields.io/badge/34908a3fc-fix-green" alt="fix -
34908a3fc" /></a></td>
<td>lazy load Node.js inspector for dev server</td>
</tr>
</tbody>
</table>
<h2>v18.2.0-next.3</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>18.2.0-next.3 (2024-07-31)</h1>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="636cb69324"><img
src="https://img.shields.io/badge/636cb6932-fix-green" alt="fix -
636cb6932" /></a></td>
<td>add CSP <code>nonce</code> attribute to script tags when inline
critical CSS is disabled</td>
</tr>
<tr>
<td><a
href="7d52941a2e"><img
src="https://img.shields.io/badge/7d52941a2-fix-green" alt="fix -
7d52941a2" /></a></td>
<td>prevent build failures with remote CSS imports when Tailwind is
configured</td>
</tr>
<tr>
<td><a
href="0466fb74a2"><img
src="https://img.shields.io/badge/0466fb74a-fix-green" alt="fix -
0466fb74a" /></a></td>
<td>resolve error with <code>extract-i18n</code> builder for
libraries</td>
</tr>
</tbody>
</table>
<h2>v18.2.0-next.2</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>18.2.0-next.2 (2024-07-24)</h1>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="37a2138cb4"><img
src="https://img.shields.io/badge/37a2138cb-fix-green" alt="fix -
37a2138cb" /></a></td>
<td>account for HTML base HREF for dev-server externals</td>
</tr>
<tr>
<td><a
href="8ff687d036"><img
src="https://img.shields.io/badge/8ff687d03-fix-green" alt="fix -
8ff687d03" /></a></td>
<td>correctly detect comma in Sass URL lexer</td>
</tr>
<tr>
<td><a
href="6d6937587f"><img
src="https://img.shields.io/badge/6d6937587-fix-green" alt="fix -
6d6937587" /></a></td>
<td>prevent redirection loop</td>
</tr>
<tr>
<td><a
href="11a140babb"><img
src="https://img.shields.io/badge/11a140bab-fix-green" alt="fix -
11a140bab" /></a></td>
<td>serve HTML files directly</td>
</tr>
</tbody>
</table>
<h2>v18.2.0-next.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>18.2.0-next.1 (2024-07-17)</h1>
<h3><code>@angular-devkit/build-angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="9baae6e22c"><img
src="https://img.shields.io/badge/9baae6e22-fix-green" alt="fix -
9baae6e22" /></a></td>
<td>skip undefined files when generating budget stats</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md"><code>@angular/cli</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>18.2.0 (2024-08-14)</h1>
<h3><code>@schematics/angular</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="4da922e4f4">4da922e4f</a></td>
<td>feat</td>
<td>use isolatedModules in generated project</td>
</tr>
</tbody>
</table>
<h3><code>@angular/build</code></h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="24aaf1e37f">24aaf1e37</a></td>
<td>feat</td>
<td>support import attribute based loader configuration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ff5a0fe212"><code>ff5a0fe</code></a>
release: cut the v18.2.0 release</li>
<li><a
href="1a876a3153"><code>1a876a3</code></a>
build: update Angular versions to 18.2 stable</li>
<li><a
href="eb9c7fee72"><code>eb9c7fe</code></a>
build: remove unnecessary excludes from tsconfig.json</li>
<li><a
href="0c2ca9a040"><code>0c2ca9a</code></a>
build: remove Bazel typings workaround</li>
<li><a
href="4528be1eab"><code>4528be1</code></a>
build: add missing <code>pkg_deps</code> for
<code>@angular/create</code></li>
<li><a
href="d14c9ab0d9"><code>d14c9ab</code></a>
refactor(<code>@angular-devkit/build-angular</code>): reduce custom
code in browser-esbuil...</li>
<li><a
href="5eef87c25c"><code>5eef87c</code></a>
build: update all non-major dependencies</li>
<li><a
href="62c040a6a3"><code>62c040a</code></a>
build: update all non-major dependencies</li>
<li><a
href="6351c44dfc"><code>6351c44</code></a>
release: cut the v18.2.0-rc.0 release</li>
<li><a
href="6419c2a2e2"><code>6419c2a</code></a>
build: update angular</li>
<li>Additional commits viewable in <a
href="https://github.com/angular/angular-cli/compare/18.1.4...18.2.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>