Commit Graph

9478 Commits

Author SHA1 Message Date
Chester Curme
ebc0107633 x 2026-07-10 10:26:18 -04:00
langchain-oss-model-profiles[bot]
2f527debdd chore(model-profiles): refresh model profile data (#38774)
Automated refresh of model profile data for all in-monorepo partner
integrations via `langchain-profiles refresh`.

🤖 Generated by the [`refresh_model_profiles`
workflow](https://github.com/langchain-ai/langchain/blob/master/.github/workflows/refresh_model_profiles.yml).


## Summary of changes

**11 added · 4 removed · 44 changed** across 2 provider(s).

<details>
<summary>openai</summary>

** 4 added**
- `gpt-5.6` — 1,050,000 ctx, 128,000 out, text+image+pdf in, reasoning,
tools
- `gpt-5.6-luna` — 1,050,000 ctx, 128,000 out, text+image+pdf in,
reasoning, tools
- `gpt-5.6-sol` — 1,050,000 ctx, 128,000 out, text+image+pdf in,
reasoning, tools
- `gpt-5.6-terra` — 1,050,000 ctx, 128,000 out, text+image+pdf in,
reasoning, tools

</details>

<details>
<summary>openrouter</summary>

** 7 added**
- `cognitivecomputations/dolphin-mistral-24b-venice-edition` — 128,000
ctx, 8,192 out
- `openai/gpt-5.6-luna` — 1,050,000 ctx, 128,000 out, text+image+pdf in,
reasoning, tools
- `openai/gpt-5.6-luna-pro` — 1,050,000 ctx, 128,000 out, text+image+pdf
in, reasoning, tools
- `openai/gpt-5.6-sol` — 1,050,000 ctx, 128,000 out, text+image+pdf in,
reasoning, tools
- `openai/gpt-5.6-sol-pro` — 1,050,000 ctx, 128,000 out, text+image+pdf
in, reasoning, tools
- `openai/gpt-5.6-terra` — 1,050,000 ctx, 128,000 out, text+image+pdf
in, reasoning, tools
- `openai/gpt-5.6-terra-pro` — 1,050,000 ctx, 128,000 out,
text+image+pdf in, reasoning, tools

** 4 removed**
- `google/gemini-2.5-flash-lite-preview-09-2025`
- `liquid/lfm-2-24b-a2b`
- `poolside/laguna-xs.2`
- `poolside/laguna-xs.2:free`

**✏️ 44 changed**
- `anthracite-org/magnum-v4-72b`: max input tokens 16,384 → 32,768
- `baidu/ernie-4.5-vl-424b-a47b`: max input tokens 123,000 → 131,072
- `deepseek/deepseek-chat`: max input tokens 128,000 → 131,072
- `deepseek/deepseek-r1`: max input tokens 64,000 → 163,840
- `deepseek/deepseek-r1-distill-llama-70b`: max input tokens 8,192 →
128,000
- `deepseek/deepseek-v3.2`: max input tokens 128,000 → 131,072
- `google/gemini-3.1-pro-preview-customtools`: max input tokens
1,048,576 → 1,048,756
- `google/gemma-4-26b-a4b-it:free`: max input tokens 131,072 → 262,144
- `meta-llama/llama-3.2-1b-instruct`: max input tokens 60,000 → 131,072
- `meta-llama/llama-3.3-70b-instruct:free`: max input tokens 65,536 →
131,072
- `meta-llama/llama-4-scout`: max input tokens 327,680 → 10,000,000
- `microsoft/wizardlm-2-8x22b`: max input tokens 65,535 → 65,536
- `minimax/minimax-m2.5`: max input tokens 196,608 → 204,800
- `minimax/minimax-m2.7`: max input tokens 196,608 → 204,800
- `minimax/minimax-m3`: max input tokens 524,288 → 1,048,576; max output
tokens 512,000 → 131,072
- `moonshotai/kimi-k2.5`: max input tokens 256,000 → 262,144
- `moonshotai/kimi-k2.7-code`: max output tokens 16,384 → 262,144
- `nvidia/nemotron-3-super-120b-a12b`: max input tokens 262,144 →
1,000,000
- `nvidia/nemotron-3-super-120b-a12b:free`: max input tokens 262,144 →
1,000,000
- `nvidia/nemotron-3-ultra-550b-a55b`: max input tokens 262,144 →
1,000,000
- `poolside/laguna-m.1`: last updated `2026-04-28` → `2026-06-13`
- `poolside/laguna-m.1:free`: last updated `2026-04-28` → `2026-06-13`
- `qwen/qwen-2.5-72b-instruct`: max input tokens 32,768 → 131,072
- `qwen/qwen-2.5-7b-instruct`: max input tokens 32,768 → 131,072
- `qwen/qwen-2.5-coder-32b-instruct`: max input tokens 32,768 → 128,000
- …and 19 more

</details>

Co-authored-by: mdrxy <61371264+mdrxy@users.noreply.github.com>
2026-07-10 10:24:05 -04:00
Radhakrishnan Pachyappan
a07356f839 fix(anthropic): add advisor_ prefix to builtin tool recognition (#38686) 2026-07-09 22:18:52 -04:00
Mason Daugherty
8107ff4065 release(fireworks): 1.4.4 (#38753) 2026-07-09 13:45:31 -04:00
Mason Daugherty
ea24fb1e13 fix(fireworks): report cached prompt token usage (#38751)
Closes #38648

`langchain-fireworks` now reports Fireworks cached prompt tokens in
`AIMessage.usage_metadata.input_token_details.cache_read` and no longer
crashes when combining nested token usage from batched `generate()`
calls.

---

Fireworks can return nested token usage details when prompt caching is
involved, including cached prompt token counts. Batched `generate()`
calls were crashing when those nested dictionaries were combined, and
regular chat results did not expose the cached-token breakdown in the
standard LangChain usage metadata shape.

This updates `ChatFireworks` so nested token usage is merged safely and
cached prompt tokens are reported as `input_token_details.cache_read`.
Users and downstream tracing systems can now distinguish cached
Fireworks input tokens from regular input tokens instead of treating the
full prompt as uncached input.

Thanks to @abcgco for the original report and recursive merge fix in
#38646, and to @abhi-0203 for independently identifying the same nested
`token_usage` failure in #38735. This PR builds on that work by using
the recursive merge approach and extending the fix to normalize cached
prompt tokens into standard usage metadata for tracing and cost
reporting.

Co-authored-by: Andrei Boldyrev <abcgco@gmail.com>
2026-07-09 13:39:38 -04:00
Mason Daugherty
a4294f9a39 chore(deps): refresh lockfiles (#38746) 2026-07-09 12:43:43 -04:00
langchain-oss-model-profiles[bot]
d73ba5b70b chore(model-profiles): refresh model profile data (#38739)
Automated refresh of model profile data for all in-monorepo partner
integrations via `langchain-profiles refresh`.

🤖 Generated by the [`refresh_model_profiles`
workflow](https://github.com/langchain-ai/langchain/blob/master/.github/workflows/refresh_model_profiles.yml).


## Summary of changes

**3 added · 1 removed · 4 changed** across 2 provider(s).

<details>
<summary>openrouter</summary>

** 2 added**
- `x-ai/grok-4.5` — 500,000 ctx, 500,000 out, text+image+pdf in,
reasoning, tools
- `~x-ai/grok-latest` — 500,000 ctx, 1,000,000 out, text+image+pdf in,
reasoning, tools

** 1 removed**
- `switchpoint/router`

**✏️ 4 changed**
- `deepseek/deepseek-v4-flash`: max output tokens 16,384 → 65,536
- `tencent/hy3`: max input tokens 202,752 → 262,144
- `x-ai/grok-build-0.1`: added PDF input
- `z-ai/glm-5.2`: max output tokens 32,768 → 1,048,576

</details>

<details>
<summary>xai</summary>

** 1 added**
- `grok-4.5` — 500,000 ctx, 500,000 out, text+image+pdf in, reasoning,
tools

</details>

Co-authored-by: mdrxy <61371264+mdrxy@users.noreply.github.com>
2026-07-09 12:12:22 -04:00
ccurme
bc1540084b release(openai): 1.3.4 (#38731) 2026-07-08 18:51:10 -04:00
ccurme
123d83282a release(langchain): 1.3.12 (#38730) 2026-07-08 18:34:51 -04:00
Naomi
fa0114511b fix(openai): suppress Pydantic serializer warning on structured output parsed field (#37727) 2026-07-08 18:28:39 -04:00
ccurme
1c3a4186cf release(core): 1.4.9 (#38728) 2026-07-08 15:58:21 -04:00
Christophe Bornet
1619f3d3d0 chore(standard-tests): fix some typings detected by ty (#38707) 2026-07-08 15:32:47 -04:00
Anush
a6f0369eca chore(qdrant): bump fastembed to latest (#38726)
This PR updates the optional `fastembed` dependency in
`langchain-qdrant` to the latest version (`0.8.0`).

This also removes the temporary Pillow override that was needed for
`fastembed@0.7.x`, since the new release no longer caps Pillow below the
patched version.
2026-07-08 14:24:06 -04:00
ccurme
fca0a977a6 fix(langchain): propagate interrupts through ToolRetryMiddleware (#38722) 2026-07-08 11:16:42 -04:00
langchain-oss-model-profiles[bot]
874bada42f chore(model-profiles): refresh model profile data (#38712)
Automated refresh of model profile data for all in-monorepo partner
integrations via `langchain-profiles refresh`.

🤖 Generated by the [`refresh_model_profiles`
workflow](https://github.com/langchain-ai/langchain/blob/master/.github/workflows/refresh_model_profiles.yml).


## Summary of changes

**2 added · 2 removed · 6 changed** across 1 provider(s).

### openrouter

** 2 added**
- `aion-labs/aion-3.0` — 131,072 ctx, 32,768 out, reasoning, tools
- `aion-labs/aion-3.0-mini` — 131,072 ctx, 32,768 out, reasoning, tools

** 2 removed**
- `aion-labs/aion-1.0`
- `aion-labs/aion-1.0-mini`

**✏️ 6 changed**
- `aion-labs/aion-2.0`: added tool calling
- `anthropic/claude-opus-4.8`: added temperature control
- `nex-agi/nex-n2-pro`: added tool calling
- `thedrummer/rocinante-12b`: max input tokens 32,768 → 65,536; max
output tokens 32,768 → 65,536; added structured output
- `z-ai/glm-5.2`: max output tokens 131,072 → 32,768
- `~anthropic/claude-opus-latest`: added temperature control

Co-authored-by: mdrxy <61371264+mdrxy@users.noreply.github.com>
2026-07-08 10:08:48 -04:00
langchain-oss-model-profiles[bot]
6e51a7e48b chore(model-profiles): refresh model profile data (#38699)
Automated refresh of model profile data for all in-monorepo partner
integrations via `langchain-profiles refresh`.

🤖 Generated by the [`refresh_model_profiles`
workflow](https://github.com/langchain-ai/langchain/blob/master/.github/workflows/refresh_model_profiles.yml).


## Summary of changes

**4 added · 0 removed · 1 changed** across 2 provider(s).

<details>
<summary>huggingface</summary>

** 1 added**
- `openai/gpt-oss-20b` — 131,072 ctx, 32,768 out, reasoning, tools

</details>

<details>
<summary>openrouter</summary>

** 3 added**
- `nex-agi/nex-n2-mini` — 262,144 ctx, 262,144 out, text+image in,
reasoning, tools
- `tencent/hy3` — 202,752 ctx, 131,072 out, reasoning, tools
- `tencent/hy3:free` — 262,144 ctx, 262,144 out, reasoning, tools

**✏️ 1 changed**
- `meta-llama/llama-3.2-3b-instruct`: max input tokens 80,000 → 131,072;
max output tokens 80,000 → 131,072; added structured output

</details>

Co-authored-by: mdrxy <61371264+mdrxy@users.noreply.github.com>
2026-07-07 11:40:47 -04:00
Mohammad Mohtashim
2d8100c4fa fix(langchain-classic): fix Chain.save() regression from dict-to-model_dump migration (#35667)
Fixes #35665

---

Fixes a regression introduced in #33035 where `Chain.save()` stopped
working for chain types that support saving, including `LLMChain`.

`Chain.save()` now calls `self.model_dump()`, but the `_type` injection
still lived in the deprecated `dict()` override. As a result, serialized
chains no longer included `_type`, and `save()` always raised the "does
not support saving" error.

This moves the override to `model_dump()` so saved chain output includes
`_type` again. Pydantic v2's `dict()` method delegates to
`model_dump()`, so existing `dict()` callers continue to get the same
serialized shape.
2026-07-06 12:15:21 -04:00
Mason Daugherty
b08c3913fb test(openai): skip Codex VCR tests before cassette setup (#38690)
Codex integration tests need to be skipped in CI whenever VCR is not in
playback mode, but the setup-time skip ran too late: `pytest-recording`
could already try to open a cassette and hit the missing on-disk OAuth
token first. Moving the skip to collection time marks the matching Codex
tests before cassette setup while keeping the existing VCR-token fake
for playback runs.

## Changes
- Add a `pytest_collection_modifyitems` hook that marks Codex chat-model
integration tests as skipped in CI unless VCR is replaying existing
cassettes.
- Scope collection-time matching to the local chat-model
integration-test directory so same-named modules collected elsewhere are
not skipped accidentally.
- Keep the OAuth-token fake path active for VCR playback by preserving
`_fake_codex_oauth_token` behavior when `record_mode` is `none`.
2026-07-06 11:29:03 -04:00
langchain-oss-model-profiles[bot]
83386b56e1 chore(model-profiles): refresh model profile data (#38689)
Automated refresh of model profile data for all in-monorepo partner
integrations via `langchain-profiles refresh`.

🤖 Generated by the [`refresh_model_profiles`
workflow](https://github.com/langchain-ai/langchain/blob/master/.github/workflows/refresh_model_profiles.yml).


## Summary of changes

**0 added · 10 removed · 12 changed** across 2 provider(s).

<details>
<summary>anthropic</summary>

** 10 removed**
- `claude-3-5-sonnet-20240620`
- `claude-3-5-sonnet-20241022`
- `claude-3-7-sonnet-20250219`
- `claude-3-haiku-20240307`
- `claude-3-opus-20240229`
- `claude-3-sonnet-20240229`
- `claude-opus-4-0`
- `claude-opus-4-20250514`
- `claude-sonnet-4-0`
- `claude-sonnet-4-20250514`

**✏️ 10 changed**
- `claude-fable-5`: release date `2026-06-09` → `2026-06-07`
- `claude-opus-4-1`: status unset → `deprecated`
- `claude-opus-4-1-20250805`: status unset → `deprecated`
- `claude-opus-4-5-20251101`: release date `2025-11-01` → `2025-11-24`
- `claude-opus-4-6`: release date `2026-02-05` → `2026-02-04`
- `claude-opus-4-7`: release date `2026-04-16` → `2026-04-14`
- `claude-sonnet-4-5`: max input tokens 200,000 → 1,000,000
- `claude-sonnet-4-5-20250929`: max input tokens 200,000 → 1,000,000
- `claude-sonnet-4-6`: max output tokens 64,000 → 128,000
- `claude-sonnet-5`: release date `2026-06-30` → `2026-06-29`

</details>

<details>
<summary>openrouter</summary>

**✏️ 2 changed**
- `openai/gpt-oss-20b`: display name `gpt-oss-20b` → `GPT OSS 20B`
- `z-ai/glm-5.2`: max input tokens 1,024,000 → 1,048,576; max output
tokens 128,000 → 131,072

</details>

---------

Co-authored-by: mdrxy <61371264+mdrxy@users.noreply.github.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-06 10:09:28 -04:00
Yashodip More
a586e9044c fix(langchain): avoid shared process-group kill in shell middleware (#36359)
Fixes #36358

---

**Summary**
This PR fixes a process termination safety bug in ShellToolMiddleware
where cleanup could kill the caller process group when
create_process_group is False.

**Why this change**
When the shell child is started without a dedicated process group, it
can share the parent group. The existing cleanup path used group kill
unconditionally, which could terminate unrelated processes including the
caller. This is a high-impact availability risk.

**What changed**

Updated shell session kill logic to use group kill only when the child
is in a different process group than the caller.
Added safe fallback to child-only kill when both share the same process
group.
Added regression tests for both scenarios:
Shared process group: no group kill, child-only kill.
Dedicated process group: existing group kill behavior is preserved.

**Validation**

Targeted new tests passed.
Full shell tool unit test file passed.

AI assistance disclosure
This contribution was prepared with assistance from an AI coding agent.
I reviewed, validated, and finalized the proposed changes and test
coverage before submission.

**Areas for careful review**

Process-group detection behavior on Linux and other POSIX environments.
Any implications for existing timeout and shutdown flows in shell
middleware.
Whether additional integration-level coverage is desirable for process
cleanup behavior.

---------

Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-05 23:51:57 -04:00
Balaji Seshadri
fd822b07c0 fix(text-splitters): restore lazy imports for heavy optional dependencies (#35469)
## Summary

- Moves `nltk`, `spacy`, `sentence-transformers`, and `konlpy` imports
back inside class constructors/functions so they are only loaded when
the respective splitter is actually instantiated
- Adds a subprocess-based regression test to verify no heavy packages
are imported at `langchain_text_splitters` load time

## Why

PR #32325 moved these optional dependency imports to module-level
`try/except` blocks (to satisfy ruff's `PLC0415` rule). Since
`__init__.py` imports all four splitter modules, this caused `import
langchain_text_splitters` to eagerly load all optional heavy packages,
resulting in:

- A PyTorch NVML warning (`UserWarning: Can't initialize NVML`) on
non-GPU machines
- A ~650MB memory spike on import (74MB → 736MB), vs ~50MB in 0.3.x

The fix restores the lazy import pattern with `# noqa: PLC0415` to
suppress the linter rule, which is the correct trade-off when a
dependency has high instantiation cost.

## Review notes

- The `PLC0415` suppressions are intentional — these are optional heavy
dependencies that should never be loaded unless the user explicitly
instantiates the splitter class
- The regression test uses a subprocess for proper isolation (the test
file itself imports `langchain_text_splitters` at the top, so
`sys.modules` checks within the same process would not reflect a clean
import state)

Fixes #35437.

> **AI disclaimer:** This PR was developed with assistance from Claude
Code (Anthropic AI).

---------

Co-authored-by: AshwathB-debug <ashwathbalaji04@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-05 23:19:16 -04:00
Divy yadav
1840b73209 fix(core): improve langsmith loader error messages (#35648)
`LangSmithLoader.lazy_load()` now raises a `ValueError` with a
descriptive message when a configured `content_key` cannot be resolved
against an example's inputs — whether a key along the path is missing or
the path runs into a non-mapping value. Previously the missing-key case
raised a bare `KeyError` and the non-mapping case raised a `TypeError`,
depending on the payload. Callers that caught `KeyError` or `TypeError`
around `lazy_load()` to detect a misconfigured `content_key` should now
catch `ValueError`.

---

Improve `LangSmithLoader` error handling by surfacing clearer exceptions
for conflicting client configuration and invalid nested `content_key`
paths. Valid loader behavior is unchanged; this only improves
invalid-input diagnostics.

When a `content_key` cannot be resolved against an example's inputs,
`lazy_load()` now raises a `ValueError` whose message names the full
path, the offending key, and where traversal stopped — instead of a bare
`KeyError` (missing key) or an opaque `TypeError` (path running into a
non-mapping value, e.g. a leaf string).

---------

Co-authored-by: Divy Yadav <yadavdipu296@gmai.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
Co-authored-by: Mason Daugherty <mason@langchain.dev>
2026-07-05 22:21:50 -04:00
AI不止语
3a60533295 fix(core): output parser bugs in xml.py and pydantic.py (#35641)
- **Fix missing spaces in error messages in `xml.py`**: Adjacent string
literals in two `ImportError` messages were missing spaces between them,
resulting in concatenated words like "parser.You" and "defusedxml`See".
- **Fix `partial` parameter not forwarded in
`PydanticOutputParser.parse_result`**: The `partial` parameter was
accepted but not passed to `super().parse_result()`, so partial parsing
mode had no effect.

---------

Signed-off-by: JiangNan <1394485448@qq.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-05 20:31:20 -04:00
Mason Daugherty
58da7ff318 release(mistralai): 1.1.6 (#38684) 2026-07-05 17:24:39 -04:00
Mason Daugherty
5248772b83 release(openrouter): 0.2.6 (#38681) 2026-07-05 16:51:00 -04:00
Hamza Kyamanywa
cf08ef0a29 fix(openrouter): support default_headers for custom HTTP header injection (#36582)
Fixes #36581

## Problem

`ChatOpenRouter` had no way to set custom HTTP headers on requests to
OpenRouter. Passing `default_headers` to the constructor silently
misfired: `build_extra` treated it as an unrecognized kwarg, emitted a
"transferred to model_kwargs" warning, and dumped the header into the
request body instead of the HTTP layer. This blocked any feature that
needs per-request header injection — for example xAI's `x-grok-conv-id`
for sticky-routing prompt cache hits.

## What changed

- `default_headers` is now a first-class field on `ChatOpenRouter`
(`Mapping[str, str] | None`). Because headers may carry credentials, the
field is excluded from serialization.
- User-supplied headers are merged with the built-in app-attribution
headers (`HTTP-Referer`, `X-Title`, `X-OpenRouter-Categories`). On
collision the user value wins; because HTTP header names are
case-insensitive, the merge drops any built-in whose name
case-insensitively matches a user header before applying, so
`http-referer` replaces `HTTP-Referer` rather than producing a doubled
header.
- Corrected the documented `session_id` length limit from 128 to 256
characters.

Example:

    ChatOpenRouter(
        model="x-ai/grok-4",
        default_headers={"x-grok-conv-id": "session-abc123"},
    )

---------

Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-05 16:40:25 -04:00
JulienRabault
c44a9c9fdf feat(mistralai): surface citation metadata from chat responses (#37008)
Fixes #36427

## Why

Mistral citation responses can return `content` as typed chunks,
including `reference` chunks with `reference_ids`. Those `reference`
chunks contain visible answer text plus citation metadata.

Previously, `ChatMistralAI` did not preserve that citation metadata in a
way LangChain users could consume. RAG users could not reliably map
cited answer spans back to source documents through LangChain.

## What changed

- Normalize Mistral `reference` chunks into text-compatible content
blocks so standard text accessors still include the cited answer span.
- Preserve Mistral citation metadata on the normalized text block under
`reference`.
- Translate normalized Mistral reference metadata into standard
`TextContentBlock` citation annotations via `content_blocks`.
- Support the same normalization for streaming chunks.
- Preserve citation metadata when round-tripping v1 content blocks back
to Mistral chat message content.

For example, a Mistral response like:

```python
[
    {"type": "text", "text": "The answer is "},
    {"type": "reference", "reference_ids": [0], "text": "42"},
    {"type": "text", "text": "."},
]
```

is represented internally as text content with reference metadata, so
`message.text` returns `"The answer is 42."`, while
`message.content_blocks` exposes a standard citation annotation for the
cited span.

References:
- https://docs.mistral.ai/capabilities/citations/
-
https://docs.mistral.ai/resources/cookbooks/mistral-rag-mistral-reference-rag

---------

Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-05 03:27:17 -04:00
Aditya Singh
bde894268b feat(groq): map context-length errors to ContextOverflowError (#37676)
Fixes #37533

---

`langchain-core` defines `ContextOverflowError` so that application code
can catch an over-long prompt the same way regardless of which provider
raised it. The Anthropic, OpenAI, and Fireworks integrations already
promote their provider-specific context-length errors to a subclass of
it, but `langchain-groq` did not: a context overflow there surfaced as a
plain `groq.BadRequestError`, so anyone relying on the shared exception
had to special-case Groq.

This closes that gap for Groq. It adds a `GroqContextOverflowError` (a
subclass of both `groq.BadRequestError` and `ContextOverflowError`) and
a small promoter, `_handle_groq_invalid_request`, wired into the sync
and async `generate` and `stream` paths. Because Groq's SDK mirrors
OpenAI's, the implementation follows the same shape as the existing
partners, and the promoted error keeps the original `response` and
`body` so existing catchers that inspect `.response.status_code` keep
working. Anything that already catches `groq.BadRequestError` is
unaffected, since the new class is still a `BadRequestError`.

One detail worth a reviewer's eye: Groq returns the overflow as a 400
whose JSON body carries `"code": "context_length_exceeded"`, but the
SDK's `BadRequestError` does not expose that code as an attribute. The
SDK does fold the full JSON body into the error message, so detection
primarily matches `context_length_exceeded` against the stringified
error, with `reduce the length` from the message as a secondary signal
and an attribute check kept as defensive cover in case a future SDK adds
`.code`. The unit tests construct the error exactly as the SDK does for
a 4xx response and assert promotion across all four call paths, that an
unrelated `BadRequestError` is left untouched, and that
`response`/`body` are preserved.

I scoped this to Groq and left Mistral as a follow-up: Mistral surfaces
errors as raw `httpx.HTTPStatusError` rather than a typed SDK error, and
I could not verify its exact context-overflow signal (status code plus
body `code`/`message`) against an authoritative source well enough to
assert it in a unit test without live API access, so I would rather not
guess at the shape.

---------

Co-authored-by: Mason Daugherty <github@mdrxy.com>
Co-authored-by: Mason Daugherty <mason@langchain.dev>
2026-07-05 00:27:44 -04:00
Hunter Lovell
4cdd47b253 fix(langchain): sanitize anthropic cache markers on fallback retries (#37867)
## Summary

Fixes #33709.

When `AnthropicPromptCachingMiddleware` runs before
`ModelFallbackMiddleware`, Anthropic-specific `cache_control` markers
can leak into fallback attempts targeting non-Anthropic models. This
change makes fallback retries sanitize those markers only on non-primary
attempts, preserving primary-call behavior and avoiding API changes.

Related: langchain-ai/deepagentsjs#551.

## Changes

### libs/langchain_v1

- Added a private fallback sanitizer in `model_fallback.py` to remove
Anthropic `cache_control` markers from fallback requests.
- Sanitization covers `model_settings`, system/content message blocks,
and tool payloads (`BaseTool.extras` plus dict-style tools/extras).
- Applied sanitization in both sync and async fallback retry paths
(`wrap_model_call` and `awrap_model_call`) while leaving the primary
attempt unchanged.

### libs/langchain_v1 tests

- Added sync and async regression tests in `test_model_fallback.py` that
simulate primary failure and assert fallback calls only succeed when
cache markers are stripped.
- Verified non-cache settings (for example `temperature` and `top_p`)
are preserved on fallback.
- Preserved existing fallback behavior coverage (ordering, exhaustion,
and error propagation).

## Compatibility with `BedrockPromptCachingMiddleware`

The sanitizer also covers `BedrockPromptCachingMiddleware`, which
injects `cache_control` into `model_settings` only. Bedrock-specific
markers (`cachePoint` blocks, content-block `cache_control`) are applied
by the chat model classes at API-call time and never appear in the
`ModelRequest`, so no additional handling is needed.

---------

Co-authored-by: Mason Daugherty <mason@langchain.dev>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-05 00:27:29 -04:00
Christophe Bornet
08c95c9f5b style(core): fix some ruff preview rules (#38656) 2026-07-04 22:25:31 -04:00
Christophe Bornet
f912638334 style: fix some ruff preview rules in langchain_v1 and standard-tests (#38657) 2026-07-04 22:22:24 -04:00
Christophe Bornet
a2e53fda73 feat(text-splitters): replace mypy by ty for type checking (#38658)
Switches type checking for `langchain-text-splitters` from `mypy` to
[`ty`](https://docs.astral.sh/ty/), which is much faster. The `ollama`
package already [switched to
`ty`](https://github.com/langchain-ai/langchain/pull/36571).

## What changed

The core of this PR is the config swap (`[tool.mypy]` →
`[tool.ty.rules]`/`[tool.ty.analysis]`, `Makefile`, and the `typing`
dependency group). Because `ty` runs with `all = "error"`, a few modules
also needed source-level adjustments to satisfy the stricter analysis.
These are **behavior-preserving refactors** except for one intentional
fix, called out below so reviewers know where to look.

### Behavioral change (intentional fix)

- `SentenceTransformersTokenTextSplitter` now raises a clear
`ValueError` when the underlying model reports no maximum sequence
length **and** no `tokens_per_chunk` was provided. Previously this
combination reached a `None > None` comparison and surfaced as an opaque
`TypeError`. As a consequence, the public `maximum_tokens_per_chunk`
attribute is now honestly typed as `int | None` — it can remain `None`
when the caller supplies `tokens_per_chunk` explicitly for a model
without a limit.

### Behavior-preserving refactors (no user-visible change)

- `TokenTextSplitter.from_tiktoken_encoder` is now an explicit override
rather than the base method dispatching on `issubclass(cls,
TokenTextSplitter)`. The shared length-function logic moved into a
private helper. Public signatures and return types are unchanged.
- `NLTKTextSplitter` builds its tokenizer once at construction, so
`_tokenizer` is now always a `Callable[[str], list[str]]`. The private
attributes `_language` and `_use_span_tokenize` are no longer stored —
flagging in case any downstream code read those (they are
underscore-private). Tokenization output is unchanged.
- `HTMLSemanticPreservingSplitter` text extraction was rewritten from a
`cast`-based check to `isinstance(element, Tag)` narrowing; output is
equivalent for tags, text nodes, and comments.

---------

Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-04 22:18:57 -04:00
Mason Daugherty
4d4dab80bb feat(model-profiles): wrap multi-provider build_summary output in <details> toggles (#38664)
`build_summary` in `langchain_model_profiles._summary` now wraps each
provider section in a `<details>` toggle when more than one provider has
changes, making multi-provider refresh PR summaries skimmable.
Single-provider summaries are unchanged.

---

When the `refresh_model_profiles` workflow refreshes data for multiple
partner integrations at once, the resulting PR summary can be long and
hard to skim — every provider's added/removed/changed rows are rendered
flat, one after another. This wraps each provider section in a
`<details>`/`<summary>` toggle when more than one provider has changes,
so reviewers can expand only the providers they care about.
Single-provider summaries stay flat since there's nothing to collapse.

The per-provider `### {provider}` heading is stripped inside toggles so
the `<summary>` tag is the sole label — no duplicated provider name.

Also includes two smaller changes that were staged alongside:

- The `refresh_model_profiles` and `_refresh_model_profiles` workflow
PR-body templates now link to the workflow file instead of bare-text
referencing it.
- `AGENTS.md` and `CLAUDE.md` document the LangSmith integration test
tracing setup: the env vars CI sets, the pytest plugin that bridges
`LANGSMITH_TAGS`/`LANGSMITH_METADATA` into `tracing_context`, and the
unit-test isolation approach.

---------

Signed-off-by: Mason Daugherty <github@mdrxy.com>
Co-authored-by: open-swe[bot] <215916821+open-swe[bot]@users.noreply.github.com>
2026-07-04 21:08:43 -04:00
langchain-oss-model-profiles[bot]
8146596e0a chore(model-profiles): refresh model profile data (#38663)
Automated refresh of model profile data for all in-monorepo partner
integrations via `langchain-profiles refresh`.

🤖 Generated by the `refresh_model_profiles` workflow.


## Summary of changes

**35 added · 8 removed · 33 changed** across 6 provider(s).

### anthropic

** 1 added**
- `claude-sonnet-5` — 1,000,000 ctx, 128,000 out, text+image+pdf in,
reasoning, tools

** 2 removed**
- `claude-3-5-haiku-20241022`
- `claude-3-5-haiku-latest`

### fireworks-ai

** 1 added**
- `accounts/fireworks/routers/glm-5p2-fast` — 1,048,575 ctx, 131,072
out, reasoning, tools

**✏️ 1 changed**
- `accounts/fireworks/models/glm-5p2`: max input tokens 1,048,576 →
1,048,575

### groq

**✏️ 1 changed**
- `openai/gpt-oss-safeguard-20b`: last updated `2025-10-29` →
`2026-06-29`

### huggingface

** 26 added**
- `MiniMaxAI/MiniMax-M2` — 204,800 ctx, 128,000 out, reasoning, tools
- `MiniMaxAI/MiniMax-M3` — 524,288 ctx, 128,000 out, text+image in,
reasoning, tools
- `Qwen/Qwen3-235B-A22B` — 40,960 ctx, 16,384 out, reasoning, tools
- `Qwen/Qwen3-32B` — 131,072 ctx, 16,384 out, reasoning, tools
- `Qwen/Qwen3-Coder-30B-A3B-Instruct` — 262,144 ctx, 65,536 out, tools
- `Qwen/Qwen3.5-122B-A10B` — 262,144 ctx, 65,536 out, text+image in,
reasoning, tools
- `Qwen/Qwen3.5-27B` — 262,144 ctx, 65,536 out, text+image in,
reasoning, tools
- `Qwen/Qwen3.5-35B-A3B` — 262,144 ctx, 65,536 out, text+image in,
reasoning, tools
- `Qwen/Qwen3.5-9B` — 262,144 ctx, 65,536 out, text+image in, reasoning,
tools
- `Qwen/Qwen3.6-27B` — 262,144 ctx, 65,536 out, text+image in,
reasoning, tools
- `Qwen/Qwen3.6-35B-A3B` — 262,144 ctx, 65,536 out, text+image in,
reasoning, tools
- `XiaomiMiMo/MiMo-V2.5-Pro` — 1,048,576 ctx, 131,072 out, reasoning,
tools
- `deepseek-ai/DeepSeek-R1` — 64,000 ctx, 32,768 out, reasoning, tools
- `deepseek-ai/DeepSeek-V4-Flash` — 1,048,576 ctx, 384,000 out,
reasoning, tools
- `google/gemma-4-26B-A4B-it` — 262,144 ctx, 32,768 out, text+image in,
reasoning, tools
- `google/gemma-4-31B-it` — 262,144 ctx, 32,768 out, text+image in,
reasoning, tools
- `meta-llama/Llama-3.3-70B-Instruct` — 131,072 ctx, 4,096 out, tools
- `moonshotai/Kimi-K2.7-Code` — 262,144 ctx, 262,144 out, text+image in,
reasoning, tools
- `openai/gpt-oss-120b` — 131,072 ctx, 32,768 out, reasoning, tools
- `stepfun-ai/Step-3.5-Flash` — 262,144 ctx, 256,000 out, reasoning,
tools
- `stepfun-ai/Step-3.7-Flash` — 262,144 ctx, 256,000 out, text+image in,
reasoning, tools
- `zai-org/GLM-4.5` — 131,072 ctx, 98,304 out, reasoning, tools
- `zai-org/GLM-4.5-Air` — 131,072 ctx, 98,304 out, reasoning, tools
- `zai-org/GLM-4.5V` — 65,536 ctx, 16,384 out, text+image in, reasoning,
tools
- `zai-org/GLM-4.6` — 204,800 ctx, 131,072 out, reasoning, tools
- …and 1 more

### mistral

**✏️ 1 changed**
- `mistral-medium-latest`: last updated `2025-08-12` → `2026-04-29`;
added open weights; added reasoning; release date `2025-08-12` →
`2026-04-29`; added structured output

### openrouter

** 7 added**
- `anthropic/claude-fable-5` — 1,000,000 ctx, 128,000 out,
text+image+pdf in, reasoning, tools
- `anthropic/claude-sonnet-5` — 1,000,000 ctx, 128,000 out,
text+image+pdf in, reasoning, tools
- `google/gemini-3.1-flash-lite-image` — 65,536 ctx, 66,000 out,
text+image in, reasoning
- `poolside/laguna-xs-2.1` — 262,144 ctx, 32,768 out, reasoning, tools
- `poolside/laguna-xs-2.1:free` — 262,144 ctx, 32,768 out, reasoning,
tools
- `sakana/fugu-ultra` — 1,000,000 ctx, 128,000 out, text+image in,
reasoning, tools
- `z-ai/glm-5v-turbo` — 202,752 ctx, 131,072 out, text+image+video in,
reasoning, tools

** 6 removed**
- `anthropic/claude-opus-4.6-fast`
- `essentialai/rnj-1-instruct`
- `microsoft/phi-4-mini-instruct`
- `nex-agi/nex-n2-pro:free`
- `openrouter/owl-alpha`
- `prime-intellect/intellect-3`

**✏️ 30 changed**
- `arcee-ai/trinity-large-thinking`: removed structured output
- `deepseek/deepseek-v4-flash`: max input tokens 1,000,000 → 1,048,576;
max output tokens 65,536 → 16,384
- `google/gemini-2.5-flash-image`: max output tokens 8,192 → 32,768
- `google/gemini-3.1-flash-image`: max input tokens 65,536 → 131,072;
max output tokens 65,536 → 32,768
- `google/gemma-4-26b-a4b-it:free`: added structured output
- `minimax/minimax-m2`: max input tokens 196,608 → 204,800; max output
tokens 196,608 → 131,072
- `minimax/minimax-m2.1`: max input tokens 196,608 → 204,800; max output
tokens 196,608 → 131,072; removed structured output
- `minimax/minimax-m2.7`: max output tokens 131,072 → 196,608
- `moonshotai/kimi-k2`: max output tokens 32,768 → 100,352
- `moonshotai/kimi-k2-0905`: max output tokens 262,144 → 100,352
- `moonshotai/kimi-k2-thinking`: max output tokens 262,144 → 100,352
- `moonshotai/kimi-k2.5`: max output tokens 262,144 → 256,000
- `moonshotai/kimi-k2.6`: max output tokens 65,535 → 262,144
- `moonshotai/kimi-k2.7-code`: max output tokens 262,144 → 16,384
- `nvidia/nemotron-3-super-120b-a12b`: max output tokens 262,144 →
16,384
- `openai/gpt-oss-120b`: max output tokens 32,768 → 131,072; display
name `gpt-oss-120b` → `GPT OSS 120B`
- `qwen/qwen3-235b-a22b-thinking-2507`: max input tokens 262,144 →
131,072; removed structured output
- `qwen/qwen3-30b-a3b-thinking-2507`: max input tokens 131,072 → 81,920;
max output tokens 131,072 → 32,768; removed structured output
- `qwen/qwen3-8b`: max input tokens 40,960 → 131,072; removed structured
output
- `qwen/qwen3.5-35b-a3b`: max output tokens 262,144 → 81,920
- `qwen/qwen3.5-397b-a17b`: max output tokens 65,536 → 64,000
- `stepfun/step-3.5-flash`: max output tokens 16,384 → 65,536
- `thedrummer/rocinante-12b`: removed structured output; removed tool
calling
- `x-ai/grok-4.3`: added PDF input
- `xiaomi/mimo-v2.5`: max input tokens 1,048,576 → 32,000
- …and 5 more

---------

Co-authored-by: mdrxy <61371264+mdrxy@users.noreply.github.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-07-04 20:08:45 -04:00
dependabot[bot]
0501325e6c chore: bump langsmith from 0.8.18 to 0.9.5 in /libs/partners/huggingface (#38592)
Bumps [langsmith](https://github.com/langchain-ai/langsmith-sdk) from
0.8.18 to 0.9.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.9.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3126">langchain-ai/langsmith-sdk#3126</a></li>
<li>chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3127">langchain-ai/langsmith-sdk#3127</a></li>
<li>fix(sandbox): wrap all WS handshake failures as
SandboxConnectionError by <a
href="https://github.com/asrira428"><code>@​asrira428</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3130">langchain-ai/langsmith-sdk#3130</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5</a></p>
<h2>v0.9.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google_adk): capture LLM inputs after before_model_callback runs
[LSDK-279] by <a
href="https://github.com/harisaiharish"><code>@​harisaiharish</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3094">langchain-ai/langsmith-sdk#3094</a></li>
<li>release(js): bump js sdk version to 0.7.13 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3104">langchain-ai/langsmith-sdk#3104</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3105">langchain-ai/langsmith-sdk#3105</a></li>
<li>doc: improve resource comments by <a
href="https://github.com/QuentinBrosse"><code>@​QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3108">langchain-ai/langsmith-sdk#3108</a></li>
<li>fix(client): apply anonymizer to run error field by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3100">langchain-ai/langsmith-sdk#3100</a></li>
<li>feat(client): expose datasets v2 resource + experiment-runs
integration tests [langchainplus#28358] by <a
href="https://github.com/GowriH-1"><code>@​GowriH-1</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3106">langchain-ai/langsmith-sdk#3106</a></li>
<li>fix(google-adk): set tool span as active tracing context in
wrap_tool_run_async by <a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li>fix(client): apply anonymizer to run error field (JS) by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3110">langchain-ai/langsmith-sdk#3110</a></li>
<li>fix(python): use current project issues endpoint by <a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3120">langchain-ai/langsmith-sdk#3120</a></li>
<li>fix(js): Avoid setting usage_metadata on parent chain runs for
Claude Agent SDK runs by <a
href="https://github.com/jacoblee93"><code>@​jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3119">langchain-ai/langsmith-sdk#3119</a></li>
<li>feat(client): expose projects resource accessor on Python and JS
clients by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3109">langchain-ai/langsmith-sdk#3109</a></li>
<li>release(js): bump to 0.7.14 by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3121">langchain-ai/langsmith-sdk#3121</a></li>
<li>release(python): bump py version to 0.9.4 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3124">langchain-ai/langsmith-sdk#3124</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li><a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4</a></p>
<h2>v0.9.3</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.12 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3089">langchain-ai/langsmith-sdk#3089</a></li>
<li>feat(sandbox): do not gate dataplane ops on sandbox status by <a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3090">langchain-ai/langsmith-sdk#3090</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3095">langchain-ai/langsmith-sdk#3095</a></li>
<li>ci: pin all GitHub Actions to immutable SHA pins by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3093">langchain-ai/langsmith-sdk#3093</a></li>
<li>chore(deps-dev): bump vcrpy from 8.1.1 to 8.2.1 in /python by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3074">langchain-ai/langsmith-sdk#3074</a></li>
<li>chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3075">langchain-ai/langsmith-sdk#3075</a></li>
<li>feat(sandbox): expose registries via generated v2 client by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3087">langchain-ai/langsmith-sdk#3087</a></li>
<li>fix(client): lazily initialize sync OpenAPI client by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3099">langchain-ai/langsmith-sdk#3099</a></li>
<li>release(python): bump py version to 0.9.3 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3101">langchain-ai/langsmith-sdk#3101</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3</a></p>
<h2>v0.9.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.11 by <a
href="https://github.com/sineha-mani"><code>@​sineha-mani</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3079">langchain-ai/langsmith-sdk#3079</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="55b7eec3f4"><code>55b7eec</code></a>
fix(sandbox): wrap all WS handshake failures as SandboxConnectionError
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3130">#3130</a>)</li>
<li><a
href="c732fbbe36"><code>c732fbb</code></a>
chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3127">#3127</a>)</li>
<li><a
href="796fb2bfd8"><code>796fb2b</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3126">#3126</a>)</li>
<li><a
href="80d93c48c4"><code>80d93c4</code></a>
release(python): bump py version to 0.9.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3124">#3124</a>)</li>
<li><a
href="b453dd58d6"><code>b453dd5</code></a>
release(js): bump to 0.7.14 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3121">#3121</a>)</li>
<li><a
href="76f5c7136c"><code>76f5c71</code></a>
feat(client): expose projects resource accessor on Python and JS clients
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3109">#3109</a>)</li>
<li><a
href="5f32426109"><code>5f32426</code></a>
fix(js): Avoid setting usage_metadata on parent chain runs for Claude
Agent S...</li>
<li><a
href="03b53410f1"><code>03b5341</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3120">#3120</a>)</li>
<li><a
href="7595f5c187"><code>7595f5c</code></a>
fix(python): use current project issues endpoint (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3064">#3064</a>)</li>
<li><a
href="b5291fac06"><code>b5291fa</code></a>
fix(client): apply anonymizer to run error field (JS) (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3110">#3110</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.18...v0.9.5">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:43 -04:00
dependabot[bot]
a21a0e3fc2 chore: bump pytest from 9.1.0 to 9.1.1 in /libs/partners/huggingface (#38591)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to
9.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>9.1.1</h2>
<h1>pytest 9.1.1 (2026-06-19)</h1>
<h2>Bug fixes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>:
Fixed a logic bug in <code>pytest.RaisesGroup</code> which would might
cause it to display incorrect &quot;It matches <!-- raw HTML omitted
-->FooError()<!-- raw HTML omitted --> which was paired with <!-- raw
HTML omitted -->BarError<!-- raw HTML omitted -->&quot; messages.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14591">#14591</a>:
Fixed a regression in pytest 9.1.0 which caused overriding a
parametrized fixture with an indirect <!-- raw HTML omitted --><a
href="https://github.com/pytest"><code>@​pytest</code></a>.mark.parametrize<!--
raw HTML omitted --> to fail with &quot;duplicate parametrization of
'&lt;fixture name&gt;'&quot;.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14606">#14606</a>:
Fixed <code>list-item</code> typing errors from mypy in
<code>@pytest.mark.parametrize &lt;pytest.mark.parametrize
ref&gt;</code> <code>argvalues</code> parameter.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14608">#14608</a>:
Fixed a regression in pytest 9.1.0 where <code>conftest.py</code> files
located in <code>&lt;invocation dir&gt;/test*</code> were no longer
loaded as initial conftests when invoked without arguments.
This could cause certain hooks (like <code>pytest_addoption</code>) in
these files to not fire.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cf470ec0bf"><code>cf470ec</code></a>
Prepare release version 9.1.1</li>
<li><a
href="e0c8ce6cc5"><code>e0c8ce6</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14625">#14625</a>
from pytest-dev/patchback/backports/9.1.x/a07c31a97...</li>
<li><a
href="1b82d1694f"><code>1b82d16</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14624">#14624</a>
from pytest-dev/patchback/backports/9.1.x/b375b79ec...</li>
<li><a
href="501c4bc784"><code>501c4bc</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14596">#14596</a>
from bluetech/doc-classmethod</li>
<li><a
href="b61f588e36"><code>b61f588</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14622">#14622</a>
from chrisburr/fix-14608-initial-conftest-test-subdir</li>
<li><a
href="9a567e009f"><code>9a567e0</code></a>
[automated] Update plugin list (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14617">#14617</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14618">#14618</a>)</li>
<li><a
href="ef8b2993e5"><code>ef8b299</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14620">#14620</a>
from pytest-dev/patchback/backports/9.1.x/680f9f3ed...</li>
<li><a
href="66abd0784d"><code>66abd07</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>
from bysiber/fix-stale-iexp-raisesgroup</li>
<li><a
href="79fbf93b66"><code>79fbf93</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14612">#14612</a>
from pytest-dev/patchback/backports/9.1.x/974ed48b6...</li>
<li><a
href="0d312eb876"><code>0d312eb</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14611">#14611</a>
from bluetech/parametrize-argvalues-typing</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/9.1.0...9.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:42 -04:00
dependabot[bot]
b064f3b8ec chore: bump transformers from 5.2.0 to 5.3.0 in /libs/partners/huggingface (#38593)
Bumps [transformers](https://github.com/huggingface/transformers) from
5.2.0 to 5.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aad13b87ed"><code>aad13b8</code></a>
v5.3.0</li>
<li><a
href="f6c63a6115"><code>f6c63a6</code></a>
protect imports (<a
href="https://redirect.github.com/huggingface/transformers/issues/44437">#44437</a>)</li>
<li><a
href="fd6bc380c8"><code>fd6bc38</code></a>
[vllm + v5 fix] handle TokenizersBackend fallback properly for v5 (<a
href="https://redirect.github.com/huggingface/transformers/issues/44255">#44255</a>)</li>
<li><a
href="30c480166a"><code>30c4801</code></a>
Fix CLI NameError: name 'TypeAdapter' is not defined (<a
href="https://redirect.github.com/huggingface/transformers/issues/44256">#44256</a>)</li>
<li><a
href="ee4c22078f"><code>ee4c220</code></a>
Enforce min length in some generate tests (<a
href="https://redirect.github.com/huggingface/transformers/issues/44401">#44401</a>)</li>
<li><a
href="a4f3df01aa"><code>a4f3df0</code></a>
[tiny] Add olmo_hybrid to tokenizer auto-mapping (<a
href="https://redirect.github.com/huggingface/transformers/issues/44416">#44416</a>)</li>
<li><a
href="1313588227"><code>1313588</code></a>
Update PR template (<a
href="https://redirect.github.com/huggingface/transformers/issues/44415">#44415</a>)</li>
<li><a
href="7235d44257"><code>7235d44</code></a>
Add eurobert (<a
href="https://redirect.github.com/huggingface/transformers/issues/39455">#39455</a>)</li>
<li><a
href="f60c4e9423"><code>f60c4e9</code></a>
Add Qwen3.5 support for sequence classification (<a
href="https://redirect.github.com/huggingface/transformers/issues/44406">#44406</a>)</li>
<li><a
href="fa7f4b68df"><code>fa7f4b6</code></a>
update the expected output for qwen2_5_vl w/ pytorch 2.10 XPU (<a
href="https://redirect.github.com/huggingface/transformers/issues/44426">#44426</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/huggingface/transformers/compare/v5.2.0...v5.3.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:22 -04:00
dependabot[bot]
91e24a547c chore: bump pytest from 9.1.0 to 9.1.1 in /libs/partners/fireworks (#38594)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to
9.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>9.1.1</h2>
<h1>pytest 9.1.1 (2026-06-19)</h1>
<h2>Bug fixes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>:
Fixed a logic bug in <code>pytest.RaisesGroup</code> which would might
cause it to display incorrect &quot;It matches <!-- raw HTML omitted
-->FooError()<!-- raw HTML omitted --> which was paired with <!-- raw
HTML omitted -->BarError<!-- raw HTML omitted -->&quot; messages.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14591">#14591</a>:
Fixed a regression in pytest 9.1.0 which caused overriding a
parametrized fixture with an indirect <!-- raw HTML omitted --><a
href="https://github.com/pytest"><code>@​pytest</code></a>.mark.parametrize<!--
raw HTML omitted --> to fail with &quot;duplicate parametrization of
'&lt;fixture name&gt;'&quot;.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14606">#14606</a>:
Fixed <code>list-item</code> typing errors from mypy in
<code>@pytest.mark.parametrize &lt;pytest.mark.parametrize
ref&gt;</code> <code>argvalues</code> parameter.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14608">#14608</a>:
Fixed a regression in pytest 9.1.0 where <code>conftest.py</code> files
located in <code>&lt;invocation dir&gt;/test*</code> were no longer
loaded as initial conftests when invoked without arguments.
This could cause certain hooks (like <code>pytest_addoption</code>) in
these files to not fire.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cf470ec0bf"><code>cf470ec</code></a>
Prepare release version 9.1.1</li>
<li><a
href="e0c8ce6cc5"><code>e0c8ce6</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14625">#14625</a>
from pytest-dev/patchback/backports/9.1.x/a07c31a97...</li>
<li><a
href="1b82d1694f"><code>1b82d16</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14624">#14624</a>
from pytest-dev/patchback/backports/9.1.x/b375b79ec...</li>
<li><a
href="501c4bc784"><code>501c4bc</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14596">#14596</a>
from bluetech/doc-classmethod</li>
<li><a
href="b61f588e36"><code>b61f588</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14622">#14622</a>
from chrisburr/fix-14608-initial-conftest-test-subdir</li>
<li><a
href="9a567e009f"><code>9a567e0</code></a>
[automated] Update plugin list (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14617">#14617</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14618">#14618</a>)</li>
<li><a
href="ef8b2993e5"><code>ef8b299</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14620">#14620</a>
from pytest-dev/patchback/backports/9.1.x/680f9f3ed...</li>
<li><a
href="66abd0784d"><code>66abd07</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>
from bysiber/fix-stale-iexp-raisesgroup</li>
<li><a
href="79fbf93b66"><code>79fbf93</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14612">#14612</a>
from pytest-dev/patchback/backports/9.1.x/974ed48b6...</li>
<li><a
href="0d312eb876"><code>0d312eb</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14611">#14611</a>
from bluetech/parametrize-argvalues-typing</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/9.1.0...9.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:14 -04:00
dependabot[bot]
e06252d5db chore: bump langsmith from 0.8.18 to 0.9.5 in /libs/partners/fireworks (#38595)
Bumps [langsmith](https://github.com/langchain-ai/langsmith-sdk) from
0.8.18 to 0.9.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.9.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3126">langchain-ai/langsmith-sdk#3126</a></li>
<li>chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3127">langchain-ai/langsmith-sdk#3127</a></li>
<li>fix(sandbox): wrap all WS handshake failures as
SandboxConnectionError by <a
href="https://github.com/asrira428"><code>@​asrira428</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3130">langchain-ai/langsmith-sdk#3130</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5</a></p>
<h2>v0.9.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google_adk): capture LLM inputs after before_model_callback runs
[LSDK-279] by <a
href="https://github.com/harisaiharish"><code>@​harisaiharish</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3094">langchain-ai/langsmith-sdk#3094</a></li>
<li>release(js): bump js sdk version to 0.7.13 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3104">langchain-ai/langsmith-sdk#3104</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3105">langchain-ai/langsmith-sdk#3105</a></li>
<li>doc: improve resource comments by <a
href="https://github.com/QuentinBrosse"><code>@​QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3108">langchain-ai/langsmith-sdk#3108</a></li>
<li>fix(client): apply anonymizer to run error field by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3100">langchain-ai/langsmith-sdk#3100</a></li>
<li>feat(client): expose datasets v2 resource + experiment-runs
integration tests [langchainplus#28358] by <a
href="https://github.com/GowriH-1"><code>@​GowriH-1</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3106">langchain-ai/langsmith-sdk#3106</a></li>
<li>fix(google-adk): set tool span as active tracing context in
wrap_tool_run_async by <a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li>fix(client): apply anonymizer to run error field (JS) by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3110">langchain-ai/langsmith-sdk#3110</a></li>
<li>fix(python): use current project issues endpoint by <a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3120">langchain-ai/langsmith-sdk#3120</a></li>
<li>fix(js): Avoid setting usage_metadata on parent chain runs for
Claude Agent SDK runs by <a
href="https://github.com/jacoblee93"><code>@​jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3119">langchain-ai/langsmith-sdk#3119</a></li>
<li>feat(client): expose projects resource accessor on Python and JS
clients by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3109">langchain-ai/langsmith-sdk#3109</a></li>
<li>release(js): bump to 0.7.14 by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3121">langchain-ai/langsmith-sdk#3121</a></li>
<li>release(python): bump py version to 0.9.4 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3124">langchain-ai/langsmith-sdk#3124</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li><a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4</a></p>
<h2>v0.9.3</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.12 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3089">langchain-ai/langsmith-sdk#3089</a></li>
<li>feat(sandbox): do not gate dataplane ops on sandbox status by <a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3090">langchain-ai/langsmith-sdk#3090</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3095">langchain-ai/langsmith-sdk#3095</a></li>
<li>ci: pin all GitHub Actions to immutable SHA pins by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3093">langchain-ai/langsmith-sdk#3093</a></li>
<li>chore(deps-dev): bump vcrpy from 8.1.1 to 8.2.1 in /python by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3074">langchain-ai/langsmith-sdk#3074</a></li>
<li>chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3075">langchain-ai/langsmith-sdk#3075</a></li>
<li>feat(sandbox): expose registries via generated v2 client by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3087">langchain-ai/langsmith-sdk#3087</a></li>
<li>fix(client): lazily initialize sync OpenAPI client by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3099">langchain-ai/langsmith-sdk#3099</a></li>
<li>release(python): bump py version to 0.9.3 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3101">langchain-ai/langsmith-sdk#3101</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3</a></p>
<h2>v0.9.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.11 by <a
href="https://github.com/sineha-mani"><code>@​sineha-mani</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3079">langchain-ai/langsmith-sdk#3079</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="55b7eec3f4"><code>55b7eec</code></a>
fix(sandbox): wrap all WS handshake failures as SandboxConnectionError
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3130">#3130</a>)</li>
<li><a
href="c732fbbe36"><code>c732fbb</code></a>
chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3127">#3127</a>)</li>
<li><a
href="796fb2bfd8"><code>796fb2b</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3126">#3126</a>)</li>
<li><a
href="80d93c48c4"><code>80d93c4</code></a>
release(python): bump py version to 0.9.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3124">#3124</a>)</li>
<li><a
href="b453dd58d6"><code>b453dd5</code></a>
release(js): bump to 0.7.14 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3121">#3121</a>)</li>
<li><a
href="76f5c7136c"><code>76f5c71</code></a>
feat(client): expose projects resource accessor on Python and JS clients
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3109">#3109</a>)</li>
<li><a
href="5f32426109"><code>5f32426</code></a>
fix(js): Avoid setting usage_metadata on parent chain runs for Claude
Agent S...</li>
<li><a
href="03b53410f1"><code>03b5341</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3120">#3120</a>)</li>
<li><a
href="7595f5c187"><code>7595f5c</code></a>
fix(python): use current project issues endpoint (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3064">#3064</a>)</li>
<li><a
href="b5291fac06"><code>b5291fa</code></a>
fix(client): apply anonymizer to run error field (JS) (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3110">#3110</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.18...v0.9.5">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:11 -04:00
dependabot[bot]
9ece1e3455 chore: bump langsmith from 0.8.18 to 0.9.5 in /libs/partners/chroma (#38596)
Bumps [langsmith](https://github.com/langchain-ai/langsmith-sdk) from
0.8.18 to 0.9.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.9.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3126">langchain-ai/langsmith-sdk#3126</a></li>
<li>chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3127">langchain-ai/langsmith-sdk#3127</a></li>
<li>fix(sandbox): wrap all WS handshake failures as
SandboxConnectionError by <a
href="https://github.com/asrira428"><code>@​asrira428</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3130">langchain-ai/langsmith-sdk#3130</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5</a></p>
<h2>v0.9.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google_adk): capture LLM inputs after before_model_callback runs
[LSDK-279] by <a
href="https://github.com/harisaiharish"><code>@​harisaiharish</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3094">langchain-ai/langsmith-sdk#3094</a></li>
<li>release(js): bump js sdk version to 0.7.13 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3104">langchain-ai/langsmith-sdk#3104</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3105">langchain-ai/langsmith-sdk#3105</a></li>
<li>doc: improve resource comments by <a
href="https://github.com/QuentinBrosse"><code>@​QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3108">langchain-ai/langsmith-sdk#3108</a></li>
<li>fix(client): apply anonymizer to run error field by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3100">langchain-ai/langsmith-sdk#3100</a></li>
<li>feat(client): expose datasets v2 resource + experiment-runs
integration tests [langchainplus#28358] by <a
href="https://github.com/GowriH-1"><code>@​GowriH-1</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3106">langchain-ai/langsmith-sdk#3106</a></li>
<li>fix(google-adk): set tool span as active tracing context in
wrap_tool_run_async by <a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li>fix(client): apply anonymizer to run error field (JS) by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3110">langchain-ai/langsmith-sdk#3110</a></li>
<li>fix(python): use current project issues endpoint by <a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3120">langchain-ai/langsmith-sdk#3120</a></li>
<li>fix(js): Avoid setting usage_metadata on parent chain runs for
Claude Agent SDK runs by <a
href="https://github.com/jacoblee93"><code>@​jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3119">langchain-ai/langsmith-sdk#3119</a></li>
<li>feat(client): expose projects resource accessor on Python and JS
clients by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3109">langchain-ai/langsmith-sdk#3109</a></li>
<li>release(js): bump to 0.7.14 by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3121">langchain-ai/langsmith-sdk#3121</a></li>
<li>release(python): bump py version to 0.9.4 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3124">langchain-ai/langsmith-sdk#3124</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li><a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4</a></p>
<h2>v0.9.3</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.12 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3089">langchain-ai/langsmith-sdk#3089</a></li>
<li>feat(sandbox): do not gate dataplane ops on sandbox status by <a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3090">langchain-ai/langsmith-sdk#3090</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3095">langchain-ai/langsmith-sdk#3095</a></li>
<li>ci: pin all GitHub Actions to immutable SHA pins by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3093">langchain-ai/langsmith-sdk#3093</a></li>
<li>chore(deps-dev): bump vcrpy from 8.1.1 to 8.2.1 in /python by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3074">langchain-ai/langsmith-sdk#3074</a></li>
<li>chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3075">langchain-ai/langsmith-sdk#3075</a></li>
<li>feat(sandbox): expose registries via generated v2 client by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3087">langchain-ai/langsmith-sdk#3087</a></li>
<li>fix(client): lazily initialize sync OpenAPI client by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3099">langchain-ai/langsmith-sdk#3099</a></li>
<li>release(python): bump py version to 0.9.3 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3101">langchain-ai/langsmith-sdk#3101</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3</a></p>
<h2>v0.9.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.11 by <a
href="https://github.com/sineha-mani"><code>@​sineha-mani</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3079">langchain-ai/langsmith-sdk#3079</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="55b7eec3f4"><code>55b7eec</code></a>
fix(sandbox): wrap all WS handshake failures as SandboxConnectionError
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3130">#3130</a>)</li>
<li><a
href="c732fbbe36"><code>c732fbb</code></a>
chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3127">#3127</a>)</li>
<li><a
href="796fb2bfd8"><code>796fb2b</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3126">#3126</a>)</li>
<li><a
href="80d93c48c4"><code>80d93c4</code></a>
release(python): bump py version to 0.9.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3124">#3124</a>)</li>
<li><a
href="b453dd58d6"><code>b453dd5</code></a>
release(js): bump to 0.7.14 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3121">#3121</a>)</li>
<li><a
href="76f5c7136c"><code>76f5c71</code></a>
feat(client): expose projects resource accessor on Python and JS clients
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3109">#3109</a>)</li>
<li><a
href="5f32426109"><code>5f32426</code></a>
fix(js): Avoid setting usage_metadata on parent chain runs for Claude
Agent S...</li>
<li><a
href="03b53410f1"><code>03b5341</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3120">#3120</a>)</li>
<li><a
href="7595f5c187"><code>7595f5c</code></a>
fix(python): use current project issues endpoint (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3064">#3064</a>)</li>
<li><a
href="b5291fac06"><code>b5291fa</code></a>
fix(client): apply anonymizer to run error field (JS) (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3110">#3110</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.18...v0.9.5">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:08 -04:00
dependabot[bot]
8235577a38 chore: bump pytest from 9.1.0 to 9.1.1 in /libs/partners/chroma (#38597)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to
9.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>9.1.1</h2>
<h1>pytest 9.1.1 (2026-06-19)</h1>
<h2>Bug fixes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>:
Fixed a logic bug in <code>pytest.RaisesGroup</code> which would might
cause it to display incorrect &quot;It matches <!-- raw HTML omitted
-->FooError()<!-- raw HTML omitted --> which was paired with <!-- raw
HTML omitted -->BarError<!-- raw HTML omitted -->&quot; messages.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14591">#14591</a>:
Fixed a regression in pytest 9.1.0 which caused overriding a
parametrized fixture with an indirect <!-- raw HTML omitted --><a
href="https://github.com/pytest"><code>@​pytest</code></a>.mark.parametrize<!--
raw HTML omitted --> to fail with &quot;duplicate parametrization of
'&lt;fixture name&gt;'&quot;.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14606">#14606</a>:
Fixed <code>list-item</code> typing errors from mypy in
<code>@pytest.mark.parametrize &lt;pytest.mark.parametrize
ref&gt;</code> <code>argvalues</code> parameter.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14608">#14608</a>:
Fixed a regression in pytest 9.1.0 where <code>conftest.py</code> files
located in <code>&lt;invocation dir&gt;/test*</code> were no longer
loaded as initial conftests when invoked without arguments.
This could cause certain hooks (like <code>pytest_addoption</code>) in
these files to not fire.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cf470ec0bf"><code>cf470ec</code></a>
Prepare release version 9.1.1</li>
<li><a
href="e0c8ce6cc5"><code>e0c8ce6</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14625">#14625</a>
from pytest-dev/patchback/backports/9.1.x/a07c31a97...</li>
<li><a
href="1b82d1694f"><code>1b82d16</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14624">#14624</a>
from pytest-dev/patchback/backports/9.1.x/b375b79ec...</li>
<li><a
href="501c4bc784"><code>501c4bc</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14596">#14596</a>
from bluetech/doc-classmethod</li>
<li><a
href="b61f588e36"><code>b61f588</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14622">#14622</a>
from chrisburr/fix-14608-initial-conftest-test-subdir</li>
<li><a
href="9a567e009f"><code>9a567e0</code></a>
[automated] Update plugin list (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14617">#14617</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14618">#14618</a>)</li>
<li><a
href="ef8b2993e5"><code>ef8b299</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14620">#14620</a>
from pytest-dev/patchback/backports/9.1.x/680f9f3ed...</li>
<li><a
href="66abd0784d"><code>66abd07</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>
from bysiber/fix-stale-iexp-raisesgroup</li>
<li><a
href="79fbf93b66"><code>79fbf93</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14612">#14612</a>
from pytest-dev/patchback/backports/9.1.x/974ed48b6...</li>
<li><a
href="0d312eb876"><code>0d312eb</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14611">#14611</a>
from bluetech/parametrize-argvalues-typing</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/9.1.0...9.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:01:00 -04:00
dependabot[bot]
c20747e79e chore: bump langsmith from 0.8.18 to 0.9.5 in /libs/partners/xai (#38598)
Bumps [langsmith](https://github.com/langchain-ai/langsmith-sdk) from
0.8.18 to 0.9.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.9.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3126">langchain-ai/langsmith-sdk#3126</a></li>
<li>chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3127">langchain-ai/langsmith-sdk#3127</a></li>
<li>fix(sandbox): wrap all WS handshake failures as
SandboxConnectionError by <a
href="https://github.com/asrira428"><code>@​asrira428</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3130">langchain-ai/langsmith-sdk#3130</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.4...v0.9.5</a></p>
<h2>v0.9.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google_adk): capture LLM inputs after before_model_callback runs
[LSDK-279] by <a
href="https://github.com/harisaiharish"><code>@​harisaiharish</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3094">langchain-ai/langsmith-sdk#3094</a></li>
<li>release(js): bump js sdk version to 0.7.13 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3104">langchain-ai/langsmith-sdk#3104</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3105">langchain-ai/langsmith-sdk#3105</a></li>
<li>doc: improve resource comments by <a
href="https://github.com/QuentinBrosse"><code>@​QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3108">langchain-ai/langsmith-sdk#3108</a></li>
<li>fix(client): apply anonymizer to run error field by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3100">langchain-ai/langsmith-sdk#3100</a></li>
<li>feat(client): expose datasets v2 resource + experiment-runs
integration tests [langchainplus#28358] by <a
href="https://github.com/GowriH-1"><code>@​GowriH-1</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3106">langchain-ai/langsmith-sdk#3106</a></li>
<li>fix(google-adk): set tool span as active tracing context in
wrap_tool_run_async by <a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li>fix(client): apply anonymizer to run error field (JS) by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3110">langchain-ai/langsmith-sdk#3110</a></li>
<li>fix(python): use current project issues endpoint by <a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3120">langchain-ai/langsmith-sdk#3120</a></li>
<li>fix(js): Avoid setting usage_metadata on parent chain runs for
Claude Agent SDK runs by <a
href="https://github.com/jacoblee93"><code>@​jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3119">langchain-ai/langsmith-sdk#3119</a></li>
<li>feat(client): expose projects resource accessor on Python and JS
clients by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3109">langchain-ai/langsmith-sdk#3109</a></li>
<li>release(js): bump to 0.7.14 by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3121">langchain-ai/langsmith-sdk#3121</a></li>
<li>release(python): bump py version to 0.9.4 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3124">langchain-ai/langsmith-sdk#3124</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li><a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4</a></p>
<h2>v0.9.3</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.12 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3089">langchain-ai/langsmith-sdk#3089</a></li>
<li>feat(sandbox): do not gate dataplane ops on sandbox status by <a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3090">langchain-ai/langsmith-sdk#3090</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3095">langchain-ai/langsmith-sdk#3095</a></li>
<li>ci: pin all GitHub Actions to immutable SHA pins by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3093">langchain-ai/langsmith-sdk#3093</a></li>
<li>chore(deps-dev): bump vcrpy from 8.1.1 to 8.2.1 in /python by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3074">langchain-ai/langsmith-sdk#3074</a></li>
<li>chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3075">langchain-ai/langsmith-sdk#3075</a></li>
<li>feat(sandbox): expose registries via generated v2 client by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3087">langchain-ai/langsmith-sdk#3087</a></li>
<li>fix(client): lazily initialize sync OpenAPI client by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3099">langchain-ai/langsmith-sdk#3099</a></li>
<li>release(python): bump py version to 0.9.3 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3101">langchain-ai/langsmith-sdk#3101</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3</a></p>
<h2>v0.9.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.11 by <a
href="https://github.com/sineha-mani"><code>@​sineha-mani</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3079">langchain-ai/langsmith-sdk#3079</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="55b7eec3f4"><code>55b7eec</code></a>
fix(sandbox): wrap all WS handshake failures as SandboxConnectionError
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3130">#3130</a>)</li>
<li><a
href="c732fbbe36"><code>c732fbb</code></a>
chore: bump _MIN_BACKEND_VERSION to 0.16.9rc1 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3127">#3127</a>)</li>
<li><a
href="796fb2bfd8"><code>796fb2b</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3126">#3126</a>)</li>
<li><a
href="80d93c48c4"><code>80d93c4</code></a>
release(python): bump py version to 0.9.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3124">#3124</a>)</li>
<li><a
href="b453dd58d6"><code>b453dd5</code></a>
release(js): bump to 0.7.14 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3121">#3121</a>)</li>
<li><a
href="76f5c7136c"><code>76f5c71</code></a>
feat(client): expose projects resource accessor on Python and JS clients
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3109">#3109</a>)</li>
<li><a
href="5f32426109"><code>5f32426</code></a>
fix(js): Avoid setting usage_metadata on parent chain runs for Claude
Agent S...</li>
<li><a
href="03b53410f1"><code>03b5341</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3120">#3120</a>)</li>
<li><a
href="7595f5c187"><code>7595f5c</code></a>
fix(python): use current project issues endpoint (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3064">#3064</a>)</li>
<li><a
href="b5291fac06"><code>b5291fa</code></a>
fix(client): apply anonymizer to run error field (JS) (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3110">#3110</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.18...v0.9.5">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:00:52 -04:00
dependabot[bot]
a9f6ffbae1 chore: bump pytest from 9.1.0 to 9.1.1 in /libs/partners/xai (#38599)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to
9.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>9.1.1</h2>
<h1>pytest 9.1.1 (2026-06-19)</h1>
<h2>Bug fixes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>:
Fixed a logic bug in <code>pytest.RaisesGroup</code> which would might
cause it to display incorrect &quot;It matches <!-- raw HTML omitted
-->FooError()<!-- raw HTML omitted --> which was paired with <!-- raw
HTML omitted -->BarError<!-- raw HTML omitted -->&quot; messages.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14591">#14591</a>:
Fixed a regression in pytest 9.1.0 which caused overriding a
parametrized fixture with an indirect <!-- raw HTML omitted --><a
href="https://github.com/pytest"><code>@​pytest</code></a>.mark.parametrize<!--
raw HTML omitted --> to fail with &quot;duplicate parametrization of
'&lt;fixture name&gt;'&quot;.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14606">#14606</a>:
Fixed <code>list-item</code> typing errors from mypy in
<code>@pytest.mark.parametrize &lt;pytest.mark.parametrize
ref&gt;</code> <code>argvalues</code> parameter.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14608">#14608</a>:
Fixed a regression in pytest 9.1.0 where <code>conftest.py</code> files
located in <code>&lt;invocation dir&gt;/test*</code> were no longer
loaded as initial conftests when invoked without arguments.
This could cause certain hooks (like <code>pytest_addoption</code>) in
these files to not fire.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cf470ec0bf"><code>cf470ec</code></a>
Prepare release version 9.1.1</li>
<li><a
href="e0c8ce6cc5"><code>e0c8ce6</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14625">#14625</a>
from pytest-dev/patchback/backports/9.1.x/a07c31a97...</li>
<li><a
href="1b82d1694f"><code>1b82d16</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14624">#14624</a>
from pytest-dev/patchback/backports/9.1.x/b375b79ec...</li>
<li><a
href="501c4bc784"><code>501c4bc</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14596">#14596</a>
from bluetech/doc-classmethod</li>
<li><a
href="b61f588e36"><code>b61f588</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14622">#14622</a>
from chrisburr/fix-14608-initial-conftest-test-subdir</li>
<li><a
href="9a567e009f"><code>9a567e0</code></a>
[automated] Update plugin list (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14617">#14617</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14618">#14618</a>)</li>
<li><a
href="ef8b2993e5"><code>ef8b299</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14620">#14620</a>
from pytest-dev/patchback/backports/9.1.x/680f9f3ed...</li>
<li><a
href="66abd0784d"><code>66abd07</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>
from bysiber/fix-stale-iexp-raisesgroup</li>
<li><a
href="79fbf93b66"><code>79fbf93</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14612">#14612</a>
from pytest-dev/patchback/backports/9.1.x/974ed48b6...</li>
<li><a
href="0d312eb876"><code>0d312eb</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14611">#14611</a>
from bluetech/parametrize-argvalues-typing</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/9.1.0...9.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 15:00:44 -04:00
dependabot[bot]
4e208f1e40 chore: bump the minor-and-patch group across 3 directories with 11 updates (#38587)
Bumps the minor-and-patch group with 7 updates in the
/libs/model-profiles directory:

| Package | From | To |
| --- | --- | --- |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) |
`1.3.0` | `1.4.0` |
| [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0`
| `0.8.0` |
| [syrupy](https://github.com/syrupy-project/syrupy) | `5.2.0` | `5.3.4`
|
| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.20` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.18`
| `0.9.4` |
| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` |
`0.16.2` |
| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.5` |
`1.2.7` |

Bumps the minor-and-patch group with 7 updates in the
/libs/standard-tests directory:

| Package | From | To |
| --- | --- | --- |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) |
`1.3.0` | `1.4.0` |
| [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0`
| `0.8.0` |
| [syrupy](https://github.com/syrupy-project/syrupy) | `5.2.0` | `5.3.4`
|
| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.20` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.18`
| `0.9.4` |
| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` |
`0.16.2` |
| [langchain-protocol](https://github.com/langchain-ai/agent-protocol) |
`0.0.17` | `0.0.18` |

Bumps the minor-and-patch group with 9 updates in the
/libs/text-splitters directory:

| Package | From | To |
| --- | --- | --- |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) |
`1.3.0` | `1.4.0` |
| [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0`
| `0.8.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.20` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.18`
| `0.9.4` |
| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` |
`0.16.2` |
| [langchain-protocol](https://github.com/langchain-ai/agent-protocol) |
`0.0.17` | `0.0.18` |
| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) |
`4.14.3` | `4.15.0` |
| [transformers](https://github.com/huggingface/transformers) | `5.8.1`
| `5.12.1` |
|
[sentence-transformers](https://github.com/huggingface/sentence-transformers)
| `5.5.0` | `5.6.0` |


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 &gt;= 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="6e14cd2af9"><code>6e14cd2</code></a>
chore: Prepare release of v1.4.0.</li>
<li><a
href="4b900fb5d0"><code>4b900fb</code></a>
Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1</li>
<li><a
href="ab9f632450"><code>ab9f632</code></a>
Build(deps): Bump zipp from 3.23.1 to 4.1.0</li>
<li><a
href="a56fc77ecd"><code>a56fc77</code></a>
Build(deps): Bump hypothesis from 6.152.6 to 6.152.8</li>
<li><a
href="e8bae9bc1f"><code>e8bae9b</code></a>
Build(deps): Bump requests from 2.34.0 to 2.34.2</li>
<li><a
href="fc433402c5"><code>fc43340</code></a>
Build(deps): Bump idna from 3.14 to 3.15</li>
<li><a
href="762eaf5033"><code>762eaf5</code></a>
Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0</li>
<li><a
href="b62e2228c8"><code>b62e222</code></a>
Build(deps): Bump click from 8.3.3 to 8.4.0</li>
<li><a
href="9190447006"><code>9190447</code></a>
Build(deps): Bump pydantic from 2.13.3 to 2.13.4</li>
<li><a
href="82a393c5e3"><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 `pytest-socket` from 0.7.0 to 0.8.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/miketheman/pytest-socket/releases">pytest-socket's
releases</a>.</em></p>
<blockquote>
<h2>0.8.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Block DNS resolution (<code>getaddrinfo</code>,
<code>gethostbyname</code>) when sockets are disabled <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/482">#482</a></li>
<li>Support CIDR network ranges in <code>allow_hosts</code> <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/479">#479</a></li>
<li>Warn before raising on a blocked socket call <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/468">#468</a></li>
<li>Cache hostname resolutions during a test run <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/369">#369</a></li>
</ul>
<h3>Changes</h3>
<ul>
<li><strong>Removed support for Python 3.8 and 3.9.</strong> Python 3.10
is now the minimum.</li>
<li>Test against Python 3.13, 3.14, and free-threaded 3.13t/3.14t</li>
<li>Replaced Poetry with uv <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/429">#429</a></li>
<li>Added type hints <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/465">#465</a></li>
<li>Swapped <code>pytest-httpbin</code> for a local test fixture <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/467">#467</a></li>
<li>Dependency, CI, and development updates</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/twm"><code>@​twm</code></a> made their
first contribution in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/369">miketheman/pytest-socket#369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/miketheman/pytest-socket/compare/0.7.0...0.8.0">https://github.com/miketheman/pytest-socket/compare/0.7.0...0.8.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/miketheman/pytest-socket/blob/main/CHANGELOG.md">pytest-socket's
changelog</a>.</em></p>
<blockquote>
<h2>[0.8.0][] (2026-05-21)</h2>
<p>Enhancements:</p>
<ul>
<li>Block DNS resolution (<code>getaddrinfo</code>,
<code>gethostbyname</code>) when sockets are disabled <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/482">#482</a></li>
<li>Support CIDR network ranges in <code>allow_hosts</code> <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/479">#479</a></li>
<li>Warn before raising on a blocked socket call <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/468">#468</a></li>
<li>Cache hostname resolutions during a test run <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/369">#369</a></li>
</ul>
<p>Changes:</p>
<ul>
<li><strong>Removed support for Python 3.8 and 3.9.</strong> Python 3.10
is now the minimum.</li>
<li>Test against Python 3.13, 3.14, and free-threaded 3.13t/3.14t</li>
<li>Replaced Poetry with uv <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/429">#429</a></li>
<li>Added type hints <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/465">#465</a></li>
<li>Swapped <code>pytest-httpbin</code> for a local test fixture <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/467">#467</a></li>
<li>Dependency, CI, and development updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f9ec1395f4"><code>f9ec139</code></a>
pytest-socket, v0.8.0 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/484">#484</a>)</li>
<li><a
href="3930df85c1"><code>3930df8</code></a>
chore(ci): add publish workflow, update others (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/483">#483</a>)</li>
<li><a
href="aae7f44b24"><code>aae7f44</code></a>
feat: also block DNS resolution (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/482">#482</a>)</li>
<li><a
href="f0700d2379"><code>f0700d2</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/481">#481</a>)</li>
<li><a
href="09ba021cd3"><code>09ba021</code></a>
chore(deps): full sweep of all dependency upgrades (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/480">#480</a>)</li>
<li><a
href="8dc62860f3"><code>8dc6286</code></a>
feat(allow_hosts): support CIDR network entries (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/479">#479</a>)</li>
<li><a
href="06ed8a1562"><code>06ed8a1</code></a>
chore(deps-dev): bump starlette from 0.49.1 to 1.0.0 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/478">#478</a>)</li>
<li><a
href="b3132108f9"><code>b313210</code></a>
chore(deps-dev): bump mypy from 1.20.0 to 1.20.2 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/477">#477</a>)</li>
<li><a
href="f7e85f788b"><code>f7e85f7</code></a>
chore(deps-dev): bump pytest-randomly from 3.16.0 to 4.0.1 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/476">#476</a>)</li>
<li><a
href="89690a6c31"><code>89690a6</code></a>
chore: dependabot config (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/475">#475</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/miketheman/pytest-socket/compare/0.7.0...0.8.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `syrupy` from 5.2.0 to 5.3.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/syrupy-project/syrupy/releases">syrupy's
releases</a>.</em></p>
<blockquote>
<h2>v5.3.4</h2>
<h2>What's Changed</h2>
<ul>
<li>perf: drop per-node kwargs dict from the amber serializer by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1122">syrupy-project/syrupy#1122</a></li>
<li>perf: give the internal matcher wrapper an explicit signature by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1121">syrupy-project/syrupy#1121</a></li>
<li>fix: avoid os.environ mutation for color control by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1125">syrupy-project/syrupy#1125</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4">https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4</a></p>
<h2>v5.3.3</h2>
<h2>What's Changed</h2>
<ul>
<li>perf: speed up string serialization in amber serializer by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li>
<li>perf: avoid copying the cycle-detection set on every serialized node
by <a href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1119">syrupy-project/syrupy#1119</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/TejasAmle"><code>@​TejasAmle</code></a>
made their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1113">syrupy-project/syrupy#1113</a></li>
<li><a href="https://github.com/frenck"><code>@​frenck</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3">https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3</a></p>
<h2>v5.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: overlapping test filenames across directories by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1104">syrupy-project/syrupy#1104</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2">https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2</a></p>
<h2>v5.3.1</h2>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>fix(test): mark pydantic and attrs as dependencies for running
internal tests by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1108">syrupy-project/syrupy#1108</a>
-- <strong>This only affects users trying to run the syrupy tests
themselves, not consumers of syrupy.</strong></li>
</ul>
<h3>Misc</h3>
<ul>
<li>chore(deps): update astral-sh/setup-uv action to v8.1.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1103">syrupy-project/syrupy#1103</a></li>
<li>chore(deps): update python docker tag to v3.14.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1102">syrupy-project/syrupy#1102</a></li>
<li>chore(deps): update benchmark-action/github-action-benchmark action
to v1.22.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1105">syrupy-project/syrupy#1105</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1">https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1</a></p>
<h2>v5.3.0</h2>
<h2>What's Changed</h2>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md">syrupy's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.4">v5.3.4</a>
(2026-06-26)</h2>
<h2>What's Changed</h2>
<ul>
<li>perf: drop per-node kwargs dict from the amber serializer by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1122">syrupy-project/syrupy#1122</a></li>
<li>perf: give the internal matcher wrapper an explicit signature by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1121">syrupy-project/syrupy#1121</a></li>
<li>fix: avoid os.environ mutation for color control by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1125">syrupy-project/syrupy#1125</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4">https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.3">v5.3.3</a>
(2026-06-25)</h2>
<h2>What's Changed</h2>
<ul>
<li>perf: speed up string serialization in amber serializer by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li>
<li>perf: avoid copying the cycle-detection set on every serialized node
by <a href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1119">syrupy-project/syrupy#1119</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/TejasAmle"><code>@​TejasAmle</code></a>
made their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1113">syrupy-project/syrupy#1113</a></li>
<li><a href="https://github.com/frenck"><code>@​frenck</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3">https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.2">v5.3.2</a>
(2026-06-09)</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: overlapping test filenames across directories by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1104">syrupy-project/syrupy#1104</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2">https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.1">v5.3.1</a>
(2026-05-31)</h2>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>fix(test): mark pydantic and attrs as dependencies for running
internal tests by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1108">syrupy-project/syrupy#1108</a>
-- <strong>This only affects users trying to run the syrupy tests
themselves, not consumers of syrupy.</strong></li>
</ul>
<h3>Misc</h3>
<ul>
<li>chore(deps): update astral-sh/setup-uv action to v8.1.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1103">syrupy-project/syrupy#1103</a></li>
<li>chore(deps): update python docker tag to v3.14.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1102">syrupy-project/syrupy#1102</a></li>
<li>chore(deps): update benchmark-action/github-action-benchmark action
to v1.22.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1105">syrupy-project/syrupy#1105</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1">https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7db49e98f7"><code>7db49e9</code></a>
fix: avoid os.environ mutation for color control (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1125">#1125</a>)</li>
<li><a
href="52da1c4ba9"><code>52da1c4</code></a>
chore: add benchmarks to README (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1124">#1124</a>)</li>
<li><a
href="a0d46f36fc"><code>a0d46f3</code></a>
perf: give the internal matcher wrapper an explicit signature (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1121">#1121</a>)</li>
<li><a
href="54771a4849"><code>54771a4</code></a>
perf: drop per-node kwargs dict from the amber serializer (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1122">#1122</a>)</li>
<li><a
href="8a10e700ad"><code>8a10e70</code></a>
docs: add frenck as a contributor for bug (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1120">#1120</a>)</li>
<li><a
href="5760c88d37"><code>5760c88</code></a>
chore(release): 5.3.3 [skip ci]</li>
<li><a
href="0840c9dcd1"><code>0840c9d</code></a>
perf: avoid copying the cycle-detection set on every serialized node (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1119">#1119</a>)</li>
<li><a
href="1940faa06c"><code>1940faa</code></a>
perf: speed up string serialization in amber serializer (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1118">#1118</a>)</li>
<li><a
href="46d661cdbd"><code>46d661c</code></a>
chore(deps): update dependency debugpy to v1.8.21 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1117">#1117</a>)</li>
<li><a
href="8c23052690"><code>8c23052</code></a>
chore(deps): update astral-sh/setup-uv action to v8.2.0 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1114">#1114</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/syrupy-project/syrupy/compare/v5.2.0...v5.3.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.15.13 to 0.15.20
<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.20</h2>
<h2>Release Notes</h2>
<p>Released on 2026-06-25.</p>
<h3>Preview features</h3>
<ul>
<li>Allow human-readable names in rule selectors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li>
<li>Emit a warning instead of an error for unknown rule selectors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li>
<li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code>
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li>
<li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code>
(<code>RUF076</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add versioning sections to custom crate READMEs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li>
<li>Update <code>ruff_python_parser</code> README for crates.io (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li>
<li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to
any iterable (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/trilamsr"><code>@​trilamsr</code></a></li>
</ul>
<h2>Install ruff 0.15.20</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm
https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1
| iex&quot;
</code></pre>
<h2>Download ruff 0.15.20</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a
href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.15.20</h2>
<p>Released on 2026-06-25.</p>
<h3>Preview features</h3>
<ul>
<li>Allow human-readable names in rule selectors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li>
<li>Emit a warning instead of an error for unknown rule selectors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li>
<li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code>
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li>
<li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code>
(<code>RUF076</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add versioning sections to custom crate READMEs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li>
<li>Update <code>ruff_python_parser</code> README for crates.io (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li>
<li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to
any iterable (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/trilamsr"><code>@​trilamsr</code></a></li>
</ul>
<h2>0.15.19</h2>
<p>Released on 2026-06-23.</p>
<h3>Preview features</h3>
<ul>
<li>Support human-readable names when hovering suppression comments and
in code actions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26114">#26114</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fall back to default settings when editor-only settings are invalid
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/26244">#26244</a>)</li>
<li>Fix panic when inserting text at a notebook cell boundary (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26111">#26111</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>pylint</code>] Update fix suggestions for
<code>__floor__</code>, <code>__trunc__</code>,
<code>__length_hint__</code>, and <code>__matmul__</code> variants
(<code>PLC2801</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26239">#26239</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid allocating when parsing single string literals (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26200">#26200</a>)</li>
<li>Avoid reallocating singleton call arguments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26223">#26223</a>)</li>
<li>Lazily create source files for lint diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26226">#26226</a>)</li>
<li>Optimize formatter text width and indentation (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26236">#26236</a>)</li>
<li>Reserve capacity for builtin bindings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26229">#26229</a>)</li>
<li>Skip repeated-key checks for singleton dictionaries (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26228">#26228</a>)</li>
<li>Use ArrayVec for qualified name segments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26224">#26224</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f82a36b6ba"><code>f82a36b</code></a>
Bump 0.15.20 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26376">#26376</a>)</li>
<li><a
href="af329438b5"><code>af32943</code></a>
Improve the summarise-ecosystem-results skill (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26378">#26378</a>)</li>
<li><a
href="485ebab5de"><code>485ebab</code></a>
Remove <code>RUF076</code> name from schema (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26371">#26371</a>)</li>
<li><a
href="ef81835ce3"><code>ef81835</code></a>
[ty] Implement rust-analyzer's &quot;Click for full compiler
diagnostic&quot; feature (...</li>
<li><a
href="572b31e237"><code>572b31e</code></a>
[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code>
(<code>RUF076</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26240">#26240</a>)</li>
<li><a
href="f703f219d7"><code>f703f21</code></a>
Allow human-readable names in rule selectors (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25887">#25887</a>)</li>
<li><a
href="0d726b28ee"><code>0d726b2</code></a>
[ty] Reuse equality semantics for membership compatibility (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25955">#25955</a>)</li>
<li><a
href="dbe6e9848c"><code>dbe6e98</code></a>
[ty] Infer definite equality comparison results (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26337">#26337</a>)</li>
<li><a
href="e700ea357a"><code>e700ea3</code></a>
[ty] Prove TypedDict structural patterns exhaustive (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26285">#26285</a>)</li>
<li><a
href="6a0d2ec939"><code>6a0d2ec</code></a>
[ty] Widen inferred class-valued instance attributes (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26338">#26338</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.13...0.15.20">compare
view</a></li>
</ul>
</details>
<br />

Updates `langsmith` from 0.8.18 to 0.9.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.9.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google_adk): capture LLM inputs after before_model_callback runs
[LSDK-279] by <a
href="https://github.com/harisaiharish"><code>@​harisaiharish</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3094">langchain-ai/langsmith-sdk#3094</a></li>
<li>release(js): bump js sdk version to 0.7.13 by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3104">langchain-ai/langsmith-sdk#3104</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3105">langchain-ai/langsmith-sdk#3105</a></li>
<li>doc: improve resource comments by <a
href="https://github.com/QuentinBrosse"><code>@​QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3108">langchain-ai/langsmith-sdk#3108</a></li>
<li>fix(client): apply anonymizer to run error field by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3100">langchain-ai/langsmith-sdk#3100</a></li>
<li>feat(client): expose datasets v2 resource + experiment-runs
integration tests [langchainplus#28358] by <a
href="https://github.com/GowriH-1"><code>@​GowriH-1</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3106">langchain-ai/langsmith-sdk#3106</a></li>
<li>fix(google-adk): set tool span as active tracing context in
wrap_tool_run_async by <a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li>fix(client): apply anonymizer to run error field (JS) by <a
href="https://github.com/paarth-a"><code>@​paarth-a</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3110">langchain-ai/langsmith-sdk#3110</a></li>
<li>fix(python): use current project issues endpoint by <a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3120">langchain-ai/langsmith-sdk#3120</a></li>
<li>fix(js): Avoid setting usage_metadata on parent chain runs for
Claude Agent SDK runs by <a
href="https://github.com/jacoblee93"><code>@​jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3119">langchain-ai/langsmith-sdk#3119</a></li>
<li>feat(client): expose projects resource accessor on Python and JS
clients by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3109">langchain-ai/langsmith-sdk#3109</a></li>
<li>release(js): bump to 0.7.14 by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3121">langchain-ai/langsmith-sdk#3121</a></li>
<li>release(python): bump py version to 0.9.4 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3124">langchain-ai/langsmith-sdk#3124</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/navarra-lisandro"><code>@​navarra-lisandro</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li>
<li><a
href="https://github.com/khankaholic"><code>@​khankaholic</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4</a></p>
<h2>v0.9.3</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.12 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3089">langchain-ai/langsmith-sdk#3089</a></li>
<li>feat(sandbox): do not gate dataplane ops on sandbox status by <a
href="https://github.com/ramon-langchain"><code>@​ramon-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3090">langchain-ai/langsmith-sdk#3090</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3095">langchain-ai/langsmith-sdk#3095</a></li>
<li>ci: pin all GitHub Actions to immutable SHA pins by <a
href="https://github.com/jkennedyvz"><code>@​jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3093">langchain-ai/langsmith-sdk#3093</a></li>
<li>chore(deps-dev): bump vcrpy from 8.1.1 to 8.2.1 in /python by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3074">langchain-ai/langsmith-sdk#3074</a></li>
<li>chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 in /python
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3075">langchain-ai/langsmith-sdk#3075</a></li>
<li>feat(sandbox): expose registries via generated v2 client by <a
href="https://github.com/langchain-infra"><code>@​langchain-infra</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3087">langchain-ai/langsmith-sdk#3087</a></li>
<li>fix(client): lazily initialize sync OpenAPI client by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3099">langchain-ai/langsmith-sdk#3099</a></li>
<li>release(python): bump py version to 0.9.3 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3101">langchain-ai/langsmith-sdk#3101</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3</a></p>
<h2>v0.9.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): bump js sdk version to 0.7.11 by <a
href="https://github.com/sineha-mani"><code>@​sineha-mani</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3079">langchain-ai/langsmith-sdk#3079</a></li>
<li>chore: bump _MIN_BACKEND_VERSION to 0.16.6rc1 by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3076">langchain-ai/langsmith-sdk#3076</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3082">langchain-ai/langsmith-sdk#3082</a></li>
<li>chore: sync langsmith_api by <a
href="https://github.com/langtions-bot"><code>@​langtions-bot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3083">langchain-ai/langsmith-sdk#3083</a></li>
<li>chore(js): bump AI SDK 7 to beta by <a
href="https://github.com/dqbd"><code>@​dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3085">langchain-ai/langsmith-sdk#3085</a></li>
<li>feat(client): expose v2 OpenAPI runs resource on Python and JS
clients by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3084">langchain-ai/langsmith-sdk#3084</a></li>
<li>release(python): bump py version to 0.9.2 by <a
href="https://github.com/KiewanVillatel"><code>@​KiewanVillatel</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3088">langchain-ai/langsmith-sdk#3088</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.1...v0.9.2">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.1...v0.9.2</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="80d93c48c4"><code>80d93c4</code></a>
release(python): bump py version to 0.9.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3124">#3124</a>)</li>
<li><a
href="b453dd58d6"><code>b453dd5</code></a>
release(js): bump to 0.7.14 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3121">#3121</a>)</li>
<li><a
href="76f5c7136c"><code>76f5c71</code></a>
feat(client): expose projects resource accessor on Python and JS clients
(<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3109">#3109</a>)</li>
<li><a
href="5f32426109"><code>5f32426</code></a>
fix(js): Avoid setting usage_metadata on parent chain runs for Claude
Agent S...</li>
<li><a
href="03b53410f1"><code>03b5341</code></a>
chore: sync langsmith_api (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3120">#3120</a>)</li>
<li><a
href="7595f5c187"><code>7595f5c</code></a>
fix(python): use current project issues endpoint (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3064">#3064</a>)</li>
<li><a
href="b5291fac06"><code>b5291fa</code></a>
fix(client): apply anonymizer to run error field (JS) (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3110">#3110</a>)</li>
<li><a
href="be3eaa47e9"><code>be3eaa4</code></a>
fix(google-adk): set tool span as active tracing context in
wrap_tool_run_asy...</li>
<li><a
href="3dc88b3675"><code>3dc88b3</code></a>
feat(client): expose datasets v2 resource + experiment-runs integration
tests...</li>
<li><a
href="14741e0488"><code>14741e0</code></a>
fix(client): apply anonymizer to run error field (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3100">#3100</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.18...v0.9.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `uuid-utils` from 0.15.0 to 0.16.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aminalaee/uuid-utils/releases">uuid-utils's
releases</a>.</em></p>
<blockquote>
<h2>0.16.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: align <code>__hash__</code> with stdlib hash by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/178">aminalaee/uuid-utils#178</a></li>
<li>fix: <code>time</code> property for v6 and v7 by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/179">aminalaee/uuid-utils#179</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aminalaee/uuid-utils/compare/0.16.1...0.16.2">https://github.com/aminalaee/uuid-utils/compare/0.16.1...0.16.2</a></p>
<h2>0.16.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Add PyPI publish attestations by <a
href="https://github.com/shaanmajid"><code>@​shaanmajid</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/173">aminalaee/uuid-utils#173</a></li>
<li>chore: Add <code>__version__</code> to compat module by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/174">aminalaee/uuid-utils#174</a></li>
<li>chore: relax <code>getnode</code> test by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/176">aminalaee/uuid-utils#176</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/shaanmajid"><code>@​shaanmajid</code></a> made
their first contribution in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/173">aminalaee/uuid-utils#173</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aminalaee/uuid-utils/compare/0.16.0...0.16.1">https://github.com/aminalaee/uuid-utils/compare/0.16.0...0.16.1</a></p>
<h2>0.16.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Optimize uuid_utils.compat with <code>from_int</code> by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/166">aminalaee/uuid-utils#166</a></li>
<li>fix: return version None for non-RFC UUIDs by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/163">aminalaee/uuid-utils#163</a></li>
<li>Validate <code>node</code> argument out of range in constructor by
<a href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in
<a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/164">aminalaee/uuid-utils#164</a></li>
<li>Drop Python3.9 by <a
href="https://github.com/aminalaee"><code>@​aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/168">aminalaee/uuid-utils#168</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0">https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="97c20484ab"><code>97c2048</code></a>
Version 0.16.2 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/180">#180</a>)</li>
<li><a
href="75e935b43d"><code>75e935b</code></a>
fix: time property for v6 and v7 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/179">#179</a>)</li>
<li><a
href="6222e73aaf"><code>6222e73</code></a>
fix: align hash with stdlib hash (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/178">#178</a>)</li>
<li><a
href="de57fb647c"><code>de57fb6</code></a>
Version 0.16.1 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/177">#177</a>)</li>
<li><a
href="7d65c41ed4"><code>7d65c41</code></a>
chore: relax <code>getnode</code> test (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/176">#176</a>)</li>
<li><a
href="ef4b519d5f"><code>ef4b519</code></a>
Upgrade <code>pyo3</code> and <code>uuid</code> (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/175">#175</a>)</li>
<li><a
href="afbe6bf820"><code>afbe6bf</code></a>
chore: Add <code>__version__</code> to compat module (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/174">#174</a>)</li>
<li><a
href="76d0a73c24"><code>76d0a73</code></a>
Add PyPI publish attestations (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/173">#173</a>)</li>
<li><a
href="29bc188196"><code>29bc188</code></a>
Bump uuid from 1.23.1 to 1.23.2 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/170">#170</a>)</li>
<li><a
href="c6df9b87ea"><code>c6df9b8</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/172">#172</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `langgraph` from 1.2.5 to 1.2.7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langgraph/releases">langgraph's
releases</a>.</em></p>
<blockquote>
<h2>langgraph==1.2.7</h2>
<p>Changes since 1.2.6</p>
<ul>
<li>release(langgraph): 1.2.7 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8223">#8223</a>)</li>
<li>fix(langgraph): snapshot <code>DeltaChannel</code> overwrite
supersteps (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8125">#8125</a>)</li>
<li>fix(langgraph): Make <code>Overwrite</code> survive JSON roundtrips
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8127">#8127</a>)</li>
<li>chore(deps): bump redis in /libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7976">#7976</a>)</li>
<li>chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/langgraph
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8176">#8176</a>)</li>
<li>chore(deps): bump jupyterlab from 4.5.7 to 4.5.9 in /libs/langgraph
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8164">#8164</a>)</li>
<li>fix(langgraph): emit valid UUIDs for exit-mode delta task_ids for
langgraph-api (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8165">#8165</a>)</li>
<li>chore(deps): bump bleach from 6.3.0 to 6.4.0 in /libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8107">#8107</a>)</li>
<li>chore(deps): bump cryptography from 46.0.7 to 48.0.1 in
/libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8106">#8106</a>)</li>
<li>chore(deps): bump jupyter-server from 2.18.0 to 2.20.0 in
/libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8134">#8134</a>)</li>
<li>chore(deps): bump tornado from 6.5.6 to 6.5.7 in /libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8108">#8108</a>)</li>
<li>chore(deps): bump pyjwt from 2.12.0 to 2.13.0 in /libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8092">#8092</a>)</li>
</ul>
<h2>langgraph==1.2.6</h2>
<p>Changes since 1.2.5</p>
<ul>
<li>release(langgraph): 1.2.6 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8139">#8139</a>)</li>
<li>fix: nested subgraph inherits parent checkpoint_ns (regression in
1.2.3) (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8053">#8053</a>)</li>
<li>fix: cancel running subgraphs on v3 stream abort [closes <a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8029">#8029</a>]
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8057">#8057</a>)</li>
<li>release(cli): 0.4.30 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8101">#8101</a>)</li>
<li>docs: standardize package <code>README.md</code> structure (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8064">#8064</a>)</li>
<li>chore(deps): bump tornado from 6.5.5 to 6.5.6 in /libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8063">#8063</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5931a5f0b3"><code>5931a5f</code></a>
release(langgraph): 1.2.7 (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8223">#8223</a>)</li>
<li><a
href="9a27693c64"><code>9a27693</code></a>
fix(langgraph): snapshot <code>DeltaChannel</code> overwrite supersteps
(<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8125">#8125</a>)</li>
<li><a
href="1b5ca0a1b1"><code>1b5ca0a</code></a>
fix(langgraph): Make <code>Overwrite</code> survive JSON roundtrips (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8127">#8127</a>)</li>
<li><a
href="d2f97191ab"><code>d2f9719</code></a>
chore(deps): bump redis in /libs/langgraph (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/7976">#7976</a>)</li>
<li><a
href="c1aad8b460"><code>c1aad8b</code></a>
chore(deps-dev): bump starlette from 1.0.1 to 1.3.1 in /libs/sdk-py (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8104">#8104</a>)</li>
<li><a
href="d5dfeaf033"><code>d5dfeaf</code></a>
chore(deps): bump starlette from 1.0.1 to 1.3.1 in /libs/cli (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8105">#8105</a>)</li>
<li><a
href="bdb323efbb"><code>bdb323e</code></a>
chore(deps): bump langsmith from 0.8.0 to 0.8.18 in
/libs/checkpoint-sqlite (...</li>
<li><a
href="31f69551b7"><code>31f6955</code></a>
chore(deps): bump langsmith from 0.8.0 to 0.8.18 in
/libs/checkpoint-postgres...</li>
<li><a
href="6b767dea5f"><code>6b767de</code></a>
chore(deps): bump langsmith from 0.8.2 to 0.8.18 in
/libs/checkpoint-conforma...</li>
<li><a
href="e6574a854f"><code>e6574a8</code></a>
chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/cli (<a
href="https://redirect.github.com/langchain-ai/langgraph/issues/8172">#8172</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langgraph/compare/1.2.5...1.2.7">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 &gt;= 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://redir...

_Description has been truncated_

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 11:27:23 -04:00
ccurme
8a2f1a9445 chore(anthropic): update docstring following sonnet-5 release (#38577) 2026-06-30 14:35:03 -04:00
Mason Daugherty
a6612179da release(openrouter): 0.2.5 (#38553) 2026-06-29 15:44:05 -04:00
Mason Daugherty
7725ccec03 fix(openrouter): deduplicate repeated finish metadata (#38552)
Closes #38226

---

OpenRouter can emit more than one terminal streaming chunk for a single
response. Before this change, LangChain treated each terminal chunk as
independent final metadata, so repeated string fields could be merged
into corrupted values like `stopstop`.

This updates `ChatOpenRouter` streaming so repeated terminal chunks are
interpreted as parts of the same response ending. Usage metadata is
still captured, later chunks can fill in terminal details that were
missing from earlier chunks, and already-seen terminal fields are not
duplicated.

The regression coverage exercises sync and async generation with
duplicate finish chunks, including the case where usage and additional
terminal metadata arrive on the later chunk.
2026-06-29 15:39:57 -04:00
Mason Daugherty
e7a9a9a728 fix(anthropic): ignore LangSmith requests in VCR cassettes (#38547)
Anthropic integration tests can run with LangSmith tracing enabled in
scheduled CI, which sends LangSmith API requests while VCR cassettes are
active. Ignore LangSmith ingest endpoints in the Anthropic VCR config so
cassette playback only matches Anthropic traffic.

## Changes
- Add `api.smith.langchain.com` to the Anthropic VCR `ignore_hosts`
configuration while preserving any hosts from the shared base config.
- Keep existing Anthropic cassette serialization, request redaction, and
response redaction behavior unchanged.
2026-06-29 11:15:48 -04:00
ccurme
1e35d8f7a9 chore(standard-tests): add sandbox integration test for offloading large execute results (#38537) 2026-06-29 08:40:50 -04:00
Mason Daugherty
c863b92b9e docs(fireworks): clarify prompt-cache session affinity guidance (#38522)
Clarifies the Fireworks chat model documentation around prompt-cache
session affinity. The example now focuses on the supported
`x-session-affinity` header and presents `prompt_cache_key` as the typed
SDK alternative without mixing in multi-turn trajectory guidance.

## Changes
- Tightened the `extra_headers` example so prompt-cache reuse is
explained through `x-session-affinity` only.
- Clarified that `prompt_cache_key` is the preferred typed alternative
to passing the raw session-affinity header.

AI-agent assistance was used in preparing this contribution.
2026-06-29 01:21:12 -04:00