Parker J. Rule and GitHub
0199b519e1
fix(cli): clarify missing deploy config ( #8854 )
...
Shows an actionable, docs-linked error when `langgraph deploy` is run
without a `langgraph.json` instead of exposing a traceback.
2026-09-08 17:03:14 +00:00
David Duong and GitHub
e05ba2965d
feat(cli): add support for passing certfile and cert key to run dev server under HTTPS ( #8031 )
...
This allows running the dev server under HTTPS, which is a requirement
for running local server under Safari.
2026-06-11 02:10:12 +02:00
43682f0830
chore(deps): bump the minor-and-patch group in /libs/cli with 4 updates ( #7962 )
...
Bumps the minor-and-patch group in /libs/cli with 4 updates:
[click](https://github.com/pallets/click ),
[langgraph-sdk](https://github.com/langchain-ai/langgraph ),
[pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) and
[ruff](https://github.com/astral-sh/ruff ).
Updates `click` from 8.3.3 to 8.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/releases ">click's
releases</a>.</em></p>
<blockquote>
<h2>8.4.1</h2>
<p>This is the Click 8.4.1 fix release, which fixes bugs but does not
otherwise change behavior and should not result in breaking changes
compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/click/8.4.1/ ">https://pypi.org/project/click/8.4.1/ </a>
Changes: <a
href="https://click.palletsprojects.com/page/changes/#version-8-4-1 ">https://click.palletsprojects.com/page/changes/#version-8-4-1 </a>
Milestone: <a
href="https://github.com/pallets/click/milestone/32?closed=1 ">https://github.com/pallets/click/milestone/32?closed=1 </a></p>
<ul>
<li><code>get_parameter_source()</code> is available during eager
callbacks and type conversion again. <a
href="https://redirect.github.com/pallets/click/issues/3458 ">#3458</a>
<a
href="https://redirect.github.com/pallets/click/issues/3484 ">#3484</a></li>
<li>Zsh completion scripts parse correctly on Windows. <a
href="https://redirect.github.com/pallets/click/issues/3277 ">#3277</a> #
3466</li>
<li>Shell completion of <code>Choice</code> <code>Enum</code> values
produces a valid completion result. <a
href="https://redirect.github.com/pallets/click/issues/3015 ">#3015</a></li>
<li>Fix empty byte-string handling in echo. <a
href="https://redirect.github.com/pallets/click/issues/3487 ">#3487</a></li>
<li>Fix closed file error with <code>echo_via_pager</code>. <a
href="https://redirect.github.com/pallets/click/issues/3449 ">#3449</a></li>
</ul>
<h2>8.4.0</h2>
<p>This is the Click 8.4.0 feature release. A feature release may
include new features, remove previously deprecated code, add new
deprecation, or introduce potentially breaking changes.</p>
<p>We encourage everyone to upgrade. You can read more about our <a
href="https://palletsprojects.com/versions ">Version Support Policy</a>
on our website.</p>
<p>PyPI: <a
href="https://pypi.org/project/click/8.4.0/ ">https://pypi.org/project/click/8.4.0/ </a>
Changes: <a
href="https://click.palletsprojects.com/page/changes/#version-8-4-0 ">https://click.palletsprojects.com/page/changes/#version-8-4-0 </a>
Milestone <a
href="https://github.com/pallets/click/milestone/30 ">https://github.com/pallets/click/milestone/30 </a></p>
<ul>
<li>
<p><code>ParamType</code> typing improvements. <a
href="https://redirect.github.com/pallets/click/issues/3371 ">#3371</a></p>
<ul>
<li>:class:<code>ParamType</code> is now a generic abstract base class,
parameterized by its converted value type.</li>
<li>:meth:<code>~ParamType.convert</code> return types are narrowed on
all
concrete types (<code>str</code> for :class:<code>STRING</code>,
<code>int</code> for
:class:<code>INT</code>, etc.).</li>
<li>:meth:<code>~ParamType.to_info_dict</code> returns specific
:class:<code>~typing.TypedDict</code> subclasses instead of
<code>dict[str, Any]</code>.</li>
<li>:class:<code>CompositeParamType</code> and the number-range base are
now
generic with abstract methods.</li>
</ul>
</li>
<li>
<p>Refactor <code>convert_type</code> to extract type inference into a
private
<code>_guess_type</code> helper, and add
:func:<code>typing.overload</code> signatures.
<a
href="https://redirect.github.com/pallets/click/issues/3372 ">#3372</a></p>
</li>
<li>
<p><code>Parameter</code> typing improvements. <a
href="https://redirect.github.com/pallets/click/issues/2805 ">#2805</a></p>
<ul>
<li>:class:<code>Parameter</code> is now an abstract base class, making
explicit
that it cannot be instantiated directly.</li>
<li>:attr:<code>Parameter.name</code> is now <code>str</code> instead of
<code>str | None</code>.
When <code>expose_value=False</code>, the name is set to
<code>""</code> instead
of <code>None</code>.</li>
<li>The <code>ctx</code> parameter of
:meth:<code>Parameter.get_error_hint</code> is now
typed as <code>Context | None</code>, matching the runtime
behavior.</li>
</ul>
</li>
<li>
<p>Split string values from <code>default_map</code> for parameters with
<code>nargs > 1</code>
or :class:<code>Tuple</code> type, matching environment variable
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/pallets/click/blob/main/CHANGES.rst ">click's
changelog</a>.</em></p>
<blockquote>
<h2>Version 8.4.1</h2>
<p>Released 2026-05-21</p>
<ul>
<li><code>get_parameter_source()</code> is available during eager
callbacks and type
conversion again. :issue:<code>3458</code> :issue:<code>3484</code></li>
<li>Zsh completion scripts parse correctly on Windows.
:issue:<code>3277</code> :pr:<code>3466</code></li>
<li>Shell completion of <code>Choice</code> <code>Enum</code> values
produces a valid completion
result. :issue:<code>3015</code></li>
<li>Fix empty byte-string handling in echo.
:issue:<code>3487</code></li>
<li>Fix closed file error with <code>echo_via_pager</code>.
:issue:<code>3449</code></li>
</ul>
<h2>Version 8.4.0</h2>
<p>Released 2026-05-17</p>
<ul>
<li>
<p>:class:<code>ParamType</code> typing improvements.
:pr:<code>3371</code></p>
<ul>
<li>:class:<code>ParamType</code> is now a generic abstract base class,
parameterized by its converted value type.</li>
<li>:meth:<code>~ParamType.convert</code> return types are narrowed on
all
concrete types (<code>str</code> for :class:<code>STRING</code>,
<code>int</code> for
:class:<code>INT</code>, etc.).</li>
<li>:meth:<code>~ParamType.to_info_dict</code> returns specific
:class:<code>~typing.TypedDict</code> subclasses instead of
<code>dict[str, Any]</code>.</li>
<li>:class:<code>CompositeParamType</code> and the number-range base are
now
generic with abstract methods.</li>
</ul>
</li>
<li>
<p>Refactor <code>convert_type</code> to extract type inference into a
private
<code>_guess_type</code> helper, and add
:func:<code>typing.overload</code> signatures.
:pr:<code>3372</code></p>
</li>
<li>
<p>:class:<code>Parameter</code> typing improvements.
:pr:<code>2805</code></p>
<ul>
<li>:class:<code>Parameter</code> is now an abstract base class, making
explicit
that it cannot be instantiated directly.</li>
<li>:attr:<code>Parameter.name</code> is now <code>str</code> instead of
<code>str | None</code>.
When <code>expose_value=False</code>, the name is set to
<code>""</code> instead
of <code>None</code>.</li>
<li>The <code>ctx</code> parameter of
:meth:<code>Parameter.get_error_hint</code> is now
typed as <code>Context | None</code>, matching the runtime
behavior.</li>
</ul>
</li>
<li>
<p>Split string values from <code>default_map</code> for parameters with
<code>nargs > 1</code>
or :class:<code>Tuple</code> type, matching environment variable
behavior.
:issue:<code>2745</code> :pr:<code>3364</code></p>
</li>
<li>
<p>Auto-detect <code>type=UNPROCESSED</code> for <code>flag_value</code>
of non-basic types
(not <code>str</code>, <code>int</code>, <code>float</code>, or
<code>bool</code>), so programmer-provided
Python objects like classes and enum members are passed through
unchanged
instead of being stringified. Previously
<code>type=click.UNPROCESSED</code> had
to be set explicitly. :issue:<code>2012</code> :pr:<code>3363</code></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/click/commit/6eeb50e948ea136db145280f6f5dd52eca3fa7e5 "><code>6eeb50e</code></a>
release version 8.4.1</li>
<li><a
href="https://github.com/pallets/click/commit/67921d5b71584112eebcbf89596b5f0e6d14c49f "><code>67921d5</code></a>
change log and doc fixes (<a
href="https://redirect.github.com/pallets/click/issues/3495 ">#3495</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/9c41f46a4015700489ad009266edf1f3893d01d1 "><code>9c41f46</code></a>
Fix changelog and version admonitions</li>
<li><a
href="https://github.com/pallets/click/commit/6cb34774f20598aa288332f8da02c5aee85448a6 "><code>6cb3477</code></a>
fix skip condition</li>
<li><a
href="https://github.com/pallets/click/commit/5ee8e3123d8ddece6c47eff9a7a7d4ca478c4f37 "><code>5ee8e31</code></a>
fix I/O operation on closed file error with CliRunner and echo_via_pager
(<a
href="https://redirect.github.com/pallets/click/issues/3482 ">#3482</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/becbde5cf416441627f779e8dd34e57738ee1c1f "><code>becbde5</code></a>
pager doesn't close std streams</li>
<li><a
href="https://github.com/pallets/click/commit/a5f5aa6d4012d256ccca24638f2642fc371e9f77 "><code>a5f5aa6</code></a>
Handle empty bytes in echo (<a
href="https://redirect.github.com/pallets/click/issues/3493 ">#3493</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/4d3db84b251518e97299a38a5ca4bab3d01873a2 "><code>4d3db84</code></a>
handle empty bytes in echo</li>
<li><a
href="https://github.com/pallets/click/commit/d42f15b71757de791a5781fb179fd972da9169f5 "><code>d42f15b</code></a>
Fix <code>get_parameter_source()</code> during type conversion and eager
callbacks (<a
href="https://redirect.github.com/pallets/click/issues/3484 ">#3484</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/0baa8db07736fc7ad3d3eed97d4c73b0059c63e1 "><code>0baa8db</code></a>
Document ctx.params bypass with test and doc</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/click/compare/8.3.3...8.4.1 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langgraph-sdk` from 0.3.13 to 0.4.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langgraph/releases ">langgraph-sdk's
releases</a>.</em></p>
<blockquote>
<h2>langgraph-sdk==0.4.2</h2>
<p>Changes since sdk==0.4.1</p>
<ul>
<li>release(sdk-py): 0.4.2 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7955 ">#7955</a>)</li>
<li>fix(sdk-py): percent-encode thread_id in v3 stream transport default
paths (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7954 ">#7954</a>)</li>
</ul>
<h2>langgraph-sdk==0.4.1</h2>
<p>Changes since sdk==0.4.0</p>
<ul>
<li>release(sdk-py): 0.4.1 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7944 ">#7944</a>)</li>
<li>feat(sdk-py): extract stream decoders and add interleave_projections
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7935 ">#7935</a>)</li>
<li>feat(langgraph): add v3 streaming support to RemoteGraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7927 ">#7927</a>)</li>
<li>fix(sdk-py): make <code>tools_agent</code> fake model stateless (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7930 ">#7930</a>)</li>
</ul>
<h2>langgraph-sdk==0.4.0</h2>
<p>Changes since sdk==0.3.15</p>
<ul>
<li>release(sdk-py): 0.4.0 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7923 ">#7923</a>)</li>
<li>feat(sdk-py): add thread stream helpers (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7833 ">#7833</a>)</li>
<li>feat(sdk-py): wire websocket stream selection (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7832 ">#7832</a>)</li>
<li>feat(sdk-py): add websocket stream transports (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7830 ">#7830</a>)</li>
<li>feat(sdk-py): harden streaming reconnects (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7829 ">#7829</a>)</li>
<li>feat(sdk-py): add sync scoped subgraphs (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7828 ">#7828</a>)</li>
<li>feat(sdk-py): add sync messages and tool calls (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7827 ">#7827</a>)</li>
<li>feat(sdk-py): add sync thread stream core (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7826 ">#7826</a>)</li>
<li>feat(sdk-py): add async stream reconnect support (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7825 ">#7825</a>)</li>
<li>feat(sdk-py): add scoped subgraph handles (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7824 ">#7824</a>)</li>
<li>feat(sdk-py): add messages and tool call projections (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7823 ">#7823</a>)</li>
<li>feat(sdk-py): add output, values, and controller extraction (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7822 ">#7822</a>)</li>
<li>feat(sdk-py): wire lifecycle state and output prerequisites (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7821 ">#7821</a>)</li>
<li>feat(sdk-py): add shared stream subscriptions (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7820 ">#7820</a>)</li>
<li>feat(sdk-py): add async thread stream skeleton (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7819 ">#7819</a>)</li>
<li>feat(sdk-py): add v3 streaming primitives and SSE transport (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7818 ">#7818</a>)</li>
<li>chore(langgraph): bump version to 1.2.2 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7914 ">#7914</a>)</li>
</ul>
<h2>langgraph-sdk==0.3.15</h2>
<p>Changes since sdk==0.3.14</p>
<ul>
<li>release(checkpoint): 4.1.1 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7890 ">#7890</a>)</li>
<li>release(sdk-py): 0.3.15 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7891 ">#7891</a>)</li>
<li>fix(sdk-py): percent-encode caller-supplied identifiers in URL paths
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7893 ">#7893</a>)</li>
<li>release(langgraph): 1.2.1 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7883 ">#7883</a>)</li>
<li>chore(deps): bump idna from 3.11 to 3.15 in /libs/sdk-py (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7863 ">#7863</a>)</li>
<li>chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/sdk-py (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7764 ">#7764</a>)</li>
<li>chore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/sdk-py (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7789 ">#7789</a>)</li>
<li>release: bump alpha packages to official versions (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7775 ">#7775</a>)</li>
<li>chore(langgraph): bump langchain-core to 1.4.0 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7767 ">#7767</a>)</li>
<li>feat(sdk-py): support metadata filter for crons search/count (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7737 ">#7737</a>)</li>
<li>chore(deps): bump ty from 0.0.23 to 0.0.33 in /libs/sdk-py (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7666 ">#7666</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/4aeaffef4e0d14de09fa4e34636372cb01992c6a "><code>4aeaffe</code></a>
0.4.2 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/4570 ">#4570</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/f1bfd6051a7a3e840c3a9ddc437a2e7f14dd41c8 "><code>f1bfd60</code></a>
update</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/998be75f3430d87f5fa361c790b41ae8314fc64e "><code>998be75</code></a>
langgraph: decouple name from assistant ID in RemoteGraph</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/365dd5f459e2bd9f4fcf38805837fc8cf9356869 "><code>365dd5f</code></a>
sdk-py: Prefix private functions in sdk with _</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/0e61cc2cf6100e0e053614bc2c5dcdeec04b07a8 "><code>0e61cc2</code></a>
prebuilt: remove state_modifier (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/4439 ">#4439</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/a0a302dec50af869c07851210f3a9dd77200e8a0 "><code>a0a302d</code></a>
prebuilt: switch to executing parallel tool calls via Send by default
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/4438 ">#4438</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/4e05db85374a652c8ddfa26b9adb9ff638fce581 "><code>4e05db8</code></a>
Release checkpoint-sqlite (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/4509 ">#4509</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/d6e20e6d093a4fe53cb04afa5af8a5b3d3b8ef31 "><code>d6e20e6</code></a>
Add missing 'running' RunStatus (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/4508 ">#4508</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/fcd06acd3365aa2c7ba5091349a6f850aedd09c4 "><code>fcd06ac</code></a>
Add support for specifying a custom base image in docker commands (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/4500 ">#4500</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraph/commit/94994a8d995596c1a3c035572062987c71811d83 "><code>94994a8</code></a>
meaningless commit to get vercel going sigh</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langgraph/compare/0.3.13...0.4.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `pytest-asyncio` from 1.3.0 to 1.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases ">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio v1.4.0</h2>
<h1><a
href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0 ">1.4.0</a>
- 2026-05-26</h1>
<h2>Deprecated</h2>
<ul>
<li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use
the <code>pytest_asyncio_loop_factories</code> hook instead. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419 ">#1419</a>)</li>
</ul>
<h2>Added</h2>
<ul>
<li>
<p>Added the <code>pytest_asyncio_loop_factories</code> hook to
parametrize asyncio tests with custom event loop factories.</p>
<p>The hook returns a mapping of factory names to loop factories, and
<code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset
of configured factories per test. When a single factory is configured,
test names are unchanged.</p>
<p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see
the correct event loop when custom loop factories are configured, even
when test code disrupts the current event loop (e.g., via
<code>asyncio.run()</code> or
<code>asyncio.set_event_loop(None)</code>). (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164 ">#1164</a>)</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Improved the readability of the warning message that is displayed
when <code>asyncio_default_fixture_loop_scope</code> is unset (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298 ">#1298</a>)</li>
<li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type
checking to avoid raising
a DeprecationWarning. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394 ">#1394</a>)</li>
<li>Updated minimum supported pytest version to v8.4.0. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397 ">#1397</a>)</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Fixed a <code>ResourceWarning: unclosed event loop</code> warning
that could occur when a synchronous test called
<code>asyncio.run()</code> or otherwise unset the current event loop
after pytest-asyncio had run an async test or fixture. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724 ">#724</a>)</li>
</ul>
<h2>Notes for Downstream Packagers</h2>
<ul>
<li>Added dependency on <code>sphinx-tabs >= 3.5</code> to organize
documentation examples into tabs. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395 ">#1395</a>)</li>
</ul>
<h2>pytest-asyncio v1.4.0a2</h2>
<h1><a
href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2 ">1.4.0a2</a>
- 2026-05-02</h1>
<h2>Deprecated</h2>
<ul>
<li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use
the <code>pytest_asyncio_loop_factories</code> hook instead. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419 ">#1419</a>)</li>
</ul>
<h2>Added</h2>
<ul>
<li>
<p>Added the <code>pytest_asyncio_loop_factories</code> hook to
parametrize asyncio tests with custom event loop factories.</p>
<p>The hook returns a mapping of factory names to loop factories, and
<code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset
of configured factories per test. When a single factory is configured,
test names are unchanged on pytest 8.4+.</p>
<p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see
the correct event loop when custom loop factories are configured, even
when test code disrupts the current event loop (e.g., via
<code>asyncio.run()</code> or
<code>asyncio.set_event_loop(None)</code>). (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164 ">#1164</a>)</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Improved the readability of the warning message that is displayed
when <code>asyncio_default_fixture_loop_scope</code> is unset (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298 ">#1298</a>)</li>
<li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type
checking to avoid raising
a DeprecationWarning. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394 ">#1394</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425 "><code>6e14cd2</code></a>
chore: Prepare release of v1.4.0.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e "><code>4b900fb</code></a>
Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf "><code>ab9f632</code></a>
Build(deps): Bump zipp from 3.23.1 to 4.1.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa "><code>a56fc77</code></a>
Build(deps): Bump hypothesis from 6.152.6 to 6.152.8</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d "><code>e8bae9b</code></a>
Build(deps): Bump requests from 2.34.0 to 2.34.2</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de "><code>fc43340</code></a>
Build(deps): Bump idna from 3.14 to 3.15</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b "><code>762eaf5</code></a>
Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f "><code>b62e222</code></a>
Build(deps): Bump click from 8.3.3 to 8.4.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb "><code>9190447</code></a>
Build(deps): Bump pydantic from 2.13.3 to 2.13.4</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236 "><code>82a393c</code></a>
ci: Remove unnecessary debug output.</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.12 to 0.15.15
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases ">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.15.15</h2>
<h2>Release Notes</h2>
<p>Released on 2026-05-28.</p>
<h3>Preview features</h3>
<ul>
<li>Fix Markdown closing fence handling (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25310 ">#25310</a>)</li>
<li>[<code>pyflakes</code>] Report duplicate imports in
<code>typing.TYPE_CHECKING</code> block (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22560 ">#22560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyflakes</code>] Treat function-scope bare annotations as
locals per PEP 526 (<code>F821</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21540 ">#21540</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant <code>TokenValue</code> drops in the lexer (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25300 ">#25300</a>)</li>
<li>Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens <code>Vec</code> size
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25354 ">#25354</a>)</li>
<li>Use <code>ThinVec</code> in AST to shrink <code>Stmt</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25361 ">#25361</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix <code>line-length</code> example for <code>--config</code>
option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25389 ">#25389</a>)</li>
<li>[<code>flake8-comprehensions</code>] Document
<code>RecursionError</code> edge case in <code>__len__</code>
(<code>C416</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25286 ">#25286</a>)</li>
<li>[<code>mccabe</code>] Improve example (<code>C901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25287 ">#25287</a>)</li>
<li>[<code>pyupgrade</code>] Clarify fix safety docs
(<code>UP007</code>, <code>UP045</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25288 ">#25288</a>)</li>
<li>[<code>refurb</code>] Document <code>FURB192</code> exception change
for empty sequences (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25317 ">#25317</a>)</li>
<li>[<code>ruff</code>] Document false negative for user-defined types
(<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25289 ">#25289</a>)</li>
</ul>
<h3>Formatter</h3>
<ul>
<li>Fix formatting of lambdas nested within f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25398 ">#25398</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Return code action for <code>codeAction/resolve</code> requests that
contain no or no valid URL (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25365 ">#25365</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25415 ">#25415</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/adityasingh2400 "><code>@adityasingh2400</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a
href="https://github.com/fallintoplace "><code>@fallintoplace</code></a></li>
<li><a
href="https://github.com/martin-schlossarek "><code>@martin-schlossarek</code></a></li>
<li><a
href="https://github.com/MichaReiser "><code>@MichaReiser</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/astral-sh/ruff/blob/main/CHANGELOG.md ">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.15.15</h2>
<p>Released on 2026-05-28.</p>
<h3>Preview features</h3>
<ul>
<li>Fix Markdown closing fence handling (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25310 ">#25310</a>)</li>
<li>[<code>pyflakes</code>] Report duplicate imports in
<code>typing.TYPE_CHECKING</code> block (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22560 ">#22560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyflakes</code>] Treat function-scope bare annotations as
locals per PEP 526 (<code>F821</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21540 ">#21540</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant <code>TokenValue</code> drops in the lexer (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25300 ">#25300</a>)</li>
<li>Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens <code>Vec</code> size
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25354 ">#25354</a>)</li>
<li>Use <code>ThinVec</code> in AST to shrink <code>Stmt</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25361 ">#25361</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix <code>line-length</code> example for <code>--config</code>
option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25389 ">#25389</a>)</li>
<li>[<code>flake8-comprehensions</code>] Document
<code>RecursionError</code> edge case in <code>__len__</code>
(<code>C416</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25286 ">#25286</a>)</li>
<li>[<code>mccabe</code>] Improve example (<code>C901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25287 ">#25287</a>)</li>
<li>[<code>pyupgrade</code>] Clarify fix safety docs
(<code>UP007</code>, <code>UP045</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25288 ">#25288</a>)</li>
<li>[<code>refurb</code>] Document <code>FURB192</code> exception change
for empty sequences (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25317 ">#25317</a>)</li>
<li>[<code>ruff</code>] Document false negative for user-defined types
(<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25289 ">#25289</a>)</li>
</ul>
<h3>Formatter</h3>
<ul>
<li>Fix formatting of lambdas nested within f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25398 ">#25398</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Return code action for <code>codeAction/resolve</code> requests that
contain no or no valid URL (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25365 ">#25365</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25415 ">#25415</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/adityasingh2400 "><code>@adityasingh2400</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a
href="https://github.com/fallintoplace "><code>@fallintoplace</code></a></li>
<li><a
href="https://github.com/martin-schlossarek "><code>@martin-schlossarek</code></a></li>
<li><a
href="https://github.com/MichaReiser "><code>@MichaReiser</code></a></li>
<li><a
href="https://github.com/Ruchir28 "><code>@Ruchir28</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/db5aa0a5f1b92cb91d910bf0866a967554dd94f5 "><code>db5aa0a</code></a>
Bump 0.15.15 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25431 ">#25431</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/366fe21ba369ccdd01eb99c1043c9a969c99230b "><code>366fe21</code></a>
[ty] Improve diagnostics for syntax errors in forward annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25158 ">#25158</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/e2e1e647d182b8567845039c9a65fb0608a4dcfc "><code>e2e1e64</code></a>
[ty] Remove excess capacity from more Salsa cached collections (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25411 ">#25411</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/1bd77e1646f2213d86b8da215f08279187867d72 "><code>1bd77e1</code></a>
[ty] Use diagnostic message as tie breaker when sorting (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25424 ">#25424</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7e1bc1e75f15795f12c846294b13df4535f2abbf "><code>7e1bc1e</code></a>
Add agent skills for working on ty (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25422 ">#25422</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/574e10752f8cfa9e0cdbe3b01e96c4380950469b "><code>574e107</code></a>
Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25415 ">#25415</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4a7ca062fccd80443a43aa61e5dc7e5858e88dc1 "><code>4a7ca06</code></a>
[ty] Display docs for matching parameter when hovering over the name of
an ar...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/54327092dbfe455040690d63bb1e5e4b5f551239 "><code>5432709</code></a>
Refine a few agents instructions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25423 ">#25423</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/3cb09eba689ebb49e799131092121928cc789c18 "><code>3cb09eb</code></a>
[ty] Support <code>typing.TypeForm</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25334 ">#25334</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c8cd59f189f2b6f55d542b29bddb953622add6fc "><code>c8cd59f</code></a>
[ty] Infer class attributes assigned by metaclass initialization (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25342 ">#25342</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.12...0.15.15 ">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>
Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com >
2026-06-03 07:42:36 +00:00
Asamu David and GitHub
b3eeb4fa1d
feat(cli): add remote build support for langgraph deploy ( #7234 )
...
**Description:**
- extend host_backend client with remote build support
- refactored `cli.py` for better clarity
- update tests
2026-04-02 16:39:30 +01:00
Andrew Nguonly and GitHub
cc9acc1ba9
feat(cli): Add deploy revisions list command ( #7142 )
...
### Summary
```
% langgraph deploy revisions list f5bb6e58-e2ab-40b9-9855-d6dd6d1051b6
No LangSmith API key found. Create one at Settings > API Keys in LangSmith.
Enter LangSmith API key:
Revision ID Status Created At
------------------------------------ -------- ---------------------------
fe05f163-58cf-4783-a918-0c78a8fab0c7 BUILDING 2026-03-12T20:47:14.626436Z
03c32fcf-544f-4517-a016-c7a7243b898d DEPLOYED 2026-03-12T20:30:09.199275Z
29605810-29cc-4110-ac05-d43e564827d0 DEPLOYED 2026-03-12T19:56:36.232427Z
```
2026-03-19 16:55:19 -07:00
hari-dhanushkodi and GitHub
d595f11b43
feat(cli): add deploy list and deploy delete subcommands ( #7118 )
...
### Summary
This PR introduces a subcommand implementation that allows `langgraph
deploy list` and `langgraph deploy delete` subcommands.
#### `langgraph deploy list`
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 langgraph % langgraph deploy list --help ⎈ gke_langchain-test-387119_us-west1_langgraph-cloud-us-west1
Usage: langgraph deploy list [OPTIONS]
[Beta] List LangSmith Deployments.
Options:
--name-contains TEXT Only show deployments whose names contain this value.
--api-key TEXT API key. Can also be set via LANGGRAPH_HOST_API_KEY,
LANGSMITH_API_KEY, or LANGCHAIN_API_KEY environment
variable or .env file.
--help Show this message and exit.
```
Output example:
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy list
Deployment ID Deployment Name Deployment URL
------------------------------------ -------------------------- ------------------------------------------------------------------------------------
a40d6567-87c0-485a-a23d-94309a7d4519 ht-andrew-test-04 -
9da26acb-d0c9-4af0-af9e-f3fe8dfe85bc ht-anirudh-deployment-test https://ht-anirudh-deployment-test-428af4737f8a533cb2b107587eb8f38f.us.langgraph.app/
```
#### `langgraph deploy delete`
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 langgraph % langgraph deploy delete --help ⎈ gke_langchain-test-387119_us-west1_langgraph-cloud-us-west1
Usage: langgraph deploy delete [OPTIONS] DEPLOYMENT_ID
[Beta] Delete a LangSmith Deployment.
Options:
--force Delete without prompting for confirmation.
--api-key TEXT API key. Can also be set via LANGGRAPH_HOST_API_KEY,
LANGSMITH_API_KEY, or LANGCHAIN_API_KEY environment variable
or .env file.
--help Show this message and exit.
```
Output example:
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy delete a40d6567-87c0-485a-a23d-94309a7d4519
Are you sure you want to delete deployment ID a40d6567-87c0-485a-a23d-94309a7d4519? (Y/n): Y
Host API key:
Deleted deployment a40d6567-87c0-485a-a23d-94309a7d4519.
```
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy delete a40d6567-87c0-485a-a23d-94309a7d4519
Are you sure you want to delete deployment ID a40d6567-87c0-485a-a23d-94309a7d4519? (Y/n): n
Aborted!
```
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy delete 9da26acb-d0c9-4af0-af9e-f3fe8dfe85bc --force
Host API key:
Deleted deployment 9da26acb-d0c9-4af0-af9e-f3fe8dfe85bc.
```
2026-03-11 15:33:32 -07:00
Andrew Nguonly and GitHub
7488cf2448
fix: Revert "feat(cli): Add deploy list and deploy delete subcommands" ( #7116 )
...
Reverts langchain-ai/langgraph#7106
This PR broke the `langgraph deploy` command flags.
2026-03-11 10:56:31 -07:00
Andrew Nguonly and GitHub
e77201cbb1
feat(cli): Add deploy list and deploy delete subcommands ( #7106 )
...
### Summary
This PR introduces a subcommand implementation that allows `langgraph
deploy list` and `langgraph deploy delete` subcommands.
#### `langgraph deploy list`
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 langgraph % langgraph deploy list --help ⎈ gke_langchain-test-387119_us-west1_langgraph-cloud-us-west1
Usage: langgraph deploy list [OPTIONS]
[Beta] List LangSmith Deployments.
Options:
--name-contains TEXT Only show deployments whose names contain this value.
--api-key TEXT API key. Can also be set via LANGGRAPH_HOST_API_KEY,
LANGSMITH_API_KEY, or LANGCHAIN_API_KEY environment
variable or .env file.
--help Show this message and exit.
```
Output example:
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy list
Deployment ID Deployment Name Deployment URL
------------------------------------ -------------------------- ------------------------------------------------------------------------------------
a40d6567-87c0-485a-a23d-94309a7d4519 ht-andrew-test-04 -
9da26acb-d0c9-4af0-af9e-f3fe8dfe85bc ht-anirudh-deployment-test https://ht-anirudh-deployment-test-428af4737f8a533cb2b107587eb8f38f.us.langgraph.app
```
#### `langgraph deploy delete`
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 langgraph % langgraph deploy delete --help ⎈ gke_langchain-test-387119_us-west1_langgraph-cloud-us-west1
Usage: langgraph deploy delete [OPTIONS] DEPLOYMENT_ID
[Beta] Delete a LangSmith Deployment.
Options:
--force Delete without prompting for confirmation.
--api-key TEXT API key. Can also be set via LANGGRAPH_HOST_API_KEY,
LANGSMITH_API_KEY, or LANGCHAIN_API_KEY environment variable
or .env file.
--help Show this message and exit.
```
Output example:
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy delete a40d6567-87c0-485a-a23d-94309a7d4519
Are you sure you want to delete deployment ID a40d6567-87c0-485a-a23d-94309a7d4519? (Y/n): Y
Host API key:
Deleted deployment a40d6567-87c0-485a-a23d-94309a7d4519.
```
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy delete a40d6567-87c0-485a-a23d-94309a7d4519
Are you sure you want to delete deployment ID a40d6567-87c0-485a-a23d-94309a7d4519? (Y/n): n
Aborted!
```
```bash
(env) andrewnguonly@Andrew-Nguonly-KC23X90J02 cli % langgraph deploy delete 9da26acb-d0c9-4af0-af9e-f3fe8dfe85bc --force
Host API key:
Deleted deployment 9da26acb-d0c9-4af0-af9e-f3fe8dfe85bc.
```
2026-03-11 09:12:17 -07:00
Quanzheng Long and GitHub
4ef61690c6
feat(cli): add distributed runtime support to langgraph cli ( #7096 )
2026-03-09 20:43:45 -07:00
William FH and GitHub
c80d93c78a
fix(cli): Escape variable substitution in compose codegen ( #6594 )
2025-12-15 14:51:03 -08:00
Asamu David and GitHub
1157ec77b4
fix(cli): add buildkit syntax directiive, update tests ( #6385 )
...
**Description:** Adds the syntax directive to generated dockerfile for
langgraph builds if we have additional contexts
**Issue:** fixes issue with python monorepo builds failing
**Dependencies:** N/A
2025-11-03 18:13:19 +00:00
Asamu David and GitHub
3f400b38d1
fix(cli): install local deps in editable mode ( #6294 )
...
**Description**
As part of this PR #6156 , local deps are no longer installed in editable
mode. This change reverts that behaviour and ensures local packages are
installed in editable mode.
**Issue:** fixes #6288
2025-10-17 01:42:11 +01:00
Isaac Francisco and GitHub
d933d455ec
fix(cli): change prerelease behavior ( #6156 )
...
respect users config, use uv defaults
2025-09-24 09:54:24 -07:00
Isaac Francisco and GitHub
eaeafe54ab
feat(cli): support prereleases ( #6085 )
...
We previously errored when a user had prerelease dependencies, this PR
passes the `--prereleases=allow` flag to our `uv pip install` call.
This PR also adds a test to verify that said deployments will build and
run as expected.
2025-09-05 15:45:48 -07:00
d503c0bf33
WIP: monorepo support in CLI ( #6028 )
...
This PR introduces the `--build-command` and `--install-command`
arguments to `langgraph build`.
`--install-command` is a custom install command. If passed, it will be
run from wherever the `langgraph build` call was made, i.e. NOT where
the langgraph.json file lives (except if these are the same place). This
will override the detected install command that we previously used.
`--build-command` is a custom build command. This will run from wherever
the langgraph.json file lives, and will be done after the install has
been run.
You don't need to provide both. Just providing one will make the install
(detected or supplied) run in the directory from where `langgraph build
was called` and then have the build command (if one exists) run in the
directory where langgraph.json exists.
I think we should probably allow configuring the directories from which
these commands get run, but I don't think this needs to be part of the
MVP.
---------
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com >
2025-09-04 12:29:11 -07:00
William FH and GitHub
998e194e82
release(cli): Support bookworm, trixie, etc. ( #5975 )
...
Also add support for pinning to a semantic version.
2025-08-20 15:40:04 +00:00
David Asamu
40fa69f8ee
lint and format fixes
2025-07-23 15:39:34 +01:00
Asamu David and GitHub
00c7909c27
Merge branch 'main' into david/30-06/support-base-image-tag
2025-07-19 03:20:09 +01:00
David Asamu
58d396fcf1
merge main
2025-07-19 03:17:17 +01:00
David Asamu
9f0abf014d
format changed files
2025-07-19 03:06:17 +01:00
David Asamu
8d6cd15669
add api-version option
2025-07-19 02:55:47 +01:00
William FH and GitHub
0d8a8c5847
feat: [CLI] Add arg to retain build deps (setuptools, pip, wheel) ( #5404 )
2025-07-08 19:41:47 +00:00
87f2e69395
chore[deps]: upgrade dependencies with uv lock --upgrade ( #5358 )
...
* chore: upgrade dependencies with `uv lock --upgrade`
* linting
* upgrade PR title
---------
Co-authored-by: sydney-runkle <54324534+sydney-runkle@users.noreply.github.com >
Co-authored-by: Sydney Runkle <sydneymarierunkle@gmail.com >
2025-07-07 23:24:32 +00:00
William FH and GitHub
c17ee1bf5a
feat: [CLI] Add support for building deps with uv ( #4995 )
2025-06-09 08:57:29 -07:00
1a76f6a92a
🐛 [CLI] Generate one --build-context argument for each dependency in the docker build command. ( #4962 )
...
* Generate one `--build-context` for each dependency in the `docker build` command.
* Try and fix test
---------
Co-authored-by: Nuno Campos <nuno@langchain.dev >
2025-06-04 22:48:48 +00:00
David Asamu
bbbadc3db9
regenerate schema + lint & format
2025-06-02 20:50:48 +01:00
David Asamu
1e8f5dd2b6
add warning when image distro is not configured as wolfi
2025-05-30 00:25:27 +01:00
William FH and GitHub
fcd06acd33
Add support for specifying a custom base image in docker commands ( #4500 )
...
build & dockerfile commands
can be specified via CLI > langgraph.json
2025-05-01 23:13:49 +00:00
William FH and GitHub
05f21a384b
Add image arg to up command ( #4385 )
...
Using this argument, you can get more customization since you can do
`langgraph build` or directly `docker build` your image and then re-use
the `langgraph up --image my-image` and have it also spin up redis &
postgres for you.
Easier then writing your own compose file
2025-04-23 07:48:01 -07:00
Tat Dat Duong
d06075cbcf
Fix new style config
2025-04-11 00:04:44 +02:00
William Fu-Hinthorn
5b58efc8d7
Update tests
2025-04-08 17:08:24 -07:00
Eugene Yurtsev and GitHub
adac016e33
cli: support dict format for graph specification in langgraph.json ( #4164 )
...
Allow the CLI to work with dict format for the graph specification.
```json
{
"dependencies": ["./my_agent"],
"graphs": {
"agent": {
"path": "./my_agent/agent.py:graph",
"description": "this is my agent description"
}
},
"env": ".env"
}
```
And backwards compatible with:
```json
{
"dependencies": ["./my_agent"],
"graphs": {
"agent": "./my_agent/agent.py:graph",
},
"env": ".env"
}
```
2025-04-04 10:16:20 -04:00
Nuno Campos
d03ead2f43
Fix path in assertion
2025-02-17 11:47:38 -08:00
Nuno Campos
5a8624fdfd
cli: Add support for dependencies in parent directories
...
- Now supporting local dependencies in directories that are not contained in the docker context (ie. outside the folder containing langgraph.json)
- This is achieved by passing each parent directorty as an additional context to docker build
- This makes it a lot easier to build projects contained in monorepos where you need to include some sibling/parent folder as a dependency
- Also include additional comments in the generated dockerfile to delimit each section
2025-02-17 11:43:55 -08:00
Tat Dat Duong
9d5166a0d3
Fix tests
2025-01-25 04:16:52 +01:00
Eugene Yurtsev and GitHub
6906e12edb
cli: add ability to output docker compose file ( #2379 )
...
* Add ability to output docker compose file `langgraph dockerfile
Dockerfile --add-docker-compose`
* Add emoji in places
2024-11-13 12:42:58 -05:00
Eugene Yurtsev and GitHub
2bcf1c0a20
cli[minor]: Add langgraph new command ( #2369 )
...
Adds a "new" command to create langgraph application from a template.
2024-11-12 14:30:51 -05:00