Bumps the minor-and-patch group in /libs/cli/js-monorepo-example with 7 updates: | Package | From | To | | --- | --- | --- | | [turbo](https://github.com/vercel/turborepo) | `2.9.14` | `2.9.16` | | [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.1` | | [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.1` | `8.60.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.1` | `8.60.1` | | [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.1.42` | `1.1.48` | | [@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core) | `1.2.9` | `1.3.3` | Updates `turbo` from 2.9.14 to 2.9.16 <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.9.16</h2> <!-- raw HTML omitted --> <h2>What's Changed</h2> <h3>Changelog</h3> <ul> <li>release(turborepo): 2.9.15 by <a href="https://github.com/github-actions"><code>@github-actions</code></a>[bot] in <a href="https://redirect.github.com/vercel/turborepo/pull/12955">vercel/turborepo#12955</a></li> <li>fix: Avoid hanging PTY shutdown by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12958">vercel/turborepo#12958</a></li> <li>fix: Retry npm tlog publish failures by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12959">vercel/turborepo#12959</a></li> <li>release(turborepo): 2.9.16-canary.1 by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12960">vercel/turborepo#12960</a></li> <li>fix: Preserve nested Bun dependency versions by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12963">vercel/turborepo#12963</a></li> <li>Revert "fix: Preserve nested Bun dependency versions" by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12964">vercel/turborepo#12964</a></li> <li>release(turborepo): 2.9.16-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/12961">vercel/turborepo#12961</a></li> <li>fix: Preserve nested Bun dependency versions by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12965">vercel/turborepo#12965</a></li> <li>fix: Don't delete existing <code>.git</code> when using <code>--no-git</code> flag by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12968">vercel/turborepo#12968</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16">https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16</a></p> <h2>Turborepo v2.9.16-canary.2</h2> <!-- raw HTML omitted --> <h2>What's Changed</h2> <h3>Changelog</h3> <ul> <li>release(turborepo): 2.9.15-canary.7 by <a href="https://github.com/github-actions"><code>@github-actions</code></a>[bot] in <a href="https://redirect.github.com/vercel/turborepo/pull/12935">vercel/turborepo#12935</a></li> <li>fix: Restore a few internal invariant checks by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12933">vercel/turborepo#12933</a></li> <li>fix: Improve profile tracing coverage by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12936">vercel/turborepo#12936</a></li> <li>fix: Use build-scale OTel duration buckets by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12939">vercel/turborepo#12939</a></li> <li>fix: Preserve pnpm injected peer package entries by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12940">vercel/turborepo#12940</a></li> <li>feat: Add heap allocation profiling by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12943">vercel/turborepo#12943</a></li> <li>release(turborepo): 2.9.15-canary.8 by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12945">vercel/turborepo#12945</a></li> <li>docs: Correct attribute presence claims in turborepo-otel by <a href="https://github.com/adityasingh2400"><code>@adityasingh2400</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12932">vercel/turborepo#12932</a></li> <li>chore(turbo-codemod): Remove duplicate "in" in transforms path comment by <a href="https://github.com/mvanhorn"><code>@mvanhorn</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12948">vercel/turborepo#12948</a></li> <li>chore: Switch Geist font imports to npm geist package by <a href="https://github.com/christopherkindl"><code>@christopherkindl</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12952">vercel/turborepo#12952</a></li> <li>fix: Respect root gitignore during prune by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12953">vercel/turborepo#12953</a></li> <li>fix: Harden OTEL endpoint validation by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12954">vercel/turborepo#12954</a></li> <li>release(turborepo): 2.9.15 by <a href="https://github.com/github-actions"><code>@github-actions</code></a>[bot] in <a href="https://redirect.github.com/vercel/turborepo/pull/12955">vercel/turborepo#12955</a></li> <li>fix: Avoid hanging PTY shutdown by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12958">vercel/turborepo#12958</a></li> <li>fix: Retry npm tlog publish failures by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12959">vercel/turborepo#12959</a></li> <li>release(turborepo): 2.9.16-canary.1 by <a href="https://github.com/anthonyshew"><code>@anthonyshew</code></a> in <a href="https://redirect.github.com/vercel/turborepo/pull/12960">vercel/turborepo#12960</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/adityasingh2400"><code>@adityasingh2400</code></a> made their first contribution in <a href="https://redirect.github.com/vercel/turborepo/pull/12932">vercel/turborepo#12932</a></li> <li><a href="https://github.com/mvanhorn"><code>@mvanhorn</code></a> made their first contribution in <a href="https://redirect.github.com/vercel/turborepo/pull/12948">vercel/turborepo#12948</a></li> <li><a href="https://github.com/christopherkindl"><code>@christopherkindl</code></a> made their first contribution in <a href="https://redirect.github.com/vercel/turborepo/pull/12952">vercel/turborepo#12952</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2">https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2</a></p> <h2>Turborepo v2.9.15</h2> <!-- raw HTML omitted --> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de"><code>5e2d466</code></a> publish 2.9.16 to registry</li> <li><a href="https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee"><code>b4aa626</code></a> fix: Don't delete existing <code>.git</code> when using <code>--no-git</code> flag (<a href="https://redirect.github.com/vercel/turborepo/issues/12968">#12968</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8"><code>7952b46</code></a> fix: Preserve nested Bun dependency versions (<a href="https://redirect.github.com/vercel/turborepo/issues/12965">#12965</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36"><code>5e5b248</code></a> release(turborepo): 2.9.16-canary.2 (<a href="https://redirect.github.com/vercel/turborepo/issues/12961">#12961</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728"><code>3b1b6e9</code></a> Revert "fix: Preserve nested Bun dependency versions" (<a href="https://redirect.github.com/vercel/turborepo/issues/12964">#12964</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e"><code>8d4eaf8</code></a> fix: Preserve nested Bun dependency versions (<a href="https://redirect.github.com/vercel/turborepo/issues/12963">#12963</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91"><code>2284fa9</code></a> release(turborepo): 2.9.16-canary.1 (<a href="https://redirect.github.com/vercel/turborepo/issues/12960">#12960</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a"><code>5317f65</code></a> fix: Retry npm tlog publish failures (<a href="https://redirect.github.com/vercel/turborepo/issues/12959">#12959</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5"><code>52e81bd</code></a> fix: Avoid hanging PTY shutdown (<a href="https://redirect.github.com/vercel/turborepo/issues/12958">#12958</a>)</li> <li><a href="https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf"><code>c85d410</code></a> release(turborepo): 2.9.15 (<a href="https://redirect.github.com/vercel/turborepo/issues/12955">#12955</a>)</li> <li>Additional commits viewable in <a href="https://github.com/vercel/turborepo/compare/v2.9.14...v2.9.16">compare view</a></li> </ul> </details> <br /> Updates `eslint` from 10.2.1 to 10.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.4.1</h2> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec"><code>e557467</code></a> fix: update <code>@eslint/plugin-kit</code> version to 0.7.2 (<a href="https://redirect.github.com/eslint/eslint/issues/20930">#20930</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd"><code>d4ce898</code></a> fix: propagate failures from delegated commands (<a href="https://redirect.github.com/eslint/eslint/issues/20917">#20917</a>) (Minh Vu)</li> <li><a href="https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf"><code>f4f3507</code></a> fix: prefer-arrow-callback invalid autofix with newline after <code>async</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20916">#20916</a>) (kuldeep kumar)</li> <li><a href="https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85"><code>c5bc78b</code></a> fix: false positive for reference in <code>finally</code> block (<a href="https://redirect.github.com/eslint/eslint/issues/20655">#20655</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59"><code>27538c0</code></a> fix: add missing CodePath and CodePathSegment types (<a href="https://redirect.github.com/eslint/eslint/issues/20853">#20853</a>) (Pixel998)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30"><code>61b0add</code></a> docs: remove deprecated rule from related rules of <code>max-params</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20921">#20921</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43"><code>305d5b9</code></a> docs: remove deprecated rules from related rules section (<a href="https://redirect.github.com/eslint/eslint/issues/20911">#20911</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c"><code>49b0202</code></a> docs: fix <code>display: none</code> of ad (<a href="https://redirect.github.com/eslint/eslint/issues/20901">#20901</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44"><code>9067f94</code></a> docs: switch build to Node.js 24 (<a href="https://redirect.github.com/eslint/eslint/issues/20893">#20893</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86"><code>c91b041</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870"><code>e349265</code></a> docs: clarify semver strings in rule deprecation objects (<a href="https://redirect.github.com/eslint/eslint/issues/20885">#20885</a>) (Milos Djermanovic)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584"><code>b0e466b</code></a> test: add <code>data</code> property to invalid tests cases for rules (<a href="https://redirect.github.com/eslint/eslint/issues/20924">#20924</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46"><code>f78838b</code></a> test: add CodePath type coverage (<a href="https://redirect.github.com/eslint/eslint/issues/20904">#20904</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9"><code>1daa4bd</code></a> chore: update <code>eslint-plugin-eslint-comments</code> test data to latest commit (<a href="https://redirect.github.com/eslint/eslint/issues/20922">#20922</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c"><code>002942c</code></a> ci: declare contents:read on update-readme workflow (<a href="https://redirect.github.com/eslint/eslint/issues/20919">#20919</a>) (Arpit Jain)</li> <li><a href="https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b"><code>64bca24</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/20912">#20912</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56"><code>6d7c832</code></a> chore: ignore fflate updates in renovate (<a href="https://redirect.github.com/eslint/eslint/issues/20908">#20908</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30"><code>b2c8638</code></a> ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (<a href="https://redirect.github.com/eslint/eslint/issues/20889">#20889</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5"><code>a9b8d7f</code></a> chore: increase maxBuffer for ecosystem tests (<a href="https://redirect.github.com/eslint/eslint/issues/20881">#20881</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396"><code>b702ead</code></a> chore: update ecosystem update PR settings (<a href="https://redirect.github.com/eslint/eslint/issues/20884">#20884</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81"><code>507f60e</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/20882">#20882</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d"><code>92f5c5b</code></a> test: add unit test for message-count (<a href="https://redirect.github.com/eslint/eslint/issues/20878">#20878</a>) (kuldeep kumar)</li> <li><a href="https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e"><code>df32108</code></a> chore: add <code>@eslint/markdown</code> and typescript-eslint ecosystem tests (<a href="https://redirect.github.com/eslint/eslint/issues/20837">#20837</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f"><code>327f91d</code></a> chore: use includeIgnoreFile internally (<a href="https://redirect.github.com/eslint/eslint/issues/20876">#20876</a>) (Kirk Waiblinger)</li> <li><a href="https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3"><code>f0dc4bd</code></a> chore: pin fflate@0.8.2 (<a href="https://redirect.github.com/eslint/eslint/issues/20877">#20877</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca"><code>0f4bd25</code></a> ci: run Discord alert for ecosystem test failures (<a href="https://redirect.github.com/eslint/eslint/issues/20873">#20873</a>) (Copilot)</li> </ul> <h2>v10.4.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf"><code>1a45ec5</code></a> feat: check sequence expressions in <code>for-direction</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20701">#20701</a>) (kuldeep kumar)</li> <li><a href="https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b"><code>450040b</code></a> feat: add <code>includeIgnoreFile()</code> to <code>eslint/config</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20735">#20735</a>) (Kirk Waiblinger)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be"><code>544c0c3</code></a> fix: escape code path DOT labels in debug output (<a href="https://redirect.github.com/eslint/eslint/issues/20866">#20866</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c"><code>6799431</code></a> fix: update dependency <code>@eslint/config-helpers</code> to ^0.6.0 (<a href="https://redirect.github.com/eslint/eslint/issues/20850">#20850</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd"><code>f078fef</code></a> fix: handle non-array deprecated rule replacements (<a href="https://redirect.github.com/eslint/eslint/issues/20825">#20825</a>) (xbinaryx)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f"><code>7e52a71</code></a> docs: add mention of <code>@eslint-react/eslint-plugin</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20869">#20869</a>) (Pavel)</li> <li><a href="https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08"><code>db3468b</code></a> docs: tweak wording around ambiguous CJS-vs-ESM config (<a href="https://redirect.github.com/eslint/eslint/issues/20865">#20865</a>) (Kirk Waiblinger)</li> <li><a href="https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a"><code>9084664</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f"><code>9cc7387</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5"><code>3d7b548</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb"><code>191ec3c</code></a> docs: Update README (GitHub Actions Bot)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2"><code>4a3d15a</code></a> 10.4.1</li> <li><a href="https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8"><code>43e7e2b</code></a> Build: changelog update for 10.4.1</li> <li><a href="https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec"><code>e557467</code></a> fix: update <code>@eslint/plugin-kit</code> version to 0.7.2 (<a href="https://redirect.github.com/eslint/eslint/issues/20930">#20930</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584"><code>b0e466b</code></a> test: add <code>data</code> property to invalid tests cases for rules (<a href="https://redirect.github.com/eslint/eslint/issues/20924">#20924</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd"><code>d4ce898</code></a> fix: propagate failures from delegated commands (<a href="https://redirect.github.com/eslint/eslint/issues/20917">#20917</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf"><code>f4f3507</code></a> fix: prefer-arrow-callback invalid autofix with newline after <code>async</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20916">#20916</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46"><code>f78838b</code></a> test: add CodePath type coverage (<a href="https://redirect.github.com/eslint/eslint/issues/20904">#20904</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30"><code>61b0add</code></a> docs: remove deprecated rule from related rules of <code>max-params</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20921">#20921</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9"><code>1daa4bd</code></a> chore: update <code>eslint-plugin-eslint-comments</code> test data to latest commit (<a href="https://redirect.github.com/eslint/eslint/issues/20">#20</a>...</li> <li><a href="https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c"><code>002942c</code></a> ci: declare contents:read on update-readme workflow (<a href="https://redirect.github.com/eslint/eslint/issues/20919">#20919</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v10.2.1...v10.4.1">compare view</a></li> </ul> </details> <br /> Updates `eslint-plugin-prettier` from 5.5.5 to 5.5.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prettier/eslint-plugin-prettier/releases">eslint-plugin-prettier's releases</a>.</em></p> <blockquote> <h2>v5.5.6</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791">#791</a> <a href="https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b"><code>b5c96a3</code></a> Thanks <a href="https://github.com/JounQin"><code>@JounQin</code></a>! - chore: bump all (dev)Dependencies</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md">eslint-plugin-prettier's changelog</a>.</em></p> <blockquote> <h2>5.5.6</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791">#791</a> <a href="https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b"><code>b5c96a3</code></a> Thanks <a href="https://github.com/JounQin"><code>@JounQin</code></a>! - chore: bump all (dev)Dependencies</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890"><code>4f33ea5</code></a> chore: release eslint-plugin-prettier (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792">#792</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92"><code>4745b54</code></a> ci: declare workflow-level contents: read on 2 workflows (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790">#790</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b"><code>b5c96a3</code></a> chore: bump all (dev)Dependencies (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791">#791</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233"><code>e867680</code></a> chore(deps): update all dependencies (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766">#766</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593"><code>e8e2f7f</code></a> chore: testing eslint v10 (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779">#779</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248"><code>ca076d9</code></a> chore: update dev dependencies (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780">#780</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113"><code>42e6369</code></a> build(deps): Bump the actions group with 2 updates (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778">#778</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f"><code>53ff214</code></a> Remove empty NPM_TOKEN from release.yml</li> <li>See full diff in <a href="https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.59.1 to 8.60.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/eslint-plugin's releases</a>.</em></p> <blockquote> <h2>v8.60.1</h2> <h2>8.60.1 (2026-06-01)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> respect ECMAScript line terminators in ts-comment rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match ESLint v10 handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>lumir</li> <li>Nevette Bailey <a href="https://github.com/nevette-bailey"><code>@nevette-bailey</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.60.0</h2> <h2>8.60.0 (2026-05-25)</h2> <h3>🚀 Features</h3> <ul> <li><strong>rule-tester:</strong> added updates of RuleTester from upstream (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>playground TS version selector is not working (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Vinccool96</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.59.4</h2> <h2>8.59.4 (2026-05-18)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-floating-promises] stack overflow when using recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294">#12294</a>)</li> <li><strong>project-service:</strong> throw error cause in <code>getParsedConfigFileFromTSServer</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321">#12321</a>)</li> <li><strong>typescript-eslint:</strong> export Compatible* types from typescript-eslint to resolve pnpm TS error (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340">#12340</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md">@typescript-eslint/eslint-plugin's changelog</a>.</em></p> <blockquote> <h2>8.60.1 (2026-06-01)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match ESLint v10 handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li> <li><strong>eslint-plugin:</strong> respect ECMAScript line terminators in ts-comment rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>lumir</li> <li>Nevette Bailey <a href="https://github.com/nevette-bailey"><code>@nevette-bailey</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.60.0 (2026-05-25)</h2> <p>This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.4 (2026-05-18)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-floating-promises] stack overflow when using recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294">#12294</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.3 (2026-05-11)</h2> <p>This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.2 (2026-05-04)</h2> <h3>🩹 Fixes</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a> chore(release): publish 8.60.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/598af564db50593277ba46c7fdea3648e4425391"><code>598af56</code></a> docs(eslint-plugin): clarify no-redeclare type-value collision not covered by...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a> chore: typecheck using tsgo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12139">#12139</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/5341d59dd3c21fc4e2bf3bce55cf35d8f84e5216"><code>5341d59</code></a> chore: fix lint issues (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12369">#12369</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/f525814f01766487ab34a54d56de20ea5c4fb576"><code>f525814</code></a> fix(eslint-plugin): [no-shadow] correct rule to match ESLint v10 handling (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1">#1</a>...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2df540cd8bbeb3e2c56d516912f69bf63c1e9450"><code>2df540c</code></a> chore(eslint-plugin): defer type checks to improve rules performance (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12296">#12296</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1ab4284789b36cf482a4d9924719162a02d54243"><code>1ab4284</code></a> fix(eslint-plugin): respect ECMAScript line terminators in ts-comment rules (...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2f49df599b2db5f2937caf975d3c63e5cdeb0ea1"><code>2f49df5</code></a> docs: update references to <code>@stylistic/eslint-plugin</code> rules in documentation ...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a> chore(release): publish 8.60.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2"><code>ca6ca14</code></a> chore(release): publish 8.59.4</li> <li>Additional commits viewable in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.59.1 to 8.60.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/parser's releases</a>.</em></p> <blockquote> <h2>v8.60.1</h2> <h2>8.60.1 (2026-06-01)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> respect ECMAScript line terminators in ts-comment rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match ESLint v10 handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>lumir</li> <li>Nevette Bailey <a href="https://github.com/nevette-bailey"><code>@nevette-bailey</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.60.0</h2> <h2>8.60.0 (2026-05-25)</h2> <h3>🚀 Features</h3> <ul> <li><strong>rule-tester:</strong> added updates of RuleTester from upstream (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>playground TS version selector is not working (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Vinccool96</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.59.4</h2> <h2>8.59.4 (2026-05-18)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-floating-promises] stack overflow when using recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294">#12294</a>)</li> <li><strong>project-service:</strong> throw error cause in <code>getParsedConfigFileFromTSServer</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321">#12321</a>)</li> <li><strong>typescript-eslint:</strong> export Compatible* types from typescript-eslint to resolve pnpm TS error (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340">#12340</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md">@typescript-eslint/parser's changelog</a>.</em></p> <blockquote> <h2>8.60.1 (2026-06-01)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.60.0 (2026-05-25)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.4 (2026-05-18)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.3 (2026-05-11)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.2 (2026-05-04)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a> chore(release): publish 8.60.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a> chore: typecheck using tsgo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12139">#12139</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a> chore(release): publish 8.60.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2"><code>ca6ca14</code></a> chore(release): publish 8.59.4</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383"><code>48e13c0</code></a> chore(release): publish 8.59.3</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648"><code>44f9625</code></a> chore(deps): update vitest monorepo to v4.1.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307">#12307</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333"><code>2ec35f1</code></a> chore(release): publish 8.59.2</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `@langchain/core` from 1.1.42 to 1.1.48 <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>.1.48</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10832">#10832</a> <a href="https://github.com/langchain-ai/langchainjs/commit/1b24369a970ad6f56f1f428027f48601f87e62eb"><code>1b24369</code></a> Thanks <a href="https://github.com/info-arnav"><code>@info-arnav</code></a>! - fix(core, openrouter): make CJS default re-exports callable</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10666">#10666</a> <a href="https://github.com/langchain-ai/langchainjs/commit/2bb55b053f49f89e81e3252a7af08e86d71ddd95"><code>2bb55b0</code></a> Thanks <a href="https://github.com/hnustwjj"><code>@hnustwjj</code></a>! - feat(openrouter): surface reasoning content as v1 standard content blocks</p> <p><code>convertOpenRouterResponseToBaseMessage</code> and <code>convertOpenRouterDeltaToBaseMessageChunk</code> now copy OpenRouter's <code>reasoning</code> (flat string) and <code>reasoning_details</code> (structured array) fields onto <code>additional_kwargs.reasoning_content</code> / <code>additional_kwargs.reasoning_details</code>. A new <code>ChatOpenRouterTranslator</code> is registered in <code>@langchain/core</code> under the <code>"openrouter"</code> provider key so <code>AIMessage.contentBlocks</code> emits standard <code>{type: "reasoning"}</code> blocks alongside text and tool calls.</p> <p>Previously, reasoning text returned by reasoning-capable models routed through OpenRouter (DeepSeek R1, Minimax M2, Claude extended thinking, o-series, etc.) was silently dropped: only the <code>reasoning_tokens</code> count was preserved via <code>usage_metadata</code>. Consumers using standard content blocks (including the frontend agent UI patterns shown in the docs) could not display the model's chain of thought.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10918">#10918</a> <a href="https://github.com/langchain-ai/langchainjs/commit/3999fab55870c6eea22d6d90c08aa472f9b2fac3"><code>3999fab</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(openai): stream custom tool calls through Responses API chunks</p> </li> </ul> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.1.47</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10906">#10906</a> <a href="https://github.com/langchain-ai/langchainjs/commit/f61b3450f275831e47e69c08899b4a2b67b4bdb3"><code>f61b345</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - feat(core): add uuid v6 utility support</p> <p>Add <code>v6</code> UUID generation support to <code>@langchain/core/utils/uuid</code> by vendoring the upstream uuidjs <code>v6</code> implementation and its <code>v1ToV6</code> helper, exporting <code>v6</code> from the UUID utils index, and adding tests for deterministic generation, buffer/offset behavior, validation/versioning, and ordering.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10872">#10872</a> <a href="https://github.com/langchain-ai/langchainjs/commit/a64007997a4940f51bba3c1c83dae89d1ccfb692"><code>a640079</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - chore(deps): remove redundant <code>@types/uuid</code> declarations</p> <p>Remove <code>@types/uuid</code> from package manifests that rely on <code>@langchain/core/utils/uuid</code> or do not require uuid type stubs directly, and refresh the lockfile entries accordingly.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10792">#10792</a> <a href="https://github.com/langchain-ai/langchainjs/commit/3682268cd1844b2573b01f07bee367e21cb7bdc7"><code>3682268</code></a> Thanks <a href="https://github.com/Genmin"><code>@Genmin</code></a>! - fix(core): apply v1 message casting after implicit streaming aggregation</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10901">#10901</a> <a href="https://github.com/langchain-ai/langchainjs/commit/f26fc4a6f461d6d0f86d59bd00197ad510432c4a"><code>f26fc4a</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(testing): share fakeModel invocation state across bindTools instances</p> </li> </ul> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.1.46</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10847">#10847</a> <a href="https://github.com/langchain-ai/langchainjs/commit/1659e7d36e31e315c890fa98f43db887f7a2d52b"><code>1659e7d</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - chore(core): reduce transitive dependency exposure and tighten release hygiene</p> <p>Remove direct runtime dependencies on <code>ansi-styles</code>, <code>camelcase</code>, and <code>decamelize</code> by inlining equivalent logic in core internals, and enable npm provenance in the release workflow.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/10790">#10790</a> <a href="https://github.com/langchain-ai/langchainjs/commit/ef78bc6a21f9a8808ba95c98db2023f0a6b51bcc"><code>ef78bc6</code></a> Thanks <a href="https://github.com/Genmin"><code>@Genmin</code></a>! - fix(core): keep different content block types separate when merging chunks</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/langchain-ai/langchainjs/commits/@langchain/core@1.1.48">compare view</a></li> </ul> </details> <br /> Updates `@langchain/langgraph` from 1.2.9 to 1.3.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langgraphjs/releases">@langchain/langgraph's releases</a>.</em></p> <blockquote> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.3.3</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2037">#2037</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/9eb478ffeeda2ad9c3bff2cd0f0ac602b0a79f4f"><code>9eb478f</code></a> Thanks <a href="https://github.com/pawel-twardziak"><code>@pawel-twardziak</code></a>! - Decouple <code>ContextType</code> generic from <code>configurable</code> in <code>PregelOptions</code> so that providing a custom context type no longer incorrectly narrows the configurable parameter.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2457">#2457</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/91a54947155b3fad3234001e63e20099a63ed999"><code>91a5494</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(langgraph): pass context with stateful RemoteGraph runs</p> <p>Pop <code>thread_id</code> from run <code>config.configurable</code> and forward <code>context</code> to the SDK so checkpointed remote runs accept user context without a 400 from ambiguous parameters. Closes <a href="https://redirect.github.com/langchain-ai/langgraphjs/issues/1922">#1922</a>.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/1988">#1988</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/6d4bf927e5cf3744034205528bcd09964949d6d7"><code>6d4bf92</code></a> Thanks <a href="https://github.com/Axadali"><code>@Axadali</code></a>! - Fix race condition in IterableReadableWritableStream.push() that caused ERR_INVALID_STATE errors when streaming with multiple parallel nodes and aborting the stream.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2409">#2409</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/101b70aa8d7ec26ec1654ef814689b832f1e17f3"><code>101b70a</code></a> Thanks <a href="https://github.com/pragnyanramtha"><code>@pragnyanramtha</code></a>! - Preserve non-plain objects passed through <code>Send</code> and <code>Command</code> argument deserialization.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2344">#2344</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a> Thanks <a href="https://github.com/apps/dependabot"><code>@dependabot</code></a>! - chore(deps): bump uuid to 14.0.0 and keep checkpoint ID ordering stable</p> <p>Bump <code>uuid</code> from 10.x/13.x to 14.0.0 across packages. Starting with uuid 11, <code>v6({ clockseq })</code> no longer advances the sub-millisecond time counter when an explicit <code>clockseq</code> is passed, so checkpoint IDs created within the same millisecond were ordered only by <code>clockseq</code>. Since checkpoint IDs are sorted lexicographically, this broke ordering — most visibly for the negative <code>clockseq</code> used by the first ("input") checkpoint, which sorted as the newest.</p> <p><code>uuid6()</code> now maintains its own monotonic <code>(msecs, nsecs)</code> clock (mirroring uuid 10's internal v1 behavior) so the time component is always strictly increasing and checkpoint ordering no longer depends on the <code>clockseq</code> value. <code>emptyCheckpoint()</code> also uses a non-negative <code>clockseq</code>.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/863b555346de02c2c0be290e877b7d260a3f8856"><code>863b555</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.11</li> <li><code>@langchain/langgraph-checkpoint</code><a href="https://github.com/1"><code>@1</code></a>.0.4</li> </ul> </li> </ul> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.3.2</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2415">#2415</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - Move <code>@langchain/core</code> from a runtime dependency back to a required peer dependency so installing the SDK alone no longer pulls in <code>@langchain/core</code> (and <code>js-tiktoken</code>, etc.). Consumers that use streaming or message coercion must install <code>@langchain/core</code> explicitly or via <code>@langchain/langgraph</code>.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.4</li> </ul> </li> </ul> <h2><code>@langchain/langgraph-checkpoint-mongodb</code><a href="https://github.com/1"><code>@1</code></a>.3.2</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2186">#2186</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/26c2e325f435a2c061d6b78a7bd6af089cb1e0e6"><code>26c2e32</code></a> Thanks <a href="https://github.com/jackjin1997"><code>@jackjin1997</code></a>! - fix: metadata filter in list() now works by querying a plain JSON shadow copy instead of the serialized binary blob</li> </ul> <h2><code>@langchain/langgraph</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/langgraphjs/pull/2339">#2339</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/2b88da497b2c6f8fbf8f4d901578a198824eb32f"><code>2b88da4</code></a> Thanks <a href="https://github.com/vigneshpatel14"><code>@vigneshpatel14</code></a>! - fix(langgraph): surface structuredResponse parse failures in createReactAgent</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2406">#2406</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/e54ae901e119ccf81653b90d5a0db2485027a5a9"><code>e54ae90</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(langgraph-core): keep tool results out of v3 message streams</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2376">#2376</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/4fd1e9f5720361a86a386a286ad8fcc824643280"><code>4fd1e9f</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - fix(langgraph): prefer configurable assistant and graph IDs for runtime server info</p> <p>Update runtime <code>serverInfo</code> construction to read <code>assistant_id</code> and <code>graph_id</code> from <code>config.configurable</code> first, with fallback to <code>config.metadata</code> for compatibility. Also expands <code>execution_info</code> tests to cover configurable sourcing, precedence, and metadata fallback behavior.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langgraphjs/blob/main/libs/langgraph-core/CHANGELOG.md">@langchain/langgraph's changelog</a>.</em></p> <blockquote> <h2>1.3.3</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2037">#2037</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/9eb478ffeeda2ad9c3bff2cd0f0ac602b0a79f4f"><code>9eb478f</code></a> Thanks <a href="https://github.com/pawel-twardziak"><code>@pawel-twardziak</code></a>! - Decouple <code>ContextType</code> generic from <code>configurable</code> in <code>PregelOptions</code> so that providing a custom context type no longer incorrectly narrows the configurable parameter.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2457">#2457</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/91a54947155b3fad3234001e63e20099a63ed999"><code>91a5494</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(langgraph): pass context with stateful RemoteGraph runs</p> <p>Pop <code>thread_id</code> from run <code>config.configurable</code> and forward <code>context</code> to the SDK so checkpointed remote runs accept user context without a 400 from ambiguous parameters. Closes <a href="https://redirect.github.com/langchain-ai/langgraphjs/issues/1922">#1922</a>.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/1988">#1988</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/6d4bf927e5cf3744034205528bcd09964949d6d7"><code>6d4bf92</code></a> Thanks <a href="https://github.com/Axadali"><code>@Axadali</code></a>! - Fix race condition in IterableReadableWritableStream.push() that caused ERR_INVALID_STATE errors when streaming with multiple parallel nodes and aborting the stream.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2409">#2409</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/101b70aa8d7ec26ec1654ef814689b832f1e17f3"><code>101b70a</code></a> Thanks <a href="https://github.com/pragnyanramtha"><code>@pragnyanramtha</code></a>! - Preserve non-plain objects passed through <code>Send</code> and <code>Command</code> argument deserialization.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2344">#2344</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a> Thanks <a href="https://github.com/apps/dependabot"><code>@dependabot</code></a>! - chore(deps): bump uuid to 14.0.0 and keep checkpoint ID ordering stable</p> <p>Bump <code>uuid</code> from 10.x/13.x to 14.0.0 across packages. Starting with uuid 11, <code>v6({ clockseq })</code> no longer advances the sub-millisecond time counter when an explicit <code>clockseq</code> is passed, so checkpoint IDs created within the same millisecond were ordered only by <code>clockseq</code>. Since checkpoint IDs are sorted lexicographically, this broke ordering — most visibly for the negative <code>clockseq</code> used by the first ("input") checkpoint, which sorted as the newest.</p> <p><code>uuid6()</code> now maintains its own monotonic <code>(msecs, nsecs)</code> clock (mirroring uuid 10's internal v1 behavior) so the time component is always strictly increasing and checkpoint ordering no longer depends on the <code>clockseq</code> value. <code>emptyCheckpoint()</code> also uses a non-negative <code>clockseq</code>.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/863b555346de02c2c0be290e877b7d260a3f8856"><code>863b555</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.11</li> <li><code>@langchain/langgraph-checkpoint</code><a href="https://github.com/1"><code>@1</code></a>.0.4</li> </ul> </li> </ul> <h2>1.3.2</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2415">#2415</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - Move <code>@langchain/core</code> from a runtime dependency back to a required peer dependency so installing the SDK alone no longer pulls in <code>@langchain/core</code> (and <code>js-tiktoken</code>, etc.). Consumers that use streaming or message coercion must install <code>@langchain/core</code> explicitly or via <code>@langchain/langgraph</code>.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.4</li> </ul> </li> </ul> <h2>1.3.1</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2339">#2339</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/2b88da497b2c6f8fbf8f4d901578a198824eb32f"><code>2b88da4</code></a> Thanks <a href="https://github.com/vigneshpatel14"><code>@vigneshpatel14</code></a>! - fix(langgraph): surface structuredResponse parse failures in createReactAgent</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2406">#2406</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/e54ae901e119ccf81653b90d5a0db2485027a5a9"><code>e54ae90</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(langgraph-core): keep tool results out of v3 message streams</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2376">#2376</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/4fd1e9f5720361a86a386a286ad8fcc824643280"><code>4fd1e9f</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - fix(langgraph): prefer configurable assistant and graph IDs for runtime server info</p> <p>Update runtime <code>serverInfo</code> construction to read <code>assistant_id</code> and <code>graph_id</code> from <code>config.configurable</code> first, with fallback to <code>config.metadata</code> for compatibility. Also expands <code>execution_info</code> tests to cover configurable sourcing, precedence, and metadata fallback behavior.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/44746b1a3b5b49737542b120b9e45d6f94181113"><code>44746b1</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/4cc6491844f21ed0fc737eaef8498133daa877f7"><code>4cc6491</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/ae8af2d75aef9a7bbd930d221d1ce03e7fbb90ad"><code>ae8af2d</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/01dd0462ed300dee5a9a51f229e6c401315f070c"><code>01dd046</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/2ad1aa48c6a3f45340b4833e6de555fdc7348d15"><code>2ad1aa4</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/75e651b9cff1a1e39ad6513b8a5e9b565b9ad7fe"><code>75e651b</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/f1d651ae14ca178f4a915ac853ba9b439cd55ba3"><code>f1d651a</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.3</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/d2ca90f8e2cfbba547a9645d81e7c5340d1e7ebf"><code>d2ca90f</code></a> chore: version packages (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2453">#2453</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/101b70aa8d7ec26ec1654ef814689b832f1e17f3"><code>101b70a</code></a> fix: preserve non-plain Send args (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/iss... _Description has been truncated_ Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Low-level orchestration framework for building stateful agents.
Trusted by companies shaping the future of agents – including Klarna, Replit, Elastic, and more – LangGraph is a low-level orchestration framework for building, managing, and deploying long-running, stateful agents.
pip install -U langgraph
Tip
If you're looking to quickly build agents, check out Deep Agents — a higher-level package built on LangGraph for agents that can plan, use subagents, and leverage file systems for complex tasks.
For an equivalent JS/TS library, check out LangGraph.js and the JS docs.
Why use LangGraph?
LangGraph provides low-level supporting infrastructure for any long-running, stateful workflow or agent:
- Durable execution — Build agents that persist through failures and can run for extended periods, automatically resuming from exactly where they left off.
- Human-in-the-loop — Seamlessly incorporate human oversight by inspecting and modifying agent state at any point during execution.
- Comprehensive memory — Create truly stateful agents with both short-term working memory for ongoing reasoning and long-term persistent memory across sessions.
- Debugging with LangSmith — Gain deep visibility into complex agent behavior with visualization tools that trace execution paths, capture state transitions, and provide detailed runtime metrics.
- Production-ready deployment — Deploy sophisticated agent systems confidently with scalable infrastructure designed to handle the unique challenges of stateful, long-running workflows.
Tip
For developing, debugging, and deploying AI agents and LLM applications, see LangSmith.
LangGraph ecosystem
While LangGraph can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools for building agents.
To improve your LLM application development, pair LangGraph with:
- Deep Agents – Build agents that can plan, use subagents, and leverage file systems for complex tasks.
- LangChain – Provides integrations and composable components to streamline LLM application development.
- LangSmith – Helpful for agent evals and observability. Debug poor-performing LLM app runs, evaluate agent trajectories, gain visibility in production, and improve performance over time.
- LangSmith Deployment – Deploy and scale agents effortlessly with a purpose-built deployment platform for long-running, stateful workflows. Discover, reuse, configure, and share agents across teams – and iterate quickly with visual prototyping in LangSmith Studio.
Documentation
- docs.langchain.com – Comprehensive documentation, including conceptual overviews and guides
- reference.langchain.com/python/langgraph – API reference docs for LangGraph packages
- LangGraph Quickstart – Get started building with LangGraph
- Chat LangChain – Chat with the LangChain documentation and get answers to your questions
Discussions: Visit the LangChain Forum to connect with the community and share all of your technical questions, ideas, and feedback.
Additional resources
- Guides – Quick, actionable code snippets for topics such as streaming, adding memory & persistence, and design patterns (e.g. branching, subgraphs, etc.).
- LangChain Academy – Learn the basics of LangGraph in our free, structured course.
- Case studies – Hear how industry leaders use LangGraph to ship AI applications at scale.
- Contributing Guide – Learn how to contribute to LangChain projects and find good first issues.
- Code of Conduct – Our community guidelines and standards for participation.
Acknowledgements
LangGraph is inspired by Pregel and Apache Beam. The public interface draws inspiration from NetworkX. LangGraph is built by LangChain Inc, the creators of LangChain, but can be used without LangChain.