Commit Graph

1900 Commits

Author SHA1 Message Date
github-actions[bot] 5f9915234a chore: version packages (#2655)
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
## @langchain/langgraph-api@1.4.4

### Patch Changes

- [#2645](https://github.com/langchain-ai/langgraphjs/pull/2645)
[`059f3b8`](https://github.com/langchain-ai/langgraphjs/commit/059f3b8200d1f2f6bd701eb26bac24675395918a)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-api): stop wiping graph recursionLimit with undefined

  When a run omitted `config.recursion_limit`, the server still passed
`recursionLimit: undefined` into `streamEvents`. Pregel spreads that
over the
graph's `withConfig` default, so agents fell back to langchain-core's
25.
  Omit undefined keys so bound limits (and deepagents' 10000) stick.

- Updated dependencies
[[`059f3b8`](https://github.com/langchain-ai/langgraphjs/commit/059f3b8200d1f2f6bd701eb26bac24675395918a)]:
  - @langchain/langgraph-ui@1.4.4
## @langchain/langgraph-cli@1.4.4

### Patch Changes

- [#2645](https://github.com/langchain-ai/langgraphjs/pull/2645)
[`059f3b8`](https://github.com/langchain-ai/langgraphjs/commit/059f3b8200d1f2f6bd701eb26bac24675395918a)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-api): stop wiping graph recursionLimit with undefined

  When a run omitted `config.recursion_limit`, the server still passed
`recursionLimit: undefined` into `streamEvents`. Pregel spreads that
over the
graph's `withConfig` default, so agents fell back to langchain-core's
25.
  Omit undefined keys so bound limits (and deepagents' 10000) stick.

- Updated dependencies
[[`059f3b8`](https://github.com/langchain-ai/langgraphjs/commit/059f3b8200d1f2f6bd701eb26bac24675395918a)]:
  - @langchain/langgraph-api@1.4.4
## @langchain/langgraph@1.4.9

### Patch Changes

- [#2653](https://github.com/langchain-ai/langgraphjs/pull/2653)
[`7880055`](https://github.com/langchain-ai/langgraphjs/commit/7880055ac7303483e424380cdd52f54cd094e311)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph): checkpoint Topic as a flat values list

Match Python Topic checkpoints so Host JS graphs no longer put
`__pregel_tasks: [[], []]` through the Python checkpointer. Keep reading
legacy `[seen, values]` checkpoints for restore compatibility.
## @langchain/langgraph-ui@1.4.4

### Patch Changes

- [#2645](https://github.com/langchain-ai/langgraphjs/pull/2645)
[`059f3b8`](https://github.com/langchain-ai/langgraphjs/commit/059f3b8200d1f2f6bd701eb26bac24675395918a)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-api): stop wiping graph recursionLimit with undefined

  When a run omitted `config.recursion_limit`, the server still passed
`recursionLimit: undefined` into `streamEvents`. Pregel spreads that
over the
graph's `withConfig` default, so agents fell back to langchain-core's
25.
  Omit undefined keys so bound limits (and deepagents' 10000) stick.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-03 16:20:31 -07:00
Christian Bromann 7880055ac7 fix(langgraph): checkpoint Topic as a flat values list (#2653)
Topic checkpoints now emit a flat values list like Python, so Host no
longer sees empty `__pregel_tasks` as `[[], []]` and fails
checkpointer_put. Legacy `[seen, values]` checkpoints still restore.

## Test plan
- [x] `pnpm test src/tests/channels.test.ts` (langgraph-core)
- [x] `pnpm exec vitest run src/tests/pregel.test.ts -t 'obtain correct
channel values|PregelExecutableTasks'`
- [x] Changeset added for affected package(s)
2026-08-03 16:11:21 -07:00
Christian Bromann 059f3b8200 fix(langgraph-api): stop wiping graph recursionLimit with undefined (#2645)
When a run omitted `config.recursion_limit`, we still passed
`recursionLimit: undefined` into `streamEvents`. Pregel merges that over
the graph's `withConfig` default, so agents (including deepagents with a
bound 10000) fell back to langchain-core's 25 and hit
`GraphRecursionError` early.

Omit undefined keys from stream/assistant config objects so bound limits
stick.

## Test plan
- [x] `pnpm test tests/stream.test.mts` in `libs/langgraph-api` (8
passed)
- [x] Changeset added for affected package(s)
2026-08-03 16:03:57 -07:00
dependabot[bot] 2ba482196e chore(deps): bump hono from 4.12.31 to 4.12.34 (#2654)
Bumps [hono](https://github.com/honojs/hono) from 4.12.31 to 4.12.34.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/honojs/hono/releases">hono's
releases</a>.</em></p>
<blockquote>
<h2>v4.12.34</h2>
<h2>Security fixes</h2>
<p>This release includes fixes for the following security issues:</p>
<h3><code>memo()</code> retains SSR output across requests, leading to
cross-user data disclosure</h3>
<p>Affects: <code>hono/jsx</code> (server-side rendering). Fixes
<code>memo()</code> reusing a retained render result across requests
when props compare equal, where a component reading request-scoped
values from ambient context — <code>useContext()</code>,
<code>useRequestContext()</code>, or <code>getContext()</code> — could
serve HTML rendered for another user's request, disclosing account data
or request-scoped secrets such as CSRF tokens. GHSA-f23p-vx2j-j53r</p>
<h3>ReDoS in CORS middleware via
<code>Access-Control-Request-Headers</code></h3>
<p>Affects: <code>hono/cors</code>. Fixes a whitespace-tolerant regular
expression with quadratic backtracking used to parse the
<code>Access-Control-Request-Headers</code> preflight header when
<code>allowHeaders</code> is not configured (the default), where a
single preflight request carrying a long whitespace run could consume
seconds of CPU and stall request processing. GHSA-8j4g-w8fx-2239</p>
<h3>Algorithmic complexity DoS in Language Middleware</h3>
<p>Affects: <code>hono/language</code>. Fixes quadratic string
processing in language-tag normalization, where a crafted language tag
with a large number of hyphen-separated subtags — supplied via a query
parameter, cookie, or <code>Accept-Language</code> header — could cause
excessive CPU consumption and block the event loop.
GHSA-54fx-42gc-7vw4</p>
<h3>Proxy Helper does not remove response headers listed in the
<code>Connection</code> header</h3>
<p>Affects: <code>hono/proxy</code>. Fixes <code>proxy()</code>
forwarding response headers that the origin's <code>Connection</code>
header designates as connection-scoped, where headers intended only for
the immediate peer — per RFC 9110 Section 7.6.1 — could be exposed to
clients, disclosing connection-scoped or internal metadata.
GHSA-79qm-7rj5-m7r9</p>
<hr />
<p>Users who use <code>hono/jsx</code> for server-side rendering,
<code>hono/cors</code>, <code>hono/language</code>, or
<code>hono/proxy</code> are strongly encouraged to upgrade to this
version.</p>
<h2>v4.12.33</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(cookie): relax name validation when parsing Cookie header in <a
href="https://redirect.github.com/honojs/hono/pull/5164">honojs/hono#5164</a></li>
<li>chore: bump <code>@hono/node-server</code> in <a
href="https://redirect.github.com/honojs/hono/pull/5167">honojs/hono#5167</a></li>
<li>fix(jsx): handle useSyncExternalStore subscription and snapshot
changes in <a
href="https://redirect.github.com/honojs/hono/pull/5166">honojs/hono#5166</a></li>
<li>chore: remove undici in favor of global fetch in <a
href="https://redirect.github.com/honojs/hono/pull/5168">honojs/hono#5168</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.32...v4.12.33">https://github.com/honojs/hono/compare/v4.12.32...v4.12.33</a></p>
<h2>v4.12.32</h2>
<h2>What's Changed</h2>
<ul>
<li>ci: enable reports for type &amp; bundle size check in <a
href="https://redirect.github.com/honojs/hono/pull/5148">honojs/hono#5148</a></li>
<li>fix(aws-lambda): add jwt and lambda authorizer types for API Gateway
v2 in <a
href="https://redirect.github.com/honojs/hono/pull/5142">honojs/hono#5142</a></li>
<li>fix(sse): emit empty id field to reset Last-Event-ID in <a
href="https://redirect.github.com/honojs/hono/pull/5138">honojs/hono#5138</a></li>
<li>test(cloudflare-workers): add coverage for onClose, onError, send,
and close in Cloudflare Workers websocket adapter in <a
href="https://redirect.github.com/honojs/hono/pull/5145">honojs/hono#5145</a></li>
<li>fix: use <code>Object.create(null)</code> when parsing query,
headers, and params in <a
href="https://redirect.github.com/honojs/hono/pull/5161">honojs/hono#5161</a></li>
<li>fix(secure-headers): keep CSP callbacks scoped to their header in <a
href="https://redirect.github.com/honojs/hono/pull/5147">honojs/hono#5147</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.31...v4.12.32">https://github.com/honojs/hono/compare/v4.12.31...v4.12.32</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/honojs/hono/commit/734755ace341607628219ea1dd8ca17f01bf1a5c"><code>734755a</code></a>
4.12.34</li>
<li><a
href="https://github.com/honojs/hono/commit/9839ff32a349bf088b6ddfa604010879dd2d3a05"><code>9839ff3</code></a>
chore: update <code>bun.lock</code> (<a
href="https://redirect.github.com/honojs/hono/issues/5182">#5182</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/0c45036d6b0ddf42ab2fa44639dc8710825d5c0f"><code>0c45036</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/720b566290793d4358bf39843adcb7cf4da4548f"><code>720b566</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/f70e2c31684387b3231cc38512a31df6ca76a1c7"><code>f70e2c3</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/93fc250d8b4df58ea542cb945171de8013d5e6d5"><code>93fc250</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/51db3131d5e97076327edaa0afdb60ebb77c264f"><code>51db313</code></a>
4.12.33</li>
<li><a
href="https://github.com/honojs/hono/commit/aed146364d5c48a8336b8c82fedfabebf8063d07"><code>aed1463</code></a>
chore: remove undici in favor of global fetch (<a
href="https://redirect.github.com/honojs/hono/issues/5168">#5168</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/224d2f5cbf2b4bc2ebb7482d0592149a8d9f0574"><code>224d2f5</code></a>
fix(jsx): handle useSyncExternalStore subscription and snapshot changes
(<a
href="https://redirect.github.com/honojs/hono/issues/5166">#5166</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/df653cea0450657977887d56a5188368387456c8"><code>df653ce</code></a>
chore: bump <code>@hono/node-server</code> (<a
href="https://redirect.github.com/honojs/hono/issues/5167">#5167</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/honojs/hono/compare/v4.12.31...v4.12.34">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hono&package-manager=npm_and_yarn&previous-version=4.12.31&new-version=4.12.34)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraphjs/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-03 16:03:28 -07:00
dependabot[bot] cac6d31065 chore(deps): bump the vite-vitest group across 1 directory with 6 updates (#2644)
Bumps the vite-vitest group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [turbo](https://github.com/vercel/turborepo) | `2.9.14` | `2.10.8` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) |
`8.0.16` | `8.2.0` |
| [rollup](https://github.com/rollup/rollup) | `4.59.0` | `4.62.3` |
|
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
| `4.1.9` | `4.1.10` |
|
[@vitest/browser-playwright](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright)
| `4.1.9` | `4.1.10` |
|
[@vitest/browser-webdriverio](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-webdriverio)
| `4.1.9` | `4.1.10` |


Updates `turbo` from 2.9.14 to 2.10.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/turborepo/releases">turbo's
releases</a>.</em></p>
<blockquote>
<h2>Turborepo v2.10.8</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Changelog</h3>
<ul>
<li>fix: Scroll TUI task list with mouse wheel by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13479">vercel/turborepo#13479</a></li>
<li>fix: Make releases resumable by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13486">vercel/turborepo#13486</a></li>
<li>refactor: Expose knowledge-backed package scope views by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13456">vercel/turborepo#13456</a></li>
<li>chore: Release Turborepo 2.10.7 by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13489">vercel/turborepo#13489</a></li>
<li>refactor: Use package knowledge for configuration scopes by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13457">vercel/turborepo#13457</a></li>
<li>refactor: Use package knowledge for run scope enumeration by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13458">vercel/turborepo#13458</a></li>
<li>release(turborepo): 2.10.8-canary.1 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>[bot]
in <a
href="https://redirect.github.com/vercel/turborepo/pull/13490">vercel/turborepo#13490</a></li>
<li>refactor: Use package knowledge in repository views by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13459">vercel/turborepo#13459</a></li>
<li>refactor: Use package knowledge in package integrations by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13460">vercel/turborepo#13460</a></li>
<li>ci: Parallelize environment setup steps by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13491">vercel/turborepo#13491</a></li>
<li>release(turborepo): 2.10.8-canary.2 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>[bot]
in <a
href="https://redirect.github.com/vercel/turborepo/pull/13492">vercel/turborepo#13492</a></li>
<li>refactor: Use package knowledge for task hashing paths by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13461">vercel/turborepo#13461</a></li>
<li>refactor: Use package knowledge for run-cache paths by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13462">vercel/turborepo#13462</a></li>
<li>refactor: Bind toolchain callbacks to package knowledge by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13463">vercel/turborepo#13463</a></li>
<li>refactor: Use package knowledge for microfrontend commands by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13464">vercel/turborepo#13464</a></li>
<li>refactor: Use package knowledge for run summaries by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13465">vercel/turborepo#13465</a></li>
<li>refactor: Use package knowledge for watcher paths by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13466">vercel/turborepo#13466</a></li>
<li>ci: Enable remote cache for types codegen by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13495">vercel/turborepo#13495</a></li>
<li>docs: Fix llms.txt links to page markdown routes by <a
href="https://github.com/molebox"><code>@​molebox</code></a> in <a
href="https://redirect.github.com/vercel/turborepo/pull/13497">vercel/turborepo#13497</a></li>
<li>refactor: Use package knowledge for prune paths by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13467">vercel/turborepo#13467</a></li>
<li>refactor: Use package knowledge in the LSP by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13468">vercel/turborepo#13468</a></li>
<li>refactor: Use consistent repository construction by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13469">vercel/turborepo#13469</a></li>
<li>refactor: Delete legacy package and scope authority by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13470">vercel/turborepo#13470</a></li>
<li>perf: Cache telemetry salt instead of re-reading config on every
hash by <a
href="https://github.com/charpeni"><code>@​charpeni</code></a> in <a
href="https://redirect.github.com/vercel/turborepo/pull/13498">vercel/turborepo#13498</a></li>
<li>feat: Support Android (Termux) by <a
href="https://github.com/gtbuchanan"><code>@​gtbuchanan</code></a> in <a
href="https://redirect.github.com/vercel/turborepo/pull/12735">vercel/turborepo#12735</a></li>
<li>ci: Restore Cargo targets on all test platforms by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13505">vercel/turborepo#13505</a></li>
<li>fix: Resolve gitdir for linked worktrees in repo index by <a
href="https://github.com/charpeni"><code>@​charpeni</code></a> in <a
href="https://redirect.github.com/vercel/turborepo/pull/13503">vercel/turborepo#13503</a></li>
<li>test: Characterize relationship projections by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13499">vercel/turborepo#13499</a></li>
<li>refactor: Produce native relationship observations by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13500">vercel/turborepo#13500</a></li>
<li>feat: Resolve GitHub Actions remote base refs behind future flag by
<a
href="https://github.com/louis-bompart"><code>@​louis-bompart</code></a>
in <a
href="https://redirect.github.com/vercel/turborepo/pull/10732">vercel/turborepo#10732</a></li>
<li>refactor: Add core relationship projections by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13502">vercel/turborepo#13502</a></li>
<li>refactor: Define external resolution contracts by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13507">vercel/turborepo#13507</a></li>
<li>refactor: Move repository tasks into Turbo configuration by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13504">vercel/turborepo#13504</a></li>
<li>refactor: Build JavaScript external resolution generations by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13508">vercel/turborepo#13508</a></li>
<li>refactor: Contribute Cargo external resolutions by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13509">vercel/turborepo#13509</a></li>
<li>refactor: Migrate external declaration consumers by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13511">vercel/turborepo#13511</a></li>
<li>ci: Auto-merge release PRs by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13510">vercel/turborepo#13510</a></li>
<li>chore: Release Turborepo 2.10.8-canary.3 by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13512">vercel/turborepo#13512</a></li>
<li>fix: Use tokenless release review gate by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13513">vercel/turborepo#13513</a></li>
<li>refactor: Use resolution fingerprints for task hashes by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13514">vercel/turborepo#13514</a></li>
<li>fix: Support fork PRs in review gate by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13516">vercel/turborepo#13516</a></li>
<li>refactor: Migrate lockfile affectedness by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13519">vercel/turborepo#13519</a></li>
<li>refactor: Migrate external resolution summaries by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13520">vercel/turborepo#13520</a></li>
<li>refactor: Migrate external package queries to resolution knowledge
by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13523">vercel/turborepo#13523</a></li>
<li>fix: Serialize macOS Homebrew setup by <a
href="https://github.com/anthonyshew"><code>@​anthonyshew</code></a> in
<a
href="https://redirect.github.com/vercel/turborepo/pull/13549">vercel/turborepo#13549</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vercel/turborepo/commit/2515f8b181ad49aaf933893b1688fb08447001a3"><code>2515f8b</code></a>
publish 2.10.8 to registry</li>
<li><a
href="https://github.com/vercel/turborepo/commit/dd87718f0036b93324df66b26fdf37056094b5d0"><code>dd87718</code></a>
test: Add uv workspace integration coverage (<a
href="https://redirect.github.com/vercel/turborepo/issues/13602">#13602</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/b3dc99b98a6fb7db9eabd23ae0b601100cb66162"><code>b3dc99b</code></a>
fix: Fall back to polling on macOS (<a
href="https://redirect.github.com/vercel/turborepo/issues/13622">#13622</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/f8f288e6b16f59a0261d9ef2c47e698b472b39b2"><code>f8f288e</code></a>
feat: Prune uv workspaces (<a
href="https://redirect.github.com/vercel/turborepo/issues/13613">#13613</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/b2e25d4971ac18373f872a98796d13ecfc26128b"><code>b2e25d4</code></a>
feat: Watch uv workspace changes (<a
href="https://redirect.github.com/vercel/turborepo/issues/13612">#13612</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/00538d09752961e2e42654a26196b739b7d00e20"><code>00538d0</code></a>
fix: Make Windows Cap'n Proto cache relocatable (<a
href="https://redirect.github.com/vercel/turborepo/issues/13621">#13621</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/e14de24864ca2e0682de9adfa275ccda1a0fb134"><code>e14de24</code></a>
feat: Hash uv lockfile closures (<a
href="https://redirect.github.com/vercel/turborepo/issues/13611">#13611</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/4195e4122b710b40a5012ded88fd764e728b1599"><code>4195e41</code></a>
feat: Run native uv tasks (<a
href="https://redirect.github.com/vercel/turborepo/issues/13610">#13610</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/87156466a1e99bedd783ed25e1f2d71f55707a90"><code>8715646</code></a>
feat: Discover uv workspaces (<a
href="https://redirect.github.com/vercel/turborepo/issues/13609">#13609</a>)</li>
<li><a
href="https://github.com/vercel/turborepo/commit/5cf35ad3da3437baf1506e47f720544f887397d3"><code>5cf35ad</code></a>
ci: Invalidate Cap'n Proto caches (<a
href="https://redirect.github.com/vercel/turborepo/issues/13616">#13616</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/turborepo/compare/v2.9.14...v2.10.8">compare
view</a></li>
</ul>
</details>
<br />

Updates `vite` from 8.0.16 to 8.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>create-vite@8.2.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/create-vite@8.2.0/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>plugin-legacy@8.2.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/plugin-legacy@8.2.0/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.2.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.2.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.2.0-beta.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.2.0-beta.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.5</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.5/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.4</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.3</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.3/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.2</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.2/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.1</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.1/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>create-vite@8.1.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/create-vite@8.1.0/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>plugin-legacy@8.1.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/plugin-legacy@8.1.0/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>plugin-legacy@8.1.0-beta.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/plugin-legacy@8.1.0-beta.0/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.1.0-beta.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.1.0-beta.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/vitejs/vite/compare/v8.2.0-beta.0...v8.2.0">8.2.0</a>
(2026-07-30)</h2>
<h3>Features</h3>
<ul>
<li>add <code>input</code> to <code>server.fs.allow</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/23035">#23035</a>)
(<a
href="https://github.com/vitejs/vite/commit/95a3cdab83e1125b03d2e8dd942fb6b64209e5fa">95a3cda</a>)</li>
<li><strong>bundled-dev:</strong> reload once after rebuild instead of
via the fallback page (<a
href="https://redirect.github.com/vitejs/vite/issues/23106">#23106</a>)
(<a
href="https://github.com/vitejs/vite/commit/b24381d741941b9ce2b1c07db62cc5f4d7bad981">b24381d</a>)</li>
<li><strong>bundled-dev:</strong> support worker file update accepted by
HMR (<a
href="https://redirect.github.com/vitejs/vite/issues/23068">#23068</a>)
(<a
href="https://github.com/vitejs/vite/commit/0d04351fdc12258c75b9f1cda5780fdb836ed0ef">0d04351</a>)</li>
<li><strong>config:</strong> include column in config incompatibility
location (<a
href="https://redirect.github.com/vitejs/vite/issues/23064">#23064</a>)
(<a
href="https://github.com/vitejs/vite/commit/8a245726944ed29225920d49be77c33c6e03afc8">8a24572</a>)</li>
<li><strong>dev:</strong> resolve interface name for explicit host in
network URLs (<a
href="https://redirect.github.com/vitejs/vite/issues/22965">#22965</a>)
(<a
href="https://github.com/vitejs/vite/commit/3ac77d9dd742968961af38a5a91ed6b061ceda7d">3ac77d9</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>bundledDev:</strong> print build errors to the terminal when
an HMR update fails (<a
href="https://redirect.github.com/vitejs/vite/issues/23024">#23024</a>)
(<a
href="https://github.com/vitejs/vite/commit/41c465896e8b11b1eb9c5fbdafbdcc528e189a2c">41c4658</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/23069">#23069</a>)
(<a
href="https://github.com/vitejs/vite/commit/4c07b74416f859d7e8bdace13409ef2d080edf76">4c07b74</a>)</li>
<li><strong>hmr:</strong> preserve environment snapshot during server
restart (<a
href="https://redirect.github.com/vitejs/vite/issues/22992">#22992</a>)
(<a
href="https://github.com/vitejs/vite/commit/b1186c36d06bb94941c58e8272fc4acb8512c93b">b1186c3</a>)</li>
<li><strong>importAnalysis:</strong> interop imports injected into
optimized dep files by plugins (<a
href="https://redirect.github.com/vitejs/vite/issues/23029">#23029</a>)
(<a
href="https://github.com/vitejs/vite/commit/8c2a87d41fb24536e59643351758084cde4d0dd7">8c2a87d</a>)</li>
<li><strong>module-runner:</strong> keep stack trace interception
working when <code>Object.prototype</code> is frozen (<a
href="https://redirect.github.com/vitejs/vite/issues/23073">#23073</a>)
(<a
href="https://github.com/vitejs/vite/commit/599c5b02a8b6879b05ede988020f1331e877aaea">599c5b0</a>)</li>
<li><strong>server:</strong> strip base in indexHtml module graph lookup
(<a
href="https://redirect.github.com/vitejs/vite/issues/22932">#22932</a>)
(<a
href="https://github.com/vitejs/vite/commit/fa005d19af5d847931c6dbefc63841c137383e6c">fa005d1</a>)</li>
<li>support resolving top-level input option with plugins (<a
href="https://redirect.github.com/vitejs/vite/issues/23101">#23101</a>)
(<a
href="https://github.com/vitejs/vite/commit/41df81a6a4c3eef08f7a9a8ac9530cd136c0eafa">41df81a</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>config:</strong> correct cacheDir default fallback
description (<a
href="https://redirect.github.com/vitejs/vite/issues/23060">#23060</a>)
(<a
href="https://github.com/vitejs/vite/commit/aafa103af5d71fb59d7c3dd617d0cbef3b222f1f">aafa103</a>)</li>
</ul>
<h3>Tests</h3>
<ul>
<li>config CJS module vars in ESM case (<a
href="https://redirect.github.com/vitejs/vite/issues/23010">#23010</a>)
(<a
href="https://github.com/vitejs/vite/commit/d8cd38830251b95fd7dddcd0eee0ce94cc61c2f4">d8cd388</a>)</li>
</ul>
<h2><a
href="https://github.com/vitejs/vite/compare/v8.1.5...v8.2.0-beta.0">8.2.0-beta.0</a>
(2026-07-22)</h2>
<h3>Features</h3>
<ul>
<li>add <code>input</code> option (<a
href="https://redirect.github.com/vitejs/vite/issues/22642">#22642</a>)
(<a
href="https://github.com/vitejs/vite/commit/9beae37d7221b25463a011feb40b0303ca328d87">9beae37</a>)</li>
<li><strong>config:</strong> warn features incompatible with native
loader in bundle loader (<a
href="https://redirect.github.com/vitejs/vite/issues/22850">#22850</a>)
(<a
href="https://github.com/vitejs/vite/commit/05302b07267f6b4f9dbeac5b1d73fcc3dc06d730">05302b0</a>)</li>
<li><strong>css:</strong> export PostCSS config type for type-safe
configs (<a
href="https://redirect.github.com/vitejs/vite/issues/22792">#22792</a>)
(<a
href="https://github.com/vitejs/vite/commit/302c755a8125b9a26214e3b413922b5513e41981">302c755</a>)</li>
<li><strong>dev:</strong> label network URLs with their interface name
(<a
href="https://redirect.github.com/vitejs/vite/issues/22830">#22830</a>)
(<a
href="https://github.com/vitejs/vite/commit/78accc42a5b8887d9df624f7d4a934d3ead677d1">78accc4</a>)</li>
<li><strong>optimizer:</strong> support aube lockfile (<a
href="https://redirect.github.com/vitejs/vite/issues/22813">#22813</a>)
(<a
href="https://github.com/vitejs/vite/commit/6319827116c5be2a19c1b91c84ba3d38ad26a41c">6319827</a>)</li>
<li><strong>optimizer:</strong> support nub lockfile (<a
href="https://redirect.github.com/vitejs/vite/issues/22891">#22891</a>)
(<a
href="https://github.com/vitejs/vite/commit/65d3604f6fdbfcf6e86244d7fe3c1ca86acae701">65d3604</a>)</li>
<li>update rolldown-related dependencies and use client-side HMR in
bundled-dev (<a
href="https://redirect.github.com/vitejs/vite/issues/22961">#22961</a>)
(<a
href="https://github.com/vitejs/vite/commit/960e9efbc1372000caac46cc2f123cef4824e2bb">960e9ef</a>)</li>
<li><strong>wasm:</strong> expand test suite, unwrap WebAssembly.Global
and enable js-string builtins (<a
href="https://redirect.github.com/vitejs/vite/issues/22674">#22674</a>)
(<a
href="https://github.com/vitejs/vite/commit/9e79b51579457a9af4fa623b68a0bfabbf38010b">9e79b51</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>build:</strong> map CSS chunks in chunk import maps (fix <a
href="https://redirect.github.com/vitejs/vite/issues/22946">#22946</a>)
(<a
href="https://redirect.github.com/vitejs/vite/issues/22947">#22947</a>)
(<a
href="https://github.com/vitejs/vite/commit/e16ff3a1199293ac9cdfa6132c08fdea162215f3">e16ff3a</a>)</li>
<li><strong>config:</strong> exclude virtual modules from native config
compat check (<a
href="https://redirect.github.com/vitejs/vite/issues/22979">#22979</a>)
(<a
href="https://github.com/vitejs/vite/commit/2ced1fe4e4e480ed78cb7aa5c78319e57bfa7783">2ced1fe</a>)</li>
<li><strong>css:</strong> rewrite urls in OnceExit-injected content (<a
href="https://redirect.github.com/vitejs/vite/issues/22983">#22983</a>)
(<a
href="https://github.com/vitejs/vite/commit/abb793e18c92592c21fbb8e1f3fc450b5839f04f">abb793e</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/22985">#22985</a>)
(<a
href="https://github.com/vitejs/vite/commit/04f345b37064cd0bba6447eb5c32be5c22162f3d">04f345b</a>)</li>
<li><strong>deps:</strong> update dependency magic-string to v1 (<a
href="https://redirect.github.com/vitejs/vite/issues/22998">#22998</a>)
(<a
href="https://github.com/vitejs/vite/commit/c60b4d7cdb85b7d4f78671cdcfb863e5f8b66bb7">c60b4d7</a>)</li>
<li><strong>hmr:</strong> remove hot data after prune (<a
href="https://redirect.github.com/vitejs/vite/issues/23002">#23002</a>)
(<a
href="https://github.com/vitejs/vite/commit/be9631658f5191ee5c5665e780239d42a330280a">be96316</a>)</li>
<li>resolve root to real path (<a
href="https://redirect.github.com/vitejs/vite/issues/22832">#22832</a>)
(<a
href="https://github.com/vitejs/vite/commit/55bba7bbd9de40d031360e4408fe91bff5b29ec9">55bba7b</a>)</li>
</ul>
<h3>Performance Improvements</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitejs/vite/commit/24a611f1c83a976d32262628d42f683609746635"><code>24a611f</code></a>
release: v7.2.4</li>
<li><a
href="https://github.com/vitejs/vite/commit/2d66b7b14aa6dfd62f3d6a59ee8382ed5ca6fd32"><code>2d66b7b</code></a>
fix: revert &quot;perf(deps): replace debug with obug (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)&quot;</li>
<li><a
href="https://github.com/vitejs/vite/commit/a668014dba377c2b82a32d8124f1761e9ea74f82"><code>a668014</code></a>
release: v7.2.3</li>
<li><a
href="https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2"><code>acfe939</code></a>
perf(deps): replace debug with obug (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0"><code>4f8171e</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21128">#21128</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/50297208452241061cb44d09a4bbdf77a11ac01e"><code>5029720</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21127">#21127</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a"><code>5909efd</code></a>
fix: allow multiple <code>bindCLIShortcuts</code> calls with shortcut
merging (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21103">#21103</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255"><code>39a0a15</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21095">#21095</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0"><code>6a34ac3</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21096">#21096</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be"><code>02ceaec</code></a>
chore(deps): update dependency <code>@​rollup/plugin-commonjs</code> to
v29 (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21099">#21099</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/create-vite@8.2.0/packages/vite">compare
view</a></li>
</ul>
</details>
<br />

Updates `rollup` from 4.59.0 to 4.62.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/releases">rollup's
releases</a>.</em></p>
<blockquote>
<h2>v4.62.3</h2>
<h2>4.62.3</h2>
<p><em>2026-07-26</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Sanitize illegal characters preserved modules input base (<a
href="https://redirect.github.com/rollup/rollup/issues/6439">#6439</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6421">#6421</a>:
docs: update x_google_ignoreList link to canonical URL (<a
href="https://github.com/DucMinhNe"><code>@​DucMinhNe</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6422">#6422</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6423">#6423</a>:
chore(deps): update actions/checkout action to v7 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6424">#6424</a>:
chore(deps): update dependency eslint-plugin-unicorn to v68 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6425">#6425</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6426">#6426</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6432">#6432</a>:
fix: make isLegal idempotent by not using a global-flag regex (<a
href="https://github.com/spokodev"><code>@​spokodev</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6433">#6433</a>:
docs: clarify sideEffects and moduleSideEffects (<a
href="https://github.com/ishaanlabs-gg"><code>@​ishaanlabs-gg</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6434">#6434</a>:
chore(deps): update dtolnay/rust-toolchain digest to 4be7066 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6435">#6435</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6436">#6436</a>:
chore(deps): update actions/cache action to v6 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6438">#6438</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6439">#6439</a>:
Sanitize input base before computing preserved module chunk names (<a
href="https://github.com/MahinAnowar"><code>@​MahinAnowar</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6443">#6443</a>:
chore(deps): update dependency eslint-plugin-unicorn to v71 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6444">#6444</a>:
fix(deps): update rust crate swc_compiler_base to v60 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6446">#6446</a>:
chore(deps): update dtolnay/rust-toolchain digest to 4cda84d (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6447">#6447</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6448">#6448</a>:
chore(deps): update actions/setup-node action to v7 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6449">#6449</a>:
chore(deps): update dependency eslint-plugin-unicorn to v72 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6450">#6450</a>:
chore(deps): update dependency pinia to v4 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6451">#6451</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6455">#6455</a>:
docs: fix broken commonjs namedExports link in troubleshooting (<a
href="https://github.com/Hashim1999164"><code>@​Hashim1999164</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6456">#6456</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6457">#6457</a>:
chore(deps): update dependency magic-string to v1 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6458">#6458</a>:
fix(deps): update swc monorepo (major) (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6459">#6459</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6460">#6460</a>:
Fix build:docs after rollup update (<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<h2>v4.62.2</h2>
<h2>4.62.2</h2>
<p><em>2026-06-19</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Do not add spurious side-effect-free external imports to chunks when
using minChunkSize (<a
href="https://redirect.github.com/rollup/rollup/issues/6411">#6411</a>)</li>
</ul>
<h3>Pull Requests</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/blob/master/CHANGELOG.md">rollup's
changelog</a>.</em></p>
<blockquote>
<h2>4.62.3</h2>
<p><em>2026-07-26</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Sanitize illegal characters preserved modules input base (<a
href="https://redirect.github.com/rollup/rollup/issues/6439">#6439</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6421">#6421</a>:
docs: update x_google_ignoreList link to canonical URL (<a
href="https://github.com/DucMinhNe"><code>@​DucMinhNe</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6422">#6422</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6423">#6423</a>:
chore(deps): update actions/checkout action to v7 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6424">#6424</a>:
chore(deps): update dependency eslint-plugin-unicorn to v68 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6425">#6425</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6426">#6426</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6432">#6432</a>:
fix: make isLegal idempotent by not using a global-flag regex (<a
href="https://github.com/spokodev"><code>@​spokodev</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6433">#6433</a>:
docs: clarify sideEffects and moduleSideEffects (<a
href="https://github.com/ishaanlabs-gg"><code>@​ishaanlabs-gg</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6434">#6434</a>:
chore(deps): update dtolnay/rust-toolchain digest to 4be7066 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6435">#6435</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6436">#6436</a>:
chore(deps): update actions/cache action to v6 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6438">#6438</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6439">#6439</a>:
Sanitize input base before computing preserved module chunk names (<a
href="https://github.com/MahinAnowar"><code>@​MahinAnowar</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6443">#6443</a>:
chore(deps): update dependency eslint-plugin-unicorn to v71 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6444">#6444</a>:
fix(deps): update rust crate swc_compiler_base to v60 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6446">#6446</a>:
chore(deps): update dtolnay/rust-toolchain digest to 4cda84d (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6447">#6447</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6448">#6448</a>:
chore(deps): update actions/setup-node action to v7 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6449">#6449</a>:
chore(deps): update dependency eslint-plugin-unicorn to v72 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6450">#6450</a>:
chore(deps): update dependency pinia to v4 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6451">#6451</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6455">#6455</a>:
docs: fix broken commonjs namedExports link in troubleshooting (<a
href="https://github.com/Hashim1999164"><code>@​Hashim1999164</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6456">#6456</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6457">#6457</a>:
chore(deps): update dependency magic-string to v1 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6458">#6458</a>:
fix(deps): update swc monorepo (major) (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6459">#6459</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6460">#6460</a>:
Fix build:docs after rollup update (<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<h2>4.62.2</h2>
<p><em>2026-06-19</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Do not add spurious side-effect-free external imports to chunks when
using minChunkSize (<a
href="https://redirect.github.com/rollup/rollup/issues/6411">#6411</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6411">#6411</a>:
Skip side-effect-free external imports when hoisting is disabled (<a
href="https://github.com/morgan-coded"><code>@​morgan-coded</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6416">#6416</a>:
refactor(rust/parser_ast): extract property AstConverter write buffer
kind logic to new method (<a
href="https://github.com/fabianbernhart"><code>@​fabianbernhart</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rollup/rollup/commit/a80a1974c584bfa8b694fb5d1a20f3fa75ebaf0a"><code>a80a197</code></a>
4.62.3</li>
<li><a
href="https://github.com/rollup/rollup/commit/e87e19b31e87a1dd6a749a6c11afe4cb9183cf8d"><code>e87e19b</code></a>
Update audit resolve</li>
<li><a
href="https://github.com/rollup/rollup/commit/72f98e99228ad90a8e13d79709c009a827a4ef34"><code>72f98e9</code></a>
Fix build:docs after rollup update (<a
href="https://redirect.github.com/rollup/rollup/issues/6460">#6460</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/e3821cd714d4b1498b9c2d8c3070c9ff8febd7e4"><code>e3821cd</code></a>
fix: make isLegal idempotent by not using a global-flag regex (<a
href="https://redirect.github.com/rollup/rollup/issues/6432">#6432</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/db0c477a34a5b160c04cd52840f7ded8f57c446f"><code>db0c477</code></a>
Sanitize input base before computing preserved module chunk names (<a
href="https://redirect.github.com/rollup/rollup/issues/6439">#6439</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/a65f21ce941523761497810e4727ec6d1101a618"><code>a65f21c</code></a>
chore(deps): update dependency magic-string to v1 (<a
href="https://redirect.github.com/rollup/rollup/issues/6457">#6457</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/a43aae4c0c703dbd4e167345da6c9d41eafe48e6"><code>a43aae4</code></a>
docs: fix broken commonjs namedExports link in troubleshooting (<a
href="https://redirect.github.com/rollup/rollup/issues/6455">#6455</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/41c28d7db566c501c2a0a0588407aa6e86bb0ea9"><code>41c28d7</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6459">#6459</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/894136eb13ef629bc0b6324e88cfc26c65a6d88b"><code>894136e</code></a>
chore(deps): update dtolnay/rust-toolchain digest to 4cda84d (<a
href="https://redirect.github.com/rollup/rollup/issues/6446">#6446</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/fad0ba38db5793b730eb6e44483e3cec7c5f2f15"><code>fad0ba3</code></a>
fix(deps): update swc monorepo (major) (<a
href="https://redirect.github.com/rollup/rollup/issues/6458">#6458</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rollup/rollup/compare/v4.59.0...v4.62.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest` from 4.1.9 to 4.1.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Check fs access in builtin commands
[backport to v4]  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>OpenCode
(claude-opus-4-8)</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10680">vitest-dev/vitest#10680</a>
<a href="https://github.com/vitest-dev/vitest/commit/5c18dd267"><!-- raw
HTML omitted -->(5c18d)<!-- raw HTML omitted --></a></li>
<li><strong>vm</strong>: Fix external module resolve error with deps
optimizer query for encoded URI [backport to v4]  -  by <a
href="https://github.com/SveLil"><code>@​SveLil</code></a> and <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10661">vitest-dev/vitest#10661</a>
<a href="https://github.com/vitest-dev/vitest/commit/bae52b511"><!-- raw
HTML omitted -->(bae52)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-dev/vitest/commit/db616d227b6e0cb07a94f5d1bba262ee95db7e46"><code>db616d2</code></a>
chore: release v4.1.10 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10718">#10718</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/bae52b5112a6fd8200101b88bf8af9685d077295"><code>bae52b5</code></a>
fix(vm): fix external module resolve error with deps optimizer query for
enco...</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/vitest">compare
view</a></li>
</ul>
</details>
<br />

Updates `@vitest/browser-playwright` from 4.1.9 to 4.1.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">@​vitest/browser-playwright's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Check fs access in builtin commands
[backport to v4]  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>OpenCode
(claude-opus-4-8)</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10680">vitest-dev/vitest#10680</a>
<a href="https://github.com/vitest-dev/vitest/commit/5c18dd267"><!-- raw
HTML omitted -->(5c18d)<!-- raw HTML omitted --></a></li>
<li><strong>vm</strong>: Fix external module resolve error with deps
optimizer query for encoded URI [backport to v4]  -  by <a
href="https://github.com/SveLil"><code>@​SveLil</code></a> and <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10661">vitest-dev/vitest#10661</a>
<a href="https://github.com/vitest-dev/vitest/commit/bae52b511"><!-- raw
HTML omitted -->(bae52)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-dev/vitest/commit/db616d227b6e0cb07a94f5d1bba262ee95db7e46"><code>db616d2</code></a>
chore: release v4.1.10 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright/issues/10718">#10718</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/5c18dd267ff7f47f24cab2f615a16b37d90feb7f"><code>5c18dd2</code></a>
fix(browser): check fs access in builtin commands [backport to v4] (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright/issues/10680">#10680</a>)</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/browser-playwright">compare
view</a></li>
</ul>
</details>
<br />

Updates `@vitest/browser-webdriverio` from 4.1.9 to 4.1.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">@​vitest/browser-webdriverio's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Check fs access in builtin commands
[backport to v4]  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>OpenCode
(claude-opus-4-8)</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10680">vitest-dev/vitest#10680</a>
<a href="https://github.com/vitest-dev/vitest/commit/5c18dd267"><!-- raw
HTML omitted -->(5c18d)<!-- raw HTML omitted --></a></li>
<li><strong>vm</strong>: Fix external module resolve error with deps
optimizer query for encoded URI [backport to v4]  -  by <a
href="https://github.com/SveLil"><code>@​SveLil</code></a> and <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10661">vitest-dev/vitest#10661</a>
<a href="https://github.com/vitest-dev/vitest/commit/bae52b511"><!-- raw
HTML omitted -->(bae52)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-dev/vitest/commit/db616d227b6e0cb07a94f5d1bba262ee95db7e46"><code>db616d2</code></a>
chore: release v4.1.10 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-webdriverio/issues/10718">#10718</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/5c18dd267ff7f47f24cab2f615a16b37d90feb7f"><code>5c18dd2</code></a>
fix(browser): check fs access in builtin commands [backport to v4] (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-webdriverio/issues/10680">#10680</a>)</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/browser-webdriverio">compare
view</a></li>
</ul>
</details>
<br />

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: langsmith-fleet[bot] <langsmith-fleet[bot]@users.noreply.github.com>
2026-08-03 15:49:15 -07:00
ostapondo 92dcaaf60f fix(api): widen the scheduled-run window in the in-flight cancel test (#2649)
Fixes #2648.

`update state while run in flight` schedules a run 2 seconds out and
assumes the create, update-state, and cancel round trips finish inside
that window. Since the GitHub runners moved to Node 26.5.1 (undici
8.9.0), client-side fetch dispatch under the suite's concurrent load can
stall ~1.5s, the cancel misses the window, and the run ends `"error"`
instead of `"interrupted"` — every CI run since Aug 1 is red on 26.x.
Full analysis with the undici A/B and `diagnostics_channel` trace is in
the issue.

Scheduling the run 5 seconds out fits the sequence even with slow
dispatch. The happy path cancels the run before it starts, so the test's
duration is unchanged.

Verified locally on unmodified logic: 3/3 failing runs on Node 26.5.1
before the change, 3/3 green after, still green on 26.5.0.

Not covered: the underlying undici 8.8.0 dispatch regression (needs a
standalone repro before an upstream report) and the question of whether
cancelling an already-running run should end it as `"interrupted"` —
both noted in the issue.
2026-08-03 15:46:56 -07:00
dependabot[bot] 07ba620415 chore(deps-dev): bump the svelte group across 1 directory with 3 updates (#2618)
Bumps the svelte group with 3 updates in the / directory:
[@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte),
[svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)
and
[vitest-browser-svelte](https://github.com/vitest-community/vitest-browser-svelte).

Updates `@sveltejs/vite-plugin-svelte` from 7.1.2 to 7.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/vite-plugin-svelte/releases">@​sveltejs/vite-plugin-svelte's
releases</a>.</em></p>
<blockquote>
<h2><code>@​sveltejs/vite-plugin-svelte</code><a
href="https://github.com/7"><code>@​7</code></a>.2.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>feat(inspector): add a context menu with current component stack (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1370">#1370</a>)</li>
</ul>
<h2><code>@​sveltejs/vite-plugin-svelte</code><a
href="https://github.com/7"><code>@​7</code></a>.1.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: enforce ltr styles for inspector (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1324">#1324</a>)</li>
</ul>
<h2><code>@​sveltejs/vite-plugin-svelte</code><a
href="https://github.com/7"><code>@​7</code></a>.1.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: ensure the inspector is injected into the client correctly for
Vite+ projects (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1355">#1355</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md">@​sveltejs/vite-plugin-svelte's
changelog</a>.</em></p>
<blockquote>
<h2>7.2.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>feat(inspector): add a context menu with current component stack (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1370">#1370</a>)</li>
</ul>
<h2>7.1.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: enforce ltr styles for inspector (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1324">#1324</a>)</li>
</ul>
<h2>7.1.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: ensure the inspector is injected into the client correctly for
Vite+ projects (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1355">#1355</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/02981fd9bb395b6aa5453e2bc3166778ae71e326"><code>02981fd</code></a>
Version Packages (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1371">#1371</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/4158aa2da85af8362364844548a9ba6787111719"><code>4158aa2</code></a>
feat: context menu with component stack (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1370">#1370</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/c867a3ac277a61d8f398c21fc561fd33e8970e15"><code>c867a3a</code></a>
Version Packages (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1368">#1368</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/dbdb2552c0d050178f1d89dfb0ae5fa98d5c2f2b"><code>dbdb255</code></a>
fix: inspector rtl host styles (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1324">#1324</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/694bc9585e65e047cc12f4fa875bd3a56281302f"><code>694bc95</code></a>
chore(deps): update dependency typescript to v6 (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1315">#1315</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/9281816ffb8ac12a29f2195e27cd6473b782f950"><code>9281816</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1365">#1365</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/02d370d6741c3d439329163acf0ba43974ad5141"><code>02d370d</code></a>
Version Packages (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1361">#1361</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/3b581de58debac3784f27bf2d5613ef438335156"><code>3b581de</code></a>
Revert &quot;feat: support <code>.svelte.mjs</code> and
<code>.svelte.mts</code> files&quot; (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1366">#1366</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/5545e1aac9c7bfcc068ae3fb65c47f7898da2e58"><code>5545e1a</code></a>
feat: support <code>.svelte.mjs</code> and <code>.svelte.mts</code>
files (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1293">#1293</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/2cb977e28defa5324ee696b1cb234c6c7086730b"><code>2cb977e</code></a>
fix(inspector): activate under Vite+ by matching its client module path
(<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1355">#1355</a>)</li>
<li>See full diff in <a
href="https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@7.2.0/packages/vite-plugin-svelte">compare
view</a></li>
</ul>
</details>
<br />

Updates `svelte` from 5.56.4 to 5.56.7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/svelte/releases">svelte's
releases</a>.</em></p>
<blockquote>
<h2>svelte@5.56.7</h2>
<h3>Patch Changes</h3>
<ul>
<li>chore: provide <code>indent</code> option for <code>print</code> (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18474">#18474</a>)</li>
</ul>
<h2>svelte@5.56.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>perf: skip unnecessary blocker analysis when compiling components
without top-level await (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18548">#18548</a>)</p>
</li>
<li>
<p>fix: rerun derived that had an abort controller on reconnection (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18551">#18551</a>)</p>
</li>
</ul>
<h2>svelte@5.56.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>chore: drop dead code that make TSGO fail (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18496">#18496</a>)</p>
</li>
<li>
<p>fix: don't (re)connect deriveds when read inside branch/root effects
(<a
href="https://redirect.github.com/sveltejs/svelte/pull/18527">#18527</a>)</p>
</li>
<li>
<p>fix: skip unnecessary derived effect in earlier batch (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18525">#18525</a>)</p>
</li>
<li>
<p>fix: avoid declaration tag warning in event handlers (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18500">#18500</a>)</p>
</li>
<li>
<p>fix: abort deriveds own AbortSignal when it disconnects (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18400">#18400</a>)</p>
</li>
<li>
<p>fix: ensure <code>$state.eager()</code> is correctly transormed for
SSR output (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18530">#18530</a>)</p>
</li>
<li>
<p>fix: correctly transform declaration tags during SSR (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18492">#18492</a>)</p>
</li>
<li>
<p>fix: transform computed keys in keyed <code>{#each}</code>
destructuring patterns (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18521">#18521</a>)</p>
</li>
<li>
<p>fix: chain preprocessor sourcemaps with an empty
<code>sources[0]</code> instead of dropping them (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18518">#18518</a>)</p>
</li>
<li>
<p>fix: clear previous_task reference after abort in Tween to prevent
memory leak on interrupted tweens (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18541">#18541</a>)</p>
</li>
<li>
<p>fix: don't treat declaration tags as parts inside each blocks (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18507">#18507</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md">svelte's
changelog</a>.</em></p>
<blockquote>
<h2>5.56.7</h2>
<h3>Patch Changes</h3>
<ul>
<li>chore: provide <code>indent</code> option for <code>print</code> (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18474">#18474</a>)</li>
</ul>
<h2>5.56.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>perf: skip unnecessary blocker analysis when compiling components
without top-level await (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18548">#18548</a>)</p>
</li>
<li>
<p>fix: rerun derived that had an abort controller on reconnection (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18551">#18551</a>)</p>
</li>
</ul>
<h2>5.56.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>chore: drop dead code that make TSGO fail (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18496">#18496</a>)</p>
</li>
<li>
<p>fix: don't (re)connect deriveds when read inside branch/root effects
(<a
href="https://redirect.github.com/sveltejs/svelte/pull/18527">#18527</a>)</p>
</li>
<li>
<p>fix: skip unnecessary derived effect in earlier batch (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18525">#18525</a>)</p>
</li>
<li>
<p>fix: avoid declaration tag warning in event handlers (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18500">#18500</a>)</p>
</li>
<li>
<p>fix: abort deriveds own AbortSignal when it disconnects (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18400">#18400</a>)</p>
</li>
<li>
<p>fix: ensure <code>$state.eager()</code> is correctly transormed for
SSR output (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18530">#18530</a>)</p>
</li>
<li>
<p>fix: correctly transform declaration tags during SSR (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18492">#18492</a>)</p>
</li>
<li>
<p>fix: transform computed keys in keyed <code>{#each}</code>
destructuring patterns (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18521">#18521</a>)</p>
</li>
<li>
<p>fix: chain preprocessor sourcemaps with an empty
<code>sources[0]</code> instead of dropping them (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18518">#18518</a>)</p>
</li>
<li>
<p>fix: clear previous_task reference after abort in Tween to prevent
memory leak on interrupted tweens (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18541">#18541</a>)</p>
</li>
<li>
<p>fix: don't treat declaration tags as parts inside each blocks (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18507">#18507</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/svelte/commit/b29d7002ecf9bc0036b18647c0b7677a7cb0a914"><code>b29d700</code></a>
Version Packages (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18560">#18560</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/b791cac54e2db43317f2bc6c8e41e694245c551e"><code>b791cac</code></a>
chore: provide <code>indent</code> option for <code>print</code> (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18474">#18474</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/4a6a85b5f149cc96514ed3bf5e59083b9246d394"><code>4a6a85b</code></a>
Version Packages (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18552">#18552</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/d0dbe1a48013b9c405b518511f8330baf3a27bc9"><code>d0dbe1a</code></a>
perf: skip quadratic blocker analysis when no top-level await (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18548">#18548</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/22e0adb75a07442015feb0465cee1d3a61729e90"><code>22e0adb</code></a>
fix: rerun derived that had an abort controller on reconnection (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18551">#18551</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/602a873b6b82bba4e6edc91b039e2f6defbe3fc4"><code>602a873</code></a>
Version Packages (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18497">#18497</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/a4fd67e361914df612ae432ff75283c2d332ae18"><code>a4fd67e</code></a>
fix: $state.eager() is sometimes incorrect in SSR (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18530">#18530</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/199ffebca375b29b65fcac53fc1825b452175a53"><code>199ffeb</code></a>
fix: clear previous_task reference after abort in Tween (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18541">#18541</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/edeef1f9f713ab1ffdba698ff6d92cce8da1c5b4"><code>edeef1f</code></a>
chore: add some failing tests (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18528">#18528</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/a91b0687866c8b2f78692010702bb811bf27b9a8"><code>a91b068</code></a>
fix: abort deriveds own AbortSignal when it disconnects (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18400">#18400</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/sveltejs/svelte/commits/svelte@5.56.7/packages/svelte">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest-browser-svelte` from 2.2.0 to 3.0.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-community/vitest-browser-svelte/releases">vitest-browser-svelte's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h3>   🚨 Breaking Changes</h3>
<ul>
<li>Make render async-only  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> and
<strong>Codex</strong> in <a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/29">vitest-community/vitest-browser-svelte#29</a>
<a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/fbd5d33"><!--
raw HTML omitted -->(fbd5d)<!-- raw HTML omitted --></a></li>
</ul>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Ensure all <code>pure</code> exports are re-exported  -  by <a
href="https://github.com/mcous"><code>@​mcous</code></a> in <a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/42">vitest-community/vitest-browser-svelte#42</a>
<a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/25afcc8"><!--
raw HTML omitted -->(25afc)<!-- raw HTML omitted --></a></li>
<li><strong>types</strong>: Export <code>RenderResult</code>  -  by <a
href="https://github.com/Jungzl"><code>@​Jungzl</code></a> in <a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/40">vitest-community/vitest-browser-svelte#40</a>
<a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/2555e88"><!--
raw HTML omitted -->(2555e)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-community/vitest-browser-svelte/compare/v2.2.1...v3.0.0">View
changes on GitHub</a></h5>
<h2>v2.2.1</h2>
<p><em>No significant changes</em></p>
<h5>    <a
href="https://github.com/vitest-community/vitest-browser-svelte/compare/v2.2.0...v2.2.1">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/544765466f25f4a2d63935f7f33f7e027eb495ff"><code>5447654</code></a>
chore: release v3.0.0 (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/43">#43</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/fbd5d3309acc621a42a65f48d3764359ec3b2017"><code>fbd5d33</code></a>
feat!: make render async-only (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/29">#29</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/25afcc8603221944a35bc99fbb0d811acb229100"><code>25afcc8</code></a>
fix: ensure all <code>pure</code> exports are re-exported (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/42">#42</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/8500e8f051830d5514a634c6e625aefad757d695"><code>8500e8f</code></a>
refactor(types): remove JSDoc type comments (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/41">#41</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/2555e884d659e47124e18efb4a3b565b9e64c992"><code>2555e88</code></a>
fix(types): export <code>RenderResult</code> (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/40">#40</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/878bd966f78d8ef962098d0536d28099dfa606db"><code>878bd96</code></a>
chore: release v2.2.1 (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/39">#39</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/20c97e63dc8ef0190afb043ad6e62d7775eebe3d"><code>20c97e6</code></a>
build: switch from JSDoc to TypeScript (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/34">#34</a>)</li>
<li>See full diff in <a
href="https://github.com/vitest-community/vitest-browser-svelte/compare/v2.2.0...v3.0.0">compare
view</a></li>
</ul>
</details>
<br />

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Kennedy <jkennedyvz@users.noreply.github.com>
2026-07-24 14:44:02 -07:00
dependabot[bot] b508ae1edc chore(deps): bump @hono/node-server from 2.0.10 to 2.0.11 (#2629)
Bumps [@hono/node-server](https://github.com/honojs/node-server) from
2.0.10 to 2.0.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/honojs/node-server/releases">@​hono/node-server's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.11</h2>
<h2>What's Changed</h2>
<ul>
<li>test: use a custom helper for path traversal tests by <a
href="https://github.com/BlankParticle"><code>@​BlankParticle</code></a>
in <a
href="https://redirect.github.com/honojs/node-server/pull/377">honojs/node-server#377</a></li>
<li>perf(request): fast-path QUERY methods by <a
href="https://github.com/usualoma"><code>@​usualoma</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/376">honojs/node-server#376</a></li>
<li>perf(request): fast-path PATCH method by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/380">honojs/node-server#380</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/node-server/compare/v2.0.10...v2.0.11">https://github.com/honojs/node-server/compare/v2.0.10...v2.0.11</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/honojs/node-server/commit/834e54f15cf12b80cf82823c845b2bab41056cf0"><code>834e54f</code></a>
2.0.11</li>
<li><a
href="https://github.com/honojs/node-server/commit/ba72bcd8c563fbe1e9678e7ef27794a0aa4a6158"><code>ba72bcd</code></a>
perf(request): fast-path PATCH method (<a
href="https://redirect.github.com/honojs/node-server/issues/380">#380</a>)</li>
<li><a
href="https://github.com/honojs/node-server/commit/962baa463879da394008f27510d68dc90b640e99"><code>962baa4</code></a>
perf(request): fast-path QUERY methods (<a
href="https://redirect.github.com/honojs/node-server/issues/376">#376</a>)</li>
<li><a
href="https://github.com/honojs/node-server/commit/62284d659380cb0354510d0359c160c8d970764d"><code>62284d6</code></a>
test: use a custom helper for path traversal tests (<a
href="https://redirect.github.com/honojs/node-server/issues/377">#377</a>)</li>
<li>See full diff in <a
href="https://github.com/honojs/node-server/compare/v2.0.10...v2.0.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@hono/node-server&package-manager=npm_and_yarn&previous-version=2.0.10&new-version=2.0.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraphjs/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 18:23:24 +00:00
dependabot[bot] 5d817d0f2e chore(deps): bump the angular group across 1 directory with 12 updates (#2617)
Bumps the angular group with 12 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
|
[@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common)
| `22.0.4` | `22.0.8` |
|
[@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler)
| `22.0.4` | `22.0.8` |
|
[@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core)
| `22.0.4` | `22.0.8` |
|
[@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms)
| `22.0.4` | `22.0.8` |
|
[@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser)
| `22.0.4` | `22.0.8` |
|
[@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router)
| `22.0.4` | `22.0.8` |
| [@angular/build](https://github.com/angular/angular-cli) | `22.0.5` |
`22.0.8` |
| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.5` |
`22.0.8` |
|
[@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli)
| `22.0.4` | `22.0.8` |
| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) |
`2.6.2` | `2.6.4` |
| [@analogjs/vitest-angular](https://github.com/analogjs/analog) |
`2.6.2` | `2.6.4` |
|
[@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic)
| `22.0.4` | `22.0.8` |


Updates `@angular/common` from 22.0.4 to 22.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/common's
releases</a>.</em></p>
<blockquote>
<h2>22.0.8</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><img
src="https://img.shields.io/badge/c0368f2278-fix-green" alt="fix -
c0368f2278" /></a></td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><img
src="https://img.shields.io/badge/8616ba9db6-fix-green" alt="fix -
8616ba9db6" /></a></td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><img
src="https://img.shields.io/badge/d302c7ab83-fix-green" alt="fix -
d302c7ab83" /></a></td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><img
src="https://img.shields.io/badge/9d40f8aefe-fix-green" alt="fix -
9d40f8aefe" /></a></td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><img
src="https://img.shields.io/badge/388daea2fc-fix-green" alt="fix -
388daea2fc" /></a></td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><img
src="https://img.shields.io/badge/bb39cda648-fix-green" alt="fix -
bb39cda648" /></a></td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<h2>22.0.7</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><img
src="https://img.shields.io/badge/91e33aa1de-fix-green" alt="fix -
91e33aa1de" /></a></td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><img
src="https://img.shields.io/badge/5b516e3a58-fix-green" alt="fix -
5b516e3a58" /></a></td>
<td>parsing of an empty template literal interpolation</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c88ddde1c9f56e3b5c5cf264e87217b86a036a58"><img
src="https://img.shields.io/badge/c88ddde1c9-fix-green" alt="fix -
c88ddde1c9" /></a></td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81"><img
src="https://img.shields.io/badge/94d9591b51-fix-green" alt="fix -
94d9591b51" /></a></td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><img
src="https://img.shields.io/badge/c89f71a74c-fix-green" alt="fix -
c89f71a74c" /></a></td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><img
src="https://img.shields.io/badge/70500e4067-fix-green" alt="fix -
70500e4067" /></a></td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><img
src="https://img.shields.io/badge/1b9964675f-fix-green" alt="fix -
1b9964675f" /></a></td>
<td>allow multiple async validators</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><img
src="https://img.shields.io/badge/64d6d47a0c-fix-green" alt="fix -
64d6d47a0c" /></a></td>
<td>preserve intermediate number values in signal forms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><img
src="https://img.shields.io/badge/6cf7446afa-fix-green" alt="fix -
6cf7446afa" /></a></td>
<td>prevent stale CVA writeback during debounce</td>
</tr>
</tbody>
</table>
<h3>http</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">@​angular/common's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.8 (2026-07-22)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4">c0368f2278</a></td>
<td>fix</td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b">8616ba9db6</a></td>
<td>fix</td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7">d302c7ab83</a></td>
<td>fix</td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2">9d40f8aefe</a></td>
<td>fix</td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846">388daea2fc</a></td>
<td>fix</td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221">bb39cda648</a></td>
<td>fix</td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.6 (2026-07-15)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185">359fb503b8</a></td>
<td>fix</td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c">da52137724</a></td>
<td>fix</td>
<td>parsing of an empty template literal interpolation</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194">5bd00add07</a></td>
<td>fix</td>
<td>support foreign components inside control flow blocks (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</a>)</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049">2e442f7876</a></td>
<td>perf</td>
<td>do not emit tag name when control flow root is foreign component (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</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="https://github.com/angular/angular/commit/ae0ec7315c6fbc45ce40581a08a8243a008a91ec">ae0ec7315c</a></td>
<td>fix</td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38">9b9b0e93c9</a></td>
<td>fix</td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34">68ac204074</a></td>
<td>fix</td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41">0ae6d81ed2</a></td>
<td>fix</td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><code>c0368f2</code></a>
fix(common): preserve crossorigin on image preloads</li>
<li><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><code>9d40f8a</code></a>
fix(http): prevent transfer cache key collisions</li>
<li><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><code>91e33aa</code></a>
fix(common): avoid prototype lookups in date format caches</li>
<li><a
href="https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23"><code>20b7dc3</code></a>
fix(http): prevent interceptor signal reads from leaking into calling
reactiv...</li>
<li><a
href="https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a"><code>748faa4</code></a>
docs(docs-infra): Add build-time validation for API and guide links
using rou...</li>
<li><a
href="https://github.com/angular/angular/commit/8e6d7f71906e35181577b9e66474695ba3077599"><code>8e6d7f7</code></a>
fix(router): use safe hasOwnProperty when parsing query params</li>
<li><a
href="https://github.com/angular/angular/commit/eb8fb9fe58687fe0f341dc3beb5d0fb469605179"><code>eb8fb9f</code></a>
fix(common): use Object.hasOwn in I18nSelectPipe to handle
null-prototype and...</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.8/packages/common">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/compiler` from 22.0.4 to 22.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/compiler's
releases</a>.</em></p>
<blockquote>
<h2>22.0.8</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><img
src="https://img.shields.io/badge/c0368f2278-fix-green" alt="fix -
c0368f2278" /></a></td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><img
src="https://img.shields.io/badge/8616ba9db6-fix-green" alt="fix -
8616ba9db6" /></a></td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><img
src="https://img.shields.io/badge/d302c7ab83-fix-green" alt="fix -
d302c7ab83" /></a></td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><img
src="https://img.shields.io/badge/9d40f8aefe-fix-green" alt="fix -
9d40f8aefe" /></a></td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><img
src="https://img.shields.io/badge/388daea2fc-fix-green" alt="fix -
388daea2fc" /></a></td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><img
src="https://img.shields.io/badge/bb39cda648-fix-green" alt="fix -
bb39cda648" /></a></td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<h2>22.0.7</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><img
src="https://img.shields.io/badge/91e33aa1de-fix-green" alt="fix -
91e33aa1de" /></a></td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><img
src="https://img.shields.io/badge/5b516e3a58-fix-green" alt="fix -
5b516e3a58" /></a></td>
<td>parsing of an empty template literal interpolation</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c88ddde1c9f56e3b5c5cf264e87217b86a036a58"><img
src="https://img.shields.io/badge/c88ddde1c9-fix-green" alt="fix -
c88ddde1c9" /></a></td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81"><img
src="https://img.shields.io/badge/94d9591b51-fix-green" alt="fix -
94d9591b51" /></a></td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><img
src="https://img.shields.io/badge/c89f71a74c-fix-green" alt="fix -
c89f71a74c" /></a></td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><img
src="https://img.shields.io/badge/70500e4067-fix-green" alt="fix -
70500e4067" /></a></td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><img
src="https://img.shields.io/badge/1b9964675f-fix-green" alt="fix -
1b9964675f" /></a></td>
<td>allow multiple async validators</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><img
src="https://img.shields.io/badge/64d6d47a0c-fix-green" alt="fix -
64d6d47a0c" /></a></td>
<td>preserve intermediate number values in signal forms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><img
src="https://img.shields.io/badge/6cf7446afa-fix-green" alt="fix -
6cf7446afa" /></a></td>
<td>prevent stale CVA writeback during debounce</td>
</tr>
</tbody>
</table>
<h3>http</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">@​angular/compiler's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.8 (2026-07-22)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4">c0368f2278</a></td>
<td>fix</td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b">8616ba9db6</a></td>
<td>fix</td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7">d302c7ab83</a></td>
<td>fix</td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2">9d40f8aefe</a></td>
<td>fix</td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846">388daea2fc</a></td>
<td>fix</td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221">bb39cda648</a></td>
<td>fix</td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.6 (2026-07-15)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185">359fb503b8</a></td>
<td>fix</td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c">da52137724</a></td>
<td>fix</td>
<td>parsing of an empty template literal interpolation</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194">5bd00add07</a></td>
<td>fix</td>
<td>support foreign components inside control flow blocks (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</a>)</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049">2e442f7876</a></td>
<td>perf</td>
<td>do not emit tag name when control flow root is foreign component (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</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="https://github.com/angular/angular/commit/ae0ec7315c6fbc45ce40581a08a8243a008a91ec">ae0ec7315c</a></td>
<td>fix</td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38">9b9b0e93c9</a></td>
<td>fix</td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34">68ac204074</a></td>
<td>fix</td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41">0ae6d81ed2</a></td>
<td>fix</td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/3854174ec4a25e21abaef4ddd9d968a5b46fc832"><code>3854174</code></a>
refactor(compiler): enforce exhaustive defer trigger handling</li>
<li><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><code>c89f71a</code></a>
fix(core): ignore processing instruction syntax in templates</li>
<li><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><code>5b516e3</code></a>
fix(compiler): parsing of an empty template literal interpolation</li>
<li><a
href="https://github.com/angular/angular/commit/fd4ddcafed340dbc116df9718f03ee9e16c41c18"><code>fd4ddca</code></a>
fix(compiler): use regular optional chaining expression for safe
function cal...</li>
<li><a
href="https://github.com/angular/angular/commit/b5ea3408ce1414c5c93a4d252a298e1ef18f447e"><code>b5ea340</code></a>
refactor(compiler): remove <code>visitAttributeComment</code></li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.8/packages/compiler">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/core` from 22.0.4 to 22.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/core's
releases</a>.</em></p>
<blockquote>
<h2>22.0.8</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><img
src="https://img.shields.io/badge/c0368f2278-fix-green" alt="fix -
c0368f2278" /></a></td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><img
src="https://img.shields.io/badge/8616ba9db6-fix-green" alt="fix -
8616ba9db6" /></a></td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><img
src="https://img.shields.io/badge/d302c7ab83-fix-green" alt="fix -
d302c7ab83" /></a></td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><img
src="https://img.shields.io/badge/9d40f8aefe-fix-green" alt="fix -
9d40f8aefe" /></a></td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><img
src="https://img.shields.io/badge/388daea2fc-fix-green" alt="fix -
388daea2fc" /></a></td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><img
src="https://img.shields.io/badge/bb39cda648-fix-green" alt="fix -
bb39cda648" /></a></td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<h2>22.0.7</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><img
src="https://img.shields.io/badge/91e33aa1de-fix-green" alt="fix -
91e33aa1de" /></a></td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><img
src="https://img.shields.io/badge/5b516e3a58-fix-green" alt="fix -
5b516e3a58" /></a></td>
<td>parsing of an empty template literal interpolation</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c88ddde1c9f56e3b5c5cf264e87217b86a036a58"><img
src="https://img.shields.io/badge/c88ddde1c9-fix-green" alt="fix -
c88ddde1c9" /></a></td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81"><img
src="https://img.shields.io/badge/94d9591b51-fix-green" alt="fix -
94d9591b51" /></a></td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><img
src="https://img.shields.io/badge/c89f71a74c-fix-green" alt="fix -
c89f71a74c" /></a></td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><img
src="https://img.shields.io/badge/70500e4067-fix-green" alt="fix -
70500e4067" /></a></td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><img
src="https://img.shields.io/badge/1b9964675f-fix-green" alt="fix -
1b9964675f" /></a></td>
<td>allow multiple async validators</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><img
src="https://img.shields.io/badge/64d6d47a0c-fix-green" alt="fix -
64d6d47a0c" /></a></td>
<td>preserve intermediate number values in signal forms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><img
src="https://img.shields.io/badge/6cf7446afa-fix-green" alt="fix -
6cf7446afa" /></a></td>
<td>prevent stale CVA writeback during debounce</td>
</tr>
</tbody>
</table>
<h3>http</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">@​angular/core's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.8 (2026-07-22)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4">c0368f2278</a></td>
<td>fix</td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b">8616ba9db6</a></td>
<td>fix</td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7">d302c7ab83</a></td>
<td>fix</td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2">9d40f8aefe</a></td>
<td>fix</td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846">388daea2fc</a></td>
<td>fix</td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221">bb39cda648</a></td>
<td>fix</td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.6 (2026-07-15)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185">359fb503b8</a></td>
<td>fix</td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c">da52137724</a></td>
<td>fix</td>
<td>parsing of an empty template literal interpolation</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194">5bd00add07</a></td>
<td>fix</td>
<td>support foreign components inside control flow blocks (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</a>)</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049">2e442f7876</a></td>
<td>perf</td>
<td>do not emit tag name when control flow root is foreign component (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</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="https://github.com/angular/angular/commit/ae0ec7315c6fbc45ce40581a08a8243a008a91ec">ae0ec7315c</a></td>
<td>fix</td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38">9b9b0e93c9</a></td>
<td>fix</td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34">68ac204074</a></td>
<td>fix</td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41">0ae6d81ed2</a></td>
<td>fix</td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><code>388daea</code></a>
fix(migrations): correctly migrate ngClass with mixed space-separated
keys</li>
<li><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><code>8616ba9</code></a>
fix(core): ensure SVG animation attributeName is checked
case-insensitively</li>
<li><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><code>bb39cda</code></a>
fix(migrations): preserve NgClass import on partial migration</li>
<li><a
href="https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26"><code>829d98e</code></a>
build: update cross-repo angular dependencies to v22.0.7</li>
<li><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><code>70500e4</code></a>
fix(core): preserve explicit input transform write type</li>
<li><a
href="https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb"><code>e881b96</code></a>
refactor(core): move signal debug graph interfaces to
primitives/devtools</li>
<li><a
href="https://github.com/angular/angular/commit/1046fd9e56b607ddc3f22ffd86af7c3bddec40ce"><code>1046fd9</code></a>
refactor(core): remove deprecated <code>unregisterTool</code> from
<code>ModelContext</code></li>
<li><a
href="https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98"><code>5936ffb</code></a>
refactor(core): update WebMCP tool registration to be asynchronous</li>
<li><a
href="https://github.com/angular/angular/commit/c82ae67e3d866daea488c9cb312c45bbb19c7b33"><code>c82ae67</code></a>
Revert &quot;fix(core): allow static attributes for explicit input
transforms&quot;</li>
<li><a
href="https://github.com/angular/angular/commit/ec9b4793e88828257cae38ac75b8e1c5392022ff"><code>ec9b479</code></a>
build: update cross-repo angular dependencies</li>
<li>Additional commits viewable in <a
href="https://github.com/angular/angular/commits/v22.0.8/packages/core">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/forms` from 22.0.4 to 22.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/forms's
releases</a>.</em></p>
<blockquote>
<h2>22.0.8</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><img
src="https://img.shields.io/badge/c0368f2278-fix-green" alt="fix -
c0368f2278" /></a></td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><img
src="https://img.shields.io/badge/8616ba9db6-fix-green" alt="fix -
8616ba9db6" /></a></td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><img
src="https://img.shields.io/badge/d302c7ab83-fix-green" alt="fix -
d302c7ab83" /></a></td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><img
src="https://img.shields.io/badge/9d40f8aefe-fix-green" alt="fix -
9d40f8aefe" /></a></td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><img
src="https://img.shields.io/badge/388daea2fc-fix-green" alt="fix -
388daea2fc" /></a></td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><img
src="https://img.shields.io/badge/bb39cda648-fix-green" alt="fix -
bb39cda648" /></a></td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<h2>22.0.7</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><img
src="https://img.shields.io/badge/91e33aa1de-fix-green" alt="fix -
91e33aa1de" /></a></td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><img
src="https://img.shields.io/badge/5b516e3a58-fix-green" alt="fix -
5b516e3a58" /></a></td>
<td>parsing of an empty template literal interpolation</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c88ddde1c9f56e3b5c5cf264e87217b86a036a58"><img
src="https://img.shields.io/badge/c88ddde1c9-fix-green" alt="fix -
c88ddde1c9" /></a></td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81"><img
src="https://img.shields.io/badge/94d9591b51-fix-green" alt="fix -
94d9591b51" /></a></td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><img
src="https://img.shields.io/badge/c89f71a74c-fix-green" alt="fix -
c89f71a74c" /></a></td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><img
src="https://img.shields.io/badge/70500e4067-fix-green" alt="fix -
70500e4067" /></a></td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><img
src="https://img.shields.io/badge/1b9964675f-fix-green" alt="fix -
1b9964675f" /></a></td>
<td>allow multiple async validators</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><img
src="https://img.shields.io/badge/64d6d47a0c-fix-green" alt="fix -
64d6d47a0c" /></a></td>
<td>preserve intermediate number values in signal forms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><img
src="https://img.shields.io/badge/6cf7446afa-fix-green" alt="fix -
6cf7446afa" /></a></td>
<td>prevent stale CVA writeback during debounce</td>
</tr>
</tbody>
</table>
<h3>http</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">@​angular/forms's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.8 (2026-07-22)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4">c0368f2278</a></td>
<td>fix</td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b">8616ba9db6</a></td>
<td>fix</td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7">d302c7ab83</a></td>
<td>fix</td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2">9d40f8aefe</a></td>
<td>fix</td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846">388daea2fc</a></td>
<td>fix</td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221">bb39cda648</a></td>
<td>fix</td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.6 (2026-07-15)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185">359fb503b8</a></td>
<td>fix</td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c">da52137724</a></td>
<td>fix</td>
<td>parsing of an empty template literal interpolation</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194">5bd00add07</a></td>
<td>fix</td>
<td>support foreign components inside control flow blocks (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</a>)</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049">2e442f7876</a></td>
<td>perf</td>
<td>do not emit tag name when control flow root is foreign component (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</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="https://github.com/angular/angular/commit/ae0ec7315c6fbc45ce40581a08a8243a008a91ec">ae0ec7315c</a></td>
<td>fix</td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38">9b9b0e93c9</a></td>
<td>fix</td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34">68ac204074</a></td>
<td>fix</td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41">0ae6d81ed2</a></td>
<td>fix</td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><code>d302c7a</code></a>
fix(forms): ensure <code>pending</code> status propagates to the root
form in signal forms</li>
<li><a
href="https://github.com/angular/angular/commit/e14ead1093a40200bc1bd4162611dcb9862fc714"><code>e14ead1</code></a>
Revert &quot;fix(forms): preserve intermediate number values in signal
forms&quot;</li>
<li><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><code>64d6d47</code></a>
fix(forms): preserve intermediate number values in signal forms</li>
<li><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><code>70500e4</code></a>
fix(core): preserve explicit input transform write type</li>
<li><a
href="https://github.com/angular/angular/commit/a6174d5900570ec0ce72683438bdbbc39158f96d"><code>a6174d5</code></a>
refactor(forms): warn when a text input receives a null value in Signal
Forms</li>
<li><a
href="https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98"><code>5936ffb</code></a>
refactor(core): update WebMCP tool registration to be asynchronous</li>
<li><a
href="https://github.com/angular/angular/commit/5d06fcb1092d121a8990ef7934bfba0b599ff6f2"><code>5d06fcb</code></a>
test(forms): register writeback test control as CVA</li>
<li><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><code>6cf7446</code></a>
fix(forms): prevent stale CVA writeback during debounce</li>
<li><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><code>1b99646</code></a>
fix(forms): allow multiple async validators</li>
<li><a
href="https://github.com/angular/angular/commit/eca3395019cf019452e2d1b6eacc43555c313e2d"><code>eca3395</code></a>
removed console log</li>
<li>Additional commits viewable in <a
href="https://github.com/angular/angular/commits/v22.0.8/packages/forms">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/platform-browser` from 22.0.4 to 22.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/platform-browser's
releases</a>.</em></p>
<blockquote>
<h2>22.0.8</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><img
src="https://img.shields.io/badge/c0368f2278-fix-green" alt="fix -
c0368f2278" /></a></td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><img
src="https://img.shields.io/badge/8616ba9db6-fix-green" alt="fix -
8616ba9db6" /></a></td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><img
src="https://img.shields.io/badge/d302c7ab83-fix-green" alt="fix -
d302c7ab83" /></a></td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><img
src="https://img.shields.io/badge/9d40f8aefe-fix-green" alt="fix -
9d40f8aefe" /></a></td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><img
src="https://img.shields.io/badge/388daea2fc-fix-green" alt="fix -
388daea2fc" /></a></td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><img
src="https://img.shields.io/badge/bb39cda648-fix-green" alt="fix -
bb39cda648" /></a></td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<h2>22.0.7</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><img
src="https://img.shields.io/badge/91e33aa1de-fix-green" alt="fix -
91e33aa1de" /></a></td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><img
src="https://img.shields.io/badge/5b516e3a58-fix-green" alt="fix -
5b516e3a58" /></a></td>
<td>parsing of an empty template literal interpolation</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c88ddde1c9f56e3b5c5cf264e87217b86a036a58"><img
src="https://img.shields.io/badge/c88ddde1c9-fix-green" alt="fix -
c88ddde1c9" /></a></td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81"><img
src="https://img.shields.io/badge/94d9591b51-fix-green" alt="fix -
94d9591b51" /></a></td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><img
src="https://img.shields.io/badge/c89f71a74c-fix-green" alt="fix -
c89f71a74c" /></a></td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><img
src="https://img.shields.io/badge/70500e4067-fix-green" alt="fix -
70500e4067" /></a></td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><img
src="https://img.shields.io/badge/1b9964675f-fix-green" alt="fix -
1b9964675f" /></a></td>
<td>allow multiple async validators</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><img
src="https://img.shields.io/badge/64d6d47a0c-fix-green" alt="fix -
64d6d47a0c" /></a></td>
<td>preserve intermediate number values in signal forms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><img
src="https://img.shields.io/badge/6cf7446afa-fix-green" alt="fix -
6cf7446afa" /></a></td>
<td>prevent stale CVA writeback during debounce</td>
</tr>
</tbody>
</table>
<h3>http</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">@​angular/platform-browser's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.8 (2026-07-22)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4">c0368f2278</a></td>
<td>fix</td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b">8616ba9db6</a></td>
<td>fix</td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7">d302c7ab83</a></td>
<td>fix</td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2">9d40f8aefe</a></td>
<td>fix</td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846">388daea2fc</a></td>
<td>fix</td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221">bb39cda648</a></td>
<td>fix</td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.6 (2026-07-15)</h1>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185">359fb503b8</a></td>
<td>fix</td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c">da52137724</a></td>
<td>fix</td>
<td>parsing of an empty template literal interpolation</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194">5bd00add07</a></td>
<td>fix</td>
<td>support foreign components inside control flow blocks (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</a>)</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049">2e442f7876</a></td>
<td>perf</td>
<td>do not emit tag name when control flow root is foreign component (<a
href="https://redirect.github.com/angular/angular/pull/69674">#69674</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="https://github.com/angular/angular/commit/ae0ec7315c6fbc45ce40581a08a8243a008a91ec">ae0ec7315c</a></td>
<td>fix</td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38">9b9b0e93c9</a></td>
<td>fix</td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34">68ac204074</a></td>
<td>fix</td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41">0ae6d81ed2</a></td>
<td>fix</td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/b34bf0dce855bca3c6dfcf7e19d38b3b39288a16"><code>b34bf0d</code></a>
fix(platform-browser): prevent ReDoS in SOURCEMAP_URL_REGEXP</li>
<li><a
href="https://github.com/angular/angular/commit/ab18f5ff0bfdd7ef5f3050c1a271c1553b30f608"><code>ab18f5f</code></a>
refactor(core): cleanup Meta service</li>
<li><a
href="https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a"><code>748faa4</code></a>
docs(docs-infra): Add build-time validation for API and guide links
using rou...</li>
<li><a
href="https://github.com/angular/angular/commit/97197786b3d77154ace1c8e638c12ccc12b4610f"><code>9719778</code></a>
docs: add NG05200 error reference page for
SANITIZATION_UNSAFE_SCRIPT</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.8/packages/platform-browser">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/router` from 22.0.4 to 22.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/router's
releases</a>.</em></p>
<blockquote>
<h2>22.0.8</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c0368f227846024bb26d3628c59541e870bb36e4"><img
src="https://img.shields.io/badge/c0368f2278-fix-green" alt="fix -
c0368f2278" /></a></td>
<td>preserve crossorigin on image preloads</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b"><img
src="https://img.shields.io/badge/8616ba9db6-fix-green" alt="fix -
8616ba9db6" /></a></td>
<td>ensure SVG animation attributeName is checked
case-insensitively</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7"><img
src="https://img.shields.io/badge/d302c7ab83-fix-green" alt="fix -
d302c7ab83" /></a></td>
<td>ensure <code>pending</code> status propagates to the root form in
signal forms</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2"><img
src="https://img.shields.io/badge/9d40f8aefe-fix-green" alt="fix -
9d40f8aefe" /></a></td>
<td>prevent transfer cache key collisions</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846"><img
src="https://img.shields.io/badge/388daea2fc-fix-green" alt="fix -
388daea2fc" /></a></td>
<td>correctly migrate ngClass with mixed space-separated keys</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221"><img
src="https://img.shields.io/badge/bb39cda648-fix-green" alt="fix -
bb39cda648" /></a></td>
<td>preserve NgClass import on partial migration</td>
</tr>
</tbody>
</table>
<h2>22.0.7</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d"><img
src="https://img.shields.io/badge/91e33aa1de-fix-green" alt="fix -
91e33aa1de" /></a></td>
<td>avoid prototype lookups in date format caches</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1"><img
src="https://img.shields.io/badge/5b516e3a58-fix-green" alt="fix -
5b516e3a58" /></a></td>
<td>parsing of an empty template literal interpolation</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c88ddde1c9f56e3b5c5cf264e87217b86a036a58"><img
src="https://img.shields.io/badge/c88ddde1c9-fix-green" alt="fix -
c88ddde1c9" /></a></td>
<td>re-tag SourceFiles after TsCreateProgramDriver.updateFiles()</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81"><img
src="https://img.shields.io/badge/94d9591b51-fix-green" alt="fix -
94d9591b51" /></a></td>
<td>allow static attributes for explicit input transforms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb"><img
src="https://img.shields.io/badge/c89f71a74c-fix-green" alt="fix -
c89f71a74c" /></a></td>
<td>ignore processing instruction syntax in templates</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397"><img
src="https://img.shields.io/badge/70500e4067-fix-green" alt="fix -
70500e4067" /></a></td>
<td>preserve explicit input transform write type</td>
</tr>
</tbody>
</table>
<h3>forms</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae"><img
src="https://img.shields.io/badge/1b9964675f-fix-green" alt="fix -
1b9964675f" /></a></td>
<td>allow multiple async validators</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4"><img
src="https://img.shields.io/badge/64d6d47a0c-fix-green" alt="fix -
64d6d47a0c" /></a></td>
<td>preserve intermediate number values in signal forms</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157"><img
src="https://img.shields.io/badge/6cf7446afa-fix-green" alt="fix -
6cf7446afa" /></a></td>
<td>prevent stale CVA writeback during debounce</td>
</tr>
</tbody>
</table>
<h3>h...

_Description has been truncated_

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 11:13:54 -07:00
dependabot[bot] 708770350b chore(deps): bump @hono/node-server from 1.19.13 to 2.0.10 (#2628)
Bumps [@hono/node-server](https://github.com/honojs/node-server) from
1.19.13 to 2.0.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/honojs/node-server/releases">@​hono/node-server's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.10</h2>
<h2>Security fixes</h2>
<p>This release includes a fix for the following security issue:</p>
<h3>Unauthenticated memory-leak DoS via aborted WebSocket handshake</h3>
<p>Affects: <code>upgradeWebSocket</code>. A WebSocket upgrade request
with a missing or malformed <code>Sec-WebSocket-Key</code> header leaked
the request's <code>IncomingMessage</code> and left a promise pending,
even though no connection was established. Since the route is reachable
pre-handshake without authentication, an attacker could flood it to
gradually exhaust memory. <a
href="https://github.com/honojs/node-server/security/advisories/GHSA-9mqv-5hh9-4cgg">GHSA-9mqv-5hh9-4cgg</a></p>
<hr />
<p>Users of <code>upgradeWebSocket</code> are encouraged to upgrade to
this version.</p>
<h2>v2.0.9</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(websocket): polyfill missing ErrorEvent global by <a
href="https://github.com/otnc"><code>@​otnc</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/371">honojs/node-server#371</a></li>
<li>fix(serve-static): correct Range header parsing edge cases by <a
href="https://github.com/otnc"><code>@​otnc</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/372">honojs/node-server#372</a></li>
<li>fix: recover complete request bodies after client disconnect by <a
href="https://github.com/usualoma"><code>@​usualoma</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/375">honojs/node-server#375</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/otnc"><code>@​otnc</code></a> made their
first contribution in <a
href="https://redirect.github.com/honojs/node-server/pull/371">honojs/node-server#371</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/node-server/compare/v2.0.8...v2.0.9">https://github.com/honojs/node-server/compare/v2.0.8...v2.0.9</a></p>
<h2>v2.0.8</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(release): add <code>--no-git-checks</code> option for <code>pnpm
stage publish</code> by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/369">honojs/node-server#369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/node-server/compare/v2.0.7...v2.0.8">https://github.com/honojs/node-server/compare/v2.0.7...v2.0.8</a></p>
<h2>v2.0.7</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: migrate to pnpm by <a
href="https://github.com/BlankParticle"><code>@​BlankParticle</code></a>
in <a
href="https://redirect.github.com/honojs/node-server/pull/367">honojs/node-server#367</a></li>
<li>fix(serve-static): serve precompressed files for
application/octet-stream by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/366">honojs/node-server#366</a></li>
<li>chore: bump <code>supertest</code> by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/368">honojs/node-server#368</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/node-server/compare/v2.0.6...v2.0.7">https://github.com/honojs/node-server/compare/v2.0.6...v2.0.7</a></p>
<h2>v2.0.6</h2>
<h2>What's Changed</h2>
<ul>
<li>ci: publish to npm from CI with OIDC trusted publishing and bump
<code>np</code> by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/361">honojs/node-server#361</a></li>
<li>ci: use npm Staged publishing by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/364">honojs/node-server#364</a></li>
<li>fix: preserve status and statusText when cloning a Response with
liveheaders by <a
href="https://github.com/usualoma"><code>@​usualoma</code></a> in <a
href="https://redirect.github.com/honojs/node-server/pull/363">honojs/node-server#363</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/node-server/compare/v2.0.5...v2.0.6">https://github.com/honojs/node-server/compare/v2.0.5...v2.0.6</a></p>
<h2>v2.0.5</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/honojs/node-server/commit/7c1457ed5536c02fdd2f001129fae67bcbca54a1"><code>7c1457e</code></a>
2.0.10</li>
<li><a
href="https://github.com/honojs/node-server/commit/3a21938c418340e980cb7ffa88e78369f78392d1"><code>3a21938</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/node-server/commit/98420217e53a17a238ef1aa1a6bef0b2b70136c5"><code>9842021</code></a>
2.0.9</li>
<li><a
href="https://github.com/honojs/node-server/commit/51f3bf56f56d9691ec0f7e1562a96f0b485a7dd9"><code>51f3bf5</code></a>
fix: recover complete request bodies after client disconnect (<a
href="https://redirect.github.com/honojs/node-server/issues/375">#375</a>)</li>
<li><a
href="https://github.com/honojs/node-server/commit/fdb87badbe313cfbfe6bb2355e9893dc0698d2bd"><code>fdb87ba</code></a>
fix(serve-static): correct Range header parsing edge cases (<a
href="https://redirect.github.com/honojs/node-server/issues/372">#372</a>)</li>
<li><a
href="https://github.com/honojs/node-server/commit/912e3fd80c4311756f724bd566de1433c8d772d9"><code>912e3fd</code></a>
fix(websocket): polyfill missing ErrorEvent global (<a
href="https://redirect.github.com/honojs/node-server/issues/371">#371</a>)</li>
<li><a
href="https://github.com/honojs/node-server/commit/114c15efb38dabaf81af774ddb764409e3d156d8"><code>114c15e</code></a>
2.0.8</li>
<li><a
href="https://github.com/honojs/node-server/commit/5db2d5df662cd69ff5c4cc23b8ecb3a6f63e4e38"><code>5db2d5d</code></a>
ci(release): add <code>--no-git-checks</code> option for <code>pnpm
stage publish</code> (<a
href="https://redirect.github.com/honojs/node-server/issues/369">#369</a>)</li>
<li><a
href="https://github.com/honojs/node-server/commit/a528a77ed2c28dc12775c849abc6b6df6d4cb44c"><code>a528a77</code></a>
2.0.7</li>
<li><a
href="https://github.com/honojs/node-server/commit/b2d610c1e37a96639fbb2eae662e858800aa8906"><code>b2d610c</code></a>
chore: bump <code>supertest</code> (<a
href="https://redirect.github.com/honojs/node-server/issues/368">#368</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/honojs/node-server/compare/v1.19.13...v2.0.10">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for <code>@​hono/node-server</code> since your current
version.</p>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 13:14:43 -07:00
dependabot[bot] fa9892117d chore(deps-dev): bump @vitest/browser from 4.1.9 to 4.1.10 (#2624)
Bumps
[@vitest/browser](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser)
from 4.1.9 to 4.1.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">@​vitest/browser's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Check fs access in builtin commands
[backport to v4]  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>OpenCode
(claude-opus-4-8)</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10680">vitest-dev/vitest#10680</a>
<a href="https://github.com/vitest-dev/vitest/commit/5c18dd267"><!-- raw
HTML omitted -->(5c18d)<!-- raw HTML omitted --></a></li>
<li><strong>vm</strong>: Fix external module resolve error with deps
optimizer query for encoded URI [backport to v4]  -  by <a
href="https://github.com/SveLil"><code>@​SveLil</code></a> and <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10661">vitest-dev/vitest#10661</a>
<a href="https://github.com/vitest-dev/vitest/commit/bae52b511"><!-- raw
HTML omitted -->(bae52)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-dev/vitest/commit/db616d227b6e0cb07a94f5d1bba262ee95db7e46"><code>db616d2</code></a>
chore: release v4.1.10 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser/issues/10718">#10718</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/5c18dd267ff7f47f24cab2f615a16b37d90feb7f"><code>5c18dd2</code></a>
fix(browser): check fs access in builtin commands [backport to v4] (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser/issues/10680">#10680</a>)</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/browser">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 13:13:18 -07:00
dependabot[bot] cdffd18d19 chore(deps): bump the langchain group across 1 directory with 6 updates (#2616)
Bumps the langchain group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@langchain/core](https://github.com/langchain-ai/langchainjs) |
`1.2.1` | `1.2.3` |
| [langchain](https://github.com/langchain-ai/langchainjs) | `1.5.2` |
`1.5.3` |
| [@langchain/openai](https://github.com/langchain-ai/langchainjs) |
`1.5.3` | `1.5.5` |
| [@langchain/classic](https://github.com/langchain-ai/langchainjs) |
`1.0.38` | `1.0.40` |
| [@langchain/quickjs](https://github.com/langchain-ai/deepagentsjs) |
`0.5.1` | `0.6.0` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.0` |
`0.8.4` |


Updates `@langchain/core` from 1.2.1 to 1.2.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/core's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/core</code><a
href="https://github.com/1"><code>@​1</code></a>.2.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11200">#11200</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/08e588865927c3bf0eb2ec418cfb3fba527e14bb"><code>08e5888</code></a>
Thanks <a href="https://github.com/hntrl"><code>@​hntrl</code></a>! -
fix(aws): normalize and safely replay Bedrock reasoning blocks</p>
<p>Emit standard reasoning blocks with preserved signatures, omit
incomplete signature-only reasoning during replay, and retain
compatibility with legacy and redacted Bedrock reasoning.</p>
</li>
</ul>
<h2><code>@​langchain/core</code><a
href="https://github.com/1"><code>@​1</code></a>.2.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11171">#11171</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/82bef01ad3dd5e0317e48da40707be6bccc52f94"><code>82bef01</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- fix(core): coerce string v1 AIMessage content to text blocks</p>
<p>Prevent <code>contentBlocks.push is not a function</code> when
constructing an
<code>AIMessage</code> with <code>response_metadata.output_version ===
&quot;v1&quot;</code> and string
<code>content</code> (common in serialized LangGraph stream
payloads).</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/82a6b8ebf1a876b0ac819f2ee0ae6c6582031cb5"><code>82a6b8e</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11202">#11202</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/08e588865927c3bf0eb2ec418cfb3fba527e14bb"><code>08e5888</code></a>
fix(aws): normalize Bedrock reasoning blocks (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11200">#11200</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/21aaeb0b2ea5f526702bf6b8f7e1f6da34a21d2e"><code>21aaeb0</code></a>
fix: patch 13 high/critical Dependabot alerts (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11199">#11199</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/782c7f2b2b5c67352736686c8d124e5f85e97fd0"><code>782c7f2</code></a>
chore(dev): bump <code>@​types/node</code> from 25.9.1 to 26.1.0 in the
types group across ...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f51f338cf4dd3ba188b048b3bfa8134e9b9a64cf"><code>f51f338</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11176">#11176</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/09e7f6d3408323fee5e19fc9af277114b1e8c89d"><code>09e7f6d</code></a>
fix(openai): drop <code>tool_call</code> content blocks from chat
completions input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11">#11</a>...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/a9f123a49c1c50fd32d54fe4cb15963d21252d5d"><code>a9f123a</code></a>
fix(openai): filter out content blocks the chat completions api rejects
as in...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/cc39f564a9df18655ee4ae92de3f32e251021db8"><code>cc39f56</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11172">#11172</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/82bef01ad3dd5e0317e48da40707be6bccc52f94"><code>82bef01</code></a>
fix(core): coerce string v1 AIMessage content to text blocks (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11171">#11171</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/8a7c5f83e570c615c6b34e1234f5972dc7a2169c"><code>8a7c5f8</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11170">#11170</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/core@1.2.1...@langchain/core@1.2.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `langchain` from 1.5.2 to 1.5.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">langchain's
releases</a>.</em></p>
<blockquote>
<h2>langchain@1.5.3</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11167">#11167</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/4c7a06ec3e4728bb036a28f678dd8ec2521e1c82"><code>4c7a06e</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
fix(langchain): malformed tool input schemas are unrecoverable</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/e233f4192475cfb97dbd8907b2fb69b812b6950a"><code>e233f41</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11168">#11168</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/4c7a06ec3e4728bb036a28f678dd8ec2521e1c82"><code>4c7a06e</code></a>
fix(langchain): malformed tool input schemas are unrecoverable (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11167">#11167</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1a1fe3ca9cd779abda3baf23529434dca601f00b"><code>1a1fe3c</code></a>
chore(deps): bump the aws group across 1 directory with 7 updates (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11134">#11134</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/553155b5807becca67dcca790b8e42b4e7950b50"><code>553155b</code></a>
chore(deps): bump js-yaml from 5.0.0 to 5.1.0 (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11142">#11142</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/24bde73901daa41b626eac843453a7a951ff98c3"><code>24bde73</code></a>
chore(deps): bump prettier from 3.8.3 to 3.9.4 in the typescript-eslint
group...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/8db72635b93f2f9c8dd79472414741a624c375a9"><code>8db7263</code></a>
fix: remove duplicate pnpm lockfile entries (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11141">#11141</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/99449de42a492ac5302f61f294f11836779e7b16"><code>99449de</code></a>
chore(deps): bump the langchain group with 5 updates (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11131">#11131</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/39c17d7388e76cea7f4eb59c3833b2d62df297cb"><code>39c17d7</code></a>
chore(deps): bump google-auth-library from 10.6.2 to 10.9.0 in the
google gro...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/32613bee109a3e72423fbe4a3fa774ec12f20e63"><code>32613be</code></a>
chore(deps): bump the build-and-test group with 2 updates (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11133">#11133</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/2ecacad5912bb8f9289a01828c0583f2a17e7b79"><code>2ecacad</code></a>
chore(deps): bump the gh-actions-minor-and-patch group with 2 updates
(<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11129">#11129</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/langchain@1.5.2...langchain@1.5.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/openai` from 1.5.3 to 1.5.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/openai's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11175">#11175</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/a9f123a49c1c50fd32d54fe4cb15963d21252d5d"><code>a9f123a</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
fix(openai): filter out content blocks the chat completions api rejects
as input</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11177">#11177</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/09e7f6d3408323fee5e19fc9af277114b1e8c89d"><code>09e7f6d</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
fix(openai): drop tool_call content blocks from chat completions
input</p>
</li>
</ul>
<h2><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11169">#11169</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/988ca7dc9f1debd48278c6e888553e11c7845ca3"><code>988ca7d</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
fix(openai): emit output_text for assistant content in responses
input</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f51f338cf4dd3ba188b048b3bfa8134e9b9a64cf"><code>f51f338</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11176">#11176</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/09e7f6d3408323fee5e19fc9af277114b1e8c89d"><code>09e7f6d</code></a>
fix(openai): drop <code>tool_call</code> content blocks from chat
completions input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11">#11</a>...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/a9f123a49c1c50fd32d54fe4cb15963d21252d5d"><code>a9f123a</code></a>
fix(openai): filter out content blocks the chat completions api rejects
as in...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/cc39f564a9df18655ee4ae92de3f32e251021db8"><code>cc39f56</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11172">#11172</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/82bef01ad3dd5e0317e48da40707be6bccc52f94"><code>82bef01</code></a>
fix(core): coerce string v1 AIMessage content to text blocks (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11171">#11171</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/8a7c5f83e570c615c6b34e1234f5972dc7a2169c"><code>8a7c5f8</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11170">#11170</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/988ca7dc9f1debd48278c6e888553e11c7845ca3"><code>988ca7d</code></a>
fix(openai): emit <code>output_text</code> for assistant content in
responses input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11">#11</a>...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/e233f4192475cfb97dbd8907b2fb69b812b6950a"><code>e233f41</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11168">#11168</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/4c7a06ec3e4728bb036a28f678dd8ec2521e1c82"><code>4c7a06e</code></a>
fix(langchain): malformed tool input schemas are unrecoverable (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11167">#11167</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1a1fe3ca9cd779abda3baf23529434dca601f00b"><code>1a1fe3c</code></a>
chore(deps): bump the aws group across 1 directory with 7 updates (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11134">#11134</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/openai@1.5.3...@langchain/openai@1.5.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/classic` from 1.0.38 to 1.0.40
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/classic's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/classic</code><a
href="https://github.com/1"><code>@​1</code></a>.0.40</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/langchain-ai/langchainjs/commit/a9f123a49c1c50fd32d54fe4cb15963d21252d5d"><code>a9f123a</code></a>,
<a
href="https://github.com/langchain-ai/langchainjs/commit/09e7f6d3408323fee5e19fc9af277114b1e8c89d"><code>09e7f6d</code></a>]:
<ul>
<li><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.5</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/classic</code><a
href="https://github.com/1"><code>@​1</code></a>.0.39</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/langchain-ai/langchainjs/commit/988ca7dc9f1debd48278c6e888553e11c7845ca3"><code>988ca7d</code></a>]:
<ul>
<li><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.4</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f51f338cf4dd3ba188b048b3bfa8134e9b9a64cf"><code>f51f338</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11176">#11176</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/09e7f6d3408323fee5e19fc9af277114b1e8c89d"><code>09e7f6d</code></a>
fix(openai): drop <code>tool_call</code> content blocks from chat
completions input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11">#11</a>...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/a9f123a49c1c50fd32d54fe4cb15963d21252d5d"><code>a9f123a</code></a>
fix(openai): filter out content blocks the chat completions api rejects
as in...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/cc39f564a9df18655ee4ae92de3f32e251021db8"><code>cc39f56</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11172">#11172</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/82bef01ad3dd5e0317e48da40707be6bccc52f94"><code>82bef01</code></a>
fix(core): coerce string v1 AIMessage content to text blocks (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11171">#11171</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/8a7c5f83e570c615c6b34e1234f5972dc7a2169c"><code>8a7c5f8</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11170">#11170</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/988ca7dc9f1debd48278c6e888553e11c7845ca3"><code>988ca7d</code></a>
fix(openai): emit <code>output_text</code> for assistant content in
responses input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11">#11</a>...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/e233f4192475cfb97dbd8907b2fb69b812b6950a"><code>e233f41</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11168">#11168</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/4c7a06ec3e4728bb036a28f678dd8ec2521e1c82"><code>4c7a06e</code></a>
fix(langchain): malformed tool input schemas are unrecoverable (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11167">#11167</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1a1fe3ca9cd779abda3baf23529434dca601f00b"><code>1a1fe3c</code></a>
chore(deps): bump the aws group across 1 directory with 7 updates (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11134">#11134</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/classic@1.0.38...@langchain/classic@1.0.40">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/quickjs` from 0.5.1 to 0.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/deepagentsjs/releases">@​langchain/quickjs's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/quickjs</code><a
href="https://github.com/0"><code>@​0</code></a>.6.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/deepagentsjs/pull/606">#606</a>
<a
href="https://github.com/langchain-ai/deepagentsjs/commit/3c8f8b2ea6f0204353c63bf49c3fdc6655bf1069"><code>3c8f8b2</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
chore(quickjs): disallow task as a configurable ptc tool</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/ff8cc5c4b4d17dc0c784e162a1b69563305fcbdc"><code>ff8cc5c</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/607">#607</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/1a2b2df5528f0f61870b054fff8291355f6a2a0b"><code>1a2b2df</code></a>
fix(deepagents): default unknown file extensions to text/plain (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/656">#656</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/5f93c114759399002a3981a93e3df13981514b1d"><code>5f93c11</code></a>
fix(modal): modal sandboxes fail to upload files (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/657">#657</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/ff7d82a791456b268c0e9bf70a9e455295ffb4b9"><code>ff7d82a</code></a>
build(deps): bump the minor-deps-updates-main group with 8 updates (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/640">#640</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/88986a241743ca6b8db513c1c9926a7b59d3ca27"><code>88986a2</code></a>
build(deps): bump the major-deps-updates-main group with 3 updates (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/641">#641</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/9217edd307d7815fe201541951d70a44d70918bc"><code>9217edd</code></a>
build(deps): bump the patch-deps-updates-main group with 15 updates (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/639">#639</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/4f1b6cfd71e6a309f8754e700cca3ef9367638b7"><code>4f1b6cf</code></a>
build(deps): bump actions/checkout from 6.0.1 to 7.0.0 in the
major-deps-upda...</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/1cca3d32bb8f992e29322ed041308555fda39cfe"><code>1cca3d3</code></a>
build(deps): bump actions/setup-python from 6.2.0 to 6.3.0 in the
minor-deps-...</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/331b80f8d00a568ba58ab7af4d02f4dfa097d4ce"><code>331b80f</code></a>
build(deps): bump the patch-deps-updates group with 2 updates (<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/636">#636</a>)</li>
<li><a
href="https://github.com/langchain-ai/deepagentsjs/commit/5b462f2ab2400fba52906e8f1485a500ec5b6e17"><code>5b462f2</code></a>
fix: migrate Daytona SDK dependency [closes <a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/609">#609</a>]
(<a
href="https://redirect.github.com/langchain-ai/deepagentsjs/issues/614">#614</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/deepagentsjs/compare/@langchain/quickjs@0.5.1...@langchain/quickjs@0.6.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `langsmith` from 0.8.0 to 0.8.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.8.4</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): 0.6.3 by <a
href="https://github.com/vishnu-ssuresh"><code>@​vishnu-ssuresh</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2864">langchain-ai/langsmith-sdk#2864</a></li>
<li>chore(deps): bump python-multipart from 0.0.26 to 0.0.27 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2859">langchain-ai/langsmith-sdk#2859</a></li>
<li>chore(deps-dev): bump <code>@​anthropic-ai/sdk</code> from 0.91.1 to
0.92.0 in /js by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2858">langchain-ai/langsmith-sdk#2858</a></li>
<li>chore(deps): bump postcss from 8.5.8 to 8.5.14 in /js by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2857">langchain-ai/langsmith-sdk#2857</a></li>
<li>chore(deps): bump hono from 4.12.15 to 4.12.18 in /js by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2860">langchain-ai/langsmith-sdk#2860</a></li>
<li>chore(deps-dev): bump langchain-core from 1.3.2 to 1.3.3 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2867">langchain-ai/langsmith-sdk#2867</a></li>
<li>chore(deps-dev): bump <code>@​anthropic-ai/sdk</code> from 0.92.0 to
0.93.0 in /js by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2869">langchain-ai/langsmith-sdk#2869</a></li>
<li>chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /python by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2873">langchain-ai/langsmith-sdk#2873</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 12 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2876">langchain-ai/langsmith-sdk#2876</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 16 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2877">langchain-ai/langsmith-sdk#2877</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 11 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2879">langchain-ai/langsmith-sdk#2879</a></li>
<li>chore(deps): bump the npm_and_yarn group across 2 directories with 2
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2868">langchain-ai/langsmith-sdk#2868</a></li>
<li>chore(deps-dev): bump <code>@​anthropic-ai/sdk</code> from 0.93.0 to
0.94.0 in /js by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2878">langchain-ai/langsmith-sdk#2878</a></li>
<li>sdk(js): rename experimental/sandbox -&gt; sandbox (breaking) by <a
href="https://github.com/DanielKneipp"><code>@​DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2885">langchain-ai/langsmith-sdk#2885</a></li>
<li>sdk(py): drop sandbox alpha/experimental warnings by <a
href="https://github.com/DanielKneipp"><code>@​DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2884">langchain-ai/langsmith-sdk#2884</a></li>
<li>feat(sandbox): make snapshot optional and add TS options overload by
<a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2887">langchain-ai/langsmith-sdk#2887</a></li>
<li>release(py): 0.8.4 by <a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2889">langchain-ai/langsmith-sdk#2889</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.3...v0.8.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.3...v0.8.4</a></p>
<h2>v0.8.3</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(js): prevent sending [object Object] as span attribute when
dealing with nested objects, send full langsmith.usage_metadata if
present by <a href="https://github.com/dqbd"><code>@​dqbd</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2845">langchain-ai/langsmith-sdk#2845</a></li>
<li>release(js): bump to 0.6.2 by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2856">langchain-ai/langsmith-sdk#2856</a></li>
<li>sdk(py): replace ttl_seconds with idle_ttl_seconds +
delete_after_stop_seconds by <a
href="https://github.com/DanielKneipp"><code>@​DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2853">langchain-ai/langsmith-sdk#2853</a></li>
<li>sdk(js): replace ttlSeconds with idleTtlSeconds +
deleteAfterStopSeconds by <a
href="https://github.com/DanielKneipp"><code>@​DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2854">langchain-ai/langsmith-sdk#2854</a></li>
<li>Fix push_agent URL owner for name-only identifiers by <a
href="https://github.com/vishnu-ssuresh"><code>@​vishnu-ssuresh</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2862">langchain-ai/langsmith-sdk#2862</a></li>
<li>docs(langsmith): clarify trust boundaries when working with hub by
<a href="https://github.com/eyurtsev"><code>@​eyurtsev</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2861">langchain-ai/langsmith-sdk#2861</a></li>
<li>release(py): 0.8.3 by <a
href="https://github.com/vishnu-ssuresh"><code>@​vishnu-ssuresh</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2863">langchain-ai/langsmith-sdk#2863</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.2...v0.8.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.2...v0.8.3</a></p>
<h2>v0.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump JS SDK version to 0.6.1 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2847">langchain-ai/langsmith-sdk#2847</a></li>
<li>fix: parse urllib3 version with packaging.Version by <a
href="https://github.com/justinwolfington"><code>@​justinwolfington</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2851">langchain-ai/langsmith-sdk#2851</a></li>
<li>Bump Python SDK version to 0.8.2 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2855">langchain-ai/langsmith-sdk#2855</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/justinwolfington"><code>@​justinwolfington</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2851">langchain-ai/langsmith-sdk#2851</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.1...v0.8.2">https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.1...v0.8.2</a></p>
<h2>v0.8.1</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(js): remove experimental opencode integration by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2836">langchain-ai/langsmith-sdk#2836</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/273f8f9b0deccb7b21f899fbe6ee0474702a9860"><code>273f8f9</code></a>
release(py): 0.8.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2889">#2889</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/afbf4fb970f1b1d5bc4b8fb3e233a8bef1a5eac9"><code>afbf4fb</code></a>
feat(sandbox): make snapshot optional and add TS options overload (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2887">#2887</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/54da5410a2ab7ee67b2eed9137f8dcbbc1426355"><code>54da541</code></a>
sdk(py): drop sandbox alpha/experimental warnings (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2884">#2884</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/1536e2bb61b35acd9bf7ef4b14fa3305f349fd24"><code>1536e2b</code></a>
sdk(js): rename experimental/sandbox -&gt; sandbox (breaking) (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2885">#2885</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/8f635fbb0e787b0db7450e12e4fed234053a2b1b"><code>8f635fb</code></a>
chore(deps-dev): bump <code>@​anthropic-ai/sdk</code> from 0.93.0 to
0.94.0 in /js (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2878">#2878</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/ce0f40f3852ff938df2b9c1922b352c2559e5acc"><code>ce0f40f</code></a>
chore(deps): bump the npm_and_yarn group across 2 directories with 2
updates ...</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/061c197e3aefee98024ca3ad280c8530e5140a67"><code>061c197</code></a>
chore(deps): bump the py-minor-and-patch group across 1 directory with
11 upd...</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/ab5d5f3f2253415f8697aa4b7561c47ea0b0de33"><code>ab5d5f3</code></a>
chore(deps-dev): bump the js-minor-and-patch group across 1 directory
with 16...</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/3dc69de1025cb08f1fda8a63447ebba2c13a4b16"><code>3dc69de</code></a>
chore(deps): bump the py-minor-and-patch group across 1 directory with
12 upd...</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/6754bd3bec2b88db8471b4d4726cf95021bc4476"><code>6754bd3</code></a>
chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /python (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2873">#2873</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.0...v0.8.4">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 12:04:59 -07:00
github-actions[bot] 483e6df5ea chore: version packages (#2621)
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
## @langchain/langgraph-sdk@1.9.28

### Patch Changes

- [#2622](https://github.com/langchain-ai/langgraphjs/pull/2622)
[`cf2407a`](https://github.com/langchain-ai/langgraphjs/commit/cf2407a31657a8308312873a13863f496b34f3ca)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): clear hydrate interrupt allowlist on respond()

`submit()` already cleared `#hydratedActiveInterruptIds` so a new run's
live `input.requested` events were not dropped as historical.
`respond()` / `respondAll()` (via `dispatchResume`) did not, so a
follow-on HITL after resume never appeared on `stream.interrupt` and
free-text submits could resume with the wrong payload.

- [#2613](https://github.com/langchain-ai/langgraphjs/pull/2613)
[`82a320f`](https://github.com/langchain-ai/langgraphjs/commit/82a320faf6876238f8bac8aa6a7c593bef2be061)
Thanks [@sreeramsama](https://github.com/sreeramsama)! - Fix `useStream`
crash (`TypeError: Cannot read properties of null (reading 'fetch')`)
when a thread is cleared while hydration is in flight. The stale hydrate
now bails immediately after the `getState()` await — it no longer
applies the fetched state to the thread that was left, nor opens a
reconnect via `threads.stream(null, …)`.
## @langchain/angular@1.0.29

### Patch Changes

- Updated dependencies
[[`cf2407a`](https://github.com/langchain-ai/langgraphjs/commit/cf2407a31657a8308312873a13863f496b34f3ca),
[`82a320f`](https://github.com/langchain-ai/langgraphjs/commit/82a320faf6876238f8bac8aa6a7c593bef2be061)]:
  - @langchain/langgraph-sdk@1.9.28
## @langchain/react@1.0.29

### Patch Changes

- Updated dependencies
[[`cf2407a`](https://github.com/langchain-ai/langgraphjs/commit/cf2407a31657a8308312873a13863f496b34f3ca),
[`82a320f`](https://github.com/langchain-ai/langgraphjs/commit/82a320faf6876238f8bac8aa6a7c593bef2be061)]:
  - @langchain/langgraph-sdk@1.9.28
## @langchain/svelte@1.0.29

### Patch Changes

- Updated dependencies
[[`cf2407a`](https://github.com/langchain-ai/langgraphjs/commit/cf2407a31657a8308312873a13863f496b34f3ca),
[`82a320f`](https://github.com/langchain-ai/langgraphjs/commit/82a320faf6876238f8bac8aa6a7c593bef2be061)]:
  - @langchain/langgraph-sdk@1.9.28
## @langchain/vue@1.0.29

### Patch Changes

- Updated dependencies
[[`cf2407a`](https://github.com/langchain-ai/langgraphjs/commit/cf2407a31657a8308312873a13863f496b34f3ca),
[`82a320f`](https://github.com/langchain-ai/langgraphjs/commit/82a320faf6876238f8bac8aa6a7c593bef2be061)]:
  - @langchain/langgraph-sdk@1.9.28

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-21 15:53:00 -07:00
dependabot[bot] c15239f5c9 chore(deps): bump tar from 7.5.16 to 7.5.19 (#2625)
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.16 to 7.5.19.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/isaacs/node-tar/commit/be440da64e9fe80c68c755d8147328ea1cc2a9ad"><code>be440da</code></a>
7.5.19</li>
<li><a
href="https://github.com/isaacs/node-tar/commit/2812e9338665659b183aa7226518c307044957d3"><code>2812e93</code></a>
add maxDecompressionRatio guard against explosive decompression</li>
<li><a
href="https://github.com/isaacs/node-tar/commit/9ecd4d2956fd915507eca018ddc1fea727fbba93"><code>9ecd4d2</code></a>
7.5.18</li>
<li><a
href="https://github.com/isaacs/node-tar/commit/9e78bf058b2c22dd4d52e00d8922d5c06fc2f7b5"><code>9e78bf0</code></a>
refuse to let header size be less than 0</li>
<li><a
href="https://github.com/isaacs/node-tar/commit/e02a4e9e013c4be95302e2eb2047a942b883c27b"><code>e02a4e9</code></a>
pax: parse values according to known types</li>
<li><a
href="https://github.com/isaacs/node-tar/commit/9cbdb31e5e8dbcb97a642e0f91e2d1e342585946"><code>9cbdb31</code></a>
7.5.17</li>
<li><a
href="https://github.com/isaacs/node-tar/commit/7a635c29f5edbf083557374d43984273ecfed5b3"><code>7a635c2</code></a>
terminate pax strings on nul bytes</li>
<li>See full diff in <a
href="https://github.com/isaacs/node-tar/compare/v7.5.16...v7.5.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tar&package-manager=npm_and_yarn&previous-version=7.5.16&new-version=7.5.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraphjs/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 15:50:29 -07:00
dependabot[bot] 2dfb9211b6 chore(deps): bump hono from 4.12.25 to 4.12.27 (#2627)
Bumps [hono](https://github.com/honojs/hono) from 4.12.25 to 4.12.27.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/honojs/hono/releases">hono's
releases</a>.</em></p>
<blockquote>
<h2>v4.12.27</h2>
<h2>Security fixes</h2>
<p>This release includes fixes for the following security issues:</p>
<h3>hono/jsx does not isolate context per request</h3>
<p>Affects: <code>hono/jsx</code>, <code>hono/jsx-renderer</code>.
During SSR, context was stored process-wide instead of per request, so
<code>useContext()</code>/<code>useRequestContext()</code> read after an
<code>await</code> in an async component could return another concurrent
request's value — leading to cross-request data disclosure or
authorization checks against the wrong request. GHSA-hvrm-45r6-mjfj</p>
<h3>Server-Side XSS via JSX escaping bypass in cx()</h3>
<p>Affects: <code>hono/css</code>. <code>cx()</code> marked its composed
class name as already-escaped without escaping the input, so untrusted
input passed as a class name could break out of the JSX
<code>class</code> attribute during SSR and inject markup (XSS).
GHSA-w62v-xxxg-mg59</p>
<h3>API Gateway v1 adapter can drop a repeated request header value</h3>
<p>Affects: <code>hono/aws-lambda</code>. The API Gateway v1 (and VPC
Lattice) adapter de-duplicated repeated header values by substring
instead of exact match, dropping a value that is a substring of another
(e.g. <code>203.0.113.1</code> dropped when <code>203.0.113.10</code> is
present) — affecting logic such as <code>X-Forwarded-For</code>-based IP
restriction. GHSA-xgm2-5f3f-mvvc</p>
<hr />
<p>Users of <code>hono/jsx</code>/<code>hono/jsx-renderer</code>,
<code>hono/css</code> (<code>cx()</code>), or the
<code>hono/aws-lambda</code> API Gateway v1 / VPC Lattice adapters are
encouraged to upgrade.</p>
<h2>v4.12.26</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(lambda-edge): satisfy Deno lib types for Content-Length body
encoding by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5013">honojs/hono#5013</a></li>
<li>ci: publish to npm from CI with OIDC trusted publishing by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5028">honojs/hono#5028</a></li>
<li>chore: remove unused devcontainer and gitpod configs by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5029">honojs/hono#5029</a></li>
<li>chore: replace arg and glob with Bun native APIs in build script by
<a href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5030">honojs/hono#5030</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.25...v4.12.26">https://github.com/honojs/hono/compare/v4.12.25...v4.12.26</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/honojs/hono/commit/97c6fe1f12298c715eb7b2da65b4b6e0d81682bb"><code>97c6fe1</code></a>
4.12.27</li>
<li><a
href="https://github.com/honojs/hono/commit/aa921770d09bc35970362d5a2630a878f6d982fd"><code>aa92177</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/cd3f6f7194f0e5c9d4b26ae0cf232018d0f388fc"><code>cd3f6f7</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/d4853a8f2794ce982818783f123e388a6dedd966"><code>d4853a8</code></a>
fix(jsx): make merged context-isolation tests pass tsc type check (<a
href="https://redirect.github.com/honojs/hono/issues/5037">#5037</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/6735fea78db8ca72e8606001f57b10ee6a96b349"><code>6735fea</code></a>
fix(jsx): cast awaitedFallback through unknown to fix Deno type check
(<a
href="https://redirect.github.com/honojs/hono/issues/5036">#5036</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/fab3b13639339cbd5ba1166a5b23d9ac30c5f64f"><code>fab3b13</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/9f0dadf141a3242a6c3b77462c7d33c6ce0f599d"><code>9f0dadf</code></a>
ci: use npm Staged publishing (<a
href="https://redirect.github.com/honojs/hono/issues/5035">#5035</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/27b7992f821bc10c2f62ad0ad86bd94eea251862"><code>27b7992</code></a>
4.12.26</li>
<li><a
href="https://github.com/honojs/hono/commit/d29982cc40c3babb417db625ab0671d982398646"><code>d29982c</code></a>
chore: replace arg and glob with Bun native APIs in build script</li>
<li><a
href="https://github.com/honojs/hono/commit/16215d5f509099b81b00d60a2777bc6b5ac06827"><code>16215d5</code></a>
chore: remove unused devcontainer and gitpod configs (<a
href="https://redirect.github.com/honojs/hono/issues/5029">#5029</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/honojs/hono/compare/v4.12.25...v4.12.27">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for hono since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hono&package-manager=npm_and_yarn&previous-version=4.12.25&new-version=4.12.27)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/langchain-ai/langgraphjs/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 15:50:14 -07:00
Christian Bromann cf2407a316 fix(sdk): clear hydrate interrupt allowlist on respond() (#2622)
## Summary
- Clear the hydrate-window interrupt allowlist in `dispatchResume()`
(same as `submit()`), so `respond()` / `respondAll()` accept genuinely
new live `input.requested` events from the resumed run.
- Without this, a second HITL after answering the first never appeared
on `stream.interrupt`, and clients could free-text `submit` into an
implicit resume with the wrong payload (`KeyError: 'decisions'` on HITL
middleware).
- Add a regression test covering hydrate → `respond()` → follow-on
interrupt id.
2026-07-21 15:49:43 -07:00
dependabot[bot] 119b49c6f8 chore(deps): bump the vue group with 2 updates (#2619)
Bumps the vue group with 2 updates: [vue](https://github.com/vuejs/core)
and
[@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue).

Updates `vue` from 3.5.39 to 3.5.40
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/releases">vue's
releases</a>.</em></p>
<blockquote>
<h2>v3.5.40</h2>
<p>For stable releases, please refer to <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.
For pre-releases, please refer to <a
href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md">CHANGELOG.md</a>
of the <code>minor</code> branch.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">vue's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/vuejs/core/compare/v3.5.39...v3.5.40">3.5.40</a>
(2026-07-16)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler-core:</strong> avoid leaking slot branch keys (<a
href="https://redirect.github.com/vuejs/core/issues/15051">#15051</a>)
(<a
href="https://github.com/vuejs/core/commit/20c9d263d3bfafdfbcc1921f259fd8f711e18659">20c9d26</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/15048">#15048</a></li>
<li><strong>hydration:</strong> pass namespace when patching dynamic
props (<a
href="https://redirect.github.com/vuejs/core/issues/15082">#15082</a>)
(<a
href="https://github.com/vuejs/core/commit/e0d27234ddd2061383cb5dcc475d6b9558ed8e4f">e0d2723</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/15081">#15081</a> <a
href="https://redirect.github.com/vuejs/core/issues/15050">#15050</a></li>
<li><strong>reactivity:</strong> handle effect removal during scope stop
(<a
href="https://redirect.github.com/vuejs/core/issues/15084">#15084</a>)
(<a
href="https://github.com/vuejs/core/commit/378f9783248a4a4f20781d665d4f7089f39cae6e">378f978</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/15083">#15083</a></li>
<li><strong>runtime-core:</strong> skip lazy hydration for detached
roots (<a
href="https://redirect.github.com/vuejs/core/issues/15092">#15092</a>)
(<a
href="https://github.com/vuejs/core/commit/97f3525551ad06103083eb2cbf9858c5e57cd58e">97f3525</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/15091">#15091</a></li>
<li><strong>runtime-core:</strong> unwind dangling blocks when slot
content throws (<a
href="https://redirect.github.com/vuejs/core/issues/15071">#15071</a>)
(<a
href="https://github.com/vuejs/core/commit/ddc132d7c054ecd2029ddcc95bcba770cd44f022">ddc132d</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/15070">#15070</a></li>
<li><strong>runtime-dom:</strong> respect current select model type (<a
href="https://redirect.github.com/vuejs/core/issues/15010">#15010</a>)
(<a
href="https://github.com/vuejs/core/commit/eb89e935a771ab7fc3f8e67a82bc8fc7ea28bdaa">eb89e93</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/15009">#15009</a></li>
<li><strong>server-renderer:</strong> handle errors in optimized
component renders (<a
href="https://redirect.github.com/vuejs/core/issues/12601">#12601</a>)
(<a
href="https://github.com/vuejs/core/commit/474907c0f01d021c564545137051a2b56eb4a769">474907c</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/12575">#12575</a></li>
<li><strong>server-renderer:</strong> remove package dependency cycle
(<a
href="https://redirect.github.com/vuejs/core/issues/15063">#15063</a>)
(<a
href="https://github.com/vuejs/core/commit/4d35ecadb6f625b0f7407ccee0e357c2dd8084c7">4d35eca</a>)</li>
<li><strong>shared:</strong> prevent SSR comment escaping from creating
closing delimiters (<a
href="https://redirect.github.com/vuejs/core/issues/15045">#15045</a>)
(<a
href="https://github.com/vuejs/core/commit/bd962bbaca746d8f65775a07723420406ebad0da">bd962bb</a>)</li>
<li><strong>types:</strong> don't constrain component $el type to
Element (<a
href="https://redirect.github.com/vuejs/core/issues/15040">#15040</a>)
(<a
href="https://github.com/vuejs/core/commit/164460a52988c44dc34a541219c88120078372a0">164460a</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vuejs/core/commit/fa2885d8c48768d26f1666a01bd540ffe3b20f9b"><code>fa2885d</code></a>
release: v3.5.40</li>
<li><a
href="https://github.com/vuejs/core/commit/20c9d263d3bfafdfbcc1921f259fd8f711e18659"><code>20c9d26</code></a>
fix(compiler-core): avoid leaking slot branch keys (<a
href="https://redirect.github.com/vuejs/core/issues/15051">#15051</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/7da6334f6162927cd41f9f369145722509540990"><code>7da6334</code></a>
Revert &quot;fix(runtime-core): pause tracking when invoking function
refs&quot; (<a
href="https://redirect.github.com/vuejs/core/issues/15094">#15094</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/90aecb1d21b7d029543e6dc4825c3d80dd769312"><code>90aecb1</code></a>
chore(deps): update all non-major dependencies (<a
href="https://redirect.github.com/vuejs/core/issues/15026">#15026</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/97f3525551ad06103083eb2cbf9858c5e57cd58e"><code>97f3525</code></a>
fix(runtime-core): skip lazy hydration for detached roots (<a
href="https://redirect.github.com/vuejs/core/issues/15092">#15092</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/fe1c0f8494c10bc677b0bf8ec7fa518e3f15569e"><code>fe1c0f8</code></a>
chore(deps): update test (<a
href="https://redirect.github.com/vuejs/core/issues/15025">#15025</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/e41c45a78a97b4f7422059eb274479d8e8b5886f"><code>e41c45a</code></a>
chore(deps): update dependency conventional-changelog to v8 (<a
href="https://redirect.github.com/vuejs/core/issues/15078">#15078</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/3eb66a9f6238d99632ce0dd2971ed66b7fc6a671"><code>3eb66a9</code></a>
chore(deps): update actions/cache action to v6 (<a
href="https://redirect.github.com/vuejs/core/issues/15076">#15076</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/40178ddfc2b80c77db0f25a3d69819c9f5a3b689"><code>40178dd</code></a>
chore(deps): update lint (<a
href="https://redirect.github.com/vuejs/core/issues/15075">#15075</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/7f122b9bb85349e323ad3d025cdb4eab28d76de0"><code>7f122b9</code></a>
chore(deps): update dependency conventional-changelog-angular to v9 (<a
href="https://redirect.github.com/vuejs/core/issues/15079">#15079</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vuejs/core/compare/v3.5.39...v3.5.40">compare
view</a></li>
</ul>
</details>
<br />

Updates `@vitejs/plugin-vue` from 6.0.7 to 6.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-vue/releases">@​vitejs/plugin-vue's
releases</a>.</em></p>
<blockquote>
<h2>plugin-vue@6.0.8</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite-plugin-vue/blob/plugin-vue@6.0.8/packages/plugin-vue/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md">@​vitejs/plugin-vue's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite-plugin-vue/compare/plugin-vue@6.0.7...plugin-vue@6.0.8">6.0.8</a>
(2026-07-14)<!-- raw HTML omitted --></h2>
<h3>Features</h3>
<ul>
<li><strong>plugin-vue:</strong> add forced vapor mode option (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/766">#766</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/d59c3c04b0c5cd920bab5f0f6000bedfef901e1c">d59c3c0</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/781">#781</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/d369e5a57592ed525c4da5ef0458cb89a6977ad2">d369e5a</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/d8ff7d0e8f557a7c1975c07b30e232c69bdbbc03"><code>d8ff7d0</code></a>
release: plugin-vue@6.0.8</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/d59c3c04b0c5cd920bab5f0f6000bedfef901e1c"><code>d59c3c0</code></a>
feat(plugin-vue): add forced vapor mode option (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/766">#766</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/d369e5a57592ed525c4da5ef0458cb89a6977ad2"><code>d369e5a</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/781">#781</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.8/packages/plugin-vue">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 15:38:58 -07:00
dependabot[bot] c14b070b96 chore(deps): bump the react group with 2 updates (#2620)
Bumps the react group with 2 updates:
[react](https://github.com/react/react/tree/HEAD/packages/react) and
[react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom).

Updates `react` from 19.2.7 to 19.2.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/react/react/releases">react's
releases</a>.</em></p>
<blockquote>
<h2>19.2.8 (July 21st, 2026)</h2>
<h2>React Server Components</h2>
<ul>
<li>Performance improvements when decoding
(<a
href="https://redirect.github.com/facebook/react/pull/37087">#37087</a>
by <a href="https://github.com/eps1lon"><code>@​eps1lon</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/react/react/commit/1dd4ecbdabf826f527fc9a58c05ea70375b7d170"><code>1dd4ecb</code></a>
[FlightReply] Performance improvements when decoding (<a
href="https://github.com/react/react/tree/HEAD/packages/react/issues/37087">#37087</a>)</li>
<li><a
href="https://github.com/react/react/commit/b0d2fdb78bdfae075a7fa02ddcebbf25f90952c2"><code>b0d2fdb</code></a>
[19.2.x] Update required references to GitHub repo (<a
href="https://github.com/react/react/tree/HEAD/packages/react/issues/36753">#36753</a>)</li>
<li>See full diff in <a
href="https://github.com/react/react/commits/v19.2.8/packages/react">compare
view</a></li>
</ul>
</details>
<br />

Updates `react-dom` from 19.2.7 to 19.2.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/react/react/releases">react-dom's
releases</a>.</em></p>
<blockquote>
<h2>19.2.8 (July 21st, 2026)</h2>
<h2>React Server Components</h2>
<ul>
<li>Performance improvements when decoding
(<a
href="https://redirect.github.com/facebook/react/pull/37087">#37087</a>
by <a href="https://github.com/eps1lon"><code>@​eps1lon</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/react/react/commit/1dd4ecbdabf826f527fc9a58c05ea70375b7d170"><code>1dd4ecb</code></a>
[FlightReply] Performance improvements when decoding (<a
href="https://github.com/react/react/tree/HEAD/packages/react-dom/issues/37087">#37087</a>)</li>
<li><a
href="https://github.com/react/react/commit/b0d2fdb78bdfae075a7fa02ddcebbf25f90952c2"><code>b0d2fdb</code></a>
[19.2.x] Update required references to GitHub repo (<a
href="https://github.com/react/react/tree/HEAD/packages/react-dom/issues/36753">#36753</a>)</li>
<li>See full diff in <a
href="https://github.com/react/react/commits/v19.2.8/packages/react-dom">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 15:38:46 -07:00
Sreeram Sama 82a320faf6 fix(sdk): guard useStream hydrate reconnect against a cleared thread id (#2613)
## Summary

`useStream`'s mount-time **hydrate → reconnect** path can call
`client.threads.stream(null, …)` when the thread id is cleared while
hydration is in flight, throwing an uncaught `TypeError: Cannot read
properties of null (reading 'fetch')`. This adds a post-`await` guard in
the controller (root cause) and makes `ThreadsClient.stream` null-safe
at the boundary (defense-in-depth), plus a regression test.

## Root cause

`StreamController.hydrate()` null-guards `#currentThreadId` **before**
the `await`, then re-reads it **after** to open the reconnect, with no
re-check in between:

```ts
// controller.ts
if (this.#currentThreadId == null) { …; return; }   // guard BEFORE await (L538)
…
const state = await this.#fetchHydrationState();      // getState() — async gap (L564)
…
const thread = this.#ensureThread(this.#currentThreadId, !threadActive);  // L731, no re-check
```

`#ensureThread` forwards the id to `client.threads.stream(threadId, {
fetch, … })`. If `#currentThreadId` becomes `null` **during the await**
(the host clears the id, `hydrate(null)` runs, or the component unmounts
during navigation), `hydrate` resumes and calls `threads.stream(null,
{…})`. In `ThreadsClient.stream`, a non-string first arg is treated as
the **options** object, so `null` becomes `options` and `options.fetch`
throws:

```ts
// client/threads/index.ts
const { threadId, options } = typeof threadIdOrOptions === "string"
  ? { threadId: threadIdOrOptions, options: maybeOptions }
  : { threadId: uuidv7(), options: threadIdOrOptions };  // null ⇒ options = null
const userFetch = options.fetch;                          // null.fetch → throw
```

## Why it's intermittent

The null has to land inside the narrow `await #fetchHydrationState()`
window, and only for an **active** thread (idle/finished threads take
the deferred path and skip `#ensureThread`). It needs a concurrent
thread-id clear (navigation/unmount) racing an in-flight hydrate — so
it's flaky, not deterministic.

## Changes

- **`stream/controller.ts` (root fix):** re-check `this.#disposed` /
`this.#currentThreadId != null` after the `await`, before
`#ensureThread(...)`. Hydration is already settled by then, so an early
return is safe. Mirrors the existing post-await guard idiom (e.g.
`controller.ts` discovery-seed path).
- **`client/threads/index.ts` (defense-in-depth):** treat a nullish
first arg as the generate-thread-id form (use the second arg as options)
instead of binding `null` to `options`.
- **`stream/controller.test.ts`:** regression test — `getState()`
resolves *after* the thread id is cleared mid-hydrate; asserts the
reconnect is never opened with a null id.

## Risk

Low. The controller guard only early-returns when there's no thread to
reconnect. The `stream` overload change preserves behavior for the
string- and object-first calls; it only fixes the nullish-first-arg
case.

## How it was found

Surfaced as a flaky teardown `pageerror` in a downstream app's
Playwright E2E (agent editor: create → chat → delete). Confirmed against
`@langchain/langgraph-sdk@1.9.27` and reproduced on `main` (this
branch).

## Notes for reviewers

- Opened as **draft**: the regression test was authored to match
existing `controller.test.ts` conventions but **not run** in my
environment (SDK deps weren't installed) — please verify it in CI /
locally.
- Either change fixes the reported crash on its own; the
`threads.stream` hardening is optional but cheap.
2026-07-21 15:02:41 -07:00
github-actions[bot] afb42cd7fe chore: version packages (#2607)
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
## @langchain/langgraph-sdk@1.9.27

### Patch Changes

- [#2606](https://github.com/langchain-ai/langgraphjs/pull/2606)
[`fa4658c`](https://github.com/langchain-ai/langgraphjs/commit/fa4658c79489eb5fb3e38744c34a6f5bf2373831)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): omit carried `since` on SSE reconnect

Protocol `seq` is connection-scoped: a new `POST /stream/events`
re-numbers Redis replay from 1, so advancing `since` from observed seqs
and sending it after a successful open filtered out the full history
(heartbeats only). An explicit caller `since` is still sent until the
stream connects (including pre-ready retries); post-connect reconnects
omit `since` and rely on durable `event_id` dedup.
## @langchain/angular@1.0.28

### Patch Changes

- Updated dependencies
[[`fa4658c`](https://github.com/langchain-ai/langgraphjs/commit/fa4658c79489eb5fb3e38744c34a6f5bf2373831)]:
  - @langchain/langgraph-sdk@1.9.27
## @langchain/react@1.0.28

### Patch Changes

- Updated dependencies
[[`fa4658c`](https://github.com/langchain-ai/langgraphjs/commit/fa4658c79489eb5fb3e38744c34a6f5bf2373831)]:
  - @langchain/langgraph-sdk@1.9.27
## @langchain/svelte@1.0.28

### Patch Changes

- Updated dependencies
[[`fa4658c`](https://github.com/langchain-ai/langgraphjs/commit/fa4658c79489eb5fb3e38744c34a6f5bf2373831)]:
  - @langchain/langgraph-sdk@1.9.27
## @langchain/vue@1.0.28

### Patch Changes

- Updated dependencies
[[`fa4658c`](https://github.com/langchain-ai/langgraphjs/commit/fa4658c79489eb5fb3e38744c34a6f5bf2373831)]:
  - @langchain/langgraph-sdk@1.9.27

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-15 11:21:35 -07:00
Christian Bromann fa4658c794 fix(sdk): omit since on SSE reconnect (#2606)
## Summary
- Stop sending body `since` on SSE (re)connect in
`ProtocolSseTransportAdapter`.
- Protocol `seq` is connection-scoped; a new POST re-numbers Redis
history from 1, so a prior session's `since` (e.g. `146`) dropped the
entire replay and left only heartbeats after QUIC/idle drops.
- Clients continue to deduplicate via durable `event_id`. A durable
cursor can replace this later.
2026-07-15 10:58:05 -07:00
github-actions[bot] 3dccad1391 chore: version packages (#2603)
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
## @langchain/langgraph-api@1.4.3

### Patch Changes

- Updated dependencies []:
  - @langchain/langgraph-ui@1.4.3
## @langchain/langgraph-cli@1.4.3

### Patch Changes

- [#2595](https://github.com/langchain-ai/langgraphjs/pull/2595)
[`dac8c2f`](https://github.com/langchain-ai/langgraphjs/commit/dac8c2fa7edfd643aa393a1d6407759b6cd8acf4)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
chore: bump langsmith to ^0.8.0

- Updated dependencies []:
  - @langchain/langgraph-api@1.4.3
## @langchain/langgraph@1.4.8

### Patch Changes

- [#2604](https://github.com/langchain-ai/langgraphjs/pull/2604)
[`42ec394`](https://github.com/langchain-ai/langgraphjs/commit/42ec39460bfe0c3be017fb043c668c3204c8a175)
Thanks [@hntrl](https://github.com/hntrl)! - fix(pregel): wait for
completed-superstep persistence with sync durability

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/langgraph-sdk@1.9.26

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- [#2602](https://github.com/langchain-ai/langgraphjs/pull/2602)
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)
Thanks [@HugoDurand](https://github.com/HugoDurand)! - fix(sdk): support
clearing a cron's end time via `crons.update(cronId, { endTime: null })`

`CronsClient.update` now accepts `endTime: null` to clear a previously
set cron end time; omitting `endTime` still leaves it unchanged. The
field was typed `string`, so callers could not express "clear" even
though the request already forwards an explicit `null`.
## @langchain/angular@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/react@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/svelte@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/vue@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/langgraph-ui@1.4.3

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-14 21:47:29 -07:00
Christian Bromann f326b89365 fix(sdk): keep SSE reconnect enabled with custom fetch (#2605)
## Summary
- Keep SSE auto-reconnect and idle-reconnect enabled when a custom
`fetch` is supplied (auth/proxy shims), instead of silently forcing
`maxReconnectAttempts: 0`.
- Plumb `maxReconnectAttempts`, `streamIdleReconnect`,
`reconnectDelayMs`, and `onReconnect` through `StreamController` and
React/Vue/Svelte/Angular `useStream`.
- Add transport unit coverage plus browser interrupt tests that drop
`/stream/events` mid-HITL and assert `respond()` still completes.
2026-07-14 21:45:12 -07:00
Hunter Lovell 42ec39460b fix(core): enforce sync durability barriers (#2604)
## Summary

Makes `durability: "sync"` enforce its superstep boundary: persistence
produced by a completed superstep must settle before the scheduler
prepares and dispatches the next one. Previously, persistence was
tracked and awaited at final cleanup but could overlap later supersteps.

## Changes

- Snapshot and await the current run's tracked `putWrites()` and ordered
checkpoint `put()` promises after each completed superstep when
durability is `sync`.
- Preserve asynchronous and exit-only durability behavior, including the
existing final persistence settlement path.
- Add gated `StateGraph` regression coverage for `invoke`, `stream`, and
`streamEvents`, plus coverage that async mode may progress while
persistence is pending.
- Add a patch changeset for `@langchain/langgraph`.
2026-07-14 19:12:09 -07:00
Christian Bromann dac8c2fa7e chore: bump langsmith to ^0.8.0 (#2595)
## Description

The langsmith SDK published v0.8.0. This updates the `langsmith`
dependency in the workspaces that pin it via a caret range
(`langgraph-cli`) to `^0.8.0` and refreshes `pnpm-lock.yaml` so the
workspace packages resolve to `0.8.0`. The broad peer/dependency range
in `langgraph-api` (`>=0.5.19 <1.0.0`) already permits `0.8.0` and is
left unchanged, matching prior langsmith bump PRs. Transitive
`langsmith` versions pulled in by published `@langchain/*` packages are
left untouched.

## Test Plan
- [ ] `pnpm install --frozen-lockfile` resolves without changes

Made by [Open
SWE](https://openswe.vercel.app/agents/019f436f-3343-7169-a06a-5f64fe70e3af)

---------

Signed-off-by: Christian Bromann <git@bromann.dev>
Co-authored-by: Christian Bromann <731337+christian-bromann@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-07-14 14:08:13 -07:00
Hunter Lovell 644892c7db docs(langgraph): fix README logo paths (#2599)
## Summary

Fix the LangGraph README logo references so they render correctly from
both the repository root and the `libs/langgraph-core` package
directory.

## Changes

- Replace context-dependent relative logo paths with absolute raw GitHub
URLs.
- Preserve dark- and light-mode logo selection in the shared README.
2026-07-14 10:29:29 -07:00
Hugo DURAND c201256b27 fix(sdk): support clearing cron end_time via update({ endTime: null }) (#2602)
## What & why

`CronsClient.update` could not clear a cron's `end_time`. The field was
typed `endTime?: string`, so a type-checked caller had no way to express
"remove the end time" — even though, unlike the Python SDK, the JS
request builder was already correct at runtime: it uses per-field `if
(payload?.endTime !== undefined)` guards (not a `None`-strip), and `null
!== undefined`, so a `null` would already be forwarded and
`JSON.stringify` preserves it.

So the defect was purely a **type imprecision**, and the fix is at the
source — the model — rather than a workaround in the request logic:

- `CronsUpdatePayload.endTime`: `string` → `string | null`. PATCH
semantics are now the standard tri-state:
  - **omit `endTime`** → keep the existing value
  - **`endTime: null`** → clear it
  - **`endTime: "<iso>"`** → set it
- `CronsCreatePayload.endTime` is intentionally left `string` — create
never needs to clear.

This mirrors the Python SDK change in langchain-ai/langgraph#8334
(`update(end_time=None)`), and requires an Agent Server that supports
clearing `end_time` via `PATCH /runs/crons/{id}` (`end_time: null`).
Against an older server, `update(id, { endTime: null })` is a harmless
no-op for clearing (the server coalesces `null` back to the stored
value), and a clear-only patch may 400.

## Also in this PR (unify `update()`)

While here, `update()`'s payload construction is unified with the
existing `create()` / `createForThread()` style: the 16 repetitive `if
(payload?.X !== undefined) json.Y = payload.X` guards become a single
declarative object literal. `JSON.stringify` drops `undefined` keys and
keeps `null`, so the wire output is **identical** — this is a
behaviour-preserving refactor, pinned by the pre-existing "only sends
defined fields" / "sends all updatable fields" tests. Net −44 lines in
the method.

## Test plan

- [x] `vitest run` on `libs/sdk/src/client/crons/index.test.ts` — **9
passed** (8 existing + 1 new: `update(id, { endTime: null })` sends body
`{ end_time: null }`), no type errors.
- [x] `pnpm build` (tsc compile + `attw` + `publint`) — clean.
- [x] `oxlint` — 0 warnings / 0 errors; `oxfmt --check` — clean.
- [x] Changeset added (`@langchain/langgraph-sdk`: patch).
2026-07-14 13:05:05 -04:00
langsmith-fleet[bot] ada0b67696 fix: store auth filter enforcement (#2597)
## Summary

Fixes the store API authorization filter issue flagged by Corridor by
capturing and applying `handleAuthEvent()` filters for store operations.

Changes:
- Capture auth filters for `list_namespaces`, `search`, `put`, `delete`,
and `get` store endpoints.
- Evaluate filters against store item value fields plus synthetic
`namespace` and `key` metadata.
- Use the mutable value returned by auth handlers for `store:put`,
allowing handlers to inject ownership fields before persistence.
- Filter list/search responses before returning them, applying
pagination after auth filtering when filters are present.
- Return 404 for existing items that are outside auth scope and 403 for
unauthorized new/missing write targets.
- Add auth test coverage for filter-based namespace isolation on broad
store search/list calls.

## Security

Addresses Corridor category 3: High/Medium store API authorization
filters discarded.

Primary finding cluster:
- Store search/get/put/delete/list_namespaces discarded
`handleAuthEvent()` filters, preventing item/namespace-level
authorization enforcement.

## Test plan

- `git diff --check` passed.
- Targeted test/typecheck not run locally because this sandbox did not
have dependencies installed, and Socket Firewall (`sfw`) installation
failed while downloading the required binary from GitHub with HTTP 502.
CI should run the package tests on the PR.

---------

Co-authored-by: Langster Security Agent <john@langchain.dev>
Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-07-09 04:04:14 +00:00
corridor-security[bot] 5b4f120fe8 fix: Unauthenticated /internal/truncate endpoint allows complete data wipe (#2596)
## Summary
This PR was generated by [Corridor](https://corridor.dev) to fix:

- Unauthenticated /internal/truncate endpoint allows complete data wipe

## Changes
The vulnerability stemmed from route registration order, which allowed
unauthenticated access to POST /internal/truncate and destructive data
loss. The fix moves the route registration to occur after the CORS,
request logger, and especially after the authentication middleware,
ensuring the truncate endpoint is protected by the centralized auth
policy; no handler logic or validation changes were made, and endpoints
remain reachable when auth is not configured to preserve existing
behavior.

---
Generated by Corridor

Co-authored-by: corridor-security[bot] <203152403+corridor-security[bot]@users.noreply.github.com>
2026-07-09 03:14:27 +00:00
github-actions[bot] 96876a4bf0 chore: version packages (#2583)
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
## @langchain/langgraph-api@1.4.2

### Patch Changes

- [#2590](https://github.com/langchain-ai/langgraphjs/pull/2590)
[`f71e00c`](https://github.com/langchain-ai/langgraphjs/commit/f71e00c52600a6dafacccdde1363e83c17c8d97b)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(api): inject langgraph_auth_user on protocol-v2 run.start

Stamp authenticated user fields onto run config in createOrResumeRun so
v2 streaming matches the REST runs API. Shared helpers also dedupe REST
  run config auth/header enrichment.

- [#2575](https://github.com/langchain-ai/langgraphjs/pull/2575)
[`e1b40c2`](https://github.com/langchain-ai/langgraphjs/commit/e1b40c29e14f8e9fb2696acc62d611e14a813f43)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(cli): support node_version 24 in langgraph.json

Allow Node 24 in the CLI config schema and Docker base image resolution.
  The langgraphjs-api:24 image is already published from langgraph-api.

- Updated dependencies
[[`f71e00c`](https://github.com/langchain-ai/langgraphjs/commit/f71e00c52600a6dafacccdde1363e83c17c8d97b),
[`e1b40c2`](https://github.com/langchain-ai/langgraphjs/commit/e1b40c29e14f8e9fb2696acc62d611e14a813f43)]:
  - @langchain/langgraph-ui@1.4.2
## @langchain/langgraph-cli@1.4.2

### Patch Changes

- [#2590](https://github.com/langchain-ai/langgraphjs/pull/2590)
[`f71e00c`](https://github.com/langchain-ai/langgraphjs/commit/f71e00c52600a6dafacccdde1363e83c17c8d97b)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(api): inject langgraph_auth_user on protocol-v2 run.start

Stamp authenticated user fields onto run config in createOrResumeRun so
v2 streaming matches the REST runs API. Shared helpers also dedupe REST
  run config auth/header enrichment.

- [#2575](https://github.com/langchain-ai/langgraphjs/pull/2575)
[`e1b40c2`](https://github.com/langchain-ai/langgraphjs/commit/e1b40c29e14f8e9fb2696acc62d611e14a813f43)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(cli): support node_version 24 in langgraph.json

Allow Node 24 in the CLI config schema and Docker base image resolution.
  The langgraphjs-api:24 image is already published from langgraph-api.

- Updated dependencies
[[`f71e00c`](https://github.com/langchain-ai/langgraphjs/commit/f71e00c52600a6dafacccdde1363e83c17c8d97b),
[`e1b40c2`](https://github.com/langchain-ai/langgraphjs/commit/e1b40c29e14f8e9fb2696acc62d611e14a813f43)]:
  - @langchain/langgraph-api@1.4.2
## @langchain/langgraph-ui@1.4.2

### Patch Changes

- [#2590](https://github.com/langchain-ai/langgraphjs/pull/2590)
[`f71e00c`](https://github.com/langchain-ai/langgraphjs/commit/f71e00c52600a6dafacccdde1363e83c17c8d97b)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(api): inject langgraph_auth_user on protocol-v2 run.start

Stamp authenticated user fields onto run config in createOrResumeRun so
v2 streaming matches the REST runs API. Shared helpers also dedupe REST
  run config auth/header enrichment.

- [#2575](https://github.com/langchain-ai/langgraphjs/pull/2575)
[`e1b40c2`](https://github.com/langchain-ai/langgraphjs/commit/e1b40c29e14f8e9fb2696acc62d611e14a813f43)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(cli): support node_version 24 in langgraph.json

Allow Node 24 in the CLI config schema and Docker base image resolution.
  The langgraphjs-api:24 image is already published from langgraph-api.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-05 17:58:08 -07:00
Christian Bromann f71e00c526 fix(api): inject langgraph_auth_user on protocol-v2 run.start (#2590)
## Summary
- Inject `langgraph_auth_user`, `langgraph_auth_user_id`, and
`langgraph_auth_permissions` into run config in protocol v2
`createOrResumeRun`, matching the REST `createValidRun` behavior.
- Extract shared `applyAuthToRunConfig` /
`applyRequestHeadersToRunConfig` helpers and use them from both REST and
protocol paths.
- Pass `userId` into `runs.put()` from the protocol path for parity with
REST.
2026-07-05 17:55:52 -07:00
John Kennedy 8fb6376a75 chore: update Vitest to 4.1.9 (#2587)
## Summary
- update all workspace `vitest` declarations to `4.1.9`
- update `@vitest/browser-playwright` and `@vitest/browser-webdriverio`
declarations to `4.1.9`
- refresh `pnpm-lock.yaml` so no `vitest`/`@vitest/browser` versions
below `4.1.9` remain

## Validation
- `sfw pnpm install`
- `pnpm format:check`
- `pnpm lint`
- `pnpm build`
- targeted audit check: no `vitest` or `@vitest/browser` advisories
remain
- `pnpm --filter create-langgraph test`
- `pnpm --filter @langchain/react test`
- `pnpm --filter @langchain/svelte test`
- `pnpm --filter @langchain/vue test`
- `pnpm --filter @langchain/angular test`
- `pnpm --filter @langchain/langgraph test`

## Notes
- `pnpm --filter @langchain/langgraph test:browser` did not run locally
because Playwright Chromium for the updated provider was not installed
on this machine; Vitest exited before running tests with Playwright's
`pnpm exec playwright install` message.
- The SDK Vitest suites passed but printed Vitest's post-success
close-timeout warning.

Co-authored-by: John Kennedy <jkennedyvz@users.noreply.github.com>
2026-07-03 23:18:35 -07:00
dependabot[bot] 8f3f4596f1 chore(deps): bump the vue group across 1 directory with 2 updates (#2581)
Bumps the vue group with 2 updates in the / directory:
[vue](https://github.com/vuejs/core) and
[@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx).

Updates `vue` from 3.5.35 to 3.5.39
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/releases">vue's
releases</a>.</em></p>
<blockquote>
<h2>v3.5.39</h2>
<p>For stable releases, please refer to <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.
For pre-releases, please refer to <a
href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md">CHANGELOG.md</a>
of the <code>minor</code> branch.</p>
<h2>v3.5.38</h2>
<p>For stable releases, please refer to <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.
For pre-releases, please refer to <a
href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md">CHANGELOG.md</a>
of the <code>minor</code> branch.</p>
<h2>v3.5.37</h2>
<p>For stable releases, please refer to <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.
For pre-releases, please refer to <a
href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md">CHANGELOG.md</a>
of the <code>minor</code> branch.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">vue's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/vuejs/core/compare/v3.5.38...v3.5.39">3.5.39</a>
(2026-06-25)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler-core:</strong> correct filter rewrite recursion (<a
href="https://redirect.github.com/vuejs/core/issues/14959">#14959</a>)
(<a
href="https://github.com/vuejs/core/commit/be7ce314b96256f1c56f53088d51ed6bc77fde28">be7ce31</a>)</li>
<li><strong>hydration:</strong> force patch dynamic props when hydrating
(<a href="https://redirect.github.com/vuejs/core/issues/9083">#9083</a>)
(<a
href="https://github.com/vuejs/core/commit/024cf06daa33db4660431f20aa050acb99cff07f">024cf06</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/9033">#9033</a></li>
<li><strong>hydration:</strong> respect data-allow-mismatch on
conditional branches (<a
href="https://redirect.github.com/vuejs/core/issues/12801">#12801</a>)
(<a
href="https://github.com/vuejs/core/commit/164af639a120421194f7afe0e097bdf254c90199">164af63</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/12782">#12782</a></li>
<li><strong>reactivity:</strong> avoid triggering effects when set fails
(<a
href="https://redirect.github.com/vuejs/core/issues/14964">#14964</a>)
(<a
href="https://github.com/vuejs/core/commit/e450973eabc0038f398344b981acd8759c246c50">e450973</a>)</li>
<li><strong>runtime-core:</strong> handle non-isomorphic block element
update (<a
href="https://redirect.github.com/vuejs/core/issues/15002">#15002</a>)
(<a
href="https://github.com/vuejs/core/commit/932ddd058d69be9bbd8cd796c89f0d1a4fc128d7">932ddd0</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/6385">#6385</a></li>
<li><strong>runtime-core:</strong> normalize function children for
elements and Teleport (<a
href="https://redirect.github.com/vuejs/core/issues/9108">#9108</a>) (<a
href="https://github.com/vuejs/core/commit/2f374cda18cbe331ede1a49a324b423c75d0faf3">2f374cd</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/9107">#9107</a></li>
<li><strong>runtime-core:</strong> pause tracking when invoking function
refs (<a
href="https://redirect.github.com/vuejs/core/issues/14985">#14985</a>)
(<a
href="https://github.com/vuejs/core/commit/3ac052b6b1e9d3978e98cc30a1a89a9b9b51358b">3ac052b</a>)</li>
<li><strong>runtime-core:</strong> preserve once event listener name (<a
href="https://redirect.github.com/vuejs/core/issues/8341">#8341</a>) (<a
href="https://github.com/vuejs/core/commit/87b73b64a0d9b4e2dd2dacfe98f2f1c2396d7a61">87b73b6</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/8342">#8342</a></li>
<li><strong>runtime-dom:</strong> preserve option modifier event names
(<a href="https://redirect.github.com/vuejs/core/issues/8338">#8338</a>)
(<a
href="https://github.com/vuejs/core/commit/4b659e699925555464ea9ae8fa3e1984609f6dc2">4b659e6</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/8334">#8334</a></li>
<li><strong>ssr:</strong> dedupe inherited scope ids during vnode
rendering (<a
href="https://redirect.github.com/vuejs/core/issues/15005">#15005</a>)
(<a
href="https://github.com/vuejs/core/commit/027da6b2810c4752131439d2645f3d931d07242f">027da6b</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/12159">#12159</a> <a
href="https://redirect.github.com/vuejs/core/issues/12175">#12175</a></li>
<li><strong>ssr:</strong> resolve nested async teleport content (<a
href="https://redirect.github.com/vuejs/core/issues/9431">#9431</a>) (<a
href="https://github.com/vuejs/core/commit/31d0f23757afb410c638a9c29d44d76d0944e18f">31d0f23</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/6207">#6207</a></li>
<li><strong>teleport:</strong> handle teleport unmount edge case (<a
href="https://redirect.github.com/vuejs/core/issues/12705">#12705</a>)
(<a
href="https://github.com/vuejs/core/commit/671997ade74e34880cebe3c340269b8598c3b26c">671997a</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/12702">#12702</a></li>
<li><strong>types:</strong> support named tuple emits (<a
href="https://redirect.github.com/vuejs/core/issues/12676">#12676</a>)
(<a
href="https://github.com/vuejs/core/commit/232f4022e3160b30b11748a6d97ea2c15ed3b74f">232f402</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/12673">#12673</a></li>
<li><strong>types:</strong> validate defineModel defaults (<a
href="https://redirect.github.com/vuejs/core/issues/14968">#14968</a>)
(<a
href="https://github.com/vuejs/core/commit/747f57e9cdb3c5f084f8da5ca7e0e0b7b326b662">747f57e</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/14966">#14966</a></li>
</ul>
<h2><a
href="https://github.com/vuejs/core/compare/v3.5.37...v3.5.38">3.5.38</a>
(2026-06-11)</h2>
<h2><a
href="https://github.com/vuejs/core/compare/v3.5.36...v3.5.37">3.5.37</a>
(2026-06-11)</h2>
<h2><a
href="https://github.com/vuejs/core/compare/v3.5.35...v3.5.36">3.5.36</a>
(2026-06-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler-core:</strong> avoid crash on CDATA at the document
root (<a
href="https://redirect.github.com/vuejs/core/issues/14916">#14916</a>)
(<a
href="https://github.com/vuejs/core/commit/0ea17e232f9a8f4a9acf57c6addc78cf4f279c13">0ea17e2</a>)</li>
<li><strong>compiler-core:</strong> prefix dynamic keys on v-memo
elements (<a
href="https://redirect.github.com/vuejs/core/issues/14922">#14922</a>)
(<a
href="https://github.com/vuejs/core/commit/68e978e3e71a8ae40701808e78966f2168c5907c">68e978e</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/14920">#14920</a></li>
<li><strong>compiler-sfc:</strong> handle vue-ignore on leading
intersection/union type (<a
href="https://redirect.github.com/vuejs/core/issues/14950">#14950</a>)
(<a
href="https://github.com/vuejs/core/commit/0dcd225c01f211ebb8ce4dda8c8eac10539abf1a">0dcd225</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/12254">#12254</a></li>
<li><strong>compiler-sfc:</strong> respect var hoisting in props
destructure (<a
href="https://github.com/vuejs/core/commit/48ad452dd61926a59e358da3c74c5ef750ae21c4">48ad452</a>)</li>
<li><strong>reactivity:</strong> preserve watch callback return value
when wrapped for <code>once: true</code> (<a
href="https://redirect.github.com/vuejs/core/issues/14902">#14902</a>)
(<a
href="https://github.com/vuejs/core/commit/450a8a8e45520f30fe8343c5016a777d888e53fc">450a8a8</a>)</li>
<li><strong>runtime-core:</strong> add dev warning for silent catch in
compat mode and fix test description typo (<a
href="https://redirect.github.com/vuejs/core/issues/14891">#14891</a>)
(<a
href="https://github.com/vuejs/core/commit/db3e117025a7193291ed6676180a5a44bbe0ae76">db3e117</a>)</li>
<li><strong>runtime-core:</strong> force model update when reverted
before sync (<a
href="https://redirect.github.com/vuejs/core/issues/14897">#14897</a>)
(<a
href="https://github.com/vuejs/core/commit/7f76378b0d178a29113ee07d67faa48b637944e8">7f76378</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/13524">#13524</a></li>
<li><strong>runtime-core:</strong> skip async component callbacks after
unmount (<a
href="https://redirect.github.com/vuejs/core/issues/14911">#14911</a>)
(<a
href="https://github.com/vuejs/core/commit/5300ead57b3c14942d4c155ef5e485d5409e7f02">5300ead</a>)</li>
<li><strong>transition:</strong> avoid move transition for hidden v-show
group children (<a
href="https://redirect.github.com/vuejs/core/issues/14895">#14895</a>)
(<a
href="https://github.com/vuejs/core/commit/c11f6ee644412edf3eef6736991e895e4a3e1dde">c11f6ee</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/14894">#14894</a></li>
<li><strong>watch:</strong> trigger immediate callback for empty sources
(<a
href="https://redirect.github.com/vuejs/core/issues/14914">#14914</a>)
(<a
href="https://github.com/vuejs/core/commit/1f2ca7e4837b1b0de0b91048fffdb03710c0b03e">1f2ca7e</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/14898">#14898</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vuejs/core/commit/c0606e91798c8dca4f33d101e1dd836d672592c1"><code>c0606e9</code></a>
release: v3.5.39</li>
<li><a
href="https://github.com/vuejs/core/commit/4b659e699925555464ea9ae8fa3e1984609f6dc2"><code>4b659e6</code></a>
fix(runtime-dom): preserve option modifier event names (<a
href="https://redirect.github.com/vuejs/core/issues/8338">#8338</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/232f4022e3160b30b11748a6d97ea2c15ed3b74f"><code>232f402</code></a>
fix(types): support named tuple emits (<a
href="https://redirect.github.com/vuejs/core/issues/12676">#12676</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/671997ade74e34880cebe3c340269b8598c3b26c"><code>671997a</code></a>
fix(teleport): handle teleport unmount edge case (<a
href="https://redirect.github.com/vuejs/core/issues/12705">#12705</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/164af639a120421194f7afe0e097bdf254c90199"><code>164af63</code></a>
fix(hydration): respect data-allow-mismatch on conditional branches (<a
href="https://redirect.github.com/vuejs/core/issues/12801">#12801</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/2f374cda18cbe331ede1a49a324b423c75d0faf3"><code>2f374cd</code></a>
fix(runtime-core): normalize function children for elements and Teleport
(<a
href="https://redirect.github.com/vuejs/core/issues/9108">#9108</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/87b73b64a0d9b4e2dd2dacfe98f2f1c2396d7a61"><code>87b73b6</code></a>
fix(runtime-core): preserve once event listener name (<a
href="https://redirect.github.com/vuejs/core/issues/8341">#8341</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/027da6b2810c4752131439d2645f3d931d07242f"><code>027da6b</code></a>
fix(ssr): dedupe inherited scope ids during vnode rendering (<a
href="https://redirect.github.com/vuejs/core/issues/15005">#15005</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/024cf06daa33db4660431f20aa050acb99cff07f"><code>024cf06</code></a>
fix(hydration): force patch dynamic props when hydrating (<a
href="https://redirect.github.com/vuejs/core/issues/9083">#9083</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/be7ce314b96256f1c56f53088d51ed6bc77fde28"><code>be7ce31</code></a>
fix(compiler-core): correct filter rewrite recursion (<a
href="https://redirect.github.com/vuejs/core/issues/14959">#14959</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vuejs/core/compare/v3.5.35...v3.5.39">compare
view</a></li>
</ul>
</details>
<br />

Updates `@vitejs/plugin-vue-jsx` from 5.1.5 to 5.1.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-vue/releases">@​vitejs/plugin-vue-jsx's
releases</a>.</em></p>
<blockquote>
<h2>plugin-vue-jsx@5.1.6</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite-plugin-vue/blob/plugin-vue-jsx@5.1.6/packages/plugin-vue-jsx/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue-jsx/CHANGELOG.md">@​vitejs/plugin-vue-jsx's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite-plugin-vue/compare/plugin-vue-jsx@5.1.5...plugin-vue-jsx@5.1.6">5.1.6</a>
(2026-06-23)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/738">#738</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/050c9962660e7bb189fe8e03f0fa4cbd0b5ba766">050c996</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/762">#762</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/9e825b85ebe9b6006dc5927aaa8aabc0bcc7eceb">9e825b8</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/774">#774</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/77dc8bc935216bb7ed13f1c2653a80ffdc99fd45">77dc8bc</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/781">#781</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/d369e5a57592ed525c4da5ef0458cb89a6977ad2">d369e5a</a>)</li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>jsx:</strong> cache TypeScript Babel plugin config (<a
href="https://redirect.github.com/vitejs/vite-plugin-vue/issues/799">#799</a>)
(<a
href="https://github.com/vitejs/vite-plugin-vue/commit/5f3ffabacdca7049747b28f7c78f52735c6fa0e1">5f3ffab</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/f6a8200c1af5fe3e4fb7d585f256b33504da065f"><code>f6a8200</code></a>
release: plugin-vue-jsx@5.1.6</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/5f3ffabacdca7049747b28f7c78f52735c6fa0e1"><code>5f3ffab</code></a>
perf(jsx): cache TypeScript Babel plugin config (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/799">#799</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/d369e5a57592ed525c4da5ef0458cb89a6977ad2"><code>d369e5a</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/781">#781</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/77dc8bc935216bb7ed13f1c2653a80ffdc99fd45"><code>77dc8bc</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/774">#774</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/9e825b85ebe9b6006dc5927aaa8aabc0bcc7eceb"><code>9e825b8</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/762">#762</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/050c9962660e7bb189fe8e03f0fa4cbd0b5ba766"><code>050c996</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/738">#738</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/540ab15b12003946c42d03c7a47fc8d8e8932be3"><code>540ab15</code></a>
release: plugin-vue-jsx@5.1.5</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/b3f23e4d0818f11a3e2f674380da870b11d260a2"><code>b3f23e4</code></a>
chore: remove Vite 8 beta from supported range (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/746">#746</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/2f2ff982a1ffde62bd8ac4c94bcc404d2bf17f80"><code>2f2ff98</code></a>
release: plugin-vue-jsx@5.1.4</li>
<li><a
href="https://github.com/vitejs/vite-plugin-vue/commit/e69d7519aeda6e7be10736197ceea8ad69d89905"><code>e69d751</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue-jsx/issues/726">#726</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue-jsx@5.1.6/packages/plugin-vue-jsx">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 23:59:37 -07:00
dependabot[bot] 3c8318dcc2 chore(deps-dev): bump the svelte group with 2 updates (#2580)
Bumps the svelte group with 2 updates:
[svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)
and
[vitest-browser-svelte](https://github.com/vitest-community/vitest-browser-svelte).

Updates `svelte` from 5.56.1 to 5.56.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/svelte/releases">svelte's
releases</a>.</em></p>
<blockquote>
<h2>svelte@5.56.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: include wrapping parentheses in <code>{@const}</code> declarator
<code>end</code> position (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18436">#18436</a>)</p>
</li>
<li>
<p>fix: always unset reactivity context after restoring it (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18453">#18453</a>)</p>
</li>
<li>
<p>fix: don't notify <code>searchParams</code> subscribers when the URL
changes without affecting the search string (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18425">#18425</a>)</p>
</li>
<li>
<p>fix: strip <code>?</code> from optional parameters in
<code>&lt;script lang=&quot;ts&quot;&gt;</code> so generated JavaScript
is valid (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18448">#18448</a>)</p>
</li>
</ul>
<h2>svelte@5.56.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: ignore errors that occur in destroyed effects (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18384">#18384</a>)</p>
</li>
<li>
<p>fix: type BigInts in <code>$state.snapshot(...)</code> return values
(<a
href="https://redirect.github.com/sveltejs/svelte/pull/18388">#18388</a>)</p>
</li>
</ul>
<h2>svelte@5.56.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: properly track effect end node for async sibling component (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18371">#18371</a>)</p>
</li>
<li>
<p>fix: prevent false-positive reactivity loss warning (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18373">#18373</a>)</p>
</li>
<li>
<p>chore: bump esrap dependency (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18372">#18372</a>)</p>
</li>
<li>
<p>fix: ignore declaration tags for animation directive (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18366">#18366</a>)</p>
</li>
<li>
<p>fix: reject pending async deriveds on discard (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18308">#18308</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md">svelte's
changelog</a>.</em></p>
<blockquote>
<h2>5.56.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: include wrapping parentheses in <code>{@const}</code> declarator
<code>end</code> position (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18436">#18436</a>)</p>
</li>
<li>
<p>fix: always unset reactivity context after restoring it (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18453">#18453</a>)</p>
</li>
<li>
<p>fix: don't notify <code>searchParams</code> subscribers when the URL
changes without affecting the search string (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18425">#18425</a>)</p>
</li>
<li>
<p>fix: strip <code>?</code> from optional parameters in
<code>&lt;script lang=&quot;ts&quot;&gt;</code> so generated JavaScript
is valid (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18448">#18448</a>)</p>
</li>
</ul>
<h2>5.56.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: ignore errors that occur in destroyed effects (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18384">#18384</a>)</p>
</li>
<li>
<p>fix: type BigInts in <code>$state.snapshot(...)</code> return values
(<a
href="https://redirect.github.com/sveltejs/svelte/pull/18388">#18388</a>)</p>
</li>
</ul>
<h2>5.56.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: properly track effect end node for async sibling component (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18371">#18371</a>)</p>
</li>
<li>
<p>fix: prevent false-positive reactivity loss warning (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18373">#18373</a>)</p>
</li>
<li>
<p>chore: bump esrap dependency (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18372">#18372</a>)</p>
</li>
<li>
<p>fix: ignore declaration tags for animation directive (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18366">#18366</a>)</p>
</li>
<li>
<p>fix: reject pending async deriveds on discard (<a
href="https://redirect.github.com/sveltejs/svelte/pull/18308">#18308</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/svelte/commit/eae50dfd1c2269e37258ef5c09527003bcf61573"><code>eae50df</code></a>
Version Packages (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18435">#18435</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/36ae0622a8da4c6e60d32cde199af3d7c3121cd3"><code>36ae062</code></a>
fix: always unset reactivity context after restoring it (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18453">#18453</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/a6985bcd24faa8ec4a8de671b2013d98b0bc629f"><code>a6985bc</code></a>
fix: strip <code>?</code> from optional parameters in svelte lang ts (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18448">#18448</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/c4daa490bbbf483ebba117c1afb6f71b4b19e63c"><code>c4daa49</code></a>
fix: include wrapping parentheses in <code>{@const}</code> declarator
end (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18436">#18436</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/0510174bc0c908c9d4980274717191fdf46a38c6"><code>0510174</code></a>
fix: make <code>SvelteURLSearchParams</code> notifications accurate (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18425">#18425</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/8ea3ee8c62aed631d5c4bbc0870d491059ed7d03"><code>8ea3ee8</code></a>
chore(deps-dev): bump esbuild from 0.25.11 to 0.28.1 (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18427">#18427</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/a9f48540e236d326714a1148b9d61cf785c0f98a"><code>a9f4854</code></a>
Version Packages (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18389">#18389</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/71a6515bd648202b2795a80e68e7c9c7ac9ad4ee"><code>71a6515</code></a>
fix: check boundary exists before calling error handler in async derived
(<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18">#18</a>...</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/3d83c9abe606415c2ceee215c76582ea9bcfa7b1"><code>3d83c9a</code></a>
fix: add bigint to Primitive type for $state.snapshot (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18388">#18388</a>)</li>
<li><a
href="https://github.com/sveltejs/svelte/commit/51baf1c1af4f02e2a8b009a87d932437f164b612"><code>51baf1c</code></a>
Version Packages (<a
href="https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18357">#18357</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/sveltejs/svelte/commits/svelte@5.56.4/packages/svelte">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest-browser-svelte` from 2.1.1 to 2.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-community/vitest-browser-svelte/releases">vitest-browser-svelte's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.0</h2>
<h3>   🚀 Features</h3>
<ul>
<li>Add <code>wrapper</code> option  -  by <a
href="https://github.com/mcous"><code>@​mcous</code></a> in <a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/31">vitest-community/vitest-browser-svelte#31</a>
<a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/3715b4d"><!--
raw HTML omitted -->(3715b)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-community/vitest-browser-svelte/compare/v2.1.1...v2.2.0">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/351c8ff649484173f7814b92c8b0f4a560de1125"><code>351c8ff</code></a>
chore: release v2.2.0 (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/36">#36</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/e29e1ee6bbe0d757d50f5683744d5b7e2a15d07e"><code>e29e1ee</code></a>
ci: add zizmor (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/37">#37</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/ff6a5fabcac3a3044f0a368d76bffca663b8c362"><code>ff6a5fa</code></a>
build: update the release workflow (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/35">#35</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/3715b4d7ce477049305e8f5c13b18a549130d576"><code>3715b4d</code></a>
feat: add <code>wrapper</code> option (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/31">#31</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/fc777f7a974161334f89b3256ac58db69dbb2e33"><code>fc777f7</code></a>
chore(deps): update Vitest and others (<a
href="https://redirect.github.com/vitest-community/vitest-browser-svelte/issues/28">#28</a>)</li>
<li><a
href="https://github.com/vitest-community/vitest-browser-svelte/commit/23f732332b51c40f200e149dc9ea5a1e51b797f6"><code>23f7323</code></a>
chore: add links to docs and package</li>
<li>See full diff in <a
href="https://github.com/vitest-community/vitest-browser-svelte/compare/v2.1.1...v2.2.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 05:10:21 +00:00
dependabot[bot] 1cb3985878 chore(deps-dev): bump the react group with 2 updates (#2582)
Bumps the react group with 2 updates:
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
and
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react).

Updates `@types/react` from 19.2.16 to 19.2.17
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />

Updates `@vitejs/plugin-react` from 6.0.2 to 6.0.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md">@​vitejs/plugin-react's
changelog</a>.</em></p>
<blockquote>
<h2>6.0.3 (2026-06-23)</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/640fd358a0e82393acfce4e92e19a6ac6e1641a7"><code>640fd35</code></a>
release: plugin-react@6.0.3</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/889efb02cdc4ec978a5e177a37e0213cfded38a4"><code>889efb0</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1249">#1249</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/6c57dd4c5d71075b48039df2532804e72880da21"><code>6c57dd4</code></a>
fix(plugin-react): use '/' base in bundledDev preamble to fix non-root
base p...</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/3cc33a703636b558a1c1c99e787ddc6bd64aab2d"><code>3cc33a7</code></a>
fix(deps): update react-related dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1245">#1245</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/c0f7c7ff709dc9d88bc1f29f1b27c1b3e2bfcfca"><code>c0f7c7f</code></a>
docs: mention the Biome rule in the &quot;Consistent components
exports&quot; section (...</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/cd80f0f7b2b750f6e8f719f9c3dbe4f22ddd94db"><code>cd80f0f</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1241">#1241</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/e38accafea0c7c84f7fc72fd69d9cec731fa7600"><code>e38acca</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1227">#1227</a>)</li>
<li><a
href="https://github.com/vitejs/vite-plugin-react/commit/9a9bb26c23b966dceed47ff9ec257faeb0e777d9"><code>9a9bb26</code></a>
perf(react): improve react compiler preset so that slightly more modules
are ...</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.3/packages/plugin-react">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 05:09:57 +00:00
dependabot[bot] 125901ed12 chore(deps): bump the angular group with 13 updates (#2579)
Bumps the angular group with 13 updates:

| Package | From | To |
| --- | --- | --- |
|
[@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common)
| `22.0.1` | `22.0.4` |
|
[@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler)
| `22.0.1` | `22.0.4` |
|
[@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core)
| `22.0.1` | `22.0.4` |
|
[@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms)
| `22.0.0` | `22.0.4` |
|
[@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser)
| `22.0.0` | `22.0.4` |
|
[@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router)
| `22.0.0` | `22.0.4` |
| [@angular/build](https://github.com/angular/angular-cli) | `22.0.0` |
`22.0.5` |
| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.0` |
`22.0.5` |
|
[@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli)
| `22.0.0` | `22.0.4` |
| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) |
`2.6.0` | `2.6.2` |
| [@analogjs/vitest-angular](https://github.com/analogjs/analog) |
`2.6.0` | `2.6.2` |
|
[@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic)
| `22.0.0` | `22.0.4` |
|
[vitest-browser-angular](https://github.com/vitest-community/vitest-browser-angular)
| `0.4.0` | `0.5.0` |

Updates `@angular/common` from 22.0.1 to 22.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/common's
releases</a>.</em></p>
<blockquote>
<h2>22.0.4</h2>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><img
src="https://img.shields.io/badge/fd37f09f37-fix-green" alt="fix -
fd37f09f37" /></a></td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<h2>22.0.3</h2>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><img
src="https://img.shields.io/badge/f90c20df40-fix-green" alt="fix -
f90c20df40" /></a></td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><img
src="https://img.shields.io/badge/f4f7f3755c-fix-green" alt="fix -
f4f7f3755c" /></a></td>
<td>remove unused import breaking CI in 22.0.x</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/06d854929c31213df363274f80a64b9049f0310c"><img
src="https://img.shields.io/badge/06d854929c-fix-green" alt="fix -
06d854929c" /></a></td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><img
src="https://img.shields.io/badge/2799304259-fix-green" alt="fix -
2799304259" /></a></td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><img
src="https://img.shields.io/badge/8cdc202dfc-fix-green" alt="fix -
8cdc202dfc" /></a></td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73"><img
src="https://img.shields.io/badge/b4a5a2fb4e-fix-green" alt="fix -
b4a5a2fb4e" /></a></td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6"><img
src="https://img.shields.io/badge/a16f9b2263-fix-green" alt="fix -
a16f9b2263" /></a></td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7"><img
src="https://img.shields.io/badge/bcc648f4b6-fix-green" alt="fix -
bcc648f4b6" /></a></td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<h2>22.0.2</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img
src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix -
94ea403563" /></a></td>
<td>escape anchor fragment in shadow DOM name selector</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img
src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix -
6c1f3e9d49" /></a></td>
<td>skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img
src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix -
6f1171991a" /></a></td>
<td>restrict possible event handler check to property names longer than
2 characters</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img
src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix -
528a34f766" /></a></td>
<td>avoid caching missing locale data</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img
src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix -
e17e8d5422" /></a></td>
<td>escape overlapping comment delimiters in escapeCommentText</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img
src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix -
59dea13f80" /></a></td>
<td>guard against DOM clobbering in declareExperimentalWebMcpTool</td>
</tr>
</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">@​angular/common's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.4 (2026-06-26)</h1>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034">fd37f09f37</a></td>
<td>fix</td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.2 (2026-06-25)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c">ecd047578e</a></td>
<td>fix</td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6">8b2785b597</a></td>
<td>fix</td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af">91d168e74b</a></td>
<td>fix</td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f76e8a98c1005827e562811d5d08ffd35493f9f5">f76e8a98c1</a></td>
<td>fix</td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2">c75ff0255c</a></td>
<td>feat</td>
<td>add migration from injectable to service</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="https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9">97a3fd6a55</a></td>
<td>feat</td>
<td>handle null and undefined inputs in RouterLinkActive</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/716f9eb032baea351c94352f8e36dac8bc82468e">716f9eb032</a></td>
<td>fix</td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01">6f98f98f1f</a></td>
<td>fix</td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e">8d31b82116</a></td>
<td>fix</td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.0.3 (2026-06-25)</h1>
<h3>compiler</h3>
<p>| Commit | Type | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef"><code>cd8f472</code></a>
docs: add documentation for HttpClient response body size limit and
related e...</li>
<li><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><code>8cdc202</code></a>
fix(http): prevent caching of responses with Set-Cookie headers</li>
<li><a
href="https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c"><code>6867f77</code></a>
fix(http): distinguish repeated transfer cache params</li>
<li><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><code>6c1f3e9</code></a>
fix(common): skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</li>
<li><a
href="https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d"><code>7ef1399</code></a>
fix(http): skip transfer cache for fetch credentialed requests (<a
href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316">#69316</a>)</li>
<li><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><code>94ea403</code></a>
fix(common): escape anchor fragment in shadow DOM name selector</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.4/packages/common">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/compiler` from 22.0.1 to 22.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/compiler's
releases</a>.</em></p>
<blockquote>
<h2>22.0.4</h2>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><img
src="https://img.shields.io/badge/fd37f09f37-fix-green" alt="fix -
fd37f09f37" /></a></td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<h2>22.0.3</h2>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><img
src="https://img.shields.io/badge/f90c20df40-fix-green" alt="fix -
f90c20df40" /></a></td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><img
src="https://img.shields.io/badge/f4f7f3755c-fix-green" alt="fix -
f4f7f3755c" /></a></td>
<td>remove unused import breaking CI in 22.0.x</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/06d854929c31213df363274f80a64b9049f0310c"><img
src="https://img.shields.io/badge/06d854929c-fix-green" alt="fix -
06d854929c" /></a></td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><img
src="https://img.shields.io/badge/2799304259-fix-green" alt="fix -
2799304259" /></a></td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><img
src="https://img.shields.io/badge/8cdc202dfc-fix-green" alt="fix -
8cdc202dfc" /></a></td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73"><img
src="https://img.shields.io/badge/b4a5a2fb4e-fix-green" alt="fix -
b4a5a2fb4e" /></a></td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6"><img
src="https://img.shields.io/badge/a16f9b2263-fix-green" alt="fix -
a16f9b2263" /></a></td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7"><img
src="https://img.shields.io/badge/bcc648f4b6-fix-green" alt="fix -
bcc648f4b6" /></a></td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<h2>22.0.2</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img
src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix -
94ea403563" /></a></td>
<td>escape anchor fragment in shadow DOM name selector</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img
src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix -
6c1f3e9d49" /></a></td>
<td>skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316">#69316</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img
src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix -
6f1171991a" /></a></td>
<td>restrict possible event handler check to property names longer than
2 characters</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img
src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix -
528a34f766" /></a></td>
<td>avoid caching missing locale data</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img
src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix -
e17e8d5422" /></a></td>
<td>escape overlapping comment delimiters in escapeCommentText</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img
src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix -
59dea13f80" /></a></td>
<td>guard against DOM clobbering in declareExperimentalWebMcpTool</td>
</tr>
</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">@​angular/compiler's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.4 (2026-06-26)</h1>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034">fd37f09f37</a></td>
<td>fix</td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.2 (2026-06-25)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c">ecd047578e</a></td>
<td>fix</td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6">8b2785b597</a></td>
<td>fix</td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af">91d168e74b</a></td>
<td>fix</td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f76e8a98c1005827e562811d5d08ffd35493f9f5">f76e8a98c1</a></td>
<td>fix</td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2">c75ff0255c</a></td>
<td>feat</td>
<td>add migration from injectable to service</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="https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9">97a3fd6a55</a></td>
<td>feat</td>
<td>handle null and undefined inputs in RouterLinkActive</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/716f9eb032baea351c94352f8e36dac8bc82468e">716f9eb032</a></td>
<td>fix</td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01">6f98f98f1f</a></td>
<td>fix</td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e">8d31b82116</a></td>
<td>fix</td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.0.3 (2026-06-25)</h1>
<h3>compiler</h3>
<p>| Commit | Type | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><code>f4f7f37</code></a>
fix(compiler): remove unused import breaking CI in 22.0.x</li>
<li><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><code>f90c20d</code></a>
fix(compiler): account for NgModule dependencies in JIT-compiled partial
decl...</li>
<li><a
href="https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2"><code>489d170</code></a>
refactor(compiler): desable the legacy template syntax</li>
<li><a
href="https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612"><code>39001be</code></a>
refactor(compiler): Move the attribute comment to the HTML AST</li>
<li><a
href="https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4"><code>74f2b91</code></a>
refactor(compiler): correct TcbInvalidReferenceOp initializer</li>
<li><a
href="https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966"><code>b32ee7c</code></a>
fix(core): treat iframe credentialless as security-sensitive</li>
<li><a
href="https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427"><code>f309727</code></a>
refactor(compiler): Collect in-element comments</li>
<li><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><code>6f11719</code></a>
fix(compiler): restrict possible event handler check to property names
longer...</li>
<li><a
href="https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4"><code>8bb3947</code></a>
refactor: optimize dom security schema lookups</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.4/packages/compiler">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/core` from 22.0.1 to 22.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/core's
releases</a>.</em></p>
<blockquote>
<h2>22.0.4</h2>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><img
src="https://img.shields.io/badge/fd37f09f37-fix-green" alt="fix -
fd37f09f37" /></a></td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<h2>22.0.3</h2>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><img
src="https://img.shields.io/badge/f90c20df40-fix-green" alt="fix -
f90c20df40" /></a></td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><img
src="https://img.shields.io/badge/f4f7f3755c-fix-green" alt="fix -
f4f7f3755c" /></a></td>
<td>remove unused import breaking CI in 22.0.x</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/06d854929c31213df363274f80a64b9049f0310c"><img
src="https://img.shields.io/badge/06d854929c-fix-green" alt="fix -
06d854929c" /></a></td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><img
src="https://img.shields.io/badge/2799304259-fix-green" alt="fix -
2799304259" /></a></td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><img
src="https://img.shields.io/badge/8cdc202dfc-fix-green" alt="fix -
8cdc202dfc" /></a></td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73"><img
src="https://img.shields.io/badge/b4a5a2fb4e-fix-green" alt="fix -
b4a5a2fb4e" /></a></td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6"><img
src="https://img.shields.io/badge/a16f9b2263-fix-green" alt="fix -
a16f9b2263" /></a></td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7"><img
src="https://img.shields.io/badge/bcc648f4b6-fix-green" alt="fix -
bcc648f4b6" /></a></td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<h2>22.0.2</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img
src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix -
94ea403563" /></a></td>
<td>escape anchor fragment in shadow DOM name selector</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img
src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix -
6c1f3e9d49" /></a></td>
<td>skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316">#69316</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img
src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix -
6f1171991a" /></a></td>
<td>restrict possible event handler check to property names longer than
2 characters</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img
src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix -
528a34f766" /></a></td>
<td>avoid caching missing locale data</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img
src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix -
e17e8d5422" /></a></td>
<td>escape overlapping comment delimiters in escapeCommentText</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img
src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix -
59dea13f80" /></a></td>
<td>guard against DOM clobbering in declareExperimentalWebMcpTool</td>
</tr>
</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">@​angular/core's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.4 (2026-06-26)</h1>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034">fd37f09f37</a></td>
<td>fix</td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.2 (2026-06-25)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c">ecd047578e</a></td>
<td>fix</td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6">8b2785b597</a></td>
<td>fix</td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af">91d168e74b</a></td>
<td>fix</td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f76e8a98c1005827e562811d5d08ffd35493f9f5">f76e8a98c1</a></td>
<td>fix</td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2">c75ff0255c</a></td>
<td>feat</td>
<td>add migration from injectable to service</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="https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9">97a3fd6a55</a></td>
<td>feat</td>
<td>handle null and undefined inputs in RouterLinkActive</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/716f9eb032baea351c94352f8e36dac8bc82468e">716f9eb032</a></td>
<td>fix</td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01">6f98f98f1f</a></td>
<td>fix</td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e">8d31b82116</a></td>
<td>fix</td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.0.3 (2026-06-25)</h1>
<h3>compiler</h3>
<p>| Commit | Type | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><code>fd37f09</code></a>
fix(migrations): resolve migration failure when tsconfig specifies
rootDir</li>
<li><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><code>f90c20d</code></a>
fix(compiler): account for NgModule dependencies in JIT-compiled partial
decl...</li>
<li><a
href="https://github.com/angular/angular/commit/01d58d7ad7277ca1acc07186a7114167d65b02d6"><code>01d58d7</code></a>
refactor(core): Tree shake the <code>SimpleChanges</code> &amp; co.</li>
<li><a
href="https://github.com/angular/angular/commit/03d1a6444a57ed654929c4b36c86cf797021c3c0"><code>03d1a64</code></a>
docs(core): document resource chaining with chain() in params
context</li>
<li><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><code>2799304</code></a>
fix(core): avoid uncaught promise errors in injectAsync prefetching</li>
<li><a
href="https://github.com/angular/angular/commit/3e7c83b0a30886ffc9ecb9f6d1f234debadce68d"><code>3e7c83b</code></a>
Revert &quot;fix(core): escape overlapping comment delimiters in
escapeCommentText&quot;</li>
<li><a
href="https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced"><code>152601e</code></a>
refactor(core): add <code>childSignalProp</code> to
<code>ReactiveNodeKind</code></li>
<li><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><code>59dea13</code></a>
fix(core): guard against DOM clobbering in
declareExperimentalWebMcpTool</li>
<li><a
href="https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb"><code>81cb457</code></a>
refactor(router): Add handling for ActivatedRoute-scoped injector</li>
<li><a
href="https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190"><code>f902d1d</code></a>
perf(core): detect existing signal dependency without checking all
producer l...</li>
<li>Additional commits viewable in <a
href="https://github.com/angular/angular/commits/v22.0.4/packages/core">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/forms` from 22.0.0 to 22.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/forms's
releases</a>.</em></p>
<blockquote>
<h2>22.0.4</h2>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><img
src="https://img.shields.io/badge/fd37f09f37-fix-green" alt="fix -
fd37f09f37" /></a></td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<h2>22.0.3</h2>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><img
src="https://img.shields.io/badge/f90c20df40-fix-green" alt="fix -
f90c20df40" /></a></td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><img
src="https://img.shields.io/badge/f4f7f3755c-fix-green" alt="fix -
f4f7f3755c" /></a></td>
<td>remove unused import breaking CI in 22.0.x</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/06d854929c31213df363274f80a64b9049f0310c"><img
src="https://img.shields.io/badge/06d854929c-fix-green" alt="fix -
06d854929c" /></a></td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><img
src="https://img.shields.io/badge/2799304259-fix-green" alt="fix -
2799304259" /></a></td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><img
src="https://img.shields.io/badge/8cdc202dfc-fix-green" alt="fix -
8cdc202dfc" /></a></td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73"><img
src="https://img.shields.io/badge/b4a5a2fb4e-fix-green" alt="fix -
b4a5a2fb4e" /></a></td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6"><img
src="https://img.shields.io/badge/a16f9b2263-fix-green" alt="fix -
a16f9b2263" /></a></td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7"><img
src="https://img.shields.io/badge/bcc648f4b6-fix-green" alt="fix -
bcc648f4b6" /></a></td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<h2>22.0.2</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img
src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix -
94ea403563" /></a></td>
<td>escape anchor fragment in shadow DOM name selector</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img
src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix -
6c1f3e9d49" /></a></td>
<td>skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316">#69316</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img
src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix -
6f1171991a" /></a></td>
<td>restrict possible event handler check to property names longer than
2 characters</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img
src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix -
528a34f766" /></a></td>
<td>avoid caching missing locale data</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img
src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix -
e17e8d5422" /></a></td>
<td>escape overlapping comment delimiters in escapeCommentText</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img
src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix -
59dea13f80" /></a></td>
<td>guard against DOM clobbering in declareExperimentalWebMcpTool</td>
</tr>
</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">@​angular/forms's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.4 (2026-06-26)</h1>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034">fd37f09f37</a></td>
<td>fix</td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.2 (2026-06-25)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c">ecd047578e</a></td>
<td>fix</td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6">8b2785b597</a></td>
<td>fix</td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af">91d168e74b</a></td>
<td>fix</td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f76e8a98c1005827e562811d5d08ffd35493f9f5">f76e8a98c1</a></td>
<td>fix</td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2">c75ff0255c</a></td>
<td>feat</td>
<td>add migration from injectable to service</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="https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9">97a3fd6a55</a></td>
<td>feat</td>
<td>handle null and undefined inputs in RouterLinkActive</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/716f9eb032baea351c94352f8e36dac8bc82468e">716f9eb032</a></td>
<td>fix</td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01">6f98f98f1f</a></td>
<td>fix</td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e">8d31b82116</a></td>
<td>fix</td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.0.3 (2026-06-25)</h1>
<h3>compiler</h3>
<p>| Commit | Type | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/2353bf22a52563fece26047820234ae013cdc931"><code>2353bf2</code></a>
refactor(forms): widen <code>AsyncValidatorOptions.factory</code></li>
<li><a
href="https://github.com/angular/angular/commit/d2b613900cbfeb4780d4061155e2b1b6183128be"><code>d2b6139</code></a>
docs(forms): clarify debounce('blur') usage with custom
FormValueControl</li>
<li><a
href="https://github.com/angular/angular/commit/59ee51e2d4adea02d25068b21980312164fd477d"><code>59ee51e</code></a>
docs(forms): update package docs for Signal Forms graduation</li>
<li><a
href="https://github.com/angular/angular/commit/3f055435f6e2f5f9824bc8f70d061b284bea7c80"><code>3f05543</code></a>
refactor(forms): fix initWebMcpForm description to be required</li>
<li><a
href="https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014"><code>11836a6</code></a>
fix(forms): delay mcp reading the form model by a <code>tick</code></li>
<li><a
href="https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae"><code>e51ad37</code></a>
fix(forms): remove animationstart listener on component destroy to
prevent me...</li>
<li><a
href="https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd"><code>85d2d10</code></a>
fix(forms): harden FormGroup control lookups against prototype
shadowing</li>
<li><a
href="https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f"><code>cdcea80</code></a>
fix(core): require WebMCP tool descriptions</li>
<li><a
href="https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a"><code>55b7b5a</code></a>
fix(forms): set <code>additionalProperties: false</code> on generated
WebMCP form</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.4/packages/forms">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/platform-browser` from 22.0.0 to 22.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/platform-browser's
releases</a>.</em></p>
<blockquote>
<h2>22.0.4</h2>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><img
src="https://img.shields.io/badge/fd37f09f37-fix-green" alt="fix -
fd37f09f37" /></a></td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<h2>22.0.3</h2>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><img
src="https://img.shields.io/badge/f90c20df40-fix-green" alt="fix -
f90c20df40" /></a></td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><img
src="https://img.shields.io/badge/f4f7f3755c-fix-green" alt="fix -
f4f7f3755c" /></a></td>
<td>remove unused import breaking CI in 22.0.x</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/06d854929c31213df363274f80a64b9049f0310c"><img
src="https://img.shields.io/badge/06d854929c-fix-green" alt="fix -
06d854929c" /></a></td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><img
src="https://img.shields.io/badge/2799304259-fix-green" alt="fix -
2799304259" /></a></td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><img
src="https://img.shields.io/badge/8cdc202dfc-fix-green" alt="fix -
8cdc202dfc" /></a></td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73"><img
src="https://img.shields.io/badge/b4a5a2fb4e-fix-green" alt="fix -
b4a5a2fb4e" /></a></td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6"><img
src="https://img.shields.io/badge/a16f9b2263-fix-green" alt="fix -
a16f9b2263" /></a></td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7"><img
src="https://img.shields.io/badge/bcc648f4b6-fix-green" alt="fix -
bcc648f4b6" /></a></td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<h2>22.0.2</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img
src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix -
94ea403563" /></a></td>
<td>escape anchor fragment in shadow DOM name selector</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img
src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix -
6c1f3e9d49" /></a></td>
<td>skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316">#69316</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img
src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix -
6f1171991a" /></a></td>
<td>restrict possible event handler check to property names longer than
2 characters</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img
src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix -
528a34f766" /></a></td>
<td>avoid caching missing locale data</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img
src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix -
e17e8d5422" /></a></td>
<td>escape overlapping comment delimiters in escapeCommentText</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img
src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix -
59dea13f80" /></a></td>
<td>guard against DOM clobbering in declareExperimentalWebMcpTool</td>
</tr>
</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">@​angular/platform-browser's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.4 (2026-06-26)</h1>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034">fd37f09f37</a></td>
<td>fix</td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.2 (2026-06-25)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c">ecd047578e</a></td>
<td>fix</td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6">8b2785b597</a></td>
<td>fix</td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af">91d168e74b</a></td>
<td>fix</td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f76e8a98c1005827e562811d5d08ffd35493f9f5">f76e8a98c1</a></td>
<td>fix</td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2">c75ff0255c</a></td>
<td>feat</td>
<td>add migration from injectable to service</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="https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9">97a3fd6a55</a></td>
<td>feat</td>
<td>handle null and undefined inputs in RouterLinkActive</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/716f9eb032baea351c94352f8e36dac8bc82468e">716f9eb032</a></td>
<td>fix</td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01">6f98f98f1f</a></td>
<td>fix</td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e">8d31b82116</a></td>
<td>fix</td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.0.3 (2026-06-25)</h1>
<h3>compiler</h3>
<p>| Commit | Type | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd"><code>3d536d7</code></a>
docs: add error guide for NG05102</li>
<li><a
href="https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a"><code>f598dcf</code></a>
docs: add error guide for NG05101</li>
<li>See full diff in <a
href="https://github.com/angular/angular/commits/v22.0.4/packages/platform-browser">compare
view</a></li>
</ul>
</details>
<br />

Updates `@angular/router` from 22.0.0 to 22.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/angular/angular/releases">@​angular/router's
releases</a>.</em></p>
<blockquote>
<h2>22.0.4</h2>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034"><img
src="https://img.shields.io/badge/fd37f09f37-fix-green" alt="fix -
fd37f09f37" /></a></td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<h2>22.0.3</h2>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c"><img
src="https://img.shields.io/badge/f90c20df40-fix-green" alt="fix -
f90c20df40" /></a></td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c"><img
src="https://img.shields.io/badge/f4f7f3755c-fix-green" alt="fix -
f4f7f3755c" /></a></td>
<td>remove unused import breaking CI in 22.0.x</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/06d854929c31213df363274f80a64b9049f0310c"><img
src="https://img.shields.io/badge/06d854929c-fix-green" alt="fix -
06d854929c" /></a></td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf"><img
src="https://img.shields.io/badge/2799304259-fix-green" alt="fix -
2799304259" /></a></td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762"><img
src="https://img.shields.io/badge/8cdc202dfc-fix-green" alt="fix -
8cdc202dfc" /></a></td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73"><img
src="https://img.shields.io/badge/b4a5a2fb4e-fix-green" alt="fix -
b4a5a2fb4e" /></a></td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6"><img
src="https://img.shields.io/badge/a16f9b2263-fix-green" alt="fix -
a16f9b2263" /></a></td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7"><img
src="https://img.shields.io/badge/bcc648f4b6-fix-green" alt="fix -
bcc648f4b6" /></a></td>
<td>support model() signals in downgradeComponent</td>
</tr>
</tbody>
</table>
<h2>22.0.2</h2>
<h3>common</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475"><img
src="https://img.shields.io/badge/94ea403563-fix-green" alt="fix -
94ea403563" /></a></td>
<td>escape anchor fragment in shadow DOM name selector</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf"><img
src="https://img.shields.io/badge/6c1f3e9d49-fix-green" alt="fix -
6c1f3e9d49" /></a></td>
<td>skip transfer cache for uncacheable HTTP traffic (<a
href="https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316">#69316</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53"><img
src="https://img.shields.io/badge/6f1171991a-fix-green" alt="fix -
6f1171991a" /></a></td>
<td>restrict possible event handler check to property names longer than
2 characters</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49"><img
src="https://img.shields.io/badge/528a34f766-fix-green" alt="fix -
528a34f766" /></a></td>
<td>avoid caching missing locale data</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b"><img
src="https://img.shields.io/badge/e17e8d5422-fix-green" alt="fix -
e17e8d5422" /></a></td>
<td>escape overlapping comment delimiters in escapeCommentText</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15"><img
src="https://img.shields.io/badge/59dea13f80-fix-green" alt="fix -
59dea13f80" /></a></td>
<td>guard against DOM clobbering in declareExperimentalWebMcpTool</td>
</tr>
</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">@​angular/router's
changelog</a>.</em></p>
<blockquote>
<h1>22.0.4 (2026-06-26)</h1>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034">fd37f09f37</a></td>
<td>fix</td>
<td>resolve migration failure when tsconfig specifies rootDir</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>22.1.0-next.2 (2026-06-25)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c">ecd047578e</a></td>
<td>fix</td>
<td>account for NgModule dependencies in JIT-compiled partial
declarations</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6">8b2785b597</a></td>
<td>fix</td>
<td>report diagnostic instead of crashing on malformed host binding</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af">91d168e74b</a></td>
<td>fix</td>
<td>avoid uncaught promise errors in injectAsync prefetching</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/f76e8a98c1005827e562811d5d08ffd35493f9f5">f76e8a98c1</a></td>
<td>fix</td>
<td>prevent caching of responses with Set-Cookie headers</td>
</tr>
</tbody>
</table>
<h3>migrations</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2">c75ff0255c</a></td>
<td>feat</td>
<td>add migration from injectable to service</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="https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9">97a3fd6a55</a></td>
<td>feat</td>
<td>handle null and undefined inputs in RouterLinkActive</td>
</tr>
</tbody>
</table>
<h3>service-worker</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/angular/angular/commit/716f9eb032baea351c94352f8e36dac8bc82468e">716f9eb032</a></td>
<td>fix</td>
<td>preserve referrer in asset requests</td>
</tr>
<tr>
<td><a
href="https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01">6f98f98f1f</a></td>
<td>fix</td>
<td>preserve referrer policy in asset requests</td>
</tr>
</tbody>
</table>
<h3>upgrade</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://g...

_Description has been truncated_

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 21:59:48 -07:00
dependabot[bot] 81f63653d3 chore(deps): bump the langchain group with 8 updates (#2578)
Bumps the langchain group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) |
`1.4.0` | `1.5.1` |
| [langchain](https://github.com/langchain-ai/langchainjs) | `1.4.4` |
`1.5.2` |
| [@langchain/openai](https://github.com/langchain-ai/langchainjs) |
`1.4.7` | `1.5.3` |
| [@langchain/groq](https://github.com/langchain-ai/langchainjs) |
`1.2.1` | `1.3.1` |
| [@langchain/mistralai](https://github.com/langchain-ai/langchainjs) |
`1.1.0` | `1.2.0` |
| [@langchain/ollama](https://github.com/langchain-ai/langchainjs) |
`1.2.7` | `1.3.0` |
| [@langchain/classic](https://github.com/langchain-ai/langchainjs) |
`1.0.34` | `1.0.38` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.4` |
`0.7.14` |

Updates `@langchain/anthropic` from 1.4.0 to 1.5.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/anthropic's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/anthropic</code><a
href="https://github.com/1"><code>@​1</code></a>.5.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11073">#11073</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/baa57ba7cdce2046ba3dd40e9e8cf3c93c9c1ac4"><code>baa57ba</code></a>
Thanks <a
href="https://github.com/archievi"><code>@​archievi</code></a>! - Stop
sending <code>thinking: { type: &quot;disabled&quot; }</code> on
<code>ChatAnthropic</code> requests when the user never configured
thinking. The disabled value is now only emitted when it is explicitly
set, so adaptive-only models (e.g. <code>claude-fable-5</code>) that
reject an explicit <code>thinking.type: &quot;disabled&quot;</code> no
longer fail with a 400 on a default <code>ChatAnthropic</code>
instance.</li>
</ul>
<h2><code>@​langchain/anthropic</code><a
href="https://github.com/1"><code>@​1</code></a>.5.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/10924">#10924</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(anthropic): update native streamEvents event coverage</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1ee0df0c49335104968f6c5130dbdb7e777f85d7"><code>1ee0df0</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11097">#11097</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f01770895c06621b469a6c6b5244747f6efdfbf7"><code>f017708</code></a>
fix(core): better 429 error handling (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10674">#10674</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>
fix(openai): omit empty reasoning item id in Responses API input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11045">#11045</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>
fix(openai): route standard url file blocks to native input_file in
Responses...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>
fix(openai): stream built-in tool progress events (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11090">#11090</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/d2e6afcf17b269aa11a2f18444c208bc8a4b2520"><code>d2e6afc</code></a>
fix(groq): require <code>@​langchain/core</code> &gt;= 1.1.30 in peer
dependency (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11072">#11072</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c66870ea8ebf9e3b0794ab8d969b25dfb189f2de"><code>c66870e</code></a>
feat(weaviate): add X-Weaviate-Client-Integration telemetry header (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11088">#11088</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/baa57ba7cdce2046ba3dd40e9e8cf3c93c9c1ac4"><code>baa57ba</code></a>
fix(anthropic): omit default disabled thinking from requests (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11073">#11073</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/04edb8d0fa3c408adbc6e4c277d1f3aaf5b40161"><code>04edb8d</code></a>
docs(ibm): fix &quot;Recieved&quot; typo in tool_choice error message
(<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11066">#11066</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/2b7f368c2baa3f2916a207bf099a437adce2179c"><code>2b7f368</code></a>
chore(deps): bump uuid from 14.0.0 to 14.0.1 (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11094">#11094</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/anthropic@1.4.0...@langchain/anthropic@1.5.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `langchain` from 1.4.4 to 1.5.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">langchain's
releases</a>.</em></p>
<blockquote>
<h2>langchain@1.5.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11100">#11100</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/3205b35ac83037a2fff2998f16a66b5126b306f8"><code>3205b35</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
fix(langchain, openai): decouple strict tools from strict structured
output response</li>
</ul>
<h2>langchain@1.5.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11087">#11087</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/534b43a0719c89e3fb4ab7052d3f39797660aa43"><code>534b43a</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- fix(langchain): keep tool call streams pending across any tool
interrupt</p>
<p>A raw <code>interrupt()</code> raised from inside a tool surfaced as
a <code>tool-error</code> and
rejected the call's un-awaited <code>output</code> promise, producing an
unhandled
rejection that crashed HITL runs. The tool-call stream transformer now
treats
any serialized graph interrupt as control flow (the call stays pending
and
resumes), not just <code>humanInTheLoopMiddleware</code> interrupts.</p>
</li>
</ul>
<h2>langchain@1.5.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11062">#11062</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/3ebd10ae381ef7c9e12759f08d2f2b745bdfae62"><code>3ebd10a</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(langchain): surface tool-dispatched subagents on
<code>run.subagents</code></p>
<p>Add a native subagent stream transformer to <code>createAgent</code>
so v3 runs expose
named nested agents (<code>createAgent({ name })</code> invoked from
tools) as typed
<code>SubagentRunStream</code> handles with <code>name</code>,
<code>cause</code>, scoped <code>messages</code> /
<code>toolCalls</code>, and <code>output</code>. Refactors agent stream
transformers into
<code>agents/transformers/</code> and exports only the public stream
types from the
package entry.</p>
</li>
</ul>
<h2>langchain@1.4.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11012">#11012</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/4aeaa767a48dcc5451371f14adf4a06f064d23b9"><code>4aeaa76</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(langchain): add <code>when</code> predicate to human-in-the-loop
middleware</p>
<p>Add an optional <code>when</code> callback on
<code>InterruptOnConfig</code> so callers can
dynamically skip interrupts for specific tool calls. The predicate
receives
a <code>ToolCallRequest</code> (batch <code>afterModel</code> context)
and returns whether to
interrupt or auto-approve, matching Python
<code>HumanInTheLoopMiddleware</code>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11080">#11080</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/e51478a4436d69a21f75f1c9e0bb84f3abb6d6f5"><code>e51478a</code></a>
Thanks <a
href="https://github.com/aolsenjazz"><code>@​aolsenjazz</code></a>! -
feat(aws): bedrock prompt caching middleware</p>
<p>Adds bedrockPromptCachingMiddleware. The interface largely matches
what was previous implemented with anthropicPromptCachingMiddleware,
making a best-effort attempt at utilizing prompt caching features for
supported models.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f1d64ff8d6076fb6656c1f327b7b58eac520314b"><code>f1d64ff</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11101">#11101</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/72ffc4bf17dc6dca390546c0e6c9503607198f26"><code>72ffc4b</code></a>
fix(aws): add Bedrock stream idle timeout (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11098">#11098</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/3205b35ac83037a2fff2998f16a66b5126b306f8"><code>3205b35</code></a>
fix(langchain, openai): decouple strict tools from strict structured
output r...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1ee0df0c49335104968f6c5130dbdb7e777f85d7"><code>1ee0df0</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11097">#11097</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f01770895c06621b469a6c6b5244747f6efdfbf7"><code>f017708</code></a>
fix(core): better 429 error handling (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10674">#10674</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>
fix(openai): omit empty reasoning item id in Responses API input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11045">#11045</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>
fix(openai): route standard url file blocks to native input_file in
Responses...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>
fix(openai): stream built-in tool progress events (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11090">#11090</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/d2e6afcf17b269aa11a2f18444c208bc8a4b2520"><code>d2e6afc</code></a>
fix(groq): require <code>@​langchain/core</code> &gt;= 1.1.30 in peer
dependency (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11072">#11072</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c66870ea8ebf9e3b0794ab8d969b25dfb189f2de"><code>c66870e</code></a>
feat(weaviate): add X-Weaviate-Client-Integration telemetry header (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11088">#11088</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/openai@1.4.4...langchain@1.5.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/openai` from 1.4.7 to 1.5.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/openai's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.3</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11100">#11100</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/3205b35ac83037a2fff2998f16a66b5126b306f8"><code>3205b35</code></a>
Thanks <a
href="https://github.com/colifran"><code>@​colifran</code></a>! -
fix(langchain, openai): decouple strict tools from strict structured
output response</li>
</ul>
<h2><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11045">#11045</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>
Thanks <a
href="https://github.com/jackjin1997"><code>@​jackjin1997</code></a>! -
fix(openai): omit empty id and content on reasoning items in Responses
API input</p>
<p>Reasoning blocks reassembled from streaming chunks (e.g. via
<code>streamEvents</code>) never carry an id, since OpenAI's streaming
protocol only includes it in non-streaming responses. When such a
message was replayed as Responses API input on the next turn, the
reasoning item was emitted with <code>id: &quot;&quot;</code>, which
OpenAI rejects with <code>400 Invalid 'input[n].id': ''</code>. The
<code>id</code> field is now omitted when absent.</p>
<p>A second error surfaced immediately after that fix: the same
converter set a populated <code>content</code> array on the reasoning
input item, which the Responses API also rejects (<code>400 Invalid
'input[n].content': array too long. Expected an array with maximum
length 0</code>). Reasoning input items only carry <code>summary</code>,
so <code>content</code> is no longer forwarded. Thanks to <a
href="https://github.com/csrujanreddy"><code>@​csrujanreddy</code></a>
for catching the second issue and verifying both fixes against the live
API.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11065">#11065</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>
Thanks <a href="https://github.com/rxits"><code>@​rxits</code></a>! -
fix(openai): route standard url file blocks to native input_file in
Responses API</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11090">#11090</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>
Thanks <a
href="https://github.com/nikhilpakhloo"><code>@​nikhilpakhloo</code></a>!
- fix(openai): stream built-in tool progress events</p>
</li>
</ul>
<h2><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11001">#11001</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/80b43ecffe0701c3c375c407fb601cb452f708ef"><code>80b43ec</code></a>
Thanks <a
href="https://github.com/Herrtian"><code>@​Herrtian</code></a>! - Wrap
Responses API stream iteration errors with existing OpenAI client error
handling.</li>
</ul>
<h2><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/10924">#10924</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(openai): add native streamEvents event converters</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f1d64ff8d6076fb6656c1f327b7b58eac520314b"><code>f1d64ff</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11101">#11101</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/72ffc4bf17dc6dca390546c0e6c9503607198f26"><code>72ffc4b</code></a>
fix(aws): add Bedrock stream idle timeout (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11098">#11098</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/3205b35ac83037a2fff2998f16a66b5126b306f8"><code>3205b35</code></a>
fix(langchain, openai): decouple strict tools from strict structured
output r...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1ee0df0c49335104968f6c5130dbdb7e777f85d7"><code>1ee0df0</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11097">#11097</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f01770895c06621b469a6c6b5244747f6efdfbf7"><code>f017708</code></a>
fix(core): better 429 error handling (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10674">#10674</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>
fix(openai): omit empty reasoning item id in Responses API input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11045">#11045</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>
fix(openai): route standard url file blocks to native input_file in
Responses...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>
fix(openai): stream built-in tool progress events (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11090">#11090</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/d2e6afcf17b269aa11a2f18444c208bc8a4b2520"><code>d2e6afc</code></a>
fix(groq): require <code>@​langchain/core</code> &gt;= 1.1.30 in peer
dependency (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11072">#11072</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c66870ea8ebf9e3b0794ab8d969b25dfb189f2de"><code>c66870e</code></a>
feat(weaviate): add X-Weaviate-Client-Integration telemetry header (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11088">#11088</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/openai@1.4.7...@langchain/openai@1.5.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/groq` from 1.2.1 to 1.3.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/groq's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/groq</code><a
href="https://github.com/1"><code>@​1</code></a>.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11072">#11072</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/d2e6afcf17b269aa11a2f18444c208bc8a4b2520"><code>d2e6afc</code></a>
Thanks <a
href="https://github.com/atimothee"><code>@​atimothee</code></a>! -
fix(groq): require <code>@langchain/core</code> &gt;= 1.1.30 in peer
dependency</p>
<p>The package imports
<code>@langchain/core/utils/standard_schema</code> and
<code>@langchain/core/language_models/structured_output</code>, both of
which were
introduced in <code>@langchain/core@1.1.30</code>. The previous
<code>^1.0.0</code> peer
dependency range allowed installing incompatible older versions and
caused module-resolution failures at build/runtime.</p>
</li>
</ul>
<h2><code>@​langchain/groq</code><a
href="https://github.com/1"><code>@​1</code></a>.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/10924">#10924</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(groq): add native OpenAI-compatible streamEvents events</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/11069">#11069</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/7d61f5f19861643bd39eda333628e59783c75fa9"><code>7d61f5f</code></a>
Thanks <a
href="https://github.com/brandonhawi"><code>@​brandonhawi</code></a>! -
Tighten the <code>@langchain/core</code> peer dependency to
<code>^1.1.30</code>, the version that introduced the
<code>utils/standard_schema</code> and
<code>language_models/structured_output</code> export subpaths imported
by <code>ChatGroq</code>. The previous <code>^1.0.0</code> range allowed
core versions below 1.1.30 that lack these exports, causing
module-not-found build failures.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1ee0df0c49335104968f6c5130dbdb7e777f85d7"><code>1ee0df0</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11097">#11097</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f01770895c06621b469a6c6b5244747f6efdfbf7"><code>f017708</code></a>
fix(core): better 429 error handling (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10674">#10674</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>
fix(openai): omit empty reasoning item id in Responses API input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11045">#11045</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>
fix(openai): route standard url file blocks to native input_file in
Responses...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>
fix(openai): stream built-in tool progress events (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11090">#11090</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/d2e6afcf17b269aa11a2f18444c208bc8a4b2520"><code>d2e6afc</code></a>
fix(groq): require <code>@​langchain/core</code> &gt;= 1.1.30 in peer
dependency (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11072">#11072</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c66870ea8ebf9e3b0794ab8d969b25dfb189f2de"><code>c66870e</code></a>
feat(weaviate): add X-Weaviate-Client-Integration telemetry header (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11088">#11088</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/baa57ba7cdce2046ba3dd40e9e8cf3c93c9c1ac4"><code>baa57ba</code></a>
fix(anthropic): omit default disabled thinking from requests (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11073">#11073</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/04edb8d0fa3c408adbc6e4c277d1f3aaf5b40161"><code>04edb8d</code></a>
docs(ibm): fix &quot;Recieved&quot; typo in tool_choice error message
(<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11066">#11066</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/2b7f368c2baa3f2916a207bf099a437adce2179c"><code>2b7f368</code></a>
chore(deps): bump uuid from 14.0.0 to 14.0.1 (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11094">#11094</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/groq@1.2.1...@langchain/groq@1.3.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/mistralai` from 1.1.0 to 1.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/mistralai's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/mistralai</code><a
href="https://github.com/1"><code>@​1</code></a>.2.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/10924">#10924</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(mistralai): add native streamEvents event conversion</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c5e896270207fcd3bdf1d1877e80b94c72d35f1e"><code>c5e8962</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11059">#11059</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/e51478a4436d69a21f75f1c9e0bb84f3abb6d6f5"><code>e51478a</code></a>
feat(aws): bedrock prompt caching middleware (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11080">#11080</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/7d61f5f19861643bd39eda333628e59783c75fa9"><code>7d61f5f</code></a>
fix(groq): tighten <code>@​langchain/core</code> peer dependency to
^1.1.30 (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11069">#11069</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
feat(deps): native streamEvents ChatModelStreamEvent protocol (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10924">#10924</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/6d212ef91affd19b71dac22fd3761287a96108bf"><code>6d212ef</code></a>
docs(tavily): fix &quot;refering&quot; typo in tool description (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11067">#11067</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/a001816b56a0f19326d1e3e5ccbea5ae90dd549f"><code>a001816</code></a>
chore(deps): bump esbuild from 0.28.0 to 0.28.1 in
/environment_tests/test-ex...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/234c8bbb97444357847de5751d81ee9c51a7d33f"><code>234c8bb</code></a>
ci(infra): pin GitHub Actions to full-length commit SHAs (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11061">#11061</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/4aeaa767a48dcc5451371f14adf4a06f064d23b9"><code>4aeaa76</code></a>
feat(langchain): add <code>when</code> predicate to human-in-the-loop
middleware (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11012">#11012</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/ac0f71d03994664cfee98e71a584d4aa3321746f"><code>ac0f71d</code></a>
fix(core): preserve AIMessage content blocks (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11047">#11047</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/39f338e08e6abfd9e1d02157b2e8b3c9768a673c"><code>39f338e</code></a>
chore: remove deprecated <code>@​langchain/google-cloud-sql-pg</code>
package (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11060">#11060</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/mistralai@1.1.0...@langchain/mistralai@1.2.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/ollama` from 1.2.7 to 1.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/ollama's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/ollama</code><a
href="https://github.com/1"><code>@​1</code></a>.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/10924">#10924</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- feat(ollama): add native streamEvents event conversion</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c5e896270207fcd3bdf1d1877e80b94c72d35f1e"><code>c5e8962</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11059">#11059</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/e51478a4436d69a21f75f1c9e0bb84f3abb6d6f5"><code>e51478a</code></a>
feat(aws): bedrock prompt caching middleware (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11080">#11080</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/7d61f5f19861643bd39eda333628e59783c75fa9"><code>7d61f5f</code></a>
fix(groq): tighten <code>@​langchain/core</code> peer dependency to
^1.1.30 (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11069">#11069</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>
feat(deps): native streamEvents ChatModelStreamEvent protocol (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10924">#10924</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/6d212ef91affd19b71dac22fd3761287a96108bf"><code>6d212ef</code></a>
docs(tavily): fix &quot;refering&quot; typo in tool description (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11067">#11067</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/a001816b56a0f19326d1e3e5ccbea5ae90dd549f"><code>a001816</code></a>
chore(deps): bump esbuild from 0.28.0 to 0.28.1 in
/environment_tests/test-ex...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/234c8bbb97444357847de5751d81ee9c51a7d33f"><code>234c8bb</code></a>
ci(infra): pin GitHub Actions to full-length commit SHAs (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11061">#11061</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/4aeaa767a48dcc5451371f14adf4a06f064d23b9"><code>4aeaa76</code></a>
feat(langchain): add <code>when</code> predicate to human-in-the-loop
middleware (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11012">#11012</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/ac0f71d03994664cfee98e71a584d4aa3321746f"><code>ac0f71d</code></a>
fix(core): preserve AIMessage content blocks (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11047">#11047</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/39f338e08e6abfd9e1d02157b2e8b3c9768a673c"><code>39f338e</code></a>
chore: remove deprecated <code>@​langchain/google-cloud-sql-pg</code>
package (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11060">#11060</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/langchain@1.2.7...@langchain/ollama@1.3.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/classic` from 1.0.34 to 1.0.38
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases">@​langchain/classic's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/classic</code><a
href="https://github.com/1"><code>@​1</code></a>.0.38</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/langchain-ai/langchainjs/commit/3205b35ac83037a2fff2998f16a66b5126b306f8"><code>3205b35</code></a>]:
<ul>
<li><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.3</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/classic</code><a
href="https://github.com/1"><code>@​1</code></a>.0.37</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>,
<a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>,
<a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>]:
<ul>
<li><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.2</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/classic</code><a
href="https://github.com/1"><code>@​1</code></a>.0.36</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/langchain-ai/langchainjs/commit/80b43ecffe0701c3c375c407fb601cb452f708ef"><code>80b43ec</code></a>]:
<ul>
<li><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.1</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/classic</code><a
href="https://github.com/1"><code>@​1</code></a>.0.35</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a
href="https://github.com/langchain-ai/langchainjs/commit/2e2811509d75af94f57cedcc3842f178f4c020d1"><code>2e28115</code></a>]:
<ul>
<li><code>@​langchain/openai</code><a
href="https://github.com/1"><code>@​1</code></a>.5.0</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f1d64ff8d6076fb6656c1f327b7b58eac520314b"><code>f1d64ff</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11101">#11101</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/72ffc4bf17dc6dca390546c0e6c9503607198f26"><code>72ffc4b</code></a>
fix(aws): add Bedrock stream idle timeout (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11098">#11098</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/3205b35ac83037a2fff2998f16a66b5126b306f8"><code>3205b35</code></a>
fix(langchain, openai): decouple strict tools from strict structured
output r...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/1ee0df0c49335104968f6c5130dbdb7e777f85d7"><code>1ee0df0</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11097">#11097</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/f01770895c06621b469a6c6b5244747f6efdfbf7"><code>f017708</code></a>
fix(core): better 429 error handling (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10674">#10674</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/05936ab45ce1bbb04b955c3ebdd03dc1451b655c"><code>05936ab</code></a>
fix(openai): omit empty reasoning item id in Responses API input (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11045">#11045</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/798cb705222f43759e94d02a790ebb706ef2f099"><code>798cb70</code></a>
fix(openai): route standard url file blocks to native input_file in
Responses...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/80c790b593ad19668f1101f84f06c175db114909"><code>80c790b</code></a>
fix(openai): stream built-in tool progress events (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11090">#11090</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/d2e6afcf17b269aa11a2f18444c208bc8a4b2520"><code>d2e6afc</code></a>
fix(groq): require <code>@​langchain/core</code> &gt;= 1.1.30 in peer
dependency (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11072">#11072</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/c66870ea8ebf9e3b0794ab8d969b25dfb189f2de"><code>c66870e</code></a>
feat(weaviate): add X-Weaviate-Client-Integration telemetry header (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/11088">#11088</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/classic@1.0.34...@langchain/classic@1.0.38">compare
view</a></li>
</ul>
</details>
<br />

Updates `langsmith` from 0.7.4 to 0.7.14
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.14</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: sum Anthropic cache tokens into input_tokens for correct cost
calculation by <a
href="https://github.com/QuentinBrosse"><code>@​QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2519">langchain-ai/langsmith-sdk#2519</a></li>
<li>chore(py): Bump version: 0.7.13 → 0.7.14 by <a
href="https://github.com/jacoblee93"><code>@​jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2535">langchain-ai/langsmith-sdk#2535</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.13...v0.7.14">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.13...v0.7.14</a></p>
<h2>v0.7.13</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: initialize otel exporter before background thread by <a
href="https://github.com/ericdong-langchain"><code>@​ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2526">langchain-ai/langsmith-sdk#2526</a></li>
<li>fix: convert non primitive types to JSON strings by <a
href="https://github.com/ericdong-langchain"><code>@​ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2527">langchain-ai/langsmith-sdk#2527</a></li>
<li>fix: missing await by <a
href="https://github.com/ericdong-langchain"><code>@​ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2528">langchain-ai/langsmith-sdk#2528</a></li>
<li>fix: bump minimatch to resolve CVE-2026-27903 by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2502">langchain-ai/langsmith-sdk#2502</a></li>
<li>feat(py): add experiment-level metadata to pytest integration by <a
href="https://github.com/baskaryan"><code>@​baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2524">langchain-ai/langsmith-sdk#2524</a></li>
<li>Bump version: 0.7.12 → 0.7.13 by <a
href="https://github.com/baskaryan"><code>@​baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2531">langchain-ai/langsmith-sdk#2531</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13</a></p>
<h2>v0.7.12</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: sample before transform in ingest by <a
href="https://github.com/ericdong-langchain"><code>@​ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2488">langchain-ai/langsmith-sdk#2488</a></li>
<li>chore: bump version by <a
href="https://github.com/ericdong-langchain"><code>@​ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2521">langchain-ai/langsmith-sdk#2521</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12</a></p>
<h2>v0.7.11</h2>
<h2>What's Changed</h2>
<ul>
<li>add get insights reports with runs by <a
href="https://github.com/Palashio"><code>@​Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517">langchain-ai/langsmith-sdk#2517</a></li>
<li>bump version for insights sdk changes by <a
href="https://github.com/Palashio"><code>@​Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2520">langchain-ai/langsmith-sdk#2520</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Palashio"><code>@​Palashio</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517">langchain-ai/langsmith-sdk#2517</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11</a></p>
<h2>v0.7.10</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 9 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2490">langchain-ai/langsmith-sdk#2490</a></li>
<li>fix: update deprecated model and re-record VCR cassettes by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2503">langchain-ai/langsmith-sdk#2503</a></li>
<li>chore(deps): bump minimatch from 3.1.2 to 3.1.5 in
/js/internal/environment_tests/test-exports-metro in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2489">langchain-ai/langsmith-sdk#2489</a></li>
<li>fix: memory leak in _cached_attachment_args when tracing closures by
<a
href="https://github.com/angus-langchain"><code>@​angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2515">langchain-ai/langsmith-sdk#2515</a></li>
<li>Bump version: 0.7.9 → 0.7.10 by <a
href="https://github.com/angus-langchain"><code>@​angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2516">langchain-ai/langsmith-sdk#2516</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10</a></p>
<h2>v0.7.9</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/f099beb36228b2ce008e56262ab6a5846d2dbdd1"><code>f099beb</code></a>
chore(py): Bump version: 0.7.13 → 0.7.14 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2535">#2535</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/27f1b8312c39b7acda31ac9a850fd74fb99a4e29"><code>27f1b83</code></a>
fix: sum Anthropic cache tokens into input_tokens for correct cost
calculatio...</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/22c21bff7d1e429d0dfa7800adf95ef971ef2458"><code>22c21bf</code></a>
Bump version: 0.7.12 → 0.7.13 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2531">#2531</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/5d17205b854377bf1c8c59f2c40923c295e2c127"><code>5d17205</code></a>
feat(py): add experiment-level metadata to pytest integration (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2524">#2524</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/1412ad4bfe5294e5d6407962162b2fbfcd75202d"><code>1412ad4</code></a>
fix: bump minimatch to resolve CVE-2026-27903 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2502">#2502</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/da0d6e3f137ff375d787c4ba773c8b8d7832d0d8"><code>da0d6e3</code></a>
fix: missing await (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2528">#2528</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/9f587d5f45ead3f19a61bd12743827fd84541657"><code>9f587d5</code></a>
fix: convert non primitive types to JSON strings (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2527">#2527</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/0efa7fb188a451857790d0066edd5e5cf28dca2f"><code>0efa7fb</code></a>
fix: initialize otel exporter before background thread (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2526">#2526</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/51d4e0b867cab82fa95468099e6b2ec3fbb21644"><code>51d4e0b</code></a>
chore: bump version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2521">#2521</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/f8db5d1542703c388ccf7d506cbdbff5786c9d6f"><code>f8db5d1</code></a>
fix: sample before transform in ingest (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2488">#2488</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.14">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 21:59:38 -07:00
Christian Bromann e1b40c29e1 fix(cli): support node_version 24 in langgraph.json (#2575)
## Summary
- Add `"24"` to `NodeVersionSchema` in `@langchain/langgraph-cli` so
`node_version: "24"` is accepted in `langgraph.json`.
- Add config, `getBaseImage`, and `configToDocker` tests for Node 24 tag
resolution (`langchain/langgraphjs-api:24` and `{api_version}-node24`).
- Update CLI README to document supported Node versions (`"20"`, `"22"`,
`"24"`).
2026-06-29 20:10:24 -07:00
github-actions[bot] 2174637623 chore: version packages (#2572)
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
## @langchain/langgraph@1.4.7

### Patch Changes

- [#2571](https://github.com/langchain-ai/langgraphjs/pull/2571)
[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph): drop unused zod-to-json-schema peer dependency

Remove the vestigial `zod-to-json-schema` (and its
`peerDependenciesMeta`/dev) declarations. JSON Schema generation now
flows through `@langchain/core`'s Zod v3/v4 interop (`toJsonSchema`), so
the old `zod-to-json-schema@^3.x` peer (which pins `zod@^3.24.1`) is no
longer needed and was the last source of install-time peer conflicts
with Zod v4. Closes
[#1706](https://github.com/langchain-ai/langgraphjs/issues/1706).

## @example/ai-elements@0.1.43

### Patch Changes

- Updated dependencies
\[[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)]:
    -   @langchain/langgraph@1.4.7

## @examples/assistant-ui-claude@0.1.43

### Patch Changes

- Updated dependencies
\[[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)]:
    -   @langchain/langgraph@1.4.7

## @examples/ui-angular@0.0.53

### Patch Changes

- Updated dependencies
\[[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)]:
    -   @langchain/langgraph@1.4.7

## @examples/ui-multimodal@0.0.29

### Patch Changes

- Updated dependencies
\[[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)]:
    -   @langchain/langgraph@1.4.7

## @examples/ui-react@0.0.29

### Patch Changes

- Updated dependencies
\[[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)]:
    -   @langchain/langgraph@1.4.7

## langgraph@1.0.47

### Patch Changes

- Updated dependencies
\[[`85ba859`](https://github.com/langchain-ai/langgraphjs/commit/85ba859b6f60f4bf193d3313fa24149efe05491b)]:
    -   @langchain/langgraph@1.4.7

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-25 14:47:39 -07:00
Christian Bromann 82e07d06b4 docs(checkpoint): document edge runtime compatibility and persistence flush
Clarify that checkpoint writes are awaited before invoke/stream resolve,
and document Cloudflare Workers limitations and workarounds for Postgres
and Redis checkpointers. Closes #1692.
2026-06-25 11:30:59 -07:00
Christian Bromann 85ba859b6f fix(langgraph): drop unused zod-to-json-schema dependency (#2571)
## Summary
- Remove the vestigial `zod-to-json-schema` peer/dev dependency from
`@langchain/langgraph` (`libs/langgraph-core`) and the `langgraph`
umbrella package. Nothing in source imports it anymore — graph JSON
Schema generation flows through `@langchain/core/utils/json_schema`'s
`toJsonSchema`, which uses Zod v4's native `toJSONSchema` with a v3
fallback.
- This was the last remaining `zod@^3.24.1` peer constraint, which is
what produced the install-time conflict with Zod v4 reported in #1706.
- Prune the unused `zod-to-json-schema` declaration from 6 example
projects (`multi_agent`, `chatbot-simulation-evaluation`, `reflection`,
`rewoo`, `plan-and-execute`, `quickstart`) that declared but never used
it. Kept it in `rag`, `how-tos`, and `chatbots`, whose notebooks
genuinely call `zodToJsonSchema`.
- Regenerate `pnpm-lock.yaml`.

Fixes #1706
2026-06-25 11:06:46 -07:00
github-actions[bot] 86389fa3a6 chore: version packages (#2567)
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
## @langchain/langgraph-checkpoint@1.1.3

### Patch Changes

- [#2566](https://github.com/langchain-ai/langgraphjs/pull/2566)
[`091a46f`](https://github.com/langchain-ai/langgraphjs/commit/091a46f32ddd3a85ee89e35fb9ea953dfc4cf8b4)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-checkpoint-postgres): prevent createAgent failures with
PostgresSaver

Add BaseCheckpointSaver.toJSON() so ConfigurableModel can stringify
runnable config without traversing pg Pool timers, and default missing
checkpoint maps on load/copy so resume no longer crashes on undefined
versions_seen. Closes
[#1808](https://github.com/langchain-ai/langgraphjs/issues/1808).

## @langchain/langgraph-checkpoint-postgres@1.0.4

### Patch Changes

- [#2566](https://github.com/langchain-ai/langgraphjs/pull/2566)
[`091a46f`](https://github.com/langchain-ai/langgraphjs/commit/091a46f32ddd3a85ee89e35fb9ea953dfc4cf8b4)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-checkpoint-postgres): prevent createAgent failures with
PostgresSaver

Add BaseCheckpointSaver.toJSON() so ConfigurableModel can stringify
runnable config without traversing pg Pool timers, and default missing
checkpoint maps on load/copy so resume no longer crashes on undefined
versions_seen. Closes
[#1808](https://github.com/langchain-ai/langgraphjs/issues/1808).

## @langchain/langgraph-api@1.4.1

### Patch Changes

- [#2568](https://github.com/langchain-ai/langgraphjs/pull/2568)
[`38d15e2`](https://github.com/langchain-ai/langgraphjs/commit/38d15e2f1f9dded34665a602cd9311cbcf5fbefc)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-api): support configurable TypeScript loaders in dev
server

Add `node_loader` to `langgraph.json` (and `LANGGRAPH_NODE_LOADER` env
override) so projects using reflect-metadata can use `ts-node`
(`--loader ts-node/esm`) instead of the default tsx CLI. Other loaders
default to `--import`; only registered shorthands like `ts-node` use
`--loader`. `--no-reload` now also disables tsx's internal watch mode.
Closes [#1834](https://github.com/langchain-ai/langgraphjs/issues/1834).

-   Updated dependencies \[]:
    -   @langchain/langgraph-ui@1.4.1

## @langchain/langgraph-cli@1.4.1

### Patch Changes

- [#2568](https://github.com/langchain-ai/langgraphjs/pull/2568)
[`38d15e2`](https://github.com/langchain-ai/langgraphjs/commit/38d15e2f1f9dded34665a602cd9311cbcf5fbefc)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-api): support configurable TypeScript loaders in dev
server

Add `node_loader` to `langgraph.json` (and `LANGGRAPH_NODE_LOADER` env
override) so projects using reflect-metadata can use `ts-node`
(`--loader ts-node/esm`) instead of the default tsx CLI. Other loaders
default to `--import`; only registered shorthands like `ts-node` use
`--loader`. `--no-reload` now also disables tsx's internal watch mode.
Closes [#1834](https://github.com/langchain-ai/langgraphjs/issues/1834).

- Updated dependencies
\[[`38d15e2`](https://github.com/langchain-ai/langgraphjs/commit/38d15e2f1f9dded34665a602cd9311cbcf5fbefc)]:
    -   @langchain/langgraph-api@1.4.1

## @langchain/langgraph@1.4.6

### Patch Changes

-
[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph): emit valid UUIDs for exit-mode delta task_ids

Exit-mode DeltaChannel writes used a step-prefixed synthetic task id
that produced a 6-segment string Postgres rejects for
`checkpoint_writes.task_id uuid` in LangGraph API. Embed the superstep
in the first UUID group instead, matching langchain-ai/langgraph#8165.

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457),
[`091a46f`](https://github.com/langchain-ai/langgraphjs/commit/091a46f32ddd3a85ee89e35fb9ea953dfc4cf8b4)]:
    -   @langchain/langgraph-sdk@1.9.25
    -   @langchain/langgraph-checkpoint@1.1.3

## @langchain/langgraph-sdk@1.9.25

### Patch Changes

- [#2565](https://github.com/langchain-ai/langgraphjs/pull/2565)
[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): bundle pure-ESM deps into CJS build to fix ERR_REQUIRE_ESM

Bundle the pure-ESM dependencies `p-retry` and `p-queue` (and their
transitive ESM-only deps) into the build output so the CJS artifact no
longer does a top-level `require()` of an ESM module. This fixes
`ERR_REQUIRE_ESM` for CommonJS consumers on Node versions where
`require(ESM)` is not enabled by default (&lt; 20.19 / &lt; 22.12).
Closes [#2562](https://github.com/langchain-ai/langgraphjs/issues/2562).

## @langchain/angular@1.0.26

### Patch Changes

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457)]:
    -   @langchain/langgraph-sdk@1.9.25

## @langchain/react@1.0.26

### Patch Changes

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457)]:
    -   @langchain/langgraph-sdk@1.9.25

## @langchain/svelte@1.0.26

### Patch Changes

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457)]:
    -   @langchain/langgraph-sdk@1.9.25

## @langchain/vue@1.0.26

### Patch Changes

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457)]:
    -   @langchain/langgraph-sdk@1.9.25

## @langchain/langgraph-ui@1.4.1



## @example/ai-elements@0.1.42

### Patch Changes

- Updated dependencies
\[[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)]:
    -   @langchain/langgraph@1.4.6
    -   @langchain/react@1.0.26

## @examples/assistant-ui-claude@0.1.42

### Patch Changes

- Updated dependencies
\[[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)]:
    -   @langchain/langgraph@1.4.6
    -   @langchain/react@1.0.26

## @examples/ui-angular@0.0.52

### Patch Changes

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457),
[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)]:
    -   @langchain/langgraph-sdk@1.9.25
    -   @langchain/langgraph@1.4.6
    -   @langchain/angular@1.0.26

## @examples/ui-multimodal@0.0.28

### Patch Changes

- Updated dependencies
\[[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)]:
    -   @langchain/langgraph@1.4.6
    -   @langchain/react@1.0.26

## @examples/ui-react@0.0.28

### Patch Changes

- Updated dependencies
\[[`0558e47`](https://github.com/langchain-ai/langgraphjs/commit/0558e472b7697304c62cb6fe69cc3005e8e1a457),
[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)]:
    -   @langchain/langgraph-sdk@1.9.25
    -   @langchain/langgraph@1.4.6
    -   @langchain/react@1.0.26

## langgraph@1.0.46

### Patch Changes

- Updated dependencies
\[[`03a0d8b`](https://github.com/langchain-ai/langgraphjs/commit/03a0d8b8632082e6dbf4a96fcf37f8f67151b74f)]:
    -   @langchain/langgraph@1.4.6

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-24 17:51:02 -07:00
Christian Bromann 03a0d8b863 fix(langgraph): emit valid UUIDs for exit-mode delta task_ids
Exit-mode DeltaChannel writes used a step-prefixed synthetic task id that
Postgres rejects for checkpoint_writes.task_id uuid in LangGraph API. Embed
the superstep in the first UUID group instead, matching langgraph#8165.
2026-06-23 18:31:07 -07:00
Christian Bromann 38d15e2f1f fix(langgraph-api): support configurable TypeScript loaders in dev server (#2568)
## Summary
- Add configurable TypeScript loader support for the in-memory dev
server to fix reflect-metadata / `emitDecoratorMetadata` incompatibility
with tsx (esbuild).
- Introduce `node_loader` on Node `langgraph.json` configs and
`LANGGRAPH_NODE_LOADER` env override; default remains `tsx` CLI watch
mode.
- Generalize non-tsx loaders to `node [--watch] --import <loader>
--import preload entrypoint`, with shorthand mapping for `ts-node` →
`ts-node/esm`.
- Add `spawn-args` helper + unit tests; add `ts-node` as optional peer
dependency of `@langchain/langgraph-api`.

Fixes #1834
2026-06-23 09:43:07 -07:00
Christian Bromann 091a46f32d fix(langgraph-checkpoint-postgres): prevent createAgent failures with PostgresSaver (#2566)
## Summary
- Add `BaseCheckpointSaver.toJSON()` so runnable
`configurable.__pregel_checkpointer` can be JSON-stringified without
traversing backend clients (fixes the circular `Timeout` error when
using `createAgent` with `PostgresSaver`).
- Harden `copyCheckpoint()` and `PostgresSaver._loadCheckpoint()` to
default missing `channel_versions` and `versions_seen` to `{}`, fixing
resume crashes on `__input__` after a failed first run.
- Add unit and integration tests covering stringify safety and missing
`versions_seen` recovery.

Fixes #1808
2026-06-22 15:23:18 -07:00
Christian Bromann 0558e472b7 fix(sdk): bundle pure-ESM deps into CJS build to fix ERR_REQUIRE_ESM (#2565)
## Summary
- Fix `ERR_REQUIRE_ESM` in `@langchain/langgraph-sdk` for CommonJS
consumers on Node < 20.19 / < 22.12: the CJS build no longer does a
top-level `require()` of the pure-ESM `p-retry`/`p-queue`. They (and
their transitive ESM-only deps) are now bundled and transpiled into
relative CJS chunks.
- Add per-package build overrides via an optional `tsdown.config.ts`,
mirroring the langchainjs convention. `internal/build` discovers and
merges it (`config: false` disables tsdown's own discovery so the
config's imports resolve from the package dir), and re-exports
`defineConfig` from `@langchain/build` so packages get type-safe configs
without depending on `tsdown` directly.
- Remove the leftover `libs/checkpoint-redis/langchain.config.js` (from
the old `@langchain/scripts` build) — it was the only package still
carrying one and the current tsdown build ignores it.

Fixes #2562
2026-06-22 14:56:09 -07:00
Christian Bromann 379bfd9a7d test(langgraph-checkpoint-validation): cover channel carry-over reconstruction across checkpoints
Add a getTuple conformance test reproducing #2555: a node that updates
only a subset of channels must not drop the channels it left untouched.

Delta-storing savers (Postgres, Redis) persist only the channels in
`newVersions` on each `put`, so on read they must reconstruct the
carried-over channels from blobs written by ancestor checkpoints. The
existing getTuple spec only re-wrote the same channel in the child
checkpoint, so it never exercised carry-over reconstruction — which is
how the Redis saver shipped 1.0.9 without it (fixed in 1.0.10, #2336).

The new test runs against every saver and fails on the buggy behavior
(returns `{ stepCount }` instead of `{ messages, stepCount }`).
2026-06-22 14:43:05 -07:00
github-actions[bot] 31261c3be5 chore: version packages (#2558)
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
## @langchain/langgraph-checkpoint-mongodb@1.4.0

### Minor Changes

- [#1928](https://github.com/langchain-ai/langgraphjs/pull/1928)
[`3d7fcea`](https://github.com/langchain-ai/langgraphjs/commit/3d7fcea7d7ea7f1203d24be9df607d5a8e8717bc)
Thanks [@Mihailoff](https://github.com/Mihailoff)! - Add TTL support for
automatic checkpoint expiration

    -   Add optional `ttl` parameter to MongoDBSaver (value in seconds)
    -   Add `setup()` method to create TTL indexes on collections
    -   Add `upserted_at` timestamp to documents when TTL is enabled
- Each write refreshes TTL (expires after inactivity, not creation)

### Patch Changes

- [#2556](https://github.com/langchain-ai/langgraphjs/pull/2556)
[`bee3c91`](https://github.com/langchain-ai/langgraphjs/commit/bee3c91d0adc315ebde0622d8c4b1fff041c1bfd)
Thanks [@mohamedkhaled4053](https://github.com/mohamedkhaled4053)! - Fix
`MongoDBSaver.putWrites` throwing `MongoServerError: Invalid
BulkOperation, Batch cannot be empty` when called with an empty `writes`
array. This is reached by human-in-the-loop / `interrupt()` flows, where
a task can complete producing zero channel writes and LangGraph calls
`putWrites(config, [], taskId)`. `putWrites` now no-ops on empty writes,
matching the behavior of the postgres and sqlite savers (which iterate
and naturally skip empty batches).

- [#2550](https://github.com/langchain-ai/langgraphjs/pull/2550)
[`2b8cc2f`](https://github.com/langchain-ai/langgraphjs/commit/2b8cc2f3fd5c9d3c33b56e013292daf5d936428e)
Thanks [@lazydiv](https://github.com/lazydiv)! -
feat(checkpoint-mongodb): add setup() to create required indexes

## @langchain/langgraph-api@1.4.0

### Minor Changes

- [#2559](https://github.com/langchain-ai/langgraphjs/pull/2559)
[`48cbdd2`](https://github.com/langchain-ai/langgraphjs/commit/48cbdd23fdf29277530f6aa05c397c9902e81206)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
feat(langgraph-cli): add `deploy` command for LangSmith Deployment

Port the Python CLI's `langgraph deploy` workflow to
`@langchain/langgraph-cli`, including local and remote build paths,
deployment lifecycle subcommands (`list`, `revisions list`, `delete`,
`logs`), and host-backend client utilities with tests.

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(langgraph-api): preserve non-empty response_metadata on protocol-v2
state messages

The protocol-v2 state normalizer stripped `response_metadata` from
messages,
dropping data that HITL flows rely on — an interrupt's card is carried
on
    `AIMessage.response_metadata` (e.g. `{ cards: ... }`). Non-empty
    `response_metadata` is now retained so the card reaches the client.

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

- Updated dependencies
\[[`48cbdd2`](https://github.com/langchain-ai/langgraphjs/commit/48cbdd23fdf29277530f6aa05c397c9902e81206)]:
    -   @langchain/langgraph-ui@1.4.0

## @langchain/langgraph-cli@1.4.0

### Minor Changes

- [#2559](https://github.com/langchain-ai/langgraphjs/pull/2559)
[`48cbdd2`](https://github.com/langchain-ai/langgraphjs/commit/48cbdd23fdf29277530f6aa05c397c9902e81206)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
feat(langgraph-cli): add `deploy` command for LangSmith Deployment

Port the Python CLI's `langgraph deploy` workflow to
`@langchain/langgraph-cli`, including local and remote build paths,
deployment lifecycle subcommands (`list`, `revisions list`, `delete`,
`logs`), and host-backend client utilities with tests.

### Patch Changes

- Updated dependencies
\[[`48cbdd2`](https://github.com/langchain-ai/langgraphjs/commit/48cbdd23fdf29277530f6aa05c397c9902e81206),
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e),
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-api@1.4.0

## @langchain/langgraph-ui@1.4.0

### Minor Changes

- [#2559](https://github.com/langchain-ai/langgraphjs/pull/2559)
[`48cbdd2`](https://github.com/langchain-ai/langgraphjs/commit/48cbdd23fdf29277530f6aa05c397c9902e81206)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
feat(langgraph-cli): add `deploy` command for LangSmith Deployment

Port the Python CLI's `langgraph deploy` workflow to
`@langchain/langgraph-cli`, including local and remote build paths,
deployment lifecycle subcommands (`list`, `revisions list`, `delete`,
`logs`), and host-backend client utilities with tests.

## @langchain/langgraph@1.4.5

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24

## @langchain/langgraph-sdk@1.9.24

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

## @langchain/angular@1.0.25

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24

## @langchain/react@1.0.25

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24

## @langchain/svelte@1.0.25

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24

## @langchain/vue@1.0.25

### Patch Changes

- [#2557](https://github.com/langchain-ai/langgraphjs/pull/2557)
[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): apply state update and goto alongside interrupt resume

    `respond(decision, { update, goto })` now maps to LangGraph's
`Command(resume, update, goto)`, so a human-in-the-loop UI can commit a
state
update (e.g. push the interrupt card into state) in the **same
superstep** as
the resume — one checkpoint, no separate `updateState` write, no
flicker.
`@langchain/langgraph-api` forwards `update`/`goto` through
`input.respond`,
and `@langchain/core` message instances in `update` are serialized to
dicts
before transport, exactly like `submit()`. Bumps `@langchain/protocol`
to
    `^0.0.18` for the `Goto` type.

`respond`/`respondAll` also apply `update` **optimistically** (mirroring
`submit()`): the pushed messages paint immediately, with stable ids
minted so
the resumed run's echo reconciles them in place. Without this the
interrupt is
cleared the instant `respond()` dispatches while the pushed card only
reappears
a server round-trip later — so the card would flicker in that gap. The
optimistic state settles on the resumed run's terminal (pending → sent,
or
    rolled back on a failure before any echo).

User-initiated optimistic writes (`submit()` / `respond()` /
`respondAll()`) now
commit to the store **synchronously**, in the same tick as the
triggering event,
instead of being coalesced onto the next macrotask. This lets a
framework render
the pushed message in the **same commit** as any local UI state the
caller flips
alongside it (e.g. a HITL form swapping its inputs for the resolved
card), so the
card no longer blinks out for the one-macrotask window before the flush
lands.
    High-frequency streaming writes keep their macrotask coalescing.

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24

## @example/ai-elements@0.1.41

### Patch Changes

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/react@1.0.25
    -   @langchain/langgraph@1.4.5

## @examples/assistant-ui-claude@0.1.41

### Patch Changes

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/react@1.0.25
    -   @langchain/langgraph@1.4.5

## @examples/ui-angular@0.0.51

### Patch Changes

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24
    -   @langchain/angular@1.0.25
    -   @langchain/langgraph@1.4.5

## @examples/ui-multimodal@0.0.27

### Patch Changes

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/react@1.0.25
    -   @langchain/langgraph@1.4.5

## @examples/ui-react@0.0.27

### Patch Changes

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph-sdk@1.9.24
    -   @langchain/react@1.0.25
    -   @langchain/langgraph@1.4.5

## langgraph@1.0.45

### Patch Changes

- Updated dependencies
\[[`b1e856d`](https://github.com/langchain-ai/langgraphjs/commit/b1e856d987ac16148dc0872d1fecf70e659ef28e)]:
    -   @langchain/langgraph@1.4.5

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 11:40:07 -07:00
Christian Bromann 5d279df5d5 chore(deps): bump langchain (#2564)
Bump langchainjs to latest release.

---------

Signed-off-by: Christian Bromann <git@bromann.dev>
Co-authored-by: open-swe[bot] <215916821+open-swe[bot]@users.noreply.github.com>
2026-06-22 11:38:06 -07:00
Christian Bromann 48cbdd23fd feat(langgraph-cli): add deploy command for LangSmith Deployment (#2559)
## Summary
- Add `langgraphjs deploy` to `@langchain/langgraph-cli`, porting the
Python CLI's LangSmith Deployment workflow for JS projects.
- Support local Docker build/push and remote source-archive upload
paths, plus `deploy list`, `deploy revisions list`, `deploy delete`, and
`deploy logs`.
- Introduce host-backend client, archive/ignore/output helpers, and unit
tests; wire the command into the CLI entrypoint and add the `ignore`
dependency.

Test on our deployment cookbook:
```
pnpm run deploy

> js-langsmith@0.1.0 deploy /Users/christian.bromann/Sites/LangChain/deployment-cookbook/js-langsmith
> langgraphjs deploy

Note: 'langgraphjs deploy' is in beta. Expect frequent updates and improvements.

Skipping reserved env var: LANGSMITH_API_KEY
Skipping reserved env var: LANGSMITH_TENANT_ID
Docker is installed but not running.
Start Docker and try again.
Using remote build instead.

1. Looking up deployment 'deployment-cookbook-agent'
   No deployment found. Will create.
2. Creating deployment 'deployment-cookbook-agent'
   Deployment ID: fc41ac21-0251-4caf-9f6b-e8e381520e59
3. Creating source archive
   Archive created (0.1 MB)
4. Requesting upload URL
5. Uploading source
   Uploading (0.1 MB)... 100%
6. Triggering remote build
   View status: https://smith.langchain.com/o/d7ca4f49-e65f-4c96-8d03-e1d713acb728/host/deployments/fc41ac21-0251-4caf-9f6b-e8e381520e59
   QUEUED... (9s)
   AWAITING_BUILD... (18s)
   BUILDING... (3m 13s)
   AWAITING_DEPLOY... (3m 32s)
   DEPLOYING... (4m 50s)
   Deployment successful!
   URL: https://deployment-cookbook-agent-3569d4ef8d405f40850d56230f67258b.us.langgraph.app
   View status: https://smith.langchain.com/o/d7ca4f49-e65f-4c96-8d03-e1d713acb728/host/deployments/fc41ac21-0251-4caf-9f6b-e8e381520e59
```
2026-06-22 09:30:50 -07:00