Austin Merrick
3d1afb8f63
Update usage of input prompts
2024-03-28 09:19:07 -07:00
Austin Merrick
4e8da2c60c
Create input abstraction
2024-03-28 09:18:42 -07:00
Austin Merrick
8706d857a9
Update tests
2024-03-28 09:12:04 -07:00
Austin Merrick
8b903da18c
Use components
2024-03-28 09:11:52 -07:00
Erika Rowland
7c693edef5
Add custom components
2024-03-28 09:11:29 -07:00
Austin Merrick
fa467e3613
Prepare for custom inputs
2024-03-27 17:39:31 -07:00
Austin Merrick
75d85e0f4a
Move @inquirer/prompts to devDependencies
2024-03-26 12:08:49 -07:00
Austin Merrick
909d36fef3
Merge branch 'main' into austinmerrick/zero-1580-replace-inquirer-dependency-with-inquirerprompts-or
2024-03-26 11:08:33 -07:00
Austin Merrick
fa425339d0
Add changeset
2024-03-26 10:39:58 -07:00
Austin Merrick
d2396b0cf9
Update integration tests
2024-03-26 10:39:58 -07:00
Austin Merrick
7a8101e3bd
Remove problematic test
...
The usage of `jest.useFakeTimers().setSystemTime(new Date('2023-12-08'));` makes the "should remove a project" test fail. Really strange behavior so not sure why.
2024-03-26 10:39:58 -07:00
Austin Merrick
7023ea0d64
Remove inquirer dependency
2024-03-26 10:39:58 -07:00
Austin Merrick
b7cb5c6ae3
Remove usage of old inquirer
2024-03-26 10:39:58 -07:00
Austin Merrick
c87bd35e69
Update unit tests
2024-03-26 10:39:58 -07:00
Austin Merrick
f8a3b43bed
Convert client.prompt instances to use new API
2024-03-26 10:39:58 -07:00
Austin Merrick
bdf338b790
Expose inquirer prompts from client
2024-03-26 10:37:04 -07:00
Trek Glowacki
6487d091df
[tests] add stencil@4 fixtures to dependabot ( #11167 )
...
add stencil@4 fixtures to dependabot
2024-03-25 20:57:38 +00:00
Felix Haus
705453202e
[examples] Enforce node18 on Python and Ruby examples ( #11319 )
...
We have to enforce the node version on some examples to make sure they
are not auto upgraded in the future before we support their runtime.
See https://vercel.com/docs/deployments/build-image
2024-03-25 11:15:35 +01:00
Fatih Altinok
988f7b75a2
[remix] Add mjs and mts extensions to vite detection ( #11307 )
...
My project was being incorrectly detected as not vite, thus it was failing in runtime. My vite config is `vite.config.mts` so this PR fixes detection logic to include `mjs` and `mts` extensions.
The fix can be generalized if needed.
2024-03-22 21:07:13 +00:00
Austin Merrick
9481572c6d
Install @inquirer/prompts
2024-03-20 12:27:44 -07:00
Vercel Release Bot
7a28972897
[examples][tests] Upgrade Next.js to version 14.1.4 ( #11304 )
...
This auto-generated PR updates 7 packages to Next.js version 14.1.4
2024-03-20 13:59:44 -04:00
Jeff See
3a05469454
Update CODEOWNERS ( #11295 )
2024-03-19 22:07:29 +00:00
Trek Glowacki
f1c67d05e3
[tests] Add dependabot for Nuxt ( #11291 )
...
Add dependabot for Nuxt
2024-03-18 12:28:59 -05:00
Austin Merrick
6f46b1fc70
[cli][tests] Fix getUpdateCommand for local dev ( #11276 )
...
This unit test fails on my machine:
```
Expected: "pnpm i vercel@latest"
Received: "pnpm i -g vercel@latest"
```
This change allows the test to succeed on machines that need the `-g` flag.
2024-03-16 00:31:26 +00:00
Trek Glowacki
34e961e1c6
[tests] Add ionic-angular@7 fixtures to dependabot ( #11171 )
...
Add ionic-angular@7 fixtures to dependabot
2024-03-15 23:54:05 +00:00
Nathan Rajlich
75346d45cc
[remix] Add SPA mode e2e tests ( #11257 )
...
Adds a couple e2e tests for [Remix SPA](https://remix.run/docs/en/main/future/spa-mode ) mode (both with and without using the Vercel Preset).
2024-03-15 23:47:17 +00:00
Karl Pablo
f9b4fae51b
Updated port number of localhost in README.md ( #11287 )
...
With Remix's migration to Vite as its bundler, the default localhost port has changed from 3000 to 5173.
2024-03-15 19:05:54 +00:00
Vercel Release Bot
8619992def
Version Packages ( #11275 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@7.9.1
### Patch Changes
- Export `getSupportedNodeVersion`
([#11277 ](https://github.com/vercel/vercel/pull/11277 ))
## vercel@33.6.1
### Patch Changes
- Don't send `projectSettings.nodeVersion` for unsupported versions
([#11277 ](https://github.com/vercel/vercel/pull/11277 ))
- Updated dependencies
\[[`4bca0c6d0`](4bca0c6d0b ),
[`a67ad4b5a`](a67ad4b5a1 ),
[`11218a179`](11218a1798 ),
[`64b97bf4b`](64b97bf4b5 )]:
- @vercel/next@4.1.6
- @vercel/remix-builder@2.1.4
- @vercel/build-utils@7.9.1
- @vercel/static-build@2.4.4
- @vercel/node@3.0.24
## @vercel/client@13.1.7
### Patch Changes
- Updated dependencies
\[[`11218a179`](11218a1798 )]:
- @vercel/build-utils@7.9.1
## @vercel/gatsby-plugin-vercel-builder@2.0.22
### Patch Changes
- Updated dependencies
\[[`11218a179`](11218a1798 )]:
- @vercel/build-utils@7.9.1
## @vercel/next@4.1.6
### Patch Changes
- Ensure that static PPR pages have static streaming lambda paths.
([#11259 ](https://github.com/vercel/vercel/pull/11259 ))
## @vercel/node@3.0.24
### Patch Changes
- Updated dependencies
\[[`11218a179`](11218a1798 )]:
- @vercel/build-utils@7.9.1
## @vercel/remix-builder@2.1.4
### Patch Changes
- Disable `prepareCache()` npm install for Remix + Vite
([#11281 ](https://github.com/vercel/vercel/pull/11281 ))
## @vercel/static-build@2.4.4
### Patch Changes
- [framework-fixtures]: Bump the core group in
/packages/static-build/test/fixtures/angular-v17 with 15 updates
([#11274 ](https://github.com/vercel/vercel/pull/11274 ))
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.22
## @vercel-internals/types@1.0.27
### Patch Changes
- Updated dependencies
\[[`11218a179`](11218a1798 )]:
- @vercel/build-utils@7.9.1
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-15 10:21:07 -05:00
Nathan Rajlich
a67ad4b5a1
[remix] Disable prepareCache() npm install for Remix + Vite ( #11281 )
...
In legacy Remix apps, we were running `npm install` once again before globbing the `node_modules` dir due to the injecting of the forked Remix compiler which would cause a cache miss without that happening.
For Vite, we are no longer mucking about `node_modules` at build-time, so there is no need to run `npm install` in the `prepareCache()` function.
There is also no "cacheDirectory" setting so the globbing of the legacy cache directory is also moved into the legacy-only logic.
**tl;dr** For Remix + Vite apps, the only thing that needs to be cached is `node_modules`.
2024-03-15 03:08:16 +00:00
Erika Rowland
11218a1798
[cli] Don't send projectSettings.nodeVersion for unsupported versions ( #11277 )
...
Previously, we used `semver` which correctly identified the nodeVersion used in `package.json`, but failed in two cases:
1. If the specified `engines` range started too low, it wouldn't correctly identify a later version compatible with Vercel. (`">10"` was detecting as Node `"10.x"` not `"20.x"`)
2. If the specified `engines` version was fixed too low to be compatible with Vercel, we sent it, and then Vercel predictably errored. (`"10"` was detecting as Node `"10.x"` which would lead to an error in the build process)
Now, case 1 should properly use the latest node version. And case 2 will not send a node version override to the API and will print a warning to the user on the CLI, but the deployment will still proceed with the version specified for the project in the web interface.
We chose to keep the error message shown to the user consistent with what shows in the logs for the build container, that is:
> WARN! Node.js Version "10.x" is discontinued and must be upgraded. Please set "engines": { "node": "20.x" } in your `package.json` file to use Node.js 20.
2024-03-14 21:34:51 +00:00
dependabot[bot]
64b97bf4b5
[framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates ( #11274 )
...
Bumps the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates:
| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations ) | `17.2.1` | `17.3.0` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) | `17.2.1` | `17.3.0` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) | `17.2.1` | `17.3.0` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core ) | `17.2.1` | `17.3.0` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms ) | `17.2.1` | `17.3.0` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser ) | `17.2.1` | `17.3.0` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic ) | `17.2.1` | `17.3.0` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router ) | `17.2.1` | `17.3.0` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli ) | `17.2.0` | `17.3.0` |
| [@angular/cli](https://github.com/angular/angular-cli ) | `17.2.0` | `17.3.0` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli ) | `17.2.1` | `17.3.0` |
| [@angular-devkit/architect](https://github.com/angular/angular-cli ) | `0.1702.0` | `0.1703.0` |
| [@angular-devkit/build-webpack](https://github.com/angular/angular-cli ) | `0.1702.0` | `0.1703.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli ) | `17.2.0` | `17.3.0` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli ) | `17.2.0` | `17.3.0` |
Updates `@angular/animations` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/animations</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 "><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue " alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d "><img src="https://img.shields.io/badge/f386a04c9d-fix-green " alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e "><img src="https://img.shields.io/badge/1f129f114e-fix-green " alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e "><img src="https://img.shields.io/badge/12dc4d074e-fix-green " alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 "><img src="https://img.shields.io/badge/da7fbb40f0-fix-green " alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 "><img src="https://img.shields.io/badge/492e03f699-fix-green " alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 "><img src="https://img.shields.io/badge/331b16efd2-feat-blue " alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a "><img src="https://img.shields.io/badge/fb540e169a-feat-blue " alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 "><img src="https://img.shields.io/badge/c687b8f453-feat-blue " alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 "><img src="https://img.shields.io/badge/c809069f21-feat-blue " alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 "><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue " alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c "><img src="https://img.shields.io/badge/974958913c-feat-blue " alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d "><img src="https://img.shields.io/badge/39a50f9a8d-fix-green " alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 "><img src="https://img.shields.io/badge/243ccce624-fix-green " alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d "><img src="https://img.shields.io/badge/2909e9817d-fix-green " alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54425 ">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf "><img src="https://img.shields.io/badge/7243c704cf-fix-green " alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54706 ">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38 "><img src="https://img.shields.io/badge/bb35414a38-perf-orange " alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54748 ">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c "><img src="https://img.shields.io/badge/8d37ed035c-fix-green " alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54746 ">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02 "><img src="https://img.shields.io/badge/c1c7384e02-feat-blue " alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54580 ">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311 "><img src="https://img.shields.io/badge/7225485311-fix-green " alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54710 ">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de "><img src="https://img.shields.io/badge/ae7dbe42de-fix-green " alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54647 ">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md "><code>@angular/animations</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 ">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d ">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e ">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e ">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 ">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 ">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 ">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 ">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a ">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 ">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 ">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 ">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c ">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d ">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 ">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d ">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425 ">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf ">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706 ">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38 ">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748 ">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c ">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746 ">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02 ">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580 ">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311 ">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710 ">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e ">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647 ">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="586cc24a10 ">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667 ">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/animations ">compare view</a></li>
</ul>
</details>
<br />
Updates `@angular/common` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/common</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 "><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue " alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d "><img src="https://img.shields.io/badge/f386a04c9d-fix-green " alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e "><img src="https://img.shields.io/badge/1f129f114e-fix-green " alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e "><img src="https://img.shields.io/badge/12dc4d074e-fix-green " alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 "><img src="https://img.shields.io/badge/da7fbb40f0-fix-green " alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 "><img src="https://img.shields.io/badge/492e03f699-fix-green " alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 "><img src="https://img.shields.io/badge/331b16efd2-feat-blue " alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a "><img src="https://img.shields.io/badge/fb540e169a-feat-blue " alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 "><img src="https://img.shields.io/badge/c687b8f453-feat-blue " alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 "><img src="https://img.shields.io/badge/c809069f21-feat-blue " alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 "><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue " alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c "><img src="https://img.shields.io/badge/974958913c-feat-blue " alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d "><img src="https://img.shields.io/badge/39a50f9a8d-fix-green " alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 "><img src="https://img.shields.io/badge/243ccce624-fix-green " alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d "><img src="https://img.shields.io/badge/2909e9817d-fix-green " alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54425 ">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf "><img src="https://img.shields.io/badge/7243c704cf-fix-green " alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54706 ">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38 "><img src="https://img.shields.io/badge/bb35414a38-perf-orange " alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54748 ">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c "><img src="https://img.shields.io/badge/8d37ed035c-fix-green " alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54746 ">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02 "><img src="https://img.shields.io/badge/c1c7384e02-feat-blue " alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54580 ">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311 "><img src="https://img.shields.io/badge/7225485311-fix-green " alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54710 ">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de "><img src="https://img.shields.io/badge/ae7dbe42de-fix-green " alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54647 ">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md "><code>@angular/common</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 ">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d ">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e ">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e ">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 ">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 ">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 ">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 ">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a ">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 ">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 ">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 ">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c ">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d ">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 ">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d ">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425 ">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf ">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706 ">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38 ">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748 ">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c ">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746 ">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02 ">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580 ">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311 ">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710 ">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e ">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647 ">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="586cc24a10 ">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667 ">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8d37ed035c "><code>8d37ed0</code></a> fix(http): exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54746 ">#54746</a>)</li>
<li><a href="974958913c "><code>9749589</code></a> feat(core): support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414 ">#54414</a>)</li>
<li><a href="707bfc9b32 "><code>707bfc9</code></a> perf(common): <code>AsyncPipe</code> should not call <code>markForCheck</code> on subscription (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54 ">#54</a>...</li>
<li><a href="55fd7b3c85 "><code>55fd7b3</code></a> docs(docs-infra): Add missing api entries (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54517 ">#54517</a>)</li>
<li><a href="219445cda4 "><code>219445c</code></a> fix(common): image placeholder not removed in OnPush component (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54515 ">#54515</a>)</li>
<li><a href="74b5a51226 "><code>74b5a51</code></a> fix(http): Use string body to generate transfer cache key. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54379 ">#54379</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/common ">compare view</a></li>
</ul>
</details>
<br />
Updates `@angular/compiler` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/compiler</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 "><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue " alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d "><img src="https://img.shields.io/badge/f386a04c9d-fix-green " alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e "><img src="https://img.shields.io/badge/1f129f114e-fix-green " alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e "><img src="https://img.shields.io/badge/12dc4d074e-fix-green " alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 "><img src="https://img.shields.io/badge/da7fbb40f0-fix-green " alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 "><img src="https://img.shields.io/badge/492e03f699-fix-green " alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 "><img src="https://img.shields.io/badge/331b16efd2-feat-blue " alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a "><img src="https://img.shields.io/badge/fb540e169a-feat-blue " alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 "><img src="https://img.shields.io/badge/c687b8f453-feat-blue " alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 "><img src="https://img.shields.io/badge/c809069f21-feat-blue " alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 "><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue " alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c "><img src="https://img.shields.io/badge/974958913c-feat-blue " alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d "><img src="https://img.shields.io/badge/39a50f9a8d-fix-green " alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 "><img src="https://img.shields.io/badge/243ccce624-fix-green " alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d "><img src="https://img.shields.io/badge/2909e9817d-fix-green " alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54425 ">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf "><img src="https://img.shields.io/badge/7243c704cf-fix-green " alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54706 ">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38 "><img src="https://img.shields.io/badge/bb35414a38-perf-orange " alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54748 ">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c "><img src="https://img.shields.io/badge/8d37ed035c-fix-green " alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54746 ">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02 "><img src="https://img.shields.io/badge/c1c7384e02-feat-blue " alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54580 ">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311 "><img src="https://img.shields.io/badge/7225485311-fix-green " alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54710 ">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de "><img src="https://img.shields.io/badge/ae7dbe42de-fix-green " alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54647 ">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md "><code>@angular/compiler</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 ">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d ">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e ">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e ">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 ">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 ">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 ">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 ">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a ">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 ">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 ">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 ">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c ">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d ">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 ">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d ">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425 ">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf ">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706 ">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38 ">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748 ">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c ">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746 ">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02 ">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580 ">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311 ">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710 ">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e ">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647 ">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="586cc24a10 ">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667 ">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f386a04c9d "><code>f386a04</code></a> fix(compiler): handle two-way bindings to signal-based template variables in ...</li>
<li><a href="1f129f114e "><code>1f129f1</code></a> fix(compiler): not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54772 ">#54772</a>)</li>
<li><a href="b40f1e5b86 "><code>b40f1e5</code></a> refactor(compiler): Remove deep imports in the language service (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54695 ">#54695</a>)</li>
<li><a href="5e32a775d9 "><code>5e32a77</code></a> refactor(compiler): cleanup unused code in template builder pipeline (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54654 ">#54654</a>)</li>
<li><a href="1a6beae8a2 "><code>1a6beae</code></a> feat(compiler): Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54571 ">#54571</a>)</li>
<li><a href="badda0c389 "><code>badda0c</code></a> fix(compiler-cli): correctly detect deferred dependencies across scoped nodes...</li>
<li><a href="dba3e0b5aa "><code>dba3e0b</code></a> fix(compiler): adding the inert property to the "SCHEMA" array (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53148 ">#53148</a>)</li>
<li><a href="6c2d4b650b "><code>6c2d4b6</code></a> refactor(compiler): Enable Template Pipeline globally in 1P. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54435 ">#54435</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/compiler ">compare view</a></li>
</ul>
</details>
<br />
Updates `@angular/core` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2 "><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue " alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54571 ">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d "><img src="https://img.shields.io/badge/f386a04c9d-fix-green " alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e "><img src="https://img.shields.io/badge/1f129f114e-fix-green " alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54772 ">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e "><img src="https://img.shields.io/badge/12dc4d074e-fix-green " alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0 "><img src="https://img.shields.io/badge/da7fbb40f0-fix-green " alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54439 ">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699 "><img src="https://img.shields.io/badge/492e03f699-fix-green " alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54714 ">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1 "><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green " alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650 ">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2 "><img src="https://img.shields.io/badge/331b16efd2-feat-blue " alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54604 ">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a "><img src="https://img.shields.io/badge/fb540e169a-feat-blue " alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54630 ">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453 "><img src="https://img.shields.io/badge/c687b8f453-feat-blue " alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21 "><img src="https://img.shields.io/badge/c809069f21-feat-blue " alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4 "><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue " alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650 ">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c "><img src="https://img.shields.io/badge/974958913c-feat-blue " alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54414 ">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d "><img src="https://img.shields.io/badge/39a50f9a8d-fix-green " alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54761 ">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624 "><img src="https://img.shields.io/badge/243ccce624-fix-green " alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54800 ">#54800</a>)</td>
</tr>
<tr>
<td><a href="https://github.com/angular/angular/commit/2909e9817daf69b6478 ...
_Description has been truncated_
2024-03-14 21:05:24 +00:00
Trek Glowacki
5c3d2e7411
[tests] Shuffle proprety order in dependabot.yml ( #11240 )
...
Property order isn't meaningful here. I figured directory name first
makes the order a bit nicer and alphabetical.
2024-03-14 15:45:40 -05:00
Wyatt Johnson
4bca0c6d0b
[next] Ensure all static routes have static streaming lambda path ( #11259 )
...
When there's a match for a prerender, the dynamic query parameters will
not be provided via the `x-now-route-matches`. This ensures that when
generating any static route that the static streaming lambda path is
used if it's provided, ensuring that when a page is generated via
`generateStaticParams`:
```tsx
// app/blog/[slug]/page.tsx
type Props = {
params: {
slug: string
}
}
export function generateStaticParams() {
return [{ slug: "one" }, { slug: "two" }, { slug: "three" }]
}
export default function BlogPage({ slug }: Props) {
// ...
}
```
That we use the specific routes (`/blog/one`, `/blog/two`, and
`/blog/three`) for the partial prerendering streaming path instead of
the paramatarized pathname (`/blog/[slug]`) as the rewrites won't be
matched once a match for a prerender has been found.
This additionally updates the tests to ensure that the correct pathname
is observed (this was previously silently failing).
2024-03-14 12:37:48 -06:00
Vercel Release Bot
fab5fca939
Version Packages ( #11262 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@7.9.0
### Minor Changes
- Add `base` parameter to `scanParentDirs()`
([#11261 ](https://github.com/vercel/vercel/pull/11261 ))
## vercel@33.6.0
### Minor Changes
- Set `projectSettings.nodeVersion` in `vc deploy` based on
"engines.node" field
([#11261 ](https://github.com/vercel/vercel/pull/11261 ))
### Patch Changes
- Stops warning about legacy Speed Insights for Next.js apps
([#11268 ](https://github.com/vercel/vercel/pull/11268 ))
- Fix framework version detection in monorepos
([#11212 ](https://github.com/vercel/vercel/pull/11212 ))
- Updated dependencies
\[[`8ea93839c`](8ea93839cc ),
[`58ef91bfe`](58ef91bfe8 )]:
- @vercel/build-utils@7.9.0
- @vercel/remix-builder@2.1.3
- @vercel/node@3.0.23
- @vercel/static-build@2.4.3
## @vercel/client@13.1.6
### Patch Changes
- Updated dependencies
\[[`8ea93839c`](8ea93839cc )]:
- @vercel/build-utils@7.9.0
## @vercel/gatsby-plugin-vercel-builder@2.0.21
### Patch Changes
- Updated dependencies
\[[`8ea93839c`](8ea93839cc )]:
- @vercel/build-utils@7.9.0
## @vercel/node@3.0.23
### Patch Changes
- Updated dependencies
\[[`8ea93839c`](8ea93839cc )]:
- @vercel/build-utils@7.9.0
## @vercel/remix-builder@2.1.3
### Patch Changes
- Improve hueristics for detecting Remix + Vite
([#11256 ](https://github.com/vercel/vercel/pull/11256 ))
## @vercel/static-build@2.4.3
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.21
## @vercel-internals/types@1.0.26
### Patch Changes
- Updated dependencies
\[[`8ea93839c`](8ea93839cc )]:
- @vercel/build-utils@7.9.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-14 10:37:36 -05:00
Damien Simonin Feugas
2ad44999dd
[cli] stops warning Next.js users about legacy Speed Insights ( #11268 )
...
### 🧐 What's in there?
Vercel's Speed Insights legacy injection is deprecated in favor of `@vercel/speed-insights` package.
CLI has a couple places where it warns users running `vc build` locally (or on their CI).
Some users complained about seeing the warning while they are already using the package.
This PR removes the message
### ❗ Note to reviewers
@tobiaslins, @timolins and I had a long discussion on the approach here.
This warning is issued because during `vc pull`, the project API on Vercel returns a legacy analytics.id field, [which is stored](https://github.com/vercel/vercel/blame/main/packages/cli/src/util/projects/project-settings.ts#L35 ) in `.vercel/project.json`.
While it is legit for users who never used `@vercel/speed-insights` package, it also appear for users who migrated from legacy.
Besides setting the warning, `VERCEL_ANALYTICS_ID` is set, which triggers auto-injection in Next.js, and is useful during self-hosting.
We first considered removing the legacy id from `project.json`, but it would break self-hosting.
We also considered printing the warning only if the application never used the package (which the project API on Vercel knows).
In the end, we realized that vercel.com Speed Insights dashboard has plenty of disclaimer and incentives to use the new package. Having it in the CLI doesn't worth the annoyance.
2024-03-14 15:00:43 +00:00
Austin Merrick
eee57262f0
Fix README links ( #11270 )
...
These links went to the overview page. Pointing to the CLI docs is more helpful.
2024-03-14 09:07:15 +00:00
Sean Massa
fd762d8800
Update CODEOWNERS to ensure Zero Config can always approve ( #11272 )
...
I tagged everyone for review that might be impacted. I removed no one, but added Zero Config to each section.
This allows Zero Config to make uncontroversial tweaks as needed. For any significant changes to these areas, we'd of course still wait for other teams' reviews.
2024-03-14 08:55:35 +00:00
Nathan Rajlich
8ea93839cc
[cli] Set projectSettings.nodeVersion in vc deploy based on "engines.node" field ( #11261 )
...
Read the package.json and use the `engines.node` value to set the
`projectSettings.nodeVersion` property on the create deployment API call
POST body. This allows for the Node 20 build container image to be
properly specified before the deployment is created on the server side.
2024-03-13 15:39:51 -07:00
Nathan Rajlich
b9f3438c2d
[cli] Fix framework version detection in monorepos ( #11212 )
...
I noticed that the framework version was not being printed on deployments in a monorepo. Turns out the framework detection logic was happening at the root of the monorepo, instead of the project directory.
2024-03-12 22:54:53 +00:00
Vercel Release Bot
bf587f77b7
[tests] Upgrade Turbo to version 1.12.5 ( #11249 )
...
This auto-generated PR updates Turbo to version 1.12.5
2024-03-12 22:32:59 +00:00
Nathan Rajlich
58ef91bfe8
[remix] Improve hueristics for detecting Remix + Vite ( #11256 )
...
In particular, when both `remix.config` and `vite.config` files exist,
run some additional checks to try to detect if the project is using the
Vite plugin or not.
2024-03-12 15:05:32 -07:00
Nathan Rajlich
4111fbaa89
[tests] Specify testing tsconfig path for Jest ( #11253 )
...
This fixes the stack traces on failed Jest tests.
2024-03-11 14:39:08 -07:00
Vercel Release Bot
c3251e3775
Version Packages ( #11248 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@7.8.0
### Minor Changes
- Remove `VERCEL_ENABLE_NPM_DEFAULT` env var check
([#11242 ](https://github.com/vercel/vercel/pull/11242 ))
### Patch Changes
- Rename variants to flags and remove legacy flags
([#11121 ](https://github.com/vercel/vercel/pull/11121 ))
## vercel@33.5.5
### Patch Changes
- Rename variants to flags and remove legacy flags
([#11121 ](https://github.com/vercel/vercel/pull/11121 ))
- fix vc with root dir issues
([#11243 ](https://github.com/vercel/vercel/pull/11243 ))
- Updated dependencies
\[[`908e7837d`](908e7837d5 ),
[`5e3656ec1`](5e3656ec1b ),
[`a53d1b0d3`](a53d1b0d38 )]:
- @vercel/build-utils@7.8.0
- @vercel/next@4.1.5
- @vercel/remix-builder@2.1.2
- @vercel/node@3.0.22
- @vercel/static-build@2.4.2
## @vercel/client@13.1.5
### Patch Changes
- Updated dependencies
\[[`908e7837d`](908e7837d5 ),
[`5e3656ec1`](5e3656ec1b )]:
- @vercel/build-utils@7.8.0
## @vercel/gatsby-plugin-vercel-builder@2.0.20
### Patch Changes
- Updated dependencies
\[[`908e7837d`](908e7837d5 ),
[`5e3656ec1`](5e3656ec1b )]:
- @vercel/build-utils@7.8.0
## @vercel/next@4.1.5
### Patch Changes
- Rename variants to flags and remove legacy flags
([#11121 ](https://github.com/vercel/vercel/pull/11121 ))
## @vercel/node@3.0.22
### Patch Changes
- Updated dependencies
\[[`908e7837d`](908e7837d5 ),
[`5e3656ec1`](5e3656ec1b )]:
- @vercel/build-utils@7.8.0
## @vercel/remix-builder@2.1.2
### Patch Changes
- Update `@remix-run/dev` fork to v2.8.1
([#11241 ](https://github.com/vercel/vercel/pull/11241 ))
## @vercel/static-build@2.4.2
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.20
## @vercel-internals/types@1.0.25
### Patch Changes
- Updated dependencies
\[[`908e7837d`](908e7837d5 ),
[`5e3656ec1`](5e3656ec1b )]:
- @vercel/build-utils@7.8.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-08 15:42:44 -06:00
Sean Massa
33202dec1f
fix vc with root dir issues ( #11243 )
...
There's an issue with `vc link` and `vc deploy` when using a project
root directory. Framework detection fails because it's looking in the
wrong directory.
---
Manually tested and this fixes the issue. A project with a rootDirectory
was previously not detecting a framework, but now it says:
```
Auto-detected Project Settings (Remix):
```
---------
Co-authored-by: Nathan Rajlich <n@n8.io >
2024-03-08 15:21:18 -06:00
Vercel Release Bot
a53d1b0d38
[remix] Update @remix-run/dev to v2.8.1 ( #11241 )
...
This auto-generated PR updates `@remix-run/dev` to version 2.8.1.
2024-03-08 20:38:02 +00:00
Nathan Rajlich
5e3656ec1b
[build-utils] Remove VERCEL_ENABLE_NPM_DEFAULT env var check ( #11242 )
...
Flag has been rolled out for long enough at this point.
npm will now always be used as the package manager when no lockfile is present.
2024-03-08 20:13:30 +00:00
Andy
908e7837d5
[cli][build-utils] Rename variants to flags ( #11121 )
...
- Removes all the legacy `flags`
- Renames the new `variants` to `flags`
Neither the legacy flags, nor the new variants were exposed to anyone, except for the type in build-utils, so there shouldn't be any issues removing/renaming them.
2024-03-08 16:06:23 +00:00
Vercel Release Bot
dfa2f07c45
[examples][tests] Upgrade Next.js to version 14.1.3 ( #11237 )
...
This auto-generated PR updates 7 packages to Next.js version 14.1.3
Co-authored-by: Steven <steven@ceriously.com >
2024-03-08 10:51:02 -05:00
Nathan Rajlich
33181274bb
[static-build] Remove Build Output API v1 tests ( #11247 )
...
Remove these old tests for the legacy BOA version. Specifically,
`66-build-output-directory-with-functions` has become problematic
because the "go1.x" Lambda runtime no longer deploys. I figured we take
the opportunity to remove the others as well though. Will make running
the tests slightly faster.
2024-03-08 10:28:30 -05:00
Vercel Release Bot
96117d3f17
Version Packages ( #11210 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@7.7.1
### Patch Changes
- [build-utils] increase max memory limit
([#11209 ](https://github.com/vercel/vercel/pull/11209 ))
## vercel@33.5.4
### Patch Changes
- [build-utils] increase max memory limit
([#11209 ](https://github.com/vercel/vercel/pull/11209 ))
- Updated dependencies
\[[`b1d8b83ab`](b1d8b83abb ),
[`37b193c84`](37b193c845 ),
[`20237d4f7`](20237d4f7b ),
[`f8fab639b`](f8fab639bf ),
[`6ed0fe6fb`](6ed0fe6fb1 )]:
- @vercel/next@4.1.4
- @vercel/build-utils@7.7.1
- @vercel/remix-builder@2.1.1
- @vercel/static-build@2.4.1
- @vercel/node@3.0.21
## @vercel/client@13.1.4
### Patch Changes
- Updated dependencies
\[[`37b193c84`](37b193c845 )]:
- @vercel/build-utils@7.7.1
## @vercel/fs-detectors@5.2.1
### Patch Changes
- [build-utils] increase max memory limit
([#11209 ](https://github.com/vercel/vercel/pull/11209 ))
## @vercel/gatsby-plugin-vercel-builder@2.0.19
### Patch Changes
- Updated dependencies
\[[`37b193c84`](37b193c845 )]:
- @vercel/build-utils@7.7.1
## @vercel/next@4.1.4
### Patch Changes
- Enable partial prerendering support for pre-generated pages
([#11183 ](https://github.com/vercel/vercel/pull/11183 ))
## @vercel/node@3.0.21
### Patch Changes
- Updated dependencies
\[[`37b193c84`](37b193c845 )]:
- @vercel/build-utils@7.7.1
## @vercel/remix-builder@2.1.1
### Patch Changes
- [build-utils] increase max memory limit
([#11209 ](https://github.com/vercel/vercel/pull/11209 ))
- Remove usage of `ensureResolvable()` in Vite builds
([#11213 ](https://github.com/vercel/vercel/pull/11213 ))
- Update `@remix-run/dev` fork to v2.8.0
([#11206 ](https://github.com/vercel/vercel/pull/11206 ))
- Ensure the symlink directory exists in `ensureSymlink()`
([#11205 ](https://github.com/vercel/vercel/pull/11205 ))
## @vercel/static-build@2.4.1
### Patch Changes
- [build-utils] increase max memory limit
([#11209 ](https://github.com/vercel/vercel/pull/11209 ))
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.19
## @vercel-internals/types@1.0.24
### Patch Changes
- Updated dependencies
\[[`37b193c84`](37b193c845 )]:
- @vercel/build-utils@7.7.1
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-06 10:19:42 -06:00
Nathan Rajlich
20237d4f7b
[remix] Remove usage of ensureResolvable() in Vite builds ( #11213 )
...
This function can lead to unexpected results (for example, in a monorepo setup where there were different versions of Remix being used, I encountered the wrong version of Remix being symlinked causing issues at runtime).
Instead, throw an error at build time at the NFT step if `@remix-run/node` is missing for routes using Node.js, or when `@remix-run/server-runtime` is missing for routes using Edge.
Less magical is better. Explicit is better than implicit.
2024-03-06 02:10:22 +00:00
Nathan Rajlich
293770a2f6
[cli] Fix failing test due to npm default change ( #11230 )
2024-03-05 17:52:19 -08:00
Nathan Rajlich
c9c0a203cc
[examples] Update Remix template to use Vite ( #11229 )
...
Updates the Remix example template to use Vite and latest version of
dependencies.
2024-03-05 16:22:46 -08:00
Nathan Rajlich
5064dd404d
Revert "[examples] Update Remix template to use Vite ( #11217 )" ( #11227 )
...
This reverts commit 1a45731c92 . This
should not have been merged yet. There is still an issue with framework
detection selecting Vite instead of Remix preset.
2024-03-05 14:45:00 -08:00
Nathan Rajlich
1a45731c92
[examples] Update Remix template to use Vite ( #11217 )
...
Updates the Remix example template to use Vite and latest version of dependencies.
2024-03-05 20:10:19 +00:00
Trek Glowacki
168f9578cf
[tests] Update dependabot.yml to ignore major/patch ( #11223 )
...
Update dependebot to skip patch and major version updates. Patch is too noisy, major requires a new fixture.
2024-03-05 19:49:38 +00:00
Vercel Release Bot
c2728ef9c0
[examples][tests] Upgrade Next.js to version 14.1.2 ( #11224 )
...
This auto-generated PR updates 7 packages to Next.js version 14.1.2
2024-03-05 10:15:27 -05:00
Trek Glowacki
c5fe7c2bea
[examples] Bump Middleman and Jekyll dependencies to support ruby 3.x ( #11203 )
...
Some dependency updates are required to support Ruby 3.x+
2024-03-04 10:19:42 -06:00
Wyatt Johnson
b1d8b83abb
[next] Support pre-generated pages without fallbacks with Partial Prerendering ( #11183 )
2024-03-01 18:29:31 -07:00
Vercel Release Bot
24ec5c5aca
[examples][tests] Upgrade Next.js to version 14.1.1 ( #11215 )
...
This auto-generated PR updates 7 packages to Next.js version 14.1.1
2024-03-01 13:35:53 -05:00
Shohei Maeda
37b193c845
[build-utils] increase max memory limit ( #11209 )
...
internal ref. https://github.com/vercel/api/pull/25997
increasing max limit from 3008 -> 3009 MB
---------
Co-authored-by: Nathan Rajlich <n@n8.io >
2024-03-01 08:23:11 +09:00
Vercel Release Bot
f8fab639bf
[remix] Update @remix-run/dev to v2.8.0 ( #11206 )
...
This auto-generated PR updates `@remix-run/dev` to version 2.8.0.
2024-02-29 19:21:11 +00:00
Nathan Rajlich
6ed0fe6fb1
[remix] Ensure the symlink directory exists in ensureSymlink() ( #11205 )
...
Customer reported an edge case where (in a monorepo) their project's
`package.json` did not list any dependencies (instead they are listed at
the root-level `package.json`) and this caused the `node_modules`
directory to not exist in the app subdirectory, causing
`ensureSymlink()` to fail.
2024-02-29 10:44:18 -08:00
Vercel Release Bot
de2738ba06
Version Packages ( #11193 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/frameworks@3.0.0
### Major Changes
- Make "remix" framework preset supersede "vite"
([#11031 ](https://github.com/vercel/vercel/pull/11031 ))
## @vercel/fs-detectors@5.2.0
### Minor Changes
- Make "remix" framework preset supersede "vite"
([#11031 ](https://github.com/vercel/vercel/pull/11031 ))
### Patch Changes
- Updated dependencies
\[[`1333071a3`](1333071a3a )]:
- @vercel/frameworks@3.0.0
## @vercel/remix-builder@2.1.0
### Minor Changes
- Remix Vite plugin support
([#11031 ](https://github.com/vercel/vercel/pull/11031 ))
## vercel@33.5.3
### Patch Changes
- Updated dependencies
\[[`c2d99855e`](c2d99855ea ),
[`1333071a3`](1333071a3a )]:
- @vercel/next@4.1.3
- @vercel/remix-builder@2.1.0
## @vercel/next@4.1.3
### Patch Changes
- Fix manifest with experimental flag
([#11192 ](https://github.com/vercel/vercel/pull/11192 ))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-28 11:34:25 -06:00
Nathan Rajlich
1333071a3a
Remix Vite plugin support ( #11031 )
...
Adds support for Remix apps which use the new Remix Vite plugin.
* The vanilla Remix + Vite template deploys correctly out-of-the-box,
however only a single Node.js function will be used, and a warning will
be printed saying to configure the `vercelPreset()` Preset.
* When used in conjunction with the `vercelPreset()` Preset
(https://github.com/vercel/remix/pull/81 ), allows for the application to
utilize Vercel-specific features, like per-route `export const config`
configuration, including multi-runtime (Node.js / Edge runtimes) within
the same app.
## To test this today
1. Generate a Remix + Vite project from the template:
```
npx create-remix@latest --template remix-run/remix/templates/vite
```
1. Install `@vercel/remix`:
```
npm i --save-dev @vercel/remix
```
1. **(Before Remix v2.8.0 is released)** - Update the `@remix-run/dev`
dependency to use the "pre" tag which contains [a bug
fix](https://github.com/remix-run/remix/pull/8864 ):
```
npm i --save--dev @remix-run/dev@pre @remix-run/serve@pre
```
1. Configure the `vercelPreset()` in the `vite.config.ts` file:
```diff
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,10 +1,11 @@
import { vitePlugin as remix } from "@remix-run/dev";
import { installGlobals } from "@remix-run/node";
import { defineConfig } from "vite";
+import { vercelPreset } from "@vercel/remix/vite";
import tsconfigPaths from "vite-tsconfig-paths";
installGlobals();
export default defineConfig({
- plugins: [remix(), tsconfigPaths()],
+ plugins: [remix({ presets: [vercelPreset()] }), tsconfigPaths()],
});
```
1. Create a new Vercel Project in the dashboard, and ensure the Vercel
preset is set to "Remix" in the Project Settings. The autodetection will
work correctly once this PR is merged, but for now it gets incorrectly
detected as "Vite" preset.
* **Hint**: You can create a new empty Project by running the `vercel
link` command.
<img width="545" alt="Screenshot 2024-02-27 at 10 37 11"
src="https://github.com/vercel/vercel/assets/71256/f46baf57-5d97-4bde-9529-c9165632cb30 ">
1. Deploy to Vercel, setting the `VERCEL_CLI_VERSION` environment
variable to use the changes in this PR:
```
vercel deploy -b
VERCEL_CLI_VERSION=https://vercel-git-tootallnate-zero-1217-research-remix-v-next-vite.vercel.sh/tarballs/vercel.tgz
```
2024-02-28 11:22:05 -06:00
JJ Kasper
c2d99855ea
Fix manifest with experimental flag ( #11192 )
...
This ensures we don't attempt the manifests filtering behavior with this
experimental flag enabled as it is incompatible with it as we don't know
what to filter by at this point.
2024-02-23 01:02:17 -08:00
Vercel Release Bot
0d112c848a
Version Packages ( #11154 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@33.5.2
### Patch Changes
- Updated dependencies
\[[`e109e3325`](e109e3325a ),
[`d17abf463`](d17abf463a ),
[`644721a90`](644721a90d ),
[`ea0e9aeae`](ea0e9aeaec ),
[`e318a0eea`](e318a0eea5 ),
[`1fee87e76`](1fee87e76f ),
[`bfc01fd98`](bfc01fd98f ),
[`7910f2f30`](7910f2f307 ),
[`440ef3ba9`](440ef3ba98 )]:
- @vercel/remix-builder@2.0.20
- @vercel/next@4.1.2
- @vercel/node@3.0.20
- @vercel/redwood@2.0.8
## @vercel/next@4.1.2
### Patch Changes
- Update experimental bundle flag
([#11187 ](https://github.com/vercel/vercel/pull/11187 ))
- [next] Add flag for experimental grouping
([#11177 ](https://github.com/vercel/vercel/pull/11177 ))
- bump `@vercel/nft@0.26 .4`
([#11155 ](https://github.com/vercel/vercel/pull/11155 ))
- fix: missing experimental field
([#11184 ](https://github.com/vercel/vercel/pull/11184 ))
## @vercel/node@3.0.20
### Patch Changes
- bump `@vercel/nft@0.26 .4`
([#11155 ](https://github.com/vercel/vercel/pull/11155 ))
## @vercel/redwood@2.0.8
### Patch Changes
- bump `@vercel/nft@0.26 .4`
([#11155 ](https://github.com/vercel/vercel/pull/11155 ))
## @vercel/remix-builder@2.0.20
### Patch Changes
- Don't install Remix fork when not using split configuration
([#11152 ](https://github.com/vercel/vercel/pull/11152 ))
- Add `serverBundles` post-build sanity check and fallback
([#11153 ](https://github.com/vercel/vercel/pull/11153 ))
- bump `@vercel/nft@0.26 .4`
([#11155 ](https://github.com/vercel/vercel/pull/11155 ))
- Update `@remix-run/dev` fork to v2.6.0
([#11162 ](https://github.com/vercel/vercel/pull/11162 ))
- Update `@remix-run/dev` fork to v2.7.0
([#11180 ](https://github.com/vercel/vercel/pull/11180 ))
- Update `@remix-run/dev` fork to v2.7.2
([#11186 ](https://github.com/vercel/vercel/pull/11186 ))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-22 10:08:24 -06:00
JJ Kasper
d17abf463a
Update experimental bundle flag ( #11187 )
...
Makes bailing from grouping logic more explicit
2024-02-21 20:53:16 -08:00
Vercel Release Bot
440ef3ba98
[remix] Update @remix-run/dev to v2.7.2 ( #11186 )
2024-02-21 16:27:49 -08:00
Wyatt Johnson
38c5e93625
Add immutability modifiers to types ( #11182 )
...
This doesn't change any functionality, and only replaces some mutable types (like `Map`, `Set`, and `Array`) with their immutable versions (like `ReadonlyMap`, `ReadonlySet`, and `ReadonlyArray`). This can help keep functions as pure as possible and improves the readability of some of the involved functions.
2024-02-21 17:50:56 +00:00
Vercel Release Bot
4d51d777fe
[tests] Upgrade Turbo to version 1.12.4 ( #11173 )
...
This auto-generated PR updates Turbo to version 1.12.4
2024-02-21 15:56:50 +00:00
JJ Kasper
1fee87e76f
fix: missing experimental field ( #11184 )
...
Ensures we pass this through properly when the flag is enabled
2024-02-20 23:11:38 -08:00
JJ Kasper
ea0e9aeaec
[next] Add flag for experimental grouping ( #11177 )
...
Just adds a flag for experimenting
2024-02-20 18:03:03 -08:00
Vercel Release Bot
7910f2f307
[remix] Update @remix-run/dev to v2.7.0 ( #11180 )
...
This auto-generated PR updates `@remix-run/dev` to version 2.7.0.
2024-02-20 17:34:45 -08:00
Trek Glowacki
670441620f
[tests] Add hydrogen-2023 to static-build test fixtures ( #11163 )
...
Add hydrogen-2023 to static-build test fixtures
2024-02-15 14:59:00 -06:00
Vercel Release Bot
bfc01fd98f
[remix] Update @remix-run/dev to v2.6.0 ( #11162 )
...
This auto-generated PR updates `@remix-run/dev` to version 2.6.0.
2024-02-15 19:32:15 +00:00
Trek Glowacki
6d74b9b61a
[tests] Add astro to dependabot ( #11161 )
...
Add astro to dependabot
2024-02-15 12:41:02 -06:00
dependabot[bot]
9483d49f72
[framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates ( #11160 )
...
Bumps the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates:
| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations ) | `17.0.7` | `17.2.1` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) | `17.0.7` | `17.2.1` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) | `17.0.7` | `17.2.1` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core ) | `17.0.7` | `17.2.1` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms ) | `17.0.7` | `17.2.1` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser ) | `17.0.7` | `17.2.1` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic ) | `17.0.7` | `17.2.1` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router ) | `17.0.7` | `17.2.1` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli ) | `17.0.7` | `17.2.0` |
| [@angular/cli](https://github.com/angular/angular-cli ) | `17.0.7` | `17.2.0` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli ) | `17.0.7` | `17.2.1` |
| [@angular-devkit/architect](https://github.com/angular/angular-cli ) | `0.1700.7` | `0.1702.0` |
| [@angular-devkit/build-webpack](https://github.com/angular/angular-cli ) | `0.1700.7` | `0.1702.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli ) | `17.0.7` | `17.2.0` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli ) | `17.0.7` | `17.2.0` |
Updates `@angular/animations` from 17.0.7 to 17.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/animations</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.2.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228 "><img src="https://img.shields.io/badge/7234824228-fix-green " alt="fix - 7234824228" /></a></td>
<td>fix broken version detection condition (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54443 ">#54443</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79 "><img src="https://img.shields.io/badge/03c3b3eb79-feat-blue " alt="feat - 03c3b3eb79" /></a></td>
<td>add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54311 ">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836 "><img src="https://img.shields.io/badge/f5c520b836-feat-blue " alt="feat - f5c520b836" /></a></td>
<td>add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53783 ">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101 "><img src="https://img.shields.io/badge/47e6e84101-feat-blue " alt="feat - 47e6e84101" /></a></td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54057 ">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf "><img src="https://img.shields.io/badge/66e940aebf-feat-blue " alt="feat - 66e940aebf" /></a></td>
<td>scope selectors in <a href="https://github.com/starting-style "><code>@starting-style</code></a> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53943 ">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49 "><img src="https://img.shields.io/badge/7b4d275f49-fix-green " alt="fix - 7b4d275f49" /></a></td>
<td>Fix the template pipeline option (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54148 ">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e "><img src="https://img.shields.io/badge/7e861c640e-feat-blue " alt="feat - 7e861c640e" /></a></td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2 "><img src="https://img.shields.io/badge/3263df23f2-feat-blue " alt="feat - 3263df23f2" /></a></td>
<td>generate global imports in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e "><img src="https://img.shields.io/badge/b774e22d8e-feat-blue " alt="feat - b774e22d8e" /></a></td>
<td>make it configurable to generate alias reexports (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53937 ">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e "><img src="https://img.shields.io/badge/3e1384048e-feat-blue " alt="feat - 3e1384048e" /></a></td>
<td>support host directives for local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53877 ">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69 "><img src="https://img.shields.io/badge/a592904c69-fix-green " alt="fix - a592904c69" /></a></td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36 "><img src="https://img.shields.io/badge/4b1d948b36-fix-green " alt="fix - 4b1d948b36" /></a></td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12 "><img src="https://img.shields.io/badge/96bcf4fb12-fix-green " alt="fix - 96bcf4fb12" /></a></td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6 "><img src="https://img.shields.io/badge/64fa5715c6-fix-green " alt="fix - 64fa5715c6" /></a></td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a "><img src="https://img.shields.io/badge/6c8b09468a-fix-green " alt="fix - 6c8b09468a" /></a></td>
<td>highlight the unresolved element in the <a href="https://github.com/Component "><code>@Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20 "><img src="https://img.shields.io/badge/0970129e20-fix-green " alt="fix - 0970129e20" /></a></td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53983 ">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418 "><img src="https://img.shields.io/badge/f39cb06418-fix-green " alt="fix - f39cb06418" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/Directive "><code>@Directive</code></a>.exportAs in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945 "><img src="https://img.shields.io/badge/f3851b5945-fix-green " alt="fix - f3851b5945" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding "><code>@HostBinding</code></a>'s argument in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8 "><img src="https://img.shields.io/badge/39ddd884e8-fix-green " alt="fix - 39ddd884e8" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostListener "><code>@HostListener</code></a>'s event name in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd "><img src="https://img.shields.io/badge/5d633240fd-fix-green " alt="fix - 5d633240fd" /></a></td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component "><code>@Component</code></a>.styles (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6 "><img src="https://img.shields.io/badge/58b8a232d6-fix-green " alt="fix - 58b8a232d6" /></a></td>
<td>support jumping to definitions of signal-based inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54053 ">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c "><img src="https://img.shields.io/badge/702ab28b4c-feat-blue " alt="feat - 702ab28b4c" /></a></td>
<td>add support for model inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54252 ">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6 "><img src="https://img.shields.io/badge/e95ef2cbc6-feat-blue " alt="feat - e95ef2cbc6" /></a></td>
<td>expose queries as signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54283 ">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3 "><img src="https://img.shields.io/badge/656bc282e3-fix-green " alt="fix - 656bc282e3" /></a></td>
<td>add toString implementation to signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54002 ">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551 "><img src="https://img.shields.io/badge/62b87b4551-fix-green " alt="fix - 62b87b4551" /></a></td>
<td>do not crash for signal query that does not have any matches (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54353 ">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee "><img src="https://img.shields.io/badge/4b96f370ee-fix-green " alt="fix - 4b96f370ee" /></a></td>
<td>expose model signal subcribe for type checking purposes (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54357 ">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561 "><img src="https://img.shields.io/badge/744cb1e561-fix-green " alt="fix - 744cb1e561" /></a></td>
<td>return the same children query results if there are no changes (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54392 ">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4 "><img src="https://img.shields.io/badge/6d00115bf4-fix-green " alt="fix - 6d00115bf4" /></a></td>
<td>show placeholder block on the server with immediate trigger (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54394 ">#54394</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md "><code>@angular/animations</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228 ">7234824228</a></td>
<td>fix</td>
<td>fix broken version detection condition (<a href="https://redirect.github.com/angular/angular/pull/54443 ">#54443</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79 ">03c3b3eb79</a></td>
<td>feat</td>
<td>add Netlify image loader (<a href="https://redirect.github.com/angular/angular/pull/54311 ">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836 ">f5c520b836</a></td>
<td>feat</td>
<td>add placeholder to NgOptimizedImage (<a href="https://redirect.github.com/angular/angular/pull/53783 ">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101 ">47e6e84101</a></td>
<td>feat</td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://redirect.github.com/angular/angular/pull/54057 ">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf ">66e940aebf</a></td>
<td>feat</td>
<td>scope selectors in <a href="https://github.com/starting-style "><code>@starting-style</code></a> (<a href="https://redirect.github.com/angular/angular/pull/53943 ">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49 ">7b4d275f49</a></td>
<td>fix</td>
<td>Fix the template pipeline option (<a href="https://redirect.github.com/angular/angular/pull/54148 ">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e ">7e861c640e</a></td>
<td>feat</td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2 ">3263df23f2</a></td>
<td>feat</td>
<td>generate global imports in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e ">b774e22d8e</a></td>
<td>feat</td>
<td>make it configurable to generate alias reexports (<a href="https://redirect.github.com/angular/angular/pull/53937 ">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e ">3e1384048e</a></td>
<td>feat</td>
<td>support host directives for local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53877 ">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69 ">a592904c69</a></td>
<td>fix</td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36 ">4b1d948b36</a></td>
<td>fix</td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://redirect.github.com/angular/angular/pull/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12 ">96bcf4fb12</a></td>
<td>fix</td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://redirect.github.com/angular/angular/pull/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6 ">64fa5715c6</a></td>
<td>fix</td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a ">6c8b09468a</a></td>
<td>fix</td>
<td>highlight the unresolved element in the <a href="https://github.com/Component "><code>@Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20 ">0970129e20</a></td>
<td>fix</td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53983 ">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418 ">f39cb06418</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/Directive "><code>@Directive</code></a>.exportAs in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945 ">f3851b5945</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding "><code>@HostBinding</code></a>'s argument in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8 ">39ddd884e8</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostListener "><code>@HostListener</code></a>'s event name in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd ">5d633240fd</a></td>
<td>fix</td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component "><code>@Component</code></a>.styles (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6 ">58b8a232d6</a></td>
<td>fix</td>
<td>support jumping to definitions of signal-based inputs (<a href="https://redirect.github.com/angular/angular/pull/54053 ">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c ">702ab28b4c</a></td>
<td>feat</td>
<td>add support for model inputs (<a href="https://redirect.github.com/angular/angular/pull/54252 ">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6 ">e95ef2cbc6</a></td>
<td>feat</td>
<td>expose queries as signals (<a href="https://redirect.github.com/angular/angular/pull/54283 ">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3 ">656bc282e3</a></td>
<td>fix</td>
<td>add toString implementation to signals (<a href="https://redirect.github.com/angular/angular/pull/54002 ">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551 ">62b87b4551</a></td>
<td>fix</td>
<td>do not crash for signal query that does not have any matches (<a href="https://redirect.github.com/angular/angular/pull/54353 ">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee ">4b96f370ee</a></td>
<td>fix</td>
<td>expose model signal subcribe for type checking purposes (<a href="https://redirect.github.com/angular/angular/pull/54357 ">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561 ">744cb1e561</a></td>
<td>fix</td>
<td>return the same children query results if there are no changes (<a href="https://redirect.github.com/angular/angular/pull/54392 ">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4 ">6d00115bf4</a></td>
<td>fix</td>
<td>show placeholder block on the server with immediate trigger (<a href="https://redirect.github.com/angular/angular/pull/54394 ">#54394</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bbbe477f47 "><code>bbbe477</code></a> refactor: migrate animations to prettier formatting (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/53977 ">#53977</a>)</li>
<li><a href="5ae85e4849 "><code>5ae85e4</code></a> refactor(core): node removal notifies scheduler only when animations are enab...</li>
<li><a href="91f250dab7 "><code>91f250d</code></a> build: configure cross-pkg resolution for api extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/52499 ">#52499</a>)</li>
<li><a href="c4de4e1f89 "><code>c4de4e1</code></a> refactor(docs-infra): build adev application using local generated assets (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/5 ">#5</a>...</li>
<li><a href="d7e7409e81 "><code>d7e7409</code></a> refactor(animations): drop <code>convertToMap</code> & <code>copyStyles</code> and use native funct...</li>
<li><a href="d28ce0a4cf "><code>d28ce0a</code></a> refactor(animations): use a spread operator instead of custom <code>copyObj</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/52441 ">#52441</a>)</li>
<li><a href="6a347d36eb "><code>6a347d3</code></a> refactor(animations): use a spread operator to convert an iterable to an arra...</li>
<li><a href="635c3b4fa8 "><code>635c3b4</code></a> refactor(animations): use existing helper methods. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/52441 ">#52441</a>)</li>
<li><a href="5ee11a74ec "><code>5ee11a7</code></a> fix(animations): prevent the AsyncAnimationRenderer from calling the delegate...</li>
<li><a href="a02a745a4a "><code>a02a745</code></a> fix(animations): remove <code>finish</code> listener once player is destroyed (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/51136 ">#51136</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/17.2.1/packages/animations ">compare view</a></li>
</ul>
</details>
<br />
Updates `@angular/common` from 17.0.7 to 17.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/common</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.2.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228 "><img src="https://img.shields.io/badge/7234824228-fix-green " alt="fix - 7234824228" /></a></td>
<td>fix broken version detection condition (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54443 ">#54443</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79 "><img src="https://img.shields.io/badge/03c3b3eb79-feat-blue " alt="feat - 03c3b3eb79" /></a></td>
<td>add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54311 ">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836 "><img src="https://img.shields.io/badge/f5c520b836-feat-blue " alt="feat - f5c520b836" /></a></td>
<td>add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53783 ">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101 "><img src="https://img.shields.io/badge/47e6e84101-feat-blue " alt="feat - 47e6e84101" /></a></td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54057 ">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf "><img src="https://img.shields.io/badge/66e940aebf-feat-blue " alt="feat - 66e940aebf" /></a></td>
<td>scope selectors in <a href="https://github.com/starting-style "><code>@starting-style</code></a> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53943 ">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49 "><img src="https://img.shields.io/badge/7b4d275f49-fix-green " alt="fix - 7b4d275f49" /></a></td>
<td>Fix the template pipeline option (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54148 ">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e "><img src="https://img.shields.io/badge/7e861c640e-feat-blue " alt="feat - 7e861c640e" /></a></td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2 "><img src="https://img.shields.io/badge/3263df23f2-feat-blue " alt="feat - 3263df23f2" /></a></td>
<td>generate global imports in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e "><img src="https://img.shields.io/badge/b774e22d8e-feat-blue " alt="feat - b774e22d8e" /></a></td>
<td>make it configurable to generate alias reexports (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53937 ">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e "><img src="https://img.shields.io/badge/3e1384048e-feat-blue " alt="feat - 3e1384048e" /></a></td>
<td>support host directives for local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53877 ">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69 "><img src="https://img.shields.io/badge/a592904c69-fix-green " alt="fix - a592904c69" /></a></td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36 "><img src="https://img.shields.io/badge/4b1d948b36-fix-green " alt="fix - 4b1d948b36" /></a></td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12 "><img src="https://img.shields.io/badge/96bcf4fb12-fix-green " alt="fix - 96bcf4fb12" /></a></td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6 "><img src="https://img.shields.io/badge/64fa5715c6-fix-green " alt="fix - 64fa5715c6" /></a></td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a "><img src="https://img.shields.io/badge/6c8b09468a-fix-green " alt="fix - 6c8b09468a" /></a></td>
<td>highlight the unresolved element in the <a href="https://github.com/Component "><code>@Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20 "><img src="https://img.shields.io/badge/0970129e20-fix-green " alt="fix - 0970129e20" /></a></td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53983 ">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418 "><img src="https://img.shields.io/badge/f39cb06418-fix-green " alt="fix - f39cb06418" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/Directive "><code>@Directive</code></a>.exportAs in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945 "><img src="https://img.shields.io/badge/f3851b5945-fix-green " alt="fix - f3851b5945" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding "><code>@HostBinding</code></a>'s argument in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8 "><img src="https://img.shields.io/badge/39ddd884e8-fix-green " alt="fix - 39ddd884e8" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostListener "><code>@HostListener</code></a>'s event name in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd "><img src="https://img.shields.io/badge/5d633240fd-fix-green " alt="fix - 5d633240fd" /></a></td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component "><code>@Component</code></a>.styles (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6 "><img src="https://img.shields.io/badge/58b8a232d6-fix-green " alt="fix - 58b8a232d6" /></a></td>
<td>support jumping to definitions of signal-based inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54053 ">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c "><img src="https://img.shields.io/badge/702ab28b4c-feat-blue " alt="feat - 702ab28b4c" /></a></td>
<td>add support for model inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54252 ">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6 "><img src="https://img.shields.io/badge/e95ef2cbc6-feat-blue " alt="feat - e95ef2cbc6" /></a></td>
<td>expose queries as signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54283 ">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3 "><img src="https://img.shields.io/badge/656bc282e3-fix-green " alt="fix - 656bc282e3" /></a></td>
<td>add toString implementation to signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54002 ">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551 "><img src="https://img.shields.io/badge/62b87b4551-fix-green " alt="fix - 62b87b4551" /></a></td>
<td>do not crash for signal query that does not have any matches (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54353 ">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee "><img src="https://img.shields.io/badge/4b96f370ee-fix-green " alt="fix - 4b96f370ee" /></a></td>
<td>expose model signal subcribe for type checking purposes (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54357 ">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561 "><img src="https://img.shields.io/badge/744cb1e561-fix-green " alt="fix - 744cb1e561" /></a></td>
<td>return the same children query results if there are no changes (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54392 ">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4 "><img src="https://img.shields.io/badge/6d00115bf4-fix-green " alt="fix - 6d00115bf4" /></a></td>
<td>show placeholder block on the server with immediate trigger (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54394 ">#54394</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md "><code>@angular/common</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228 ">7234824228</a></td>
<td>fix</td>
<td>fix broken version detection condition (<a href="https://redirect.github.com/angular/angular/pull/54443 ">#54443</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79 ">03c3b3eb79</a></td>
<td>feat</td>
<td>add Netlify image loader (<a href="https://redirect.github.com/angular/angular/pull/54311 ">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836 ">f5c520b836</a></td>
<td>feat</td>
<td>add placeholder to NgOptimizedImage (<a href="https://redirect.github.com/angular/angular/pull/53783 ">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101 ">47e6e84101</a></td>
<td>feat</td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://redirect.github.com/angular/angular/pull/54057 ">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf ">66e940aebf</a></td>
<td>feat</td>
<td>scope selectors in <a href="https://github.com/starting-style "><code>@starting-style</code></a> (<a href="https://redirect.github.com/angular/angular/pull/53943 ">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49 ">7b4d275f49</a></td>
<td>fix</td>
<td>Fix the template pipeline option (<a href="https://redirect.github.com/angular/angular/pull/54148 ">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e ">7e861c640e</a></td>
<td>feat</td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2 ">3263df23f2</a></td>
<td>feat</td>
<td>generate global imports in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e ">b774e22d8e</a></td>
<td>feat</td>
<td>make it configurable to generate alias reexports (<a href="https://redirect.github.com/angular/angular/pull/53937 ">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e ">3e1384048e</a></td>
<td>feat</td>
<td>support host directives for local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53877 ">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69 ">a592904c69</a></td>
<td>fix</td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36 ">4b1d948b36</a></td>
<td>fix</td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://redirect.github.com/angular/angular/pull/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12 ">96bcf4fb12</a></td>
<td>fix</td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://redirect.github.com/angular/angular/pull/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6 ">64fa5715c6</a></td>
<td>fix</td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a ">6c8b09468a</a></td>
<td>fix</td>
<td>highlight the unresolved element in the <a href="https://github.com/Component "><code>@Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20 ">0970129e20</a></td>
<td>fix</td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53983 ">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418 ">f39cb06418</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/Directive "><code>@Directive</code></a>.exportAs in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945 ">f3851b5945</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding "><code>@HostBinding</code></a>'s argument in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8 ">39ddd884e8</a></td>
<td>fix</td>
<td>show specific error for unresolved <a href="https://github.com/HostListener "><code>@HostListener</code></a>'s event name in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd ">5d633240fd</a></td>
<td>fix</td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component "><code>@Component</code></a>.styles (<a href="https://redirect.github.com/angular/angular/pull/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6 ">58b8a232d6</a></td>
<td>fix</td>
<td>support jumping to definitions of signal-based inputs (<a href="https://redirect.github.com/angular/angular/pull/54053 ">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c ">702ab28b4c</a></td>
<td>feat</td>
<td>add support for model inputs (<a href="https://redirect.github.com/angular/angular/pull/54252 ">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6 ">e95ef2cbc6</a></td>
<td>feat</td>
<td>expose queries as signals (<a href="https://redirect.github.com/angular/angular/pull/54283 ">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3 ">656bc282e3</a></td>
<td>fix</td>
<td>add toString implementation to signals (<a href="https://redirect.github.com/angular/angular/pull/54002 ">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551 ">62b87b4551</a></td>
<td>fix</td>
<td>do not crash for signal query that does not have any matches (<a href="https://redirect.github.com/angular/angular/pull/54353 ">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee ">4b96f370ee</a></td>
<td>fix</td>
<td>expose model signal subcribe for type checking purposes (<a href="https://redirect.github.com/angular/angular/pull/54357 ">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561 ">744cb1e561</a></td>
<td>fix</td>
<td>return the same children query results if there are no changes (<a href="https://redirect.github.com/angular/angular/pull/54392 ">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4 ">6d00115bf4</a></td>
<td>fix</td>
<td>show placeholder block on the server with immediate trigger (<a href="https://redirect.github.com/angular/angular/pull/54394 ">#54394</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1c536250b6 "><code>1c53625</code></a> fix(http): Use string body to generate transfer cache key. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54379 ">#54379</a>)</li>
<li><a href="03c3b3eb79 "><code>03c3b3e</code></a> feat(common): add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54311 ">#54311</a>)</li>
<li><a href="122213d37d "><code>122213d</code></a> fix(common): The date pipe should return ISO format for week and week-year as...</li>
<li><a href="4a44f73288 "><code>4a44f73</code></a> docs: Update docs about equality. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54158 ">#54158</a>)</li>
<li><a href="0460a9dfaf "><code>0460a9d</code></a> refactor: migrate common to prettier formatting (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54150 ">#54150</a>)</li>
<li><a href="f3567bbc26 "><code>f3567bb</code></a> refactor(common): simplify i18n plural and select pipe metadata (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53939 ">#53939</a>)</li>
<li><a href="3c881acc5d "><code>3c881ac</code></a> refactor(common): simplify date pipe metadata (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53939 ">#53939</a>)</li>
<li><a href="15c48113c2 "><code>15c4811</code></a> refactor(router): Update integration tests to cover navigation and history AP...</li>
<li><a href="f5c520b836 "><code>f5c520b</code></a> feat(common): add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/53783 ">#53783</a>)</li>
<li><a href="7800a3c9f5 "><code>7800a3c</code></a> refactor(core): remove <code>InjectionToken</code> descriptions in optimized builds. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/5 ">#5</a>...</li>
<li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/17.2.1/packages/common ">compare view</a></li>
</ul>
</details>
<br />
Updates `@angular/compiler` from 17.0.7 to 17.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases "><code>@angular/compiler</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.2.1</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228 "><img src="https://img.shields.io/badge/7234824228-fix-green " alt="fix - 7234824228" /></a></td>
<td>fix broken version detection condition (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54443 ">#54443</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.2.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79 "><img src="https://img.shields.io/badge/03c3b3eb79-feat-blue " alt="feat - 03c3b3eb79" /></a></td>
<td>add Netlify image loader (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54311 ">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836 "><img src="https://img.shields.io/badge/f5c520b836-feat-blue " alt="feat - f5c520b836" /></a></td>
<td>add placeholder to NgOptimizedImage (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53783 ">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101 "><img src="https://img.shields.io/badge/47e6e84101-feat-blue " alt="feat - 47e6e84101" /></a></td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54057 ">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf "><img src="https://img.shields.io/badge/66e940aebf-feat-blue " alt="feat - 66e940aebf" /></a></td>
<td>scope selectors in <a href="https://github.com/starting-style "><code>@starting-style</code></a> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53943 ">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49 "><img src="https://img.shields.io/badge/7b4d275f49-fix-green " alt="fix - 7b4d275f49" /></a></td>
<td>Fix the template pipeline option (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54148 ">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e "><img src="https://img.shields.io/badge/7e861c640e-feat-blue " alt="feat - 7e861c640e" /></a></td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2 "><img src="https://img.shields.io/badge/3263df23f2-feat-blue " alt="feat - 3263df23f2" /></a></td>
<td>generate global imports in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="b774e22d8e "><img src="https://img.shields.io/badge/b774e22d8e-feat-blue " alt="feat - b774e22d8e" /></a></td>
<td>make it configurable to generate alias reexports (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53937 ">#53937</a>)</td>
</tr>
<tr>
<td><a href="3e1384048e "><img src="https://img.shields.io/badge/3e1384048e-feat-blue " alt="feat - 3e1384048e" /></a></td>
<td>support host directives for local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53877 ">#53877</a>)</td>
</tr>
<tr>
<td><a href="a592904c69 "><img src="https://img.shields.io/badge/a592904c69-fix-green " alt="fix - a592904c69" /></a></td>
<td>allow custom/duplicate decorators for <code>@Injectable</code> classes in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="4b1d948b36 "><img src="https://img.shields.io/badge/4b1d948b36-fix-green " alt="fix - 4b1d948b36" /></a></td>
<td>consider the case of duplicate Angular decorators in local compilation diagnostics (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="96bcf4fb12 "><img src="https://img.shields.io/badge/96bcf4fb12-fix-green " alt="fix - 96bcf4fb12" /></a></td>
<td>forbid custom/duplicate decorator when option <code>forbidOrphanComponents</code> is set (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54139 ">#54139</a>)</td>
</tr>
<tr>
<td><a href="64fa5715c6 "><img src="https://img.shields.io/badge/64fa5715c6-fix-green " alt="fix - 64fa5715c6" /></a></td>
<td>generating extra imports in local compilation mode when cycle is introduced (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="6c8b09468a "><img src="https://img.shields.io/badge/6c8b09468a-fix-green " alt="fix - 6c8b09468a" /></a></td>
<td>highlight the unresolved element in the <a href="https://github.com/Component "><code>@Component</code></a>.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="0970129e20 "><img src="https://img.shields.io/badge/0970129e20-fix-green " alt="fix - 0970129e20" /></a></td>
<td>show proper error for custom decorators in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53983 ">#53983</a>)</td>
</tr>
<tr>
<td><a href="f39cb06418 "><img src="https://img.shields.io/badge/f39cb06418-fix-green " alt="fix - f39cb06418" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/Directive "><code>@Directive</code></a>.exportAs in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="f3851b5945 "><img src="https://img.shields.io/badge/f3851b5945-fix-green " alt="fix - f3851b5945" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostBinding "><code>@HostBinding</code></a>'s argument in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="39ddd884e8 "><img src="https://img.shields.io/badge/39ddd884e8-fix-green " alt="fix - 39ddd884e8" /></a></td>
<td>show specific error for unresolved <a href="https://github.com/HostListener "><code>@HostListener</code></a>'s event name in local compilation mode (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="5d633240fd "><img src="https://img.shields.io/badge/5d633240fd-fix-green " alt="fix - 5d633240fd" /></a></td>
<td>show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for <a href="https://github.com/Component "><code>@Component</code></a>.styles (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54230 ">#54230</a>)</td>
</tr>
<tr>
<td><a href="58b8a232d6 "><img src="https://img.shields.io/badge/58b8a232d6-fix-green " alt="fix - 58b8a232d6" /></a></td>
<td>support jumping to definitions of signal-based inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54053 ">#54053</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="702ab28b4c "><img src="https://img.shields.io/badge/702ab28b4c-feat-blue " alt="feat - 702ab28b4c" /></a></td>
<td>add support for model inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54252 ">#54252</a>)</td>
</tr>
<tr>
<td><a href="e95ef2cbc6 "><img src="https://img.shields.io/badge/e95ef2cbc6-feat-blue " alt="feat - e95ef2cbc6" /></a></td>
<td>expose queries as signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54283 ">#54283</a>)</td>
</tr>
<tr>
<td><a href="656bc282e3 "><img src="https://img.shields.io/badge/656bc282e3-fix-green " alt="fix - 656bc282e3" /></a></td>
<td>add toString implementation to signals (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54002 ">#54002</a>)</td>
</tr>
<tr>
<td><a href="62b87b4551 "><img src="https://img.shields.io/badge/62b87b4551-fix-green " alt="fix - 62b87b4551" /></a></td>
<td>do not crash for signal query that does not have any matches (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54353 ">#54353</a>)</td>
</tr>
<tr>
<td><a href="4b96f370ee "><img src="https://img.shields.io/badge/4b96f370ee-fix-green " alt="fix - 4b96f370ee" /></a></td>
<td>expose model signal subcribe for type checking purposes (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54357 ">#54357</a>)</td>
</tr>
<tr>
<td><a href="744cb1e561 "><img src="https://img.shields.io/badge/744cb1e561-fix-green " alt="fix - 744cb1e561" /></a></td>
<td>return the same children query results if there are no changes (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54392 ">#54392</a>)</td>
</tr>
<tr>
<td><a href="6d00115bf4 "><img src="https://img.shields.io/badge/6d00115bf4-fix-green " alt="fix - 6d00115bf4" /></a></td>
<td>show placeholder block on the server with immediate trigger (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54394 ">#54394</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md "><code>@angular/compiler</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.2.1 (2024-02-14)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7234824228 ">7234824228</a></td>
<td>fix</td>
<td>fix broken version detection condition (<a href="https://redirect.github.com/angular/angular/pull/54443 ">#54443</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.0 (2024-02-14)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="03c3b3eb79 ">03c3b3eb79</a></td>
<td>feat</td>
<td>add Netlify image loader (<a href="https://redirect.github.com/angular/angular/pull/54311 ">#54311</a>)</td>
</tr>
<tr>
<td><a href="f5c520b836 ">f5c520b836</a></td>
<td>feat</td>
<td>add placeholder to NgOptimizedImage (<a href="https://redirect.github.com/angular/angular/pull/53783 ">#53783</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="47e6e84101 ">47e6e84101</a></td>
<td>feat</td>
<td>Add a TSConfig option <code>useTemplatePipeline</code> (<a href="https://redirect.github.com/angular/angular/pull/54057 ">#54057</a>)</td>
</tr>
<tr>
<td><a href="66e940aebf ">66e940aebf</a></td>
<td>feat</td>
<td>scope selectors in <a href="https://github.com/starting-style "><code>@starting-style</code></a> (<a href="https://redirect.github.com/angular/angular/pull/53943 ">#53943</a>)</td>
</tr>
<tr>
<td><a href="7b4d275f49 ">7b4d275f49</a></td>
<td>fix</td>
<td>Fix the template pipeline option (<a href="https://redirect.github.com/angular/angular/pull/54148 ">#54148</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="7e861c640e ">7e861c640e</a></td>
<td>feat</td>
<td>generate extra imports for component local dependencies in local mode (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="3263df23f2 ">3263df23f2</a></td>
<td>feat</td>
<td>generate global imports in local compilation mode (<a href="https://redirect.github.com/angular/angular/pull/53543 ">#53543</a>)</td>
</tr>
<tr>
<td><a href="https://github.com/angular/angular/commit/b774e22d8e384f43e9cd8f5c ...
_Description has been truncated_
2024-02-15 17:25:58 +00:00
Trek Glowacki
6740f9b155
[tests] Add dependabot for fixture updates ( #11159 )
...
Gradually adding dependabot updaters to avoid the problem of getting
hundreds of individual updates:
* Using the new `groups` key (new as of [~September
2023](https://github.blog/changelog/2023-08-24-grouped-version-updates-for-dependabot-are-generally-available/ )).
* Focused only to "core" dependencies of the framework.
* Tested on [separate
repo](https://github.com/trek/test-dependabot/pull/5 ) to avoid PR spam.
2024-02-15 10:53:13 -06:00
Trek Glowacki
b663f813e1
Restore ruby fixtures post deploy ( #11151 )
...
These fixtures were disabled to allow us to do a deploy of some newer
ruby stuff. Restoring them now that the changes are out.
2024-02-14 13:18:58 -06:00
Steven
e318a0eea5
[node][next][redwood][remix] bump @vercel/nft@0.26.4 ( #11155 )
...
- Release https://github.com/vercel/nft/releases/tag/0.26.4
2024-02-13 18:12:48 -05:00
Nathan Rajlich
644721a90d
[remix] Add serverBundles post-build sanity check and fallback ( #11153 )
...
Adds a check to ensure the `serverBuildPath` for the server bundles was created. If it was not, then that means the Vercel forked Remix compiler was not used, and we must fall back to a singular server bundle.
2024-02-13 22:04:40 +00:00
Nathan Rajlich
e109e3325a
[remix] Don't install Remix fork when not using split configuration ( #11152 )
...
The fork of the Remix compiler is only necessary when the project is utilizing split configurations in their routes (i.e. mixing Node.js and Edge functions).
However, the injecting of the forked compiler has proven to be brittle and has many edge cases which cause the fork to not be present. Considering that the more common case is to _not_ use split configuration, skip the fork entirely when that is the case.
This is somewhat of a band-aid / hold over for the "old" Remix. With the Remix + Vite configuration, the fork will be entirely unnecessary.
2024-02-13 21:26:31 +00:00
Vercel Release Bot
92b2fbe372
[tests] Upgrade Turbo to version 1.12.3 ( #11139 )
...
This auto-generated PR updates Turbo to version 1.12.3
2024-02-13 18:18:03 +00:00
Vercel Release Bot
e50fe2b37c
Version Packages ( #11149 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@7.7.0
### Minor Changes
- Revert "Revert "Default ruby to only currently supported version
(3.2.0)"" ([#11137 ](https://github.com/vercel/vercel/pull/11137 ))
## @vercel/static-build@2.4.0
### Minor Changes
- Revert "Revert "Default ruby to only currently supported version
(3.2.0)"" ([#11137 ](https://github.com/vercel/vercel/pull/11137 ))
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.18
## vercel@33.5.1
### Patch Changes
- build: upgrade edge-runtime
([#11148 ](https://github.com/vercel/vercel/pull/11148 ))
- Updated dependencies
\[[`24c3dd282`](24c3dd282d ),
[`10e200e0b`](10e200e0bf ),
[`678ebbe52`](678ebbe525 )]:
- @vercel/build-utils@7.7.0
- @vercel/static-build@2.4.0
- @vercel/node@3.0.19
## @vercel/client@13.1.3
### Patch Changes
- Updated dependencies
\[[`24c3dd282`](24c3dd282d )]:
- @vercel/build-utils@7.7.0
## @vercel/gatsby-plugin-vercel-builder@2.0.18
### Patch Changes
- Updated dependencies
\[[`24c3dd282`](24c3dd282d )]:
- @vercel/build-utils@7.7.0
## @vercel/node@3.0.19
### Patch Changes
- build: upgrade edge-runtime
([#11148 ](https://github.com/vercel/vercel/pull/11148 ))
- refactor: simplify content-length check
([#11150 ](https://github.com/vercel/vercel/pull/11150 ))
- Updated dependencies
\[[`24c3dd282`](24c3dd282d )]:
- @vercel/build-utils@7.7.0
## @vercel-internals/types@1.0.23
### Patch Changes
- Updated dependencies
\[[`24c3dd282`](24c3dd282d )]:
- @vercel/build-utils@7.7.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-13 11:52:52 -06:00
Kiko Beats
678ebbe525
refactor: simplify content-length check ( #11150 )
...
Co-authored-by: Sean Massa <EndangeredMassa@gmail.com >
2024-02-13 11:45:29 -06:00
Kiko Beats
10e200e0bf
build: upgrade edge-runtime ( #11148 )
...
Upgrade Edge Runtime and related dependencies 🙂
---------
Co-authored-by: Sean Massa <EndangeredMassa@gmail.com >
2024-02-13 11:20:11 -06:00
Trek Glowacki
24c3dd282d
Revert "Revert "Default ruby to only currently supported version (3.2.0)"" ( #11137 )
...
🔁 Uno Reverse! 🔁
2024-02-13 14:52:46 +00:00
Sean Massa
142a397d8e
[tests] fix next.js tests ( #11145 )
...
The Next.js change in https://github.com/vercel/next.js/pull/61794 means
that the `Vary` header will contain `Next-Url` less often. We need to
update the assertions on our end to accommodate.
2024-02-13 08:27:46 -06:00
Vercel Release Bot
0dd9a27859
Version Packages ( #11108 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/build-utils@7.6.0
### Minor Changes
- Revert "Default ruby to only currently supported version (3.2.0)"
([#11135 ](https://github.com/vercel/vercel/pull/11135 ))
- Mark `flags` as deprecated and replace them with `variants`
([#11098 ](https://github.com/vercel/vercel/pull/11098 ))
- [build-utils] change default package manager when no lockfile detected
from `yarn` to `npm` (gated behind feature flag)
([#11131 ](https://github.com/vercel/vercel/pull/11131 ))
### Patch Changes
- Update internal type for variants
([#11111 ](https://github.com/vercel/vercel/pull/11111 ))
## vercel@33.5.0
### Minor Changes
- Mark `flags` as deprecated and replace them with `variants`
([#11098 ](https://github.com/vercel/vercel/pull/11098 ))
### Patch Changes
- Updated dependencies
\[[`c32a909af`](c32a909afc ),
[`b6ed28b9b`](b6ed28b9b1 ),
[`d21bb9f87`](d21bb9f87e ),
[`4027a1833`](4027a18337 ),
[`8ba0ce932`](8ba0ce9324 ),
[`0d034b682`](0d034b6820 ),
[`abaa700ce`](abaa700cea ),
[`3bad73401`](3bad73401b )]:
- @vercel/next@4.1.1
- @vercel/node@3.0.18
- @vercel/redwood@2.0.7
- @vercel/remix-builder@2.0.19
- @vercel/build-utils@7.6.0
- @vercel/static-build@2.3.0
## @vercel/static-build@2.3.0
### Minor Changes
- Revert "Default ruby to only currently supported version (3.2.0)"
([#11135 ](https://github.com/vercel/vercel/pull/11135 ))
### Patch Changes
- Updated dependencies
\[[`ab2444466`](ab24444660 )]:
- @vercel/gatsby-plugin-vercel-builder@2.0.17
## @vercel/client@13.1.2
### Patch Changes
- Updated dependencies
\[[`b6ed28b9b`](b6ed28b9b1 ),
[`8ba0ce932`](8ba0ce9324 ),
[`0d034b682`](0d034b6820 ),
[`abaa700ce`](abaa700cea )]:
- @vercel/build-utils@7.6.0
## @vercel/gatsby-plugin-vercel-builder@2.0.17
### Patch Changes
- [gatsby-plugin-vercel-builder] use --keep-names esbuild flag
([#11117 ](https://github.com/vercel/vercel/pull/11117 ))
- Updated dependencies
\[[`b6ed28b9b`](b6ed28b9b1 ),
[`8ba0ce932`](8ba0ce9324 ),
[`0d034b682`](0d034b6820 ),
[`abaa700ce`](abaa700cea )]:
- @vercel/build-utils@7.6.0
## @vercel/next@4.1.1
### Patch Changes
- [node][next][redwood][remix] bump `@vercel/nft@0.26 .3`
([#11115 ](https://github.com/vercel/vercel/pull/11115 ))
- Load common chunks on module initialization
([#11126 ](https://github.com/vercel/vercel/pull/11126 ))
- Fix index normalizing for app outputs
([#11099 ](https://github.com/vercel/vercel/pull/11099 ))
- Mark `flags` as deprecated and replace them with `variants`
([#11098 ](https://github.com/vercel/vercel/pull/11098 ))
- Fix rewrite RSC handling with trailingSlash
([#11107 ](https://github.com/vercel/vercel/pull/11107 ))
## @vercel/node@3.0.18
### Patch Changes
- [node][next][redwood][remix] bump `@vercel/nft@0.26 .3`
([#11115 ](https://github.com/vercel/vercel/pull/11115 ))
- Updated dependencies
\[[`b6ed28b9b`](b6ed28b9b1 ),
[`8ba0ce932`](8ba0ce9324 ),
[`0d034b682`](0d034b6820 ),
[`abaa700ce`](abaa700cea )]:
- @vercel/build-utils@7.6.0
## @vercel/redwood@2.0.7
### Patch Changes
- [node][next][redwood][remix] bump `@vercel/nft@0.26 .3`
([#11115 ](https://github.com/vercel/vercel/pull/11115 ))
## @vercel/remix-builder@2.0.19
### Patch Changes
- [node][next][redwood][remix] bump `@vercel/nft@0.26 .3`
([#11115 ](https://github.com/vercel/vercel/pull/11115 ))
## @vercel-internals/types@1.0.22
### Patch Changes
- Updated dependencies
\[[`b6ed28b9b`](b6ed28b9b1 ),
[`8ba0ce932`](8ba0ce9324 ),
[`0d034b682`](0d034b6820 ),
[`abaa700ce`](abaa700cea )]:
- @vercel/build-utils@7.6.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-09 10:26:27 -06:00
Trek Glowacki
b6ed28b9b1
Revert "Default ruby to only currently supported version (3.2.0)" ( #11135 )
...
This reverts commit de63e35622 / #11104 .
We had no great way to test this without release but we have other
things we'd like to deploy today. Will revert the revert when we're
closer to fixing just this issue.
2024-02-09 10:10:18 -06:00
Steven
0d034b6820
[build-utils] change default package manager when no lockfile detected from yarn to npm (gated behind feature flag) ( #11131 )
...
This PR changes the default package manager from `yarn` to `npm` in the case that no lockfile is present.
Many years ago when `yarn` was first released, it was much faster than `npm` so we used it by default. That is no longer the case today and `yarn@1` is no longer receiving new features.
For example, `sharp` and `esbuild` no longer works with `yarn@1`:
### Related
- https://github.com/lovell/sharp/issues/3750
- https://github.com/evanw/esbuild/issues/2949
Note that this change will not impact most projects because most used a lockfile.
2024-02-08 21:26:01 +00:00
Trek Glowacki
05c8be1a6d
[static-build] Add a new Astro@4 fixture ( #11090 )
...
Add a new Astro@4 fixture. We were missing this one entirely.
2024-02-08 17:27:47 +00:00
Javi Velasco
d21bb9f87e
[next] Preload common chunks ( #11126 )
...
This PR adds requiring the modules that _we know_ will be required in
the Next.js Lambda in the module scope in a attempt to make a better use
of resources.
---------
Co-authored-by: JJ Kasper <jj@jjsweb.site >
2024-02-06 11:51:38 -08:00
Shohei Maeda
ab24444660
[gatsby-plugin-vercel-builder] use --keep-names esbuild flag ( #11117 )
...
Some packages are very sensitive to minification.
For example: https://github.com/node-fetch/node-fetch/issues/784 which ends up in runtime error, and is hard to notice as they don't reproduce on local dev.
Setting `--keep-names` should prevent those edge cases: https://esbuild.github.io/api/#keep-names
2024-02-05 21:15:50 +00:00
Vercel Release Bot
20080d4ae7
[tests] Upgrade Turbo to version 1.12.2 ( #11122 )
...
This auto-generated PR updates Turbo to version 1.12.2
2024-02-05 15:34:48 +00:00
Steven
c32a909afc
[node][next][redwood][remix] bump @vercel/nft@0.26.3 ( #11115 )
...
https://github.com/vercel/nft/releases/tag/0.26.3
2024-02-01 21:56:27 +00:00
Andy
abaa700cea
[build-utils] Update variants type ( #11111 )
...
Follow up to https://github.com/vercel/vercel/pull/11098 to address the type changes.
2024-02-01 14:44:38 +00:00
Andy
8ba0ce9324
[cli] Add Variants to Build Output API ( #11098 )
...
Makes adjustments to replace `flags` with `variants`.
Also marks the current `flags` implementation as deprecated, as it
should get removed soon. Which I'll do in a follow up PR.
2024-02-01 10:28:12 +01:00
JJ Kasper
4027a18337
Fix index normalizing for app outputs ( #11099 )
...
This ensures we don't apply the index output normalizing for app paths which was previously already gated for prerenders but not all routes.
2024-01-31 22:13:23 +00:00
JJ Kasper
3bad73401b
Fix rewrite RSC handling with trailingSlash ( #11107 )
...
This ensures our rewrite patching to handle RSC requests handles a trailing slash being present with added regression tests.
2024-01-30 22:34:17 +00:00
Vercel Release Bot
50e135ea47
Version Packages ( #11106 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @vercel/static-build@2.2.0
### Minor Changes
- Default ruby to only currently supported version (3.2.0)
([#11104 ](https://github.com/vercel/vercel/pull/11104 ))
### Patch Changes
- [tests] Update Gatsby fixture versions
([#11101 ](https://github.com/vercel/vercel/pull/11101 ))
## vercel@33.4.1
### Patch Changes
- Updated dependencies
\[[`d05e41eea`](d05e41eeaf ),
[`de63e3562`](de63e35622 )]:
- @vercel/static-build@2.2.0
## @vercel/client@13.1.1
### Patch Changes
- More helpful error message when `vc deploy --prebuilt` has missing
files ([#11105 ](https://github.com/vercel/vercel/pull/11105 ))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-30 16:07:17 -06:00
Vercel Release Bot
d05e41eeaf
[tests] Update Gatsby fixture versions ( #11101 )
...
Automatically generated PR to update Gatsby fixture versions in `@vercel/static-build`
2024-01-30 21:35:14 +00:00
Trek Glowacki
de63e35622
Default ruby to only currently supported version (3.2.0) ( #11104 )
...
We're currently using the directory name at `./vendor/bundle/ruby/`[0]
to determine ruby version. This directory is created as part of running
`bundle install` during the build process. However, when multiple ruby
versions are available, you can end up with multiple directories and the
0th entry at `./vendor/bundle/ruby/` isn't guaranteed to be the Ruby
version specified in the project.
Other companies in this space seem to do some order of
- check for value in `.ruby-version` file
- check for value passed into `ruby` directive in the Gemfile
- check the value in the `*.gemspec` file if the Gemfile has a `gemspec`
directive.
We'll do that work in a future PR but for _now_ our only supported Ruby
version is Ruby 3.2.x [as of
2023-11-22](https://vercel.com/changelog/upgrading-ruby-v2-7-to-v3-2 ).
So this can be hard-coded for the moment.
Skipping ruby tests now since these target _current_ prod where Ruby
3.2.x is not in `PATH` until we redeploy after this gets deployed.
2024-01-30 15:10:17 -06:00
Nathan Rajlich
4d1ab422d3
[client] More helpful error message when vc deploy --prebuilt has missing files ( #11105 )
...
Print a more helpful error message for the scenario the user encountered here: https://github.com/orgs/vercel/discussions/5612
What was happening in they were running `vc build` in one GH Action job, and then `vc deploy --prebuilt` in a different job. The later job was does not have `node_modules` populated, causing the deploy command to fail:
<img width="1374" alt="Screenshot 2024-01-29 at 6 31 19 PM" src="https://github.com/vercel/vercel/assets/71256/0402c2fb-35bb-435c-bf4c-10368a27f3ee ">
The updated error message hints to the user that the `node_modules` should be installed for the command to succeed:
<img width="813" alt="Screenshot 2024-01-29 at 6 30 54 PM" src="https://github.com/vercel/vercel/assets/71256/2c095e61-9b8a-4dac-9eb7-56363a8b89b8 ">
2024-01-30 05:09:33 +00:00
Vercel Release Bot
a03cfa1040
Version Packages ( #11103 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@33.4.0
### Minor Changes
- Added a new option to add a sensitive environment variable
([#11033 ](https://github.com/vercel/vercel/pull/11033 ))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-29 11:19:25 -06:00
Trek Glowacki
eaae86d776
[static-build] update umijs@4 fixture to latest ( #11089 )
2024-01-29 16:08:28 +00:00
Ana Trajkovska
77bc00f92e
[cli] Add support for sensitive env var ( #11033 )
...
This PR updates the `vercel env add` command to support a new option
called `--sensitive` that allows an env var to be created of type
`sensitive`.
2024-01-29 16:48:07 +01:00
Vercel Release Bot
19a373288f
Version Packages ( #11079 )
...
This PR was opened by the [Changesets
release](https://github.com/changesets/action ) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## vercel@33.3.0
### Minor Changes
- Emit "filePathMap" in `vc-config.json` for `FileFsRef` instances
([#11060 ](https://github.com/vercel/vercel/pull/11060 ))
### Patch Changes
- Update `vc dev` to support `Lambda` instances without `zipBuffer`
([#11080 ](https://github.com/vercel/vercel/pull/11080 ))
- Updated dependencies
\[[`322c88536`](322c88536d ),
[`62ca2efa7`](62ca2efa73 )]:
- @vercel/ruby@2.0.5
- @vercel/python@4.1.1
## @vercel/client@13.1.0
### Minor Changes
- Upload files referenced by "filePathMap" during `vc deploy --prebuilt`
([#11077 ](https://github.com/vercel/vercel/pull/11077 ))
## @vercel/python@4.1.1
### Patch Changes
- Remove deprecated `createLambda()` usage
([#11080 ](https://github.com/vercel/vercel/pull/11080 ))
## @vercel/ruby@2.0.5
### Patch Changes
- add ruby3 to path during build
([#11094 ](https://github.com/vercel/vercel/pull/11094 ))
- Remove deprecated `createLambda()` usage
([#11080 ](https://github.com/vercel/vercel/pull/11080 ))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-25 14:29:57 -06:00
Sean Massa
322c88536d
add ruby3 to path during build ( #11094 )
...
Add ruby to the path plus some debug code. I'll remove the debug code
after we verify this works.
2024-01-25 14:16:53 -06:00
Trek Glowacki
1f259d5eb9
[static-build] Update parcel@2 fixture to latest minor ( #11087 )
2024-01-24 21:51:10 +00:00
Trek Glowacki
3759da57ab
[static-build] update blitzjs@2 fixture to latest minor ( #11086 )
...
update blitzjs@2 fixture to latest minor
2024-01-24 10:15:16 -06:00
Nathan Rajlich
30ba68edf9
[cli] Emit "filePathMap" in vc-config.json for FileFsRef instances ( #11060 )
...
This is a performance / bandwidth / storage space optimization for the **Build Output API**.
When a Builder returns function which contains a file that is a `FileFsRef` instance, it _won't_ be copied into the corresponding `.func` directory, but instead will be added to a `"files"` mapping in the `.vc-config.json` file. This mapping represents keys which are destination file paths within the function filesystem, and values which are relative paths from the root of the project codebase. This allows for common files (i.e. `node_modules`) to be referenced (instead of physically copied on the disk).
This introduces an additional complexity to `vc deploy --prebuilt`, in such that now it needs to build up the list of `"files"` referenced from the `.vc-config.json` files, and _also_ upload those file paths along with the `.vercel/output` directory.
Depends on:
* https://github.com/vercel/vercel/pull/11077
* https://github.com/vercel/vercel/pull/11080
2024-01-23 20:54:34 +00:00
Nathan Rajlich
62ca2efa73
[python][ruby][cli] Remove deprecated createLambda() usage ( #11080 )
...
* Use `Lambda` constructor instead of `createLambda()`
* Return `FileBlob` instance for the entrypoint files, so that they do not get written to cwd
* In `vc dev`, support `Lambda` instances which do not have `zipBuffer` property
2024-01-23 19:53:36 +00:00
Nathan Rajlich
2b71ee6b42
[client] Upload files referenced by "filePathMap" during vc deploy --prebuilt ( #11077 )
...
Ensure that files referenced by the `filePathMap` property in the `.vc-config.json` files for functions in the Build Output API `.vercel/output` directory are uploaded during the prebuilt deployment process.
Related to / precursor for https://github.com/vercel/vercel/pull/11060 .
2024-01-22 22:48:12 +00:00
Vercel Release Bot
acb2acf953
Version Packages ( #11034 )
...
This PR was opened by the [Changesets release](https://github.com/changesets/action ) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
# Releases
## vercel@33.2.0
### Minor Changes
- chore: deprecate next/nuxt/gastby Speed Insights injection in favor of @vercel/speed-insights ([#11048 ](https://github.com/vercel/vercel/pull/11048 ))
### Patch Changes
- fix error when @vercel/analytics is a transitive dependency of the deployed application ([#10892 ](https://github.com/vercel/vercel/pull/10892 ))
- [cli] Add documentation string for `skip-domain` option ([#11051 ](https://github.com/vercel/vercel/pull/11051 ))
- Updated dependencies \[[`260125784`](2601257846 ), [`cdddb33ad`](cdddb33ad4 ), [`72d8604c9`](72d8604c9d ), [`90d0455e1`](90d0455e1f ), [`0716130e5`](0716130e58 ), [`b6b151f39`](b6b151f391 ), [`b185a7e20`](b185a7e207 )]:
- @vercel/static-build@2.1.0
- @vercel/build-utils@7.5.1
- @vercel/next@4.1.0
- @vercel/remix-builder@2.0.18
- @vercel/node@3.0.17
## @vercel/next@4.1.0
### Minor Changes
- fix error when @vercel/analytics is a transitive dependency of the deployed application ([#10892 ](https://github.com/vercel/vercel/pull/10892 ))
### Patch Changes
- Use `worker.name` instead of edge function name to fix type error in `@vercel/next` ([#11050 ](https://github.com/vercel/vercel/pull/11050 ))
## @vercel/static-build@2.1.0
### Minor Changes
- chore: deprecate next/nuxt/gastby Speed Insights injection in favor of @vercel/speed-insights ([#11048 ](https://github.com/vercel/vercel/pull/11048 ))
### Patch Changes
- Updated dependencies \[]:
- @vercel/gatsby-plugin-vercel-builder@2.0.16
## @vercel/build-utils@7.5.1
### Patch Changes
- Add experimental field to Lambda and size to FileFsRef output ([#11059 ](https://github.com/vercel/vercel/pull/11059 ))
## @vercel/client@13.0.14
### Patch Changes
- Updated dependencies \[[`cdddb33ad`](cdddb33ad4 )]:
- @vercel/build-utils@7.5.1
## @vercel/gatsby-plugin-vercel-builder@2.0.16
### Patch Changes
- Updated dependencies \[[`cdddb33ad`](cdddb33ad4 )]:
- @vercel/build-utils@7.5.1
## @vercel/node@3.0.17
### Patch Changes
- Updated dependencies \[[`cdddb33ad`](cdddb33ad4 )]:
- @vercel/build-utils@7.5.1
## @vercel/remix-builder@2.0.18
### Patch Changes
- Fix functions without a output path edge case ([#11038 ](https://github.com/vercel/vercel/pull/11038 ))
- Update `@remix-run/dev` fork to v2.5.0 ([#11054 ](https://github.com/vercel/vercel/pull/11054 ))
- Update `@remix-run/dev` fork to v2.5.1 ([#11065 ](https://github.com/vercel/vercel/pull/11065 ))
## @vercel-internals/types@1.0.21
### Patch Changes
- Updated dependencies \[[`cdddb33ad`](cdddb33ad4 )]:
- @vercel/build-utils@7.5.1
2024-01-19 22:07:42 +00:00
Damien Simonin Feugas
2601257846
[cli, static-builds] deprecation notice for speed insights injection ( #11048 )
...
### 🧐 What's in there?
With the recent release of [`@vercel/speed-insights`](https://vercel.com/docs/speed-insights/package ) own package (like [`@vercel/analytics`](https://vercel.com/docs/analytics/package )), it's time to encourage users to migrate.
With the availability of `@vercel/speed-insights`, users will have to opt-in explicitly by installing the package. Their benefit is a better and fine-grained control of the reporting (in particular, per-application sample rate).
### ❗ Note to reviewers
I used `console.warn` and hope it will stands out in the build logs. I'm happy to use anything else if you have better suggestions.
There's also a deprecation warning in Next.js, which covers a related but slightly different case, when users explicitly pass analyticsId in their configuration. https://github.com/vercel/next.js/pull/60677
2024-01-19 19:10:31 +00:00
jane
30b0925218
fix support link ( #11067 )
2024-01-19 16:55:43 +00:00
Vercel Release Bot
eddd432e06
[examples][tests] Upgrade Next.js to version 14.1.0 ( #11066 )
...
This auto-generated PR updates 7 packages to Next.js version 14.1.0
Co-authored-by: Steven <steven@ceriously.com >
2024-01-19 11:08:14 -05:00
Vercel Release Bot
b185a7e207
[remix] Update @remix-run/dev to v2.5.1 ( #11065 )
...
This auto-generated PR updates `@remix-run/dev` to version 2.5.1.
2024-01-19 00:29:36 +00:00
Trek Glowacki
5c910bf937
[static-build] bump stencil test fixture to latest ( #11058 )
...
Bump stencil test fixture to latest
2024-01-18 23:15:45 +00:00
JJ Kasper
cdddb33ad4
Add experimental field to Lambda and size to FileFsRef output ( #11059 )
...
This adds a new experimental field for new bundling behavior. This also
adds an optional `size` field to the FileFsRef output since we already
stat to avoid having to re-stat to get this value.
2024-01-18 14:51:54 -08:00
JJ Kasper
0da7ea7b78
Add retry handling when hitting SSO ( #11061 )
...
This aims to reduce flakiness when SSO disabling for a test project is
still disabling/propagating.
x-ref:
https://github.com/vercel/vercel/actions/runs/7563953104/job/20597320056?pr=11059
x-ref:
https://github.com/vercel/vercel/actions/runs/7563953104/job/20597322078?pr=11059
---------
Co-authored-by: Nathan Rajlich <n@n8.io >
Co-authored-by: Sean Massa <EndangeredMassa@gmail.com >
2024-01-18 13:17:49 -08:00
Trek Glowacki
7de754398e
[cli] Add documentation string for skip-domain option ( #11051 )
...
Text taken directly from https://vercel.com/docs/cli/deploy#skip-domain
2024-01-18 18:10:22 +00:00
Trek Glowacki
d4cc520814
[tests] update FastAPI fixture to latest ( #11053 )
...
Bumping this test fixture for python to keep up with releases.
2024-01-17 19:57:44 +00:00
Sean Massa
03d07dd163
update codeowners ( #11057 )
...
Update codeowners for shifting responsibilities.
2024-01-17 11:22:47 -06:00
Vercel Release Bot
b6b151f391
[remix] Update @remix-run/dev to v2.5.0 ( #11054 )
...
This auto-generated PR updates `@remix-run/dev` to version 2.5.0.
2024-01-17 05:07:26 +00:00
Vercel Release Bot
8c4b732d41
[tests] Upgrade Turbo to version 1.11.3 ( #11021 )
...
This auto-generated PR updates Turbo to version 1.11.3
2024-01-17 00:07:06 +00:00
Nathan Rajlich
d4335f0b56
Remove @cb1kenobi from CODEOWNERS ( #11039 )
...
:salute:
2024-01-16 15:43:30 -08:00
Nathan Rajlich
90d0455e1f
[remix] Fix functions without a output path edge case ( #11038 )
...
Fixes an edge case where a route without a path was causing the build to
fail. Reproducible with this `remix.config.js` file:
```js
export default {
ignoredRouteFiles: ["**/.*"],
routes(defineRoutes) {
return defineRoutes((route) => {
route("/", "foo.tsx", { index: true });
});
},
};
```
2024-01-16 14:37:05 -08:00
Ethan Arrowood
0716130e58
Use worker.name instead of edge function name to fix type error in @vercel/next ( #11050 )
...
Uses another `name` property instead of the now deprecated one.
2024-01-16 12:56:28 -08:00
Ethan Arrowood
8b7479fb6e
[python] update fastapi to 0.105.0 ( #10958 )
...
Updates python fixture `fastapi` to version `0.105.1`
2024-01-16 16:53:55 +00:00
Damien Simonin Feugas
72d8604c9d
[cli] fix error when @vercel/analytics is a transitive dependency of the deployed application ( #10892 )
2024-01-11 15:48:20 +01:00