dependabot[bot]
23cdbb026f
chore: bump aiohttp from 3.13.3 to 3.13.4 in /libs/langchain_v1 ( #36438 )
...
[](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-04-02 10:23:05 -04:00
Eugene Yurtsev
90087ce6bf
release(langchain): 1.2.14 ( #36396 )
...
Release 1.2.14
2026-03-31 09:47:35 -04:00
John Kennedy
0f4f3f74c8
chore: pygments>=2.20.0 across all packages (CVE-2026-4539) ( #36385 )
...
## Summary
Bumps `pygments` to `>=2.20.0` across all 21 affected packages to
address [CVE-2026-4539](https://github.com/advisories/GHSA-XXXX ) — ReDoS
via inefficient GUID regex in Pygments.
- **Severity:** Low
- **Fixed in:** 2.20.0 (was 2.19.2)
- **Change:** Added `pygments>=2.20.0` to `constraint-dependencies` in
`[tool.uv]` for each package, then ran `uv lock --upgrade-package
pygments` to regenerate lock files.
Closes Dependabot alerts #3435–#3455.
## Release Note
Patch deps
### Test Plan
- [x] CI Green 🙏
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 23:26:59 -04:00
Eugene Yurtsev
4e55c555ad
test(langchain): cover runtime recursion limit override in create_agent ( #36376 )
...
Extends the existing unit test for to verify that a per-invoke override
is visible inside the tool runtime config. This keeps the coverage in
the existing fake-model end-to-end test and exercises both the default
config path and the override path in one place.
Created with [Deep Agents
CLI](https://docs.langchain.com/oss/python/deepagents/cli/overview )
using gpt-5.4 (provider: openai).
2026-03-30 12:47:02 -04:00
Eugene Yurtsev
7514275b9e
perf(langchain): reduce init speed by 15% ( #36375 )
...
reduce expensive redundant work. relying on benchmark measurements from
deepagents.
2026-03-30 10:15:31 -04:00
ccurme
5993392883
fix(langchain): update recursion limit for create_agent ( #36351 )
2026-03-28 21:37:44 -04:00
Yashodip More
7bb9443e15
fix(infra): correct lint_diff relative paths in package makefiles ( #36333 )
...
Fixes #36332
Corrected lint_diff/format_diff relative path settings in three package
Makefiles so changed-file linting runs against the correct package
scope. This is an infra-only fix and does not change runtime behavior.
How did you verify your code works?
- make -n -C libs/langchain_v1 lint_diff
- make -n -C libs/text-splitters lint_diff
- make -n -C libs/partners/mistralai lint_diff
- Confirmed only the three Makefiles are changed, with no uv.lock or
pyproject.toml updates.
AI assistance disclaimer: I used AI assistance to draft and review this
contribution.
2026-03-28 02:32:02 -04:00
dependabot[bot]
c0557cb8ad
chore: bump cryptography from 46.0.5 to 46.0.6 in /libs/langchain_v1 ( #36324 )
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 46.0.5
to 46.0.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst ">cryptography's
changelog</a>.</em></p>
<blockquote>
<p>46.0.6 - 2026-03-25</p>
<pre><code>
* **SECURITY ISSUE**: Fixed a bug where name constraints were not
applied
to peer names during verification when the leaf certificate contains a
wildcard DNS SAN. Ordinary X.509 topologies are not affected by this
bug,
including those used by the Web PKI. Credit to **Oleh Konko (1seal)**
for
reporting the issue. **CVE-2026-34073**
<p>.. _v46-0-5:<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="91d728897b "><code>91d7288</code></a>
Cherry-pick <a
href="https://redirect.github.com/pyca/cryptography/issues/14542 ">#14542</a>
(<a
href="https://redirect.github.com/pyca/cryptography/issues/14543 ">#14543</a>)</li>
<li>See full diff in <a
href="https://github.com/pyca/cryptography/compare/46.0.5...46.0.6 ">compare
view</a></li>
</ul>
</details>
<br />
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-28 04:43:39 +00:00
Jordan Hury
475408fa62
fix(langchain): recognize ChatAnthropicVertex in _get_approximate_token_counter ( #36320 )
2026-03-27 18:19:03 -04:00
Eugene Yurtsev
1545dbfa17
chore(langchain): remove unnecessary description for toods list as a group ( #36315 )
...
This was introduced this the refactor. The description at the
list[Todos] level didn't exist, instead we only had a description at a
single todo level.
2026-03-27 17:15:56 -04:00
Eugene Yurtsev
c7a677bba5
chore(langchain): add async implementation to todolist and test ( #36313 )
...
add async func as well
2026-03-27 15:38:38 -04:00
Eugene Yurtsev
954a23094d
chore(langchain): speed up todo list middleware init ( #36311 )
...
Speed up todo list middleware initialization
2026-03-27 15:12:04 -04:00
dependabot[bot]
e4b541a3b0
chore: bump requests from 2.32.5 to 2.33.0 in /libs/langchain_v1 ( #36241 )
...
Bumps [requests](https://github.com/psf/requests ) from 2.32.5 to 2.33.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/releases ">requests's
releases</a>.</em></p>
<blockquote>
<h2>v2.33.0</h2>
<h2>2.33.0 (2026-03-25)</h2>
<p><strong>Announcements</strong></p>
<ul>
<li>📣 Requests is adding inline types. If you have a typed code base
that uses Requests, please take a look at <a
href="https://redirect.github.com/psf/requests/issues/7271 ">#7271</a>.
Give it a try, and report any gaps or feedback you may have in the
issue. 📣 </li>
</ul>
<p><strong>Security</strong></p>
<ul>
<li>CVE-2026-25645 <code>requests.utils.extract_zipped_paths</code> now
extracts contents to a non-deterministic location to prevent malicious
file replacement. This does not affect default usage of Requests, only
applications calling the utility function directly.</li>
</ul>
<p><strong>Improvements</strong></p>
<ul>
<li>Migrated to a PEP 517 build system using setuptools. (<a
href="https://redirect.github.com/psf/requests/issues/7012 ">#7012</a>)</li>
</ul>
<p><strong>Bugfixes</strong></p>
<ul>
<li>Fixed an issue where an empty netrc entry could cause malformed
authentication to be applied to Requests on Python 3.11+. (<a
href="https://redirect.github.com/psf/requests/issues/7205 ">#7205</a>)</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Dropped support for Python 3.9 following its end of support. (<a
href="https://redirect.github.com/psf/requests/issues/7196 ">#7196</a>)</li>
</ul>
<p><strong>Documentation</strong></p>
<ul>
<li>Various typo fixes and doc improvements.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/M0d3v1 "><code>@M0d3v1</code></a> made
their first contribution in <a
href="https://redirect.github.com/psf/requests/pull/6865 ">psf/requests#6865</a></li>
<li><a href="https://github.com/aminvakil "><code>@aminvakil</code></a>
made their first contribution in <a
href="https://redirect.github.com/psf/requests/pull/7220 ">psf/requests#7220</a></li>
<li><a href="https://github.com/E8Price "><code>@E8Price</code></a> made
their first contribution in <a
href="https://redirect.github.com/psf/requests/pull/6960 ">psf/requests#6960</a></li>
<li><a href="https://github.com/mitre88 "><code>@mitre88</code></a> made
their first contribution in <a
href="https://redirect.github.com/psf/requests/pull/7244 ">psf/requests#7244</a></li>
<li><a href="https://github.com/magsen "><code>@magsen</code></a> made
their first contribution in <a
href="https://redirect.github.com/psf/requests/pull/6553 ">psf/requests#6553</a></li>
<li><a
href="https://github.com/Rohan5commit "><code>@Rohan5commit</code></a>
made their first contribution in <a
href="https://redirect.github.com/psf/requests/pull/7227 ">psf/requests#7227</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25 ">https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25 </a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/blob/main/HISTORY.md ">requests's
changelog</a>.</em></p>
<blockquote>
<h2>2.33.0 (2026-03-25)</h2>
<p><strong>Announcements</strong></p>
<ul>
<li>📣 Requests is adding inline types. If you have a typed code base
that
uses Requests, please take a look at <a
href="https://redirect.github.com/psf/requests/issues/7271 ">#7271</a>.
Give it a try, and report
any gaps or feedback you may have in the issue. 📣 </li>
</ul>
<p><strong>Security</strong></p>
<ul>
<li>CVE-2026-25645 <code>requests.utils.extract_zipped_paths</code> now
extracts
contents to a non-deterministic location to prevent malicious file
replacement. This does not affect default usage of Requests, only
applications calling the utility function directly.</li>
</ul>
<p><strong>Improvements</strong></p>
<ul>
<li>Migrated to a PEP 517 build system using setuptools. (<a
href="https://redirect.github.com/psf/requests/issues/7012 ">#7012</a>)</li>
</ul>
<p><strong>Bugfixes</strong></p>
<ul>
<li>Fixed an issue where an empty netrc entry could cause
malformed authentication to be applied to Requests on
Python 3.11+. (<a
href="https://redirect.github.com/psf/requests/issues/7205 ">#7205</a>)</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Dropped support for Python 3.9 following its end of support. (<a
href="https://redirect.github.com/psf/requests/issues/7196 ">#7196</a>)</li>
</ul>
<p><strong>Documentation</strong></p>
<ul>
<li>Various typo fixes and doc improvements.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bc04dfd6da "><code>bc04dfd</code></a>
v2.33.0</li>
<li><a
href="66d21cb07b "><code>66d21cb</code></a>
Merge commit from fork</li>
<li><a
href="8b9bc8fc0f "><code>8b9bc8f</code></a>
Move badges to top of README (<a
href="https://redirect.github.com/psf/requests/issues/7293 ">#7293</a>)</li>
<li><a
href="e331a288f3 "><code>e331a28</code></a>
Remove unused extraction call (<a
href="https://redirect.github.com/psf/requests/issues/7292 ">#7292</a>)</li>
<li><a
href="753fd08c5e "><code>753fd08</code></a>
docs: fix FAQ grammar in httplib2 example</li>
<li><a
href="774a0b837a "><code>774a0b8</code></a>
docs(socks): same block as other sections</li>
<li><a
href="9c72a41bec "><code>9c72a41</code></a>
Bump github/codeql-action from 4.33.0 to 4.34.1</li>
<li><a
href="ebf7190679 "><code>ebf7190</code></a>
Bump github/codeql-action from 4.32.0 to 4.33.0</li>
<li><a
href="0e4ae38f0c "><code>0e4ae38</code></a>
docs: exclude Response.is_permanent_redirect from API docs (<a
href="https://redirect.github.com/psf/requests/issues/7244 ">#7244</a>)</li>
<li><a
href="d568f47278 "><code>d568f47</code></a>
docs: clarify Quickstart POST example (<a
href="https://redirect.github.com/psf/requests/issues/6960 ">#6960</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/psf/requests/compare/v2.32.5...v2.33.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-03-26 22:32:58 -07:00
Mason Daugherty
1778b082ec
chore(partners): bump langchain-core min to 1.2.21 ( #36183 )
...
Bump the minimum `langchain-core` dependency to `>=1.2.21` across all 14
partner packages in the monorepo. Aligns partner lower bounds with the
latest core release so consumers pick up recent fixes (notably the
`ModelProfile` schema drift fix from core 1.2.21).
2026-03-23 19:39:35 -04:00
Mason Daugherty
2f64d80cc6
fix(core,model-profiles): add missing ModelProfile fields, warn on schema drift ( #36129 )
...
PR #35788 added 7 new fields to the `langchain-profiles` CLI output
(`name`, `status`, `release_date`, `last_updated`, `open_weights`,
`attachment`, `temperature`) but didn't update `ModelProfile` in
`langchain-core`. Partner packages like `langchain-aws` that set
`extra="forbid"` on their Pydantic models hit `extra_forbidden`
validation errors when Pydantic encountered undeclared TypedDict keys at
construction time. This adds the missing fields, makes `ModelProfile`
forward-compatible, provides a base-class hook so partners can stop
duplicating model-profile validator boilerplate, migrates all in-repo
partners to the new hook, and adds runtime + CI-time warnings for schema
drift.
## Changes
### `langchain-core`
- Add `__pydantic_config__ = ConfigDict(extra="allow")` to
`ModelProfile` so unknown profile keys pass Pydantic validation even on
models with `extra="forbid"` — forward-compatibility for when the CLI
schema evolves ahead of core
- Declare the 7 missing fields on `ModelProfile`: `name`, `status`,
`release_date`, `last_updated`, `open_weights` (metadata) and
`attachment`, `temperature` (capabilities)
- Add `_warn_unknown_profile_keys()` in `model_profile.py` — emits a
`UserWarning` when a profile dict contains keys not in `ModelProfile`,
suggesting a core upgrade. Wrapped in a bare `except` so introspection
failures never crash model construction
- Add `BaseChatModel._resolve_model_profile()` hook that returns `None`
by default. Partners can override this single method instead of
redefining the full `_set_model_profile` validator — the base validator
calls it automatically
- Add `BaseChatModel._check_profile_keys` as a separate
`model_validator` that calls `_warn_unknown_profile_keys`. Uses a
distinct method name so partner overrides of `_set_model_profile` don't
inadvertently suppress the check
### `langchain-profiles` CLI
- Add `_warn_undeclared_profile_keys()` to the CLI (`cli.py`), called
after merging augmentations in `refresh()` — warns at profile-generation
time (not just runtime) when emitted keys aren't declared in
`ModelProfile`. Gracefully skips if `langchain-core` isn't installed
- Add guard test
`test_model_data_to_profile_keys_subset_of_model_profile` in
model-profiles — feeds a fully-populated model dict to
`_model_data_to_profile()` and asserts every emitted key exists in
`ModelProfile.__annotations__`. CI fails before any release if someone
adds a CLI field without updating the TypedDict
### Partner packages
- Migrate all 10 in-repo partners to the `_resolve_model_profile()`
hook, replacing duplicated `@model_validator` / `_set_model_profile`
overrides: anthropic, deepseek, fireworks, groq, huggingface, mistralai,
openai (base + azure), openrouter, perplexity, xai
- Anthropic retains custom logic (context-1m beta → `max_input_tokens`
override); all others reduce to a one-liner
- Add `pr_lint.yml` scope for the new `model-profiles` package
2026-03-23 00:44:27 -04:00
Facundo Santiago
491eb9d1af
fix(langchain,langchain-classic): update model provider classes for Azure AI Foundry ( #35812 )
...
Fixes #35811
Updates support for the "azure_ai" provider in both chat model and
embeddings initialization, ensuring consistency across the codebase and
removing the use of deprecated classes `AzureAIChatCompletionsModel` and
`AzureAIEmbeddingsModel`. The changes primarily involve updating
provider mappings and instantiation logic for Azure AI integrations.
**Changes:**
* Updated the chat model initialization logic in `langchain_classic` and
`langchain_v1` to use `AzureAIOpenAIApiChatModel` instead of the
deprecated `AzureAIChatCompletionsModel` for the "azure_ai" provider.
[[1]](diffhunk://#diff-969731928b9d70dac2677539a711478df103ce70024b4c61e95bd7b584bb841dL395-R398)
[[2]](diffhunk://#diff-31b725e3fe9b2f92342af5cda9bf6e61c4bc0b69efd8c25743269f45c52571b2L41-R41)
* Added support for the "azure_ai" provider in embeddings
initialization, mapping it to the new `AzureAIOpenAIApiEmbeddingsModel`
class in both `langchain_classic` and `langchain_v1`.
[[1]](diffhunk://#diff-9490c8d3daa7c5b66d10ce2961f2bc1a6a35005150125c905316adb728bf80d6R9)
[[2]](diffhunk://#diff-9490c8d3daa7c5b66d10ce2961f2bc1a6a35005150125c905316adb728bf80d6R209-R212)
[[3]](diffhunk://#diff-d37aa14c07863cc184800713b88a9c25fdb43efd1a4daa31df3ecabb2f70f177R16)
---------
Co-authored-by: Mason Daugherty <github@mdrxy.com >
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2026-03-19 19:35:49 -04:00
Mason Daugherty
d1e5bd6274
release(langchain): 1.2.13 ( #36111 )
2026-03-19 13:12:37 -04:00
Mason Daugherty
faadc1f3ce
ci: suppress pytest streaming output in CI ( #36092 )
...
Reduce CI log noise by suppressing pytest's per-test dot/verbose
streaming output. The `_test.yml` workflow now passes `PYTEST_EXTRA=-q`
to `make test`, which overrides the default verbosity with quiet mode —
failures still print in full, but the thousands of `.......` progress
lines are gone. Local `make test` is unaffected since `PYTEST_EXTRA`
defaults empty.
## Changes
- Add `PYTEST_EXTRA ?=` variable to all 21 package Makefiles and inject
it into each `test` target's pytest invocation
- Pass `PYTEST_EXTRA=-q` in `_test.yml` for both the main test step and
the min-version retest step
2026-03-18 21:24:47 -04:00
Tanushree
2319fdc978
feat: Add LangSmith integration metadata to create_agent and init_chat_model ( #35810 )
2026-03-18 11:24:08 -04:00
Mason Daugherty
07fa576de1
ci: avoid unnecessary dep installs in lint targets ( #36046 )
...
CI lint jobs use `uv run --all-groups` for all tools, but ruff doesn't
need dependency resolution — only mypy does. By splitting into
`UV_RUN_LINT` (ruff) and `UV_RUN_TYPE` (mypy), the CI-facing targets run
ruff with `--group lint` only, giving fast-fail feedback before mypy
triggers the full environment sync.
For packages where source code only conditionally imports heavy deps
(text-splitters, huggingface), `lint_package` also overrides
`UV_RUN_TYPE` to `--group lint --group typing`, skipping the ~3.5GB
`test_integration` download entirely. `lint_tests` keeps `--all-groups`
since test code legitimately imports those deps.
Additionally, `lint_imports.sh` was inconsistently wired — most packages
had the script but weren't calling it.
## Changes
**Makefile optimization**
- Introduce `UV_RUN_LINT` and `UV_RUN_TYPE` Make variables, both
defaulting to `uv run --all-groups`. For `lint_package` and
`lint_tests`, `UV_RUN_LINT` is overridden to `uv run --group lint` so
ruff runs instantly without syncing heavy deps
- For `text-splitters` and `huggingface`, override `UV_RUN_TYPE` on
`lint_package` to `uv run --group lint --group typing` — mypy runs
without downloading torch, CUDA, spacy, etc.
**mypy config for lean groups**
- Add `transformers` and `transformers.*` to `ignore_missing_imports` in
`text-splitters` pyproject.toml (conditional `try/except` import, same
treatment as existing `konlpy`/`nltk` entries)
- Add `torch`, `torch.*`, `langchain_community`, `langchain_community.*`
to `ignore_missing_imports` in `huggingface` pyproject.toml
- Add dual `# type: ignore[unreachable, unused-ignore]` in
`text-splitters/base.py` to handle the `PreTrainedTokenizerBase`
isinstance check that behaves differently depending on whether
transformers is installed
**lint_imports.sh consistency**
- Add `./scripts/lint_imports.sh` to the lint recipe in every package
that wasn't calling it (standard-tests, model-profiles, all 15
partners), and create the script for the two packages missing it
entirely (`model-profiles`, `openrouter`)
- Update all `lint_imports.sh` scripts to allow `from langchain.agents`
and `from langchain.tools` imports (legitimate v1 middleware
dependencies used by `langchain-anthropic` and `langchain-openai`)
2026-03-17 21:23:29 -04:00
dependabot[bot]
81c679e378
chore: bump pyasn1 from 0.6.2 to 0.6.3 in /libs/langchain_v1 ( #36029 )
...
Bumps [pyasn1](https://github.com/pyasn1/pyasn1 ) from 0.6.2 to 0.6.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pyasn1/pyasn1/releases ">pyasn1's
releases</a>.</em></p>
<blockquote>
<h2>Release 0.6.3</h2>
<p>It's a minor release.</p>
<ul>
<li>Added nesting depth limit to ASN.1 decoder to prevent stack overflow
from deeply nested structures (CVE-2026-30922).</li>
<li>Fixed OverflowError from oversized BER length field.</li>
<li>Fixed DeprecationWarning stacklevel for deprecated attributes.</li>
<li>Fixed asDateTime incorrect fractional seconds parsing.</li>
</ul>
<p>All changes are noted in the <a
href="https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst ">CHANGELOG</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst ">pyasn1's
changelog</a>.</em></p>
<blockquote>
<h2>Revision 0.6.3, released 16-03-2026</h2>
<ul>
<li>CVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth
limit to ASN.1 decoder to prevent stack overflow from deeply
nested structures (thanks for reporting, romanticpragmatism)</li>
<li>Fixed OverflowError from oversized BER length field
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/54 ">#54</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/54 ">pyasn1/pyasn1#54</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/100 ">#100</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/100 ">pyasn1/pyasn1#100</a>)</li>
<li>Fixed DeprecationWarning stacklevel for deprecated attributes
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/86 ">#86</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/86 ">pyasn1/pyasn1#86</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/101 ">#101</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/101 ">pyasn1/pyasn1#101</a>)</li>
<li>Fixed asDateTime incorrect fractional seconds parsing
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/81 ">#81</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/81 ">pyasn1/pyasn1#81</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/102 ">#102</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/102 ">pyasn1/pyasn1#102</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="af65c3b92e "><code>af65c3b</code></a>
Prepare release 0.6.3</li>
<li><a
href="5a49bd1fe9 "><code>5a49bd1</code></a>
Merge commit from fork</li>
<li><a
href="5494ba43f7 "><code>5494ba4</code></a>
Fix asDateTime incorrect fractional seconds parsing (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/102 ">#102</a>)</li>
<li><a
href="71f486e6c3 "><code>71f486e</code></a>
Fix DeprecationWarning stacklevel for deprecated attributes (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/101 ">#101</a>)</li>
<li><a
href="d7cb42dcaa "><code>d7cb42d</code></a>
Fix OverflowError from oversized BER length field (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/100 ">#100</a>)</li>
<li>See full diff in <a
href="https://github.com/pyasn1/pyasn1/compare/v0.6.2...v0.6.3 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-03-17 14:37:44 -04:00
dependabot[bot]
ceca192515
chore: bump pyjwt from 2.10.1 to 2.12.0 in /libs/langchain_v1 ( #36024 )
...
Bumps [pyjwt](https://github.com/jpadilla/pyjwt ) from 2.10.1 to 2.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/releases ">pyjwt's
releases</a>.</em></p>
<blockquote>
<h2>2.12.0</h2>
<h2>Security</h2>
<ul>
<li>Validate the crit (Critical) Header Parameter defined in RFC 7515
§4.1.11. by <a
href="https://github.com/dmbs335 "><code>@dmbs335</code></a> in <a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f ">GHSA-752w-5fwx-jx9f</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1132 ">jpadilla/pyjwt#1132</a></li>
<li>chore(docs): fix docs build by <a
href="https://github.com/tamird "><code>@tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1137 ">jpadilla/pyjwt#1137</a></li>
<li>Annotate PyJWKSet.keys for pyright by <a
href="https://github.com/tamird "><code>@tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1134 ">jpadilla/pyjwt#1134</a></li>
<li>fix: close HTTPError to prevent ResourceWarning on Python 3.14 by <a
href="https://github.com/veeceey "><code>@veeceey</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1133 ">jpadilla/pyjwt#1133</a></li>
<li>chore: remove superfluous constants by <a
href="https://github.com/tamird "><code>@tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1136 ">jpadilla/pyjwt#1136</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1135 ">jpadilla/pyjwt#1135</a></li>
<li>chore(tests): enable mypy by <a
href="https://github.com/tamird "><code>@tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1138 ">jpadilla/pyjwt#1138</a></li>
<li>Bump actions/download-artifact from 7 to 8 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1142 ">jpadilla/pyjwt#1142</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1141 ">jpadilla/pyjwt#1141</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1145 ">jpadilla/pyjwt#1145</a></li>
<li>fix: do not store reference to algorithms dict on PyJWK by <a
href="https://github.com/akx "><code>@akx</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1143 ">jpadilla/pyjwt#1143</a></li>
<li>Use PyJWK algorithm when encoding without explicit algorithm by <a
href="https://github.com/jpadilla "><code>@jpadilla</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1148 ">jpadilla/pyjwt#1148</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tamird "><code>@tamird</code></a> made
their first contribution in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1137 ">jpadilla/pyjwt#1137</a></li>
<li><a href="https://github.com/veeceey "><code>@veeceey</code></a> made
their first contribution in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1133 ">jpadilla/pyjwt#1133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0 ">https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0 </a></p>
<h2>2.11.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixed type error in comment by <a
href="https://github.com/shuhaib-aot "><code>@shuhaib-aot</code></a> in
<a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1026 ">jpadilla/pyjwt#1026</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1018 ">jpadilla/pyjwt#1018</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1033 ">jpadilla/pyjwt#1033</a></li>
<li>Make note of use of leeway with nbf by <a
href="https://github.com/djw8605 "><code>@djw8605</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1034 ">jpadilla/pyjwt#1034</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1035 ">jpadilla/pyjwt#1035</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/964 ">#964</a>:
Validate key against allowed types for Algorithm family by <a
href="https://github.com/pachewise "><code>@pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/985 ">jpadilla/pyjwt#985</a></li>
<li>Feat <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1024 ">#1024</a>:
Add iterator for PyJWKSet by <a
href="https://github.com/pachewise "><code>@pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1041 ">jpadilla/pyjwt#1041</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1039 ">#1039</a>:
Add iss, issuer type checks by <a
href="https://github.com/pachewise "><code>@pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1040 ">jpadilla/pyjwt#1040</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/660 ">#660</a>:
Improve typing/logic for <code>options</code> in decode,
decode_complete; Improve docs by <a
href="https://github.com/pachewise "><code>@pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1045 ">jpadilla/pyjwt#1045</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1042 ">jpadilla/pyjwt#1042</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1052 ">jpadilla/pyjwt#1052</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1053 ">jpadilla/pyjwt#1053</a></li>
<li>Fix <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1022 ">#1022</a>:
Map <code>algorithm=None</code> to "none" by <a
href="https://github.com/qqii "><code>@qqii</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1056 ">jpadilla/pyjwt#1056</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1055 ">jpadilla/pyjwt#1055</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1058 ">jpadilla/pyjwt#1058</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1060 ">jpadilla/pyjwt#1060</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1061 ">jpadilla/pyjwt#1061</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1047 ">#1047</a>:
Correct <code>PyJWKClient.get_signing_key_from_jwt</code> annotation by
<a href="https://github.com/khvn26 "><code>@khvn26</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1048 ">jpadilla/pyjwt#1048</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1062 ">jpadilla/pyjwt#1062</a></li>
<li>Fixed doc string typo in _validate_jti() function <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1063 ">#1063</a>
by <a
href="https://github.com/kuldeepkhatke "><code>@kuldeepkhatke</code></a>
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1064 ">jpadilla/pyjwt#1064</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1065 ">jpadilla/pyjwt#1065</a></li>
<li>Update SECURITY.md by <a
href="https://github.com/auvipy "><code>@auvipy</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1057 ">jpadilla/pyjwt#1057</a></li>
<li>Typing fix: use <code>float</code> instead of <code>int</code> for
<code>lifespan</code> and <code>timeout</code> by <a
href="https://github.com/nikitagashkov "><code>@nikitagashkov</code></a>
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1068 ">jpadilla/pyjwt#1068</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci "><code>@pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1067 ">jpadilla/pyjwt#1067</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst ">pyjwt's
changelog</a>.</em></p>
<blockquote>
<h2><code>v2.12.0
<https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0> ;</code>__</h2>
<p>Fixed</p>
<pre><code>
- Annotate PyJWKSet.keys for pyright by @tamird in
`[#1134 ](https://github.com/jpadilla/pyjwt/issues/1134 )
<https://github.com/jpadilla/pyjwt/pull/1134> ;`__
- Close ``HTTPError`` response to prevent ``ResourceWarning`` on Python
3.14 by @veeceey in
`[#1133 ](https://github.com/jpadilla/pyjwt/issues/1133 )
<https://github.com/jpadilla/pyjwt/pull/1133> ;`__
- Do not keep ``algorithms`` dict in PyJWK instances by @akx in
`[#1143 ](https://github.com/jpadilla/pyjwt/issues/1143 )
<https://github.com/jpadilla/pyjwt/pull/1143> ;`__
- Validate the crit (Critical) Header Parameter defined in RFC 7515
§4.1.11. by @dmbs335 in `GHSA-752w-5fwx-jx9f
<https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f> ;`__
- Use PyJWK algorithm when encoding without explicit algorithm in
`[#1148 ](https://github.com/jpadilla/pyjwt/issues/1148 )
<https://github.com/jpadilla/pyjwt/pull/1148> ;`__
<p>Added
</code></pre></p>
<ul>
<li>Docs: Add <code>PyJWKClient</code> API reference and document the
two-tier caching system (JWK Set cache and signing key LRU cache).</li>
</ul>
<h2><code>v2.11.0
<https://github.com/jpadilla/pyjwt/compare/2.10.1...2.11.0> ;</code>__</h2>
<p>Fixed</p>
<pre><code>
- Enforce ECDSA curve validation per RFC 7518 Section 3.4.
- Fix build system warnings by @kurtmckee in
`[#1105 ](https://github.com/jpadilla/pyjwt/issues/1105 )
<https://github.com/jpadilla/pyjwt/pull/1105> ;`__
- Validate key against allowed types for Algorithm family in
`[#964 ](https://github.com/jpadilla/pyjwt/issues/964 )
<https://github.com/jpadilla/pyjwt/pull/964> ;`__
- Add iterator for JWKSet in
`[#1041 ](https://github.com/jpadilla/pyjwt/issues/1041 )
<https://github.com/jpadilla/pyjwt/pull/1041> ;`__
- Validate `iss` claim is a string during encoding and decoding by
@pachewise in `[#1040 ](https://github.com/jpadilla/pyjwt/issues/1040 )
<https://github.com/jpadilla/pyjwt/pull/1040> ;`__
- Improve typing/logic for `options` in decode, decode_complete by
@pachewise in `[#1045 ](https://github.com/jpadilla/pyjwt/issues/1045 )
<https://github.com/jpadilla/pyjwt/pull/1045> ;`__
- Declare float supported type for lifespan and timeout by
@nikitagashkov in
`[#1068 ](https://github.com/jpadilla/pyjwt/issues/1068 )
<https://github.com/jpadilla/pyjwt/pull/1068> ;`__
- Fix ``SyntaxWarning``\s/``DeprecationWarning``\s caused by invalid
escape sequences by @kurtmckee in
`[#1103 ](https://github.com/jpadilla/pyjwt/issues/1103 )
<https://github.com/jpadilla/pyjwt/pull/1103> ;`__
- Development: Build a shared wheel once to speed up test suite setup
times by @kurtmckee in
`[#1114 ](https://github.com/jpadilla/pyjwt/issues/1114 )
<https://github.com/jpadilla/pyjwt/pull/1114> ;`__
- Development: Test type annotations across all supported Python
versions,
increase the strictness of the type checking, and remove the mypy
pre-commit hook
by @kurtmckee in `[#1112 ](https://github.com/jpadilla/pyjwt/issues/1112 )
<https://github.com/jpadilla/pyjwt/pull/1112> ;`__
<p>Added
</code></pre></p>
<ul>
<li>Support Python 3.14, and test against PyPy 3.10 and 3.11 by <a
href="https://github.com/kurtmckee "><code>@kurtmckee</code></a> in
<code>[#1104 ](https://github.com/jpadilla/pyjwt/issues/1104 )
<https://github.com/jpadilla/pyjwt/pull/1104> ;</code>__</li>
<li>Development: Migrate to <code>build</code> to test package building
in CI by <a
href="https://github.com/kurtmckee "><code>@kurtmckee</code></a> in
<code>[#1108 ](https://github.com/jpadilla/pyjwt/issues/1108 )
<https://github.com/jpadilla/pyjwt/pull/1108> ;</code>__</li>
<li>Development: Improve coverage config and eliminate unused test suite
code by <a
href="https://github.com/kurtmckee "><code>@kurtmckee</code></a> in
<code>[#1115 ](https://github.com/jpadilla/pyjwt/issues/1115 )
<https://github.com/jpadilla/pyjwt/pull/1115> ;</code>__</li>
<li>Docs: Standardize CHANGELOG links to PRs by <a
href="https://github.com/kurtmckee "><code>@kurtmckee</code></a> in
<code>[#1110 ](https://github.com/jpadilla/pyjwt/issues/1110 )
<https://github.com/jpadilla/pyjwt/pull/1110> ;</code>__</li>
<li>Docs: Fix Read the Docs builds by <a
href="https://github.com/kurtmckee "><code>@kurtmckee</code></a> in
<code>[#1111 ](https://github.com/jpadilla/pyjwt/issues/1111 )
<https://github.com/jpadilla/pyjwt/pull/1111> ;</code>__</li>
<li>Docs: Add example of using leeway with nbf by <a
href="https://github.com/djw8605 "><code>@djw8605</code></a> in
<code>[#1034 ](https://github.com/jpadilla/pyjwt/issues/1034 )
<https://github.com/jpadilla/pyjwt/pull/1034> ;</code>__</li>
<li>Docs: Refactored docs with <code>autodoc</code>; added
<code>PyJWS</code> and <code>jwt.algorithms</code> docs by <a
href="https://github.com/pachewise "><code>@pachewise</code></a> in
<code>[#1045 ](https://github.com/jpadilla/pyjwt/issues/1045 )
<https://github.com/jpadilla/pyjwt/pull/1045> ;</code>__</li>
<li>Docs: Documentation improvements for "sub" and
"jti" claims by <a
href="https://github.com/cleder "><code>@cleder</code></a> in
<code>[#1088 ](https://github.com/jpadilla/pyjwt/issues/1088 )
<https://github.com/jpadilla/pyjwt/pull/1088> ;</code>__</li>
<li>Development: Add pyupgrade as a pre-commit hook by <a
href="https://github.com/kurtmckee "><code>@kurtmckee</code></a> in
<code>[#1109 ](https://github.com/jpadilla/pyjwt/issues/1109 )
<https://github.com/jpadilla/pyjwt/pull/1109> ;</code>__</li>
<li>Add minimum key length validation for HMAC and RSA keys (CWE-326).
Warns by default via <code>InsecureKeyLengthWarning</code> when keys are
below</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bd9700cca7 "><code>bd9700c</code></a>
Use PyJWK algorithm when encoding without explicit algorithm (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1148 ">#1148</a>)</li>
<li><a
href="051ea341b5 "><code>051ea34</code></a>
Merge commit from fork</li>
<li><a
href="1451d70eca "><code>1451d70</code></a>
fix: do not store reference to algorithms dict on PyJWK (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1143 ">#1143</a>)</li>
<li><a
href="f3ba74c106 "><code>f3ba74c</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1145 ">#1145</a>)</li>
<li><a
href="0318ffa7b1 "><code>0318ffa</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1141 ">#1141</a>)</li>
<li><a
href="a52753db3c "><code>a52753d</code></a>
Bump actions/download-artifact from 7 to 8 (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1142 ">#1142</a>)</li>
<li><a
href="b85050f1d4 "><code>b85050f</code></a>
chore(tests): enable mypy (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1138 ">#1138</a>)</li>
<li><a
href="1272b26477 "><code>1272b26</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1135 ">#1135</a>)</li>
<li><a
href="99a87287c2 "><code>99a8728</code></a>
chore: remove superfluous constants (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1136 ">#1136</a>)</li>
<li><a
href="412cb67a93 "><code>412cb67</code></a>
fix: close HTTPError to prevent ResourceWarning on Python 3.14 (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1133 ">#1133</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jpadilla/pyjwt/compare/2.10.1...2.12.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](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-03-17 11:16:43 -07:00
november-pain
eff9210496
fix(langchain): export Runtime from agents.middleware ( #35975 )
2026-03-17 11:00:41 -04:00
Mason Daugherty
2bad58a809
chore: bump locks, lint ( #35985 )
2026-03-16 23:59:08 -04:00
Giulio Leone
9e4a6013be
fix(openai): add type: message to Responses API input items ( #35693 )
2026-03-15 12:43:16 -04:00
dependabot[bot]
721b7e1cbd
chore: bump black from 25.11.0 to 26.3.1 in /libs/langchain_v1 ( #35802 )
2026-03-13 21:39:16 -04:00
dependabot[bot]
44e8e83872
chore: bump orjson from 3.11.5 to 3.11.6 in /libs/langchain_v1 ( #35807 )
2026-03-13 21:37:25 -04:00
Mason Daugherty
4f400be31d
chore(langchain): add baseten to _BUILTIN_PROVIDERS ( #35777 )
2026-03-11 22:09:33 -04:00
Sydney Runkle
2a137bf491
release(langchain_v1): 1.2.12 ( #35770 )
2026-03-11 22:18:08 +00:00
Sydney Runkle
25f94eecce
feat: tracing for wrap model + tool call ( #35765 )
...
Adding tracing for `wrap_model_call` and `wrap_tool_call`
Scrubbing `request.runtime` and `handler` for now
`wrap_model_call`:
<img width="1292" height="433" alt="Screenshot 2026-03-11 at 2 22 31 PM"
src="https://github.com/user-attachments/assets/7717ef52-1498-41cf-97da-93e171377c9f "
/>
`wrap_tool_call`:
<img width="1301" height="664" alt="Screenshot 2026-03-11 at 2 22 50 PM"
src="https://github.com/user-attachments/assets/8722b28a-2482-40cf-911e-dae5cd383373 "
/>
2026-03-11 15:57:41 -04:00
Sydney Runkle
057c484ba2
release(langchain_v1): 1.2.11 ( #35723 )
2026-03-10 19:38:33 +00:00
Giulio Leone
46fdade7e6
fix(langchain): normalize custom detector output to prevent KeyError in hash/mask strategies ( #35651 )
2026-03-08 15:07:36 -04:00
dependabot[bot]
752cf2611f
chore: bump the minor-and-patch group across 3 directories with 7 updates ( #35605 )
...
Bumps the minor-and-patch group with 2 updates in the /libs/core
directory: [langsmith](https://github.com/langchain-ai/langsmith-sdk )
and [ruff](https://github.com/astral-sh/ruff ).
Bumps the minor-and-patch group with 5 updates in the /libs/langchain
directory:
| Package | From | To |
| --- | --- | --- |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk ) | `0.7.9` |
`0.7.13` |
| [ruff](https://github.com/astral-sh/ruff ) | `0.15.4` | `0.15.5` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy ) | `2.0.47` |
`2.0.48` |
| [langchain-huggingface](https://github.com/langchain-ai/langchain ) |
`1.2.0` | `1.2.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `2.1.1` | `2.1.2`
|
Bumps the minor-and-patch group with 4 updates in the /libs/langchain_v1
directory: [ruff](https://github.com/astral-sh/ruff ),
[langchain-huggingface](https://github.com/langchain-ai/langchain ),
[wrapt](https://github.com/GrahamDumpleton/wrapt ) and
[langchain-azure-ai](https://github.com/langchain-ai/langchain-azure ).
Updates `langsmith` from 0.7.9 to 0.7.13
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.13</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: initialize otel exporter before background thread by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2526 ">langchain-ai/langsmith-sdk#2526</a></li>
<li>fix: convert non primitive types to JSON strings by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2527 ">langchain-ai/langsmith-sdk#2527</a></li>
<li>fix: missing await by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2528 ">langchain-ai/langsmith-sdk#2528</a></li>
<li>fix: bump minimatch to resolve CVE-2026-27903 by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2502 ">langchain-ai/langsmith-sdk#2502</a></li>
<li>feat(py): add experiment-level metadata to pytest integration by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2524 ">langchain-ai/langsmith-sdk#2524</a></li>
<li>Bump version: 0.7.12 → 0.7.13 by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2531 ">langchain-ai/langsmith-sdk#2531</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 </a></p>
<h2>v0.7.12</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: sample before transform in ingest by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2488 ">langchain-ai/langsmith-sdk#2488</a></li>
<li>chore: bump version by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2521 ">langchain-ai/langsmith-sdk#2521</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 </a></p>
<h2>v0.7.11</h2>
<h2>What's Changed</h2>
<ul>
<li>add get insights reports with runs by <a
href="https://github.com/Palashio "><code>@Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517 ">langchain-ai/langsmith-sdk#2517</a></li>
<li>bump version for insights sdk changes by <a
href="https://github.com/Palashio "><code>@Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2520 ">langchain-ai/langsmith-sdk#2520</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Palashio "><code>@Palashio</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517 ">langchain-ai/langsmith-sdk#2517</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11 </a></p>
<h2>v0.7.10</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 9 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2490 ">langchain-ai/langsmith-sdk#2490</a></li>
<li>fix: update deprecated model and re-record VCR cassettes by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2503 ">langchain-ai/langsmith-sdk#2503</a></li>
<li>chore(deps): bump minimatch from 3.1.2 to 3.1.5 in
/js/internal/environment_tests/test-exports-metro in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2489 ">langchain-ai/langsmith-sdk#2489</a></li>
<li>fix: memory leak in _cached_attachment_args when tracing closures by
<a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2515 ">langchain-ai/langsmith-sdk#2515</a></li>
<li>Bump version: 0.7.9 → 0.7.10 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2516 ">langchain-ai/langsmith-sdk#2516</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="22c21bff7d "><code>22c21bf</code></a>
Bump version: 0.7.12 → 0.7.13 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2531 ">#2531</a>)</li>
<li><a
href="5d17205b85 "><code>5d17205</code></a>
feat(py): add experiment-level metadata to pytest integration (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2524 ">#2524</a>)</li>
<li><a
href="1412ad4bfe "><code>1412ad4</code></a>
fix: bump minimatch to resolve CVE-2026-27903 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2502 ">#2502</a>)</li>
<li><a
href="da0d6e3f13 "><code>da0d6e3</code></a>
fix: missing await (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2528 ">#2528</a>)</li>
<li><a
href="9f587d5f45 "><code>9f587d5</code></a>
fix: convert non primitive types to JSON strings (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2527 ">#2527</a>)</li>
<li><a
href="0efa7fb188 "><code>0efa7fb</code></a>
fix: initialize otel exporter before background thread (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2526 ">#2526</a>)</li>
<li><a
href="51d4e0b867 "><code>51d4e0b</code></a>
chore: bump version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2521 ">#2521</a>)</li>
<li><a
href="f8db5d1542 "><code>f8db5d1</code></a>
fix: sample before transform in ingest (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2488 ">#2488</a>)</li>
<li><a
href="4ffc9417eb "><code>4ffc941</code></a>
bump version for insights sdk changes (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2520 ">#2520</a>)</li>
<li><a
href="502cbb6c52 "><code>502cbb6</code></a>
add get insights reports with runs (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2517 ">#2517</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.13 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.4 to 0.15.5
<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.5</h2>
<h2>Release Notes</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
<h2>Install ruff 0.15.5</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.5/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<!-- 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.5</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5e4a3d9c3b "><code>5e4a3d9</code></a>
Bump 0.15.5 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23743 ">#23743</a>)</li>
<li><a
href="69c23cc5a3 "><code>69c23cc</code></a>
[ty] Render all changed diagnostics in conformance.py (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23613 ">#23613</a>)</li>
<li><a
href="4926bd5820 "><code>4926bd5</code></a>
[ty] Split deferred checks out of <code>types/infer/builder.rs</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23740 ">#23740</a>)</li>
<li><a
href="9a70f5eb2f "><code>9a70f5e</code></a>
Discover markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23434 ">#23434</a>)</li>
<li><a
href="3dc78b0a84 "><code>3dc78b0</code></a>
[ty] Use <code>HasOptionalDefinition</code> for <code>except</code>
handlers (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23739 ">#23739</a>)</li>
<li><a
href="a6a5e8d10b "><code>a6a5e8d</code></a>
[ty] Fix precedence of <code>all</code> selector in TOML configurations
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23723 ">#23723</a>)</li>
<li><a
href="2a5384b0b6 "><code>2a5384b</code></a>
[ty] Make <code>all</code> selector case sensitive (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23713 ">#23713</a>)</li>
<li><a
href="db77d7b2ae "><code>db77d7b</code></a>
[ty] Add a diagnostic if a <code>TypeVar</code> is used to specialize a
<code>ParamSpec</code>, or ...</li>
<li><a
href="db2849068f "><code>db28490</code></a>
[ty] Override home directory in ty tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23724 ">#23724</a>)</li>
<li><a
href="5f0fd91a23 "><code>5f0fd91</code></a>
[ty] More type-variable default validation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23639 ">#23639</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.4...0.15.5 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.9 to 0.7.13
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.13</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: initialize otel exporter before background thread by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2526 ">langchain-ai/langsmith-sdk#2526</a></li>
<li>fix: convert non primitive types to JSON strings by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2527 ">langchain-ai/langsmith-sdk#2527</a></li>
<li>fix: missing await by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2528 ">langchain-ai/langsmith-sdk#2528</a></li>
<li>fix: bump minimatch to resolve CVE-2026-27903 by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2502 ">langchain-ai/langsmith-sdk#2502</a></li>
<li>feat(py): add experiment-level metadata to pytest integration by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2524 ">langchain-ai/langsmith-sdk#2524</a></li>
<li>Bump version: 0.7.12 → 0.7.13 by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2531 ">langchain-ai/langsmith-sdk#2531</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 </a></p>
<h2>v0.7.12</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: sample before transform in ingest by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2488 ">langchain-ai/langsmith-sdk#2488</a></li>
<li>chore: bump version by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2521 ">langchain-ai/langsmith-sdk#2521</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 </a></p>
<h2>v0.7.11</h2>
<h2>What's Changed</h2>
<ul>
<li>add get insights reports with runs by <a
href="https://github.com/Palashio "><code>@Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517 ">langchain-ai/langsmith-sdk#2517</a></li>
<li>bump version for insights sdk changes by <a
href="https://github.com/Palashio "><code>@Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2520 ">langchain-ai/langsmith-sdk#2520</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Palashio "><code>@Palashio</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517 ">langchain-ai/langsmith-sdk#2517</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11 </a></p>
<h2>v0.7.10</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 9 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2490 ">langchain-ai/langsmith-sdk#2490</a></li>
<li>fix: update deprecated model and re-record VCR cassettes by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2503 ">langchain-ai/langsmith-sdk#2503</a></li>
<li>chore(deps): bump minimatch from 3.1.2 to 3.1.5 in
/js/internal/environment_tests/test-exports-metro in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2489 ">langchain-ai/langsmith-sdk#2489</a></li>
<li>fix: memory leak in _cached_attachment_args when tracing closures by
<a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2515 ">langchain-ai/langsmith-sdk#2515</a></li>
<li>Bump version: 0.7.9 → 0.7.10 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2516 ">langchain-ai/langsmith-sdk#2516</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="22c21bff7d "><code>22c21bf</code></a>
Bump version: 0.7.12 → 0.7.13 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2531 ">#2531</a>)</li>
<li><a
href="5d17205b85 "><code>5d17205</code></a>
feat(py): add experiment-level metadata to pytest integration (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2524 ">#2524</a>)</li>
<li><a
href="1412ad4bfe "><code>1412ad4</code></a>
fix: bump minimatch to resolve CVE-2026-27903 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2502 ">#2502</a>)</li>
<li><a
href="da0d6e3f13 "><code>da0d6e3</code></a>
fix: missing await (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2528 ">#2528</a>)</li>
<li><a
href="9f587d5f45 "><code>9f587d5</code></a>
fix: convert non primitive types to JSON strings (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2527 ">#2527</a>)</li>
<li><a
href="0efa7fb188 "><code>0efa7fb</code></a>
fix: initialize otel exporter before background thread (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2526 ">#2526</a>)</li>
<li><a
href="51d4e0b867 "><code>51d4e0b</code></a>
chore: bump version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2521 ">#2521</a>)</li>
<li><a
href="f8db5d1542 "><code>f8db5d1</code></a>
fix: sample before transform in ingest (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2488 ">#2488</a>)</li>
<li><a
href="4ffc9417eb "><code>4ffc941</code></a>
bump version for insights sdk changes (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2520 ">#2520</a>)</li>
<li><a
href="502cbb6c52 "><code>502cbb6</code></a>
add get insights reports with runs (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2517 ">#2517</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.13 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.4 to 0.15.5
<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.5</h2>
<h2>Release Notes</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
<h2>Install ruff 0.15.5</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.5/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<!-- 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.5</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5e4a3d9c3b "><code>5e4a3d9</code></a>
Bump 0.15.5 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23743 ">#23743</a>)</li>
<li><a
href="69c23cc5a3 "><code>69c23cc</code></a>
[ty] Render all changed diagnostics in conformance.py (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23613 ">#23613</a>)</li>
<li><a
href="4926bd5820 "><code>4926bd5</code></a>
[ty] Split deferred checks out of <code>types/infer/builder.rs</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23740 ">#23740</a>)</li>
<li><a
href="9a70f5eb2f "><code>9a70f5e</code></a>
Discover markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23434 ">#23434</a>)</li>
<li><a
href="3dc78b0a84 "><code>3dc78b0</code></a>
[ty] Use <code>HasOptionalDefinition</code> for <code>except</code>
handlers (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23739 ">#23739</a>)</li>
<li><a
href="a6a5e8d10b "><code>a6a5e8d</code></a>
[ty] Fix precedence of <code>all</code> selector in TOML configurations
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23723 ">#23723</a>)</li>
<li><a
href="2a5384b0b6 "><code>2a5384b</code></a>
[ty] Make <code>all</code> selector case sensitive (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23713 ">#23713</a>)</li>
<li><a
href="db77d7b2ae "><code>db77d7b</code></a>
[ty] Add a diagnostic if a <code>TypeVar</code> is used to specialize a
<code>ParamSpec</code>, or ...</li>
<li><a
href="db2849068f "><code>db28490</code></a>
[ty] Override home directory in ty tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23724 ">#23724</a>)</li>
<li><a
href="5f0fd91a23 "><code>5f0fd91</code></a>
[ty] More type-variable default validation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23639 ">#23639</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.4...0.15.5 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.4 to 0.15.5
<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.5</h2>
<h2>Release Notes</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
<h2>Install ruff 0.15.5</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.5/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<!-- 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.5</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5e4a3d9c3b "><code>5e4a3d9</code></a>
Bump 0.15.5 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23743 ">#23743</a>)</li>
<li><a
href="69c23cc5a3 "><code>69c23cc</code></a>
[ty] Render all changed diagnostics in conformance.py (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23613 ">#23613</a>)</li>
<li><a
href="4926bd5820 "><code>4926bd5</code></a>
[ty] Split deferred checks out of <code>types/infer/builder.rs</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23740 ">#23740</a>)</li>
<li><a
href="9a70f5eb2f "><code>9a70f5e</code></a>
Discover markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23434 ">#23434</a>)</li>
<li><a
href="3dc78b0a84 "><code>3dc78b0</code></a>
[ty] Use <code>HasOptionalDefinition</code> for <code>except</code>
handlers (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23739 ">#23739</a>)</li>
<li><a
href="a6a5e8d10b "><code>a6a5e8d</code></a>
[ty] Fix precedence of <code>all</code> selector in TOML configurations
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23723 ">#23723</a>)</li>
<li><a
href="2a5384b0b6 "><code>2a5384b</code></a>
[ty] Make <code>all</code> selector case sensitive (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23713 ">#23713</a>)</li>
<li><a
href="db77d7b2ae "><code>db77d7b</code></a>
[ty] Add a diagnostic if a <code>TypeVar</code> is used to specialize a
<code>ParamSpec</code>, or ...</li>
<li><a
href="db2849068f "><code>db28490</code></a>
[ty] Override home directory in ty tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23724 ">#23724</a>)</li>
<li><a
href="5f0fd91a23 "><code>5f0fd91</code></a>
[ty] More type-variable default validation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23639 ">#23639</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.4...0.15.5 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.9 to 0.7.13
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.13</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: initialize otel exporter before background thread by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2526 ">langchain-ai/langsmith-sdk#2526</a></li>
<li>fix: convert non primitive types to JSON strings by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2527 ">langchain-ai/langsmith-sdk#2527</a></li>
<li>fix: missing await by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2528 ">langchain-ai/langsmith-sdk#2528</a></li>
<li>fix: bump minimatch to resolve CVE-2026-27903 by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2502 ">langchain-ai/langsmith-sdk#2502</a></li>
<li>feat(py): add experiment-level metadata to pytest integration by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2524 ">langchain-ai/langsmith-sdk#2524</a></li>
<li>Bump version: 0.7.12 → 0.7.13 by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2531 ">langchain-ai/langsmith-sdk#2531</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 </a></p>
<h2>v0.7.12</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: sample before transform in ingest by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2488 ">langchain-ai/langsmith-sdk#2488</a></li>
<li>chore: bump version by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2521 ">langchain-ai/langsmith-sdk#2521</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 </a></p>
<h2>v0.7.11</h2>
<h2>What's Changed</h2>
<ul>
<li>add get insights reports with runs by <a
href="https://github.com/Palashio "><code>@Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517 ">langchain-ai/langsmith-sdk#2517</a></li>
<li>bump version for insights sdk changes by <a
href="https://github.com/Palashio "><code>@Palashio</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2520 ">langchain-ai/langsmith-sdk#2520</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Palashio "><code>@Palashio</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2517 ">langchain-ai/langsmith-sdk#2517</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.10...v0.7.11 </a></p>
<h2>v0.7.10</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 9 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2490 ">langchain-ai/langsmith-sdk#2490</a></li>
<li>fix: update deprecated model and re-record VCR cassettes by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2503 ">langchain-ai/langsmith-sdk#2503</a></li>
<li>chore(deps): bump minimatch from 3.1.2 to 3.1.5 in
/js/internal/environment_tests/test-exports-metro in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2489 ">langchain-ai/langsmith-sdk#2489</a></li>
<li>fix: memory leak in _cached_attachment_args when tracing closures by
<a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2515 ">langchain-ai/langsmith-sdk#2515</a></li>
<li>Bump version: 0.7.9 → 0.7.10 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2516 ">langchain-ai/langsmith-sdk#2516</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.10 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="22c21bff7d "><code>22c21bf</code></a>
Bump version: 0.7.12 → 0.7.13 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2531 ">#2531</a>)</li>
<li><a
href="5d17205b85 "><code>5d17205</code></a>
feat(py): add experiment-level metadata to pytest integration (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2524 ">#2524</a>)</li>
<li><a
href="1412ad4bfe "><code>1412ad4</code></a>
fix: bump minimatch to resolve CVE-2026-27903 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2502 ">#2502</a>)</li>
<li><a
href="da0d6e3f13 "><code>da0d6e3</code></a>
fix: missing await (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2528 ">#2528</a>)</li>
<li><a
href="9f587d5f45 "><code>9f587d5</code></a>
fix: convert non primitive types to JSON strings (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2527 ">#2527</a>)</li>
<li><a
href="0efa7fb188 "><code>0efa7fb</code></a>
fix: initialize otel exporter before background thread (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2526 ">#2526</a>)</li>
<li><a
href="51d4e0b867 "><code>51d4e0b</code></a>
chore: bump version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2521 ">#2521</a>)</li>
<li><a
href="f8db5d1542 "><code>f8db5d1</code></a>
fix: sample before transform in ingest (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2488 ">#2488</a>)</li>
<li><a
href="4ffc9417eb "><code>4ffc941</code></a>
bump version for insights sdk changes (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2520 ">#2520</a>)</li>
<li><a
href="502cbb6c52 "><code>502cbb6</code></a>
add get insights reports with runs (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2517 ">#2517</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.9...v0.7.13 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.4 to 0.15.5
<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.5</h2>
<h2>Release Notes</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
<h2>Install ruff 0.15.5</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.5/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<!-- 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.5</h2>
<p>Released on 2026-03-05.</p>
<h3>Preview features</h3>
<ul>
<li>Discover Markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23434 ">#23434</a>)</li>
<li>[<code>perflint</code>] Extend <code>PERF102</code> to
comprehensions and generators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23473 ">#23473</a>)</li>
<li>[<code>refurb</code>] Fix <code>FURB101</code> and
<code>FURB103</code> false positives when I/O variable is used later (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23542 ">#23542</a>)</li>
<li>[<code>ruff</code>] Add fix for
<code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22829 ">#22829</a>)</li>
<li>[<code>ruff</code>] Fix false positive for <code>re.split</code>
with empty string pattern (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23634 ">#23634</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>fastapi</code>] Handle callable class dependencies with
<code>__call__</code> method (<code>FAST003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23553 ">#23553</a>)</li>
<li>[<code>pydocstyle</code>] Fix numpy section ordering
(<code>D420</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23685 ">#23685</a>)</li>
<li>[<code>pyflakes</code>] Fix false positive for names shadowing
re-exports (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23356 ">#23356</a>)</li>
<li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code>
elements in <code>UP045</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23459 ">#23459</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document extension mapping for Markdown code formatting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23574 ">#23574</a>)</li>
<li>Update default Python version examples (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23605 ">#23605</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Publish releases to Astral mirror (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23616 ">#23616</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/amyreese "><code>@amyreese</code></a></li>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a
href="https://github.com/chirizxc "><code>@chirizxc</code></a></li>
<li><a
href="https://github.com/anishgirianish "><code>@anishgirianish</code></a></li>
<li><a href="https://github.com/bxff "><code>@bxff</code></a></li>
<li><a href="https://github.com/zsol "><code>@zsol</code></a></li>
<li><a
href="https://github.com/charliermarsh "><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/kar-ganap "><code>@kar-ganap</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5e4a3d9c3b "><code>5e4a3d9</code></a>
Bump 0.15.5 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23743 ">#23743</a>)</li>
<li><a
href="69c23cc5a3 "><code>69c23cc</code></a>
[ty] Render all changed diagnostics in conformance.py (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23613 ">#23613</a>)</li>
<li><a
href="4926bd5820 "><code>4926bd5</code></a>
[ty] Split deferred checks out of <code>types/infer/builder.rs</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23740 ">#23740</a>)</li>
<li><a
href="9a70f5eb2f "><code>9a70f5e</code></a>
Discover markdown files by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23434 ">#23434</a>)</li>
<li><a
href="3dc78b0a84 "><code>3dc78b0</code></a>
[ty] Use <code>HasOptionalDefinition</code> for <code>except</code>
handlers (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23739 ">#23739</a>)</li>
<li><a
href="a6a5e8d10b "><code>a6a5e8d</code></a>
[ty] Fix precedence of <code>all</code> selector in TOML configurations
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23723 ">#23723</a>)</li>
<li><a
href="2a5384b0b6 "><code>2a5384b</code></a>
[ty] Make <code>all</code> selector case sensitive (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23713 ">#23713</a>)</li>
<li><a
href="db77d7b2ae "><code>db77d7b</code></a>
[ty] Add a diagnostic if a <code>TypeVar</code> is used to specialize a
<code>ParamSpec</code>, or ...</li>
<li><a
href="db2849068f "><code>db28490</code></a>
[ty] Override home directory in ty tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23724 ">#23724</a>)</li>
<li><a
href="5f0fd91a23 "><code>5f0fd91</code></a>
[ty] More type-variable default validation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23639 ">#23639</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.4...0.15.5 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.9 to 0.7.13
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.13</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: initialize otel exporter before background thread by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2526 ">langchain-ai/langsmith-sdk#2526</a></li>
<li>fix: convert non primitive types to JSON strings by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2527 ">langchain-ai/langsmith-sdk#2527</a></li>
<li>fix: missing await by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2528 ">langchain-ai/langsmith-sdk#2528</a></li>
<li>fix: bump minimatch to resolve CVE-2026-27903 by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2502 ">langchain-ai/langsmith-sdk#2502</a></li>
<li>feat(py): add experiment-level metadata to pytest integration by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2524 ">langchain-ai/langsmith-sdk#2524</a></li>
<li>Bump version: 0.7.12 → 0.7.13 by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2531 ">langchain-ai/langsmith-sdk#2531</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.12...v0.7.13 </a></p>
<h2>v0.7.12</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: sample before transform in ingest by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2488 ">langchain-ai/langsmith-sdk#2488</a></li>
<li>chore: bump version by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2521 ">langchain-ai/langsmith-sdk#2521</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.11...v0.7.12 </a></p>...
_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-03-06 16:05:45 -08:00
Mason Daugherty
bed4d2686a
chore(langchain): switch refs from gemini-3 to gemini-3.1 ( #35535 )
2026-03-03 10:36:33 -05:00
dependabot[bot]
9619516991
chore: bump the langchain-deps group across 3 directories with 7 updates ( #35513 )
...
Bumps the langchain-deps group with 2 updates in the /libs/core
directory: [langsmith](https://github.com/langchain-ai/langsmith-sdk )
and [ruff](https://github.com/astral-sh/ruff ).
Bumps the langchain-deps group with 6 updates in the /libs/langchain
directory:
| Package | From | To |
| --- | --- | --- |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk ) | `0.7.6` |
`0.7.9` |
| [ruff](https://github.com/astral-sh/ruff ) | `0.15.2` | `0.15.4` |
| [langchain-aws](https://github.com/langchain-ai/langchain-aws ) |
`1.3.0` | `1.3.1` |
| [python-dotenv](https://github.com/theskumar/python-dotenv ) | `1.2.1`
| `1.2.2` |
| langchainhub | `0.1.18` | `0.1.21` |
| [fastapi](https://github.com/fastapi/fastapi ) | `0.133.0` | `0.135.1`
|
Bumps the langchain-deps group with 4 updates in the /libs/langchain_v1
directory: [ruff](https://github.com/astral-sh/ruff ),
[langchain-aws](https://github.com/langchain-ai/langchain-aws ),
[python-dotenv](https://github.com/theskumar/python-dotenv ) and
[langgraph](https://github.com/langchain-ai/langgraph ).
Updates `langsmith` from 0.7.6 to 0.7.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.9</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: catch blocksize typeError by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2499 ">langchain-ai/langsmith-sdk#2499</a></li>
<li>chore: bump py ver by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2501 ">langchain-ai/langsmith-sdk#2501</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9 </a></p>
<h2>v0.7.8</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(ci): replace mistakenly pinned Node 22.4.1 with 22.x by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2477 ">langchain-ai/langsmith-sdk#2477</a></li>
<li>chore: bump GitHub workflow Node.js versions to 24.x by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2485 ">langchain-ai/langsmith-sdk#2485</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 15 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2475 ">langchain-ai/langsmith-sdk#2475</a></li>
<li>chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_tests/test-exports-vite in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2483 ">langchain-ai/langsmith-sdk#2483</a></li>
<li>feat(sandbox): add retry mechanism for python client by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2486 ">langchain-ai/langsmith-sdk#2486</a></li>
<li>chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2484 ">langchain-ai/langsmith-sdk#2484</a></li>
<li>Description change for read_dataset_version by <a
href="https://github.com/catherine-langchain "><code>@catherine-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487 ">langchain-ai/langsmith-sdk#2487</a></li>
<li>feat(sandbox): async sandbox creation by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2493 ">langchain-ai/langsmith-sdk#2493</a></li>
<li>docs: rm pytest beta docstring by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2496 ">langchain-ai/langsmith-sdk#2496</a></li>
<li>fix(anthropic): Add usage_metadata to metadata by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2497 ">langchain-ai/langsmith-sdk#2497</a></li>
<li>Bump version: 0.7.7 → 0.7.8 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2498 ">langchain-ai/langsmith-sdk#2498</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/catherine-langchain "><code>@catherine-langchain</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487 ">langchain-ai/langsmith-sdk#2487</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8 </a></p>
<h2>v0.7.7</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(js): subagent tool calls tracking for latest claude agent sdk by
<a href="https://github.com/dqbd "><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2463 ">langchain-ai/langsmith-sdk#2463</a></li>
<li>release(js): 0.5.5 by <a
href="https://github.com/dqbd "><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2464 ">langchain-ai/langsmith-sdk#2464</a></li>
<li>fix(js): Respect traceRawHttp for tracing streaming AI SDK calls by
<a href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2466 ">langchain-ai/langsmith-sdk#2466</a></li>
<li>release(js): 0.5.6 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2467 ">langchain-ai/langsmith-sdk#2467</a></li>
<li>feat(python): add WebSocket transport for sandbox commands by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2443 ">langchain-ai/langsmith-sdk#2443</a></li>
<li>test(python): add tests for WebSocket transport layer by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2445 ">langchain-ai/langsmith-sdk#2445</a></li>
<li>feat(python): use WebSocket transport by default with HTTP fallback
by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2446 ">langchain-ai/langsmith-sdk#2446</a></li>
<li>feat(python): add CommandHandle for streaming, kill, stdin, and
reconnect by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2450 ">langchain-ai/langsmith-sdk#2450</a></li>
<li>test(python): add tests for CommandHandle and sandbox streaming
integration by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2448 ">langchain-ai/langsmith-sdk#2448</a></li>
<li>docs(python): document sandbox streaming, kill, stdin, and reconnect
by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2449 ">langchain-ai/langsmith-sdk#2449</a></li>
<li>chore(deps): bump google-cloud-aiplatform from 1.126.1 to 1.133.0 in
/python by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2465 ">langchain-ai/langsmith-sdk#2465</a></li>
<li>fix(js): Fix list commits endpoint for private prompts by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2479 ">langchain-ai/langsmith-sdk#2479</a></li>
<li>feat: persist failed trace payloads to disk for later replay by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2476 ">langchain-ai/langsmith-sdk#2476</a></li>
<li>feat: add native thread querying support by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2455 ">langchain-ai/langsmith-sdk#2455</a></li>
<li>feat: add raw response parsing for responses api to openai wrapper
by <a href="https://github.com/victorm-lc "><code>@victorm-lc</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2480 ">langchain-ai/langsmith-sdk#2480</a></li>
<li>fix: add integration and version num by <a
href="https://github.com/samecrowder "><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481 ">langchain-ai/langsmith-sdk#2481</a></li>
<li>release(py): 0.5.7 by <a
href="https://github.com/samecrowder "><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2482 ">langchain-ai/langsmith-sdk#2482</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/samecrowder "><code>@samecrowder</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481 ">langchain-ai/langsmith-sdk#2481</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="52339a4d73 "><code>52339a4</code></a>
chore: bump py ver (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2501 ">#2501</a>)</li>
<li><a
href="8d464b565f "><code>8d464b5</code></a>
fix: catch blocksize typeError (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2499 ">#2499</a>)</li>
<li><a
href="d442f952ca "><code>d442f95</code></a>
Bump version: 0.7.7 → 0.7.8 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2498 ">#2498</a>)</li>
<li><a
href="498536f09d "><code>498536f</code></a>
fix(anthropic): Add usage_metadata to metadata (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2497 ">#2497</a>)</li>
<li><a
href="96a6801ac3 "><code>96a6801</code></a>
docs: rm pytest beta docstring (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2496 ">#2496</a>)</li>
<li><a
href="b3141e3e4b "><code>b3141e3</code></a>
feat(sandbox): async sandbox creation (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2493 ">#2493</a>)</li>
<li><a
href="430999bedb "><code>430999b</code></a>
Description change for read_dataset_version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2487 ">#2487</a>)</li>
<li><a
href="b20cf2a7bd "><code>b20cf2a</code></a>
chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2484 ">#2484</a>)</li>
<li><a
href="3c15041afa "><code>3c15041</code></a>
feat(sandbox): add retry mechanism for python client (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2486 ">#2486</a>)</li>
<li><a
href="1d29f1ce9b "><code>1d29f1c</code></a>
chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_te...</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.6...v0.7.9 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.2 to 0.15.4
<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.4</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588 ">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550 ">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591 ">#23591</a>)</li>
<li>Fix incorrect <code>import-heading</code> example (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23568 ">#23568</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/thejcannon "><code>@thejcannon</code></a></li>
<li><a href="https://github.com/GeObts "><code>@GeObts</code></a></li>
</ul>
<h2>Install ruff 0.15.4</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm
https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1
| iex"
</code></pre>
<h2>Download ruff 0.15.4</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz ">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz ">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip ">ruff-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip ">ruff-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip ">ruff-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz ">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz ">ruff-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz ">ruff-powerpc64-unknown-linux-gnu.tar.gz</a></td>
<td>PPC64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-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.4</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588 ">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550 ">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591 ">#23591</a>)</li>
<li>Fix incorrect <code>import-heading</code> example (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23568 ">#23568</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/thejcannon "><code>@thejcannon</code></a></li>
<li><a href="https://github.com/GeObts "><code>@GeObts</code></a></li>
</ul>
<h2>0.15.3</h2>
<p>Released on 2026-02-26.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Drop explicit support for <code>.qmd</code> file extension (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23572 ">#23572</a>)</p>
<p>This can now be enabled instead by setting the <a
href="https://docs.astral.sh/ruff/settings/#extension "><code>extension</code></a>
option:</p>
<pre lang="toml"><code># ruff.toml
extension = { qmd = "markdown" }
<h1>pyproject.toml</h1>
<p>[tool.ruff]
extension = { qmd = "markdown" }
</code></pre></p>
</li>
<li>
<p>Include configured extensions in file discovery (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23400 ">#23400</a>)</p>
</li>
<li>
<p>[<code>flake8-bandit</code>] Allow suspicious imports in
<code>TYPE_CHECKING</code> blocks (<code>S401</code>-<code>S415</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23441 ">#23441</a>)</p>
</li>
<li>
<p>[<code>flake8-bugbear</code>] Allow <code>B901</code> in pytest hook
wrappers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21931 ">#21931</a>)</p>
</li>
<li>
<p>[<code>flake8-import-conventions</code>] Add missing conventions from
upstream (<code>ICN001</code>, <code>ICN002</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21373 ">#21373</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f14edd8661 "><code>f14edd8</code></a>
Bump 0.15.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23595 ">#23595</a>)</li>
<li><a
href="fd09d37007 "><code>fd09d37</code></a>
Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23588 ">#23588</a>)</li>
<li><a
href="81d655fadc "><code>81d655f</code></a>
[<code>pyflakes</code>] suppress false positive in <code>F821</code> for
names used before <code>del</code> in...</li>
<li><a
href="625b4f5a67 "><code>625b4f5</code></a>
[ruff] docs: Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23591 ">#23591</a>)</li>
<li><a
href="60facfa0bc "><code>60facfa</code></a>
one word typo fix in a <code>while_loop.md</code> test case (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23589 ">#23589</a>)</li>
<li><a
href="fbb9fa75cc "><code>fbb9fa7</code></a>
docs: fix incorrect import-heading example (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23568 ">#23568</a>)</li>
<li><a
href="5bc49a9412 "><code>5bc49a9</code></a>
Increase the ruleset size to 16 bits (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23586 ">#23586</a>)</li>
<li><a
href="a62ba8c6e2 "><code>a62ba8c</code></a>
[ty] Fix overloaded callable assignability for unary Callable targets
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23277 ">#23277</a>)</li>
<li><a
href="e5f2f36a3f "><code>e5f2f36</code></a>
Bump 0.15.3 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23585 ">#23585</a>)</li>
<li><a
href="0e19fc9a61 "><code>0e19fc9</code></a>
[ty] defer calculating conjunctions in narrowing constraints (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23552 ">#23552</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.2...0.15.4 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.6 to 0.7.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.9</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: catch blocksize typeError by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2499 ">langchain-ai/langsmith-sdk#2499</a></li>
<li>chore: bump py ver by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2501 ">langchain-ai/langsmith-sdk#2501</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9 </a></p>
<h2>v0.7.8</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(ci): replace mistakenly pinned Node 22.4.1 with 22.x by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2477 ">langchain-ai/langsmith-sdk#2477</a></li>
<li>chore: bump GitHub workflow Node.js versions to 24.x by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2485 ">langchain-ai/langsmith-sdk#2485</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 15 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2475 ">langchain-ai/langsmith-sdk#2475</a></li>
<li>chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_tests/test-exports-vite in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2483 ">langchain-ai/langsmith-sdk#2483</a></li>
<li>feat(sandbox): add retry mechanism for python client by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2486 ">langchain-ai/langsmith-sdk#2486</a></li>
<li>chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2484 ">langchain-ai/langsmith-sdk#2484</a></li>
<li>Description change for read_dataset_version by <a
href="https://github.com/catherine-langchain "><code>@catherine-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487 ">langchain-ai/langsmith-sdk#2487</a></li>
<li>feat(sandbox): async sandbox creation by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2493 ">langchain-ai/langsmith-sdk#2493</a></li>
<li>docs: rm pytest beta docstring by <a
href="https://github.com/baskaryan "><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2496 ">langchain-ai/langsmith-sdk#2496</a></li>
<li>fix(anthropic): Add usage_metadata to metadata by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2497 ">langchain-ai/langsmith-sdk#2497</a></li>
<li>Bump version: 0.7.7 → 0.7.8 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2498 ">langchain-ai/langsmith-sdk#2498</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/catherine-langchain "><code>@catherine-langchain</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487 ">langchain-ai/langsmith-sdk#2487</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8 </a></p>
<h2>v0.7.7</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(js): subagent tool calls tracking for latest claude agent sdk by
<a href="https://github.com/dqbd "><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2463 ">langchain-ai/langsmith-sdk#2463</a></li>
<li>release(js): 0.5.5 by <a
href="https://github.com/dqbd "><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2464 ">langchain-ai/langsmith-sdk#2464</a></li>
<li>fix(js): Respect traceRawHttp for tracing streaming AI SDK calls by
<a href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2466 ">langchain-ai/langsmith-sdk#2466</a></li>
<li>release(js): 0.5.6 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2467 ">langchain-ai/langsmith-sdk#2467</a></li>
<li>feat(python): add WebSocket transport for sandbox commands by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2443 ">langchain-ai/langsmith-sdk#2443</a></li>
<li>test(python): add tests for WebSocket transport layer by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2445 ">langchain-ai/langsmith-sdk#2445</a></li>
<li>feat(python): use WebSocket transport by default with HTTP fallback
by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2446 ">langchain-ai/langsmith-sdk#2446</a></li>
<li>feat(python): add CommandHandle for streaming, kill, stdin, and
reconnect by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2450 ">langchain-ai/langsmith-sdk#2450</a></li>
<li>test(python): add tests for CommandHandle and sandbox streaming
integration by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2448 ">langchain-ai/langsmith-sdk#2448</a></li>
<li>docs(python): document sandbox streaming, kill, stdin, and reconnect
by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2449 ">langchain-ai/langsmith-sdk#2449</a></li>
<li>chore(deps): bump google-cloud-aiplatform from 1.126.1 to 1.133.0 in
/python by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2465 ">langchain-ai/langsmith-sdk#2465</a></li>
<li>fix(js): Fix list commits endpoint for private prompts by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2479 ">langchain-ai/langsmith-sdk#2479</a></li>
<li>feat: persist failed trace payloads to disk for later replay by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2476 ">langchain-ai/langsmith-sdk#2476</a></li>
<li>feat: add native thread querying support by <a
href="https://github.com/ericdong-langchain "><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2455 ">langchain-ai/langsmith-sdk#2455</a></li>
<li>feat: add raw response parsing for responses api to openai wrapper
by <a href="https://github.com/victorm-lc "><code>@victorm-lc</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2480 ">langchain-ai/langsmith-sdk#2480</a></li>
<li>fix: add integration and version num by <a
href="https://github.com/samecrowder "><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481 ">langchain-ai/langsmith-sdk#2481</a></li>
<li>release(py): 0.5.7 by <a
href="https://github.com/samecrowder "><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2482 ">langchain-ai/langsmith-sdk#2482</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/samecrowder "><code>@samecrowder</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481 ">langchain-ai/langsmith-sdk#2481</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="52339a4d73 "><code>52339a4</code></a>
chore: bump py ver (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2501 ">#2501</a>)</li>
<li><a
href="8d464b565f "><code>8d464b5</code></a>
fix: catch blocksize typeError (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2499 ">#2499</a>)</li>
<li><a
href="d442f952ca "><code>d442f95</code></a>
Bump version: 0.7.7 → 0.7.8 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2498 ">#2498</a>)</li>
<li><a
href="498536f09d "><code>498536f</code></a>
fix(anthropic): Add usage_metadata to metadata (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2497 ">#2497</a>)</li>
<li><a
href="96a6801ac3 "><code>96a6801</code></a>
docs: rm pytest beta docstring (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2496 ">#2496</a>)</li>
<li><a
href="b3141e3e4b "><code>b3141e3</code></a>
feat(sandbox): async sandbox creation (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2493 ">#2493</a>)</li>
<li><a
href="430999bedb "><code>430999b</code></a>
Description change for read_dataset_version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2487 ">#2487</a>)</li>
<li><a
href="b20cf2a7bd "><code>b20cf2a</code></a>
chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2484 ">#2484</a>)</li>
<li><a
href="3c15041afa "><code>3c15041</code></a>
feat(sandbox): add retry mechanism for python client (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2486 ">#2486</a>)</li>
<li><a
href="1d29f1ce9b "><code>1d29f1c</code></a>
chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_te...</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.6...v0.7.9 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.2 to 0.15.4
<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.4</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588 ">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550 ">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591 ">#23591</a>)</li>
<li>Fix incorrect <code>import-heading</code> example (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23568 ">#23568</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/thejcannon "><code>@thejcannon</code></a></li>
<li><a href="https://github.com/GeObts "><code>@GeObts</code></a></li>
</ul>
<h2>Install ruff 0.15.4</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm
https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1
| iex"
</code></pre>
<h2>Download ruff 0.15.4</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz ">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz ">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip ">ruff-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip ">ruff-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip ">ruff-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz ">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz ">ruff-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz.sha256 ">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz ">ruff-powerpc64-unknown-linux-gnu.tar.gz</a></td>
<td>PPC64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-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.4</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588 ">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550 ">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591 ">#23591</a>)</li>
<li>Fix incorrect <code>import-heading</code> example (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23568 ">#23568</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/stakeswky "><code>@stakeswky</code></a></li>
<li><a href="https://github.com/ntBre "><code>@ntBre</code></a></li>
<li><a
href="https://github.com/thejcannon "><code>@thejcannon</code></a></li>
<li><a href="https://github.com/GeObts "><code>@GeObts</code></a></li>
</ul>
<h2>0.15.3</h2>
<p>Released on 2026-02-26.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Drop explicit support for <code>.qmd</code> file extension (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23572 ">#23572</a>)</p>
<p>This can now be enabled instead by setting the <a
href="https://docs.astral.sh/ruff/settings/#extension "><code>extension</code></a>
option:</p>
<pre lang="toml"><code># ruff.toml
extension = { qmd = "markdown" }
<h1>pyproject.toml</h1>
<p>[tool.ruff]
extension = { qmd = "markdown" }
</code></pre></p>
</li>
<li>
<p>Include configured extensions in file discovery (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23400 ">#23400</a>)</p>
</li>
<li>
<p>[<code>flake8-bandit</code>] Allow suspicious imports in
<code>TYPE_CHECKING</code> blocks (<code>S401</code>-<code>S415</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23441 ">#23441</a>)</p>
</li>
<li>
<p>[<code>flake8-bugbear</code>] Allow <code>B901</code> in pytest hook
wrappers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21931 ">#21931</a>)</p>
</li>
<li>
<p>[<code>flake8-import-conventions</code>] Add missing conventions from
upstream (<code>ICN001</code>, <code>ICN002</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21373 ">#21373</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f14edd8661 "><code>f14edd8</code></a>
Bump 0.15.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23595 ">#23595</a>)</li>
<li><a
href="fd09d37007 "><code>fd09d37</code></a>
Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23588 ">#23588</a>)</li>
<li><a
href="81d655fadc "><code>81d655f</code></a>
[<code>pyflakes</code>] suppress false positive in <code>F821</code> for
names used before <code>del</code> in...</li>
<li><a
href="625b4f5a67 "><code>625b4f5</code></a>
[ruff] docs: Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23591 ">#23591</a>)</li>
<li><a
href="60facfa0bc "><code>60facfa</code></a>
one word typo fix in a <code>while_loop.md</code> test case (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23589 ">#23589</a>)</li>
<li><a
href="fbb9fa75cc "><code>fbb9fa7</code></a>
docs: fix incorrect import-heading example (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23568 ">#23568</a>)</li>
<li><a
href="5bc49a9412 "><code>5bc49a9</code></a>
Increase the ruleset size to 16 bits (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23586 ">#23586</a>)</li>
<li><a
href="a62ba8c6e2 "><code>a62ba8c</code></a>
[ty] Fix overloaded callable assignability for unary Callable targets
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23277 ">#23277</a>)</li>
<li><a
href="e5f2f36a3f "><code>e5f2f36</code></a>
Bump 0.15.3 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23585 ">#23585</a>)</li>
<li><a
href="0e19fc9a61 "><code>0e19fc9</code></a>
[ty] defer calculating conjunctions in narrowing constraints (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23552 ">#23552</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.2...0.15.4 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langchain-aws` from 1.3.0 to 1.3.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchain-aws/releases ">langchain-aws's
releases</a>.</em></p>
<blockquote>
<h2>langchain-aws==1.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(aws): handle video blocks in _format_data_content_block by <a
href="https://github.com/sharyar "><code>@sharyar</code></a> in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/898 ">langchain-ai/langchain-aws#898</a></li>
<li>feat(aws): Support strict parameter in ChatBedrockConverse
bind_tools by <a
href="https://github.com/michaelnchin "><code>@michaelnchin</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/882 ">langchain-ai/langchain-aws#882</a></li>
<li>fix(aws): Preserve input format of ChatBedrockConverse
additional_model_request_fields keys by <a
href="https://github.com/michaelnchin "><code>@michaelnchin</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/886 ">langchain-ai/langchain-aws#886</a></li>
<li>release(aws): 1.3.1 by <a
href="https://github.com/michaelnchin "><code>@michaelnchin</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/902 ">langchain-ai/langchain-aws#902</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/sharyar "><code>@sharyar</code></a> made
their first contribution in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/898 ">langchain-ai/langchain-aws#898</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langchain-aws/compare/langchain-aws==1.3.0...langchain-aws==1.3.1 ">https://github.com/langchain-ai/langchain-aws/compare/langchain-aws==1.3.0...langchain-aws==1.3.1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2bec09d097 "><code>2bec09d</code></a>
release(aws): 1.3.1 (<a
href="https://redirect.github.com/langchain-ai/langchain-aws/issues/902 ">#902</a>)</li>
<li><a
href="7166abca9f "><code>7166abc</code></a>
fix(aws): Preserve input format of ChatBedrockConverse
additional_model_reque...</li>
<li><a
href="81fdf34237 "><code>81fdf34</code></a>
feat(aws): Support strict parameter in ChatBedrockConverse bind_tools
(<a
href="https://redirect.github.com/langchain-ai/langchain-aws/issues/882 ">#882</a>)</li>
<li><a
href="b0cab4705c "><code>b0cab47</code></a>
fix(aws): handle video blocks in _format_data_content_block (<a
href="https://redirect.github.com/langchain-ai/langchain-aws/issues/898 ">#898</a>)</li>
<li><a
href="42edadb0e8 "><code>42edadb</code></a>
fix(langgraph-checkpoint-aws): shorten session_id when checkpoint_ns is
set t...</li>
<li><a
href="558aeeacea "><code>558aeea</code></a>
fix(langgraph-checkpoint-aws): Update to work with parallelized
integration t...</li>
<li>See full diff in <a
href="https://github.com/langchain-ai/langchain-aws/compare/langchain-aws==1.3.0...langchain-aws==1.3.1 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `python-dotenv` from 1.2.1 to 1.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/releases ">python-dotenv's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.2</h2>
<h3>Added</h3>
<ul>
<li>Support for Python 3.14, including the free-threaded (3.14t) build.
(#)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>dotenv run</code> command now forwards flags directly to
the specified command by <a
href="https://github.com/bbc2 "><code>@bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/607 ">theskumar/python-dotenv#607</a></li>
<li>Improved documentation clarity regarding override behavior and the
reference page.</li>
<li>Updated PyPy support to version 3.11.</li>
<li>Documentation for FIFO file support.</li>
<li>Support for Python 3.9.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Improved <code>set_key</code> and <code>unset_key</code> behavior
when interacting with symlinks by <a
href="https://github.com/bbc2 "><code>@bbc2</code></a> in <a
href="790c5c0299 ">#790c5</a></li>
<li>Corrected the license specifier and added missing Python 3.14
classifiers in package metadata by <a
href="https://github.com/JYOuyang "><code>@JYOuyang</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/590 ">theskumar/python-dotenv#590</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><code>dotenv.set_key</code> and <code>dotenv.unset_key</code> used to
follow symlinks in some
situations. This is no longer the case. For that behavior to be restored
in
all cases, <code>follow_symlinks=True</code> should be used.</p>
</li>
<li>
<p>In the CLI, <code>set</code> and <code>unset</code> used to follow
symlinks in some situations. This
is no longer the case.</p>
</li>
<li>
<p><code>dotenv.set_key</code>, <code>dotenv.unset_key</code> and the
CLI commands <code>set</code> and <code>unset</code>
used to reset the file mode of the modified .env file to
<code>0o600</code> in some
situations. This is no longer the case: The original mode of the file is
now
preserved. Is the file needed to be created or wasn't a regular file,
mode
<code>0o600</code> is used.</p>
</li>
</ul>
<h3>Misc</h3>
<ul>
<li>skip 000 permission tests for root user by <a
href="https://github.com/burnout-projects "><code>@burnout-projects</code></a>
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/561 ">theskumar/python-dotenv#561</a></li>
<li>Bump actions/checkout from 5 to 6 in the github-actions group by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/593 ">theskumar/python-dotenv#593</a></li>
<li>Add Windows testing to CI by <a
href="https://github.com/bbc2 "><code>@bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/604 ">theskumar/python-dotenv#604</a></li>
<li>Improve workflow efficiency with best practices by <a
href="https://github.com/theskumar "><code>@theskumar</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/609 ">theskumar/python-dotenv#609</a></li>
<li>Remove the use of <code>sh</code> in tests by <a
href="https://github.com/bbc2 "><code>@bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/612 ">theskumar/python-dotenv#612</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/JYOuyang "><code>@JYOuyang</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/590 ">theskumar/python-dotenv#590</a></li>
<li><a
href="https://github.com/burnout-projects "><code>@burnout-projects</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/561 ">theskumar/python-dotenv#561</a></li>
<li><a
href="https://github.com/cpackham-atlnz "><code>@cpackham-atlnz</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/597 ">theskumar/python-dotenv#597</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2 ">https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2 </a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md ">python-dotenv's
changelog</a>.</em></p>
<blockquote>
<h2>[1.2.2] - 2026-03-01</h2>
<h3>Added</h3>
<ul>
<li>Support for Python 3.14, including the free-threaded (3.14t) build.
(<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/588 ">#588</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>dotenv run</code> command now forwards flags directly to
the specified command by [<a
href="https://github.com/bbc2 "><code>@bbc2</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/607 ">#607</a></li>
<li>Improved documentation clarity regarding override behavior and the
reference page.</li>
<li>Updated PyPy support to version 3.11.</li>
<li>Documentation for FIFO file support.</li>
<li>Dropped Support for Python 3.9.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Improved <code>set_key</code> and <code>unset_key</code> behavior
when interacting with symlinks by [<a
href="https://github.com/bbc2 "><code>@bbc2</code></a>] in
[790c5c0]</li>
<li>Corrected the license specifier and added missing Python 3.14
classifiers in package metadata by [<a
href="https://github.com/JYOuyang "><code>@JYOuyang</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/590 ">#590</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><code>dotenv.set_key</code> and <code>dotenv.unset_key</code> used to
follow symlinks in some
situations. This is no longer the case. For that behavior to be restored
in
all cases, <code>follow_symlinks=True</code> should be used.</p>
</li>
<li>
<p>In the CLI, <code>set</code> and <code>unset</code> used to follow
symlinks in some situations. This
is no longer the case.</p>
</li>
<li>
<p><code>dotenv.set_key</code>, <code>dotenv.unset_key</code> and the
CLI commands <code>set</code> and <code>unset</code>
used to reset the file mode of the modified .env file to
<code>0o600</code> in some
situations. This is no longer the case: The original mode of the file is
now
preserved. Is the file needed to be created or wasn't a regular file,
mode
<code>0o600</code> is used.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36004e0e34 "><code>36004e0</code></a>
Bump version: 1.2.1 → 1.2.2</li>
<li><a
href="eb202520e5 "><code>eb20252</code></a>
docs: update changelog for v1.2.2</li>
<li><a
href="790c5c0299 "><code>790c5c0</code></a>
Merge commit from fork</li>
<li><a
href="43340da220 "><code>43340da</code></a>
Remove the use of <code>sh</code> in tests (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/612 ">#612</a>)</li>
<li><a
href="09d7cee324 "><code>09d7cee</code></a>
docs: clarify override behavior and document FIFO support (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/610 ">#610</a>)</li>
<li><a
href="c8de2887c0 "><code>c8de288</code></a>
ci: improve workflow efficiency with best practices (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/609 ">#609</a>)</li>
<li><a
href="7bd9e3dbfe "><code>7bd9e3d</code></a>
Add Windows testing to CI (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/604 ">#604</a>)</li>
<li><a
href="1baaf04f33 "><code>1baaf04</code></a>
Drop Python 3.9 support and update to PyPy 3.11 (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/608 ">#608</a>)</li>
<li><a
href="4a22cf8993 "><code>4a22cf8</code></a>
ci: enable testing on Python 3.14t (free-threaded) (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/588 ">#588</a>)</li>
<li><a
href="e2e8e776b4 "><code>e2e8e77</code></a>
Fix license specifier (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/597 ">#597</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langchainhub` from 0.1.18 to 0.1.21
Updates `fastapi` from 0.133.0 to 0.135.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases ">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.135.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix, avoid yield from a TaskGroup, only as an async context
manager, closed in the request async exit stack. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15038 ">#15038</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>✏️ Fix typo in <code>docs/en/docs/_llm-test.md</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15007 ">#15007</a>
by <a
href="https://github.com/adityagiri3600 "><code>@adityagiri3600</code></a>.</li>
<li>📝 Update Skill, optimize context, trim and refactor into references.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15031 ">#15031</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>👥 Update FastAPI People - Experts. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15037 ">#15037</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
<li>👥 Update FastAPI People - Contributors and Translators. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15029 ">#15029</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
<li>👥 Update FastAPI GitHub topic repositories. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15036 ">#15036</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
</ul>
<h2>0.135.0</h2>
<h3>Features</h3>
<ul>
<li>✨ Add support for Server Sent Events. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15030 ">#15030</a>
by <a href="https://github.com/tiangolo "><code>@tiangolo</code></a>.
<ul>
<li>New docs: <a
href="https://fastapi.tiangolo.com/tutorial/server-sent-events/ ">Server-Sent
Events (SSE)</a>.</li>
</ul>
</li>
</ul>
<h2>0.134.0</h2>
<h3>Features</h3>
<ul>
<li>✨ Add support for streaming JSON Lines and binary data with
<code>yield</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15022 ">#15022</a>
by <a href="https://github.com/tiangolo "><code>@tiangolo</code></a>.
<ul>
<li>This also upgrades Starlette from <code>>=0.40.0</code> to
<code>>=0.46.0</code>, as it's needed to properly unrwap and re-raise
exceptions from exception groups.</li>
<li>New docs: <a
href="https://fastapi.tiangolo.com/tutorial/stream-json-lines/ ">Stream
JSON Lines</a>.</li>
<li>And new docs: <a
href="https://fastapi.tiangolo.com/advanced/stream-data/ ">Stream
Data</a>.</li>
</ul>
</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Update Library Agent Skill with streaming responses. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15024 ">#15024</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
<li>📝 Update docs for responses and new stream with <code>yield</code>.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15023 ">#15023</a>
by <a
href="https://github.com/tiangolo "><code>@tiangolo</code></a>.</li>
<li>📝 Add <code>await</code> in <code>StreamingResponse</code> code
example to allow cancellation. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14681 ">#14681</a>
by <a
href="https://github.com/casperdcl "><code>@casperdcl</code></a>.</li>
<li>📝 Rename <code>docs_src/websockets</code> to
<code>docs_src/websockets_</code> to avoid import errors. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14979 ">#14979</a>
by <a
href="https://github.com/YuriiMotov "><code>@YuriiMotov</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>🔨 Run tests with <code>pytest-xdist</code> and
<code>pytest-cov</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14992 ">#14992</a>
by <a
href="https://github.com/YuriiMotov "><code>@YuriiMotov</code></a>.</li>
</ul>
<h2>0.133.1</h2>
<h3>Features</h3>
<ul>
<li>🔧 Add FastAPI Agent Skill. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14982 ">#14982</a>
by <a href="https://github.com/tiangolo "><code>@tiangolo</code></a>.
<ul>
<li>Read more about it in <a
href="https://tiangolo.com/ideas/library-agent-skills/ ">Library Agent
Skills</a>.</li>
</ul>
</li>
</ul>
<h3>Internal</h3>
<ul>
<li>✅ Fix all tests are skipped on Windows. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14994 ">#14994</a>
by <a
href="https://github.com/YuriiMotov "><code>@YuriiMotov</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ca5f60ee72 "><code>ca5f60e</code></a>
🔖 Release version 0.135.1</li>
<li><a
href="87f75aa62c "><code>87f75aa</code></a>
📝 Update release notes</li>
<li><a
href="8a9258b169 "><code>8a9258b</code></a>
🐛 Fix, avoid yield from a TaskGroup, only as an async context manager,
closed...</li>
<li><a
href="6038507823 "><code>6038507</code></a>
📝 Update release notes</li>
<li><a
href="c796ba4f46 "><code>c796ba4</code></a>
👥 Update FastAPI People - Experts (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15037 ">#15037</a>)</li>
<li><a
href="b24aa03b88 "><code>b24aa03</code></a>
📝 Update release notes</li>
<li><a
href="2c6104752a "><code>2c61047</code></a>
✏️ Fix typo in <code>docs/en/docs/_llm-test.md</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15007 ">#15007</a>)</li>
<li><a
href="e3bbeef8a2 "><code>e3bbeef</code></a>
📝 Update release notes</li>
<li><a
href="d726c8cb2b "><code>d726c8c</code></a>
📝 Update release notes</li>
<li><a
href="cf514e6d38 "><code>cf514e6</code></a>
👥 Update FastAPI People - Contributors and Translators (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15029 ">#15029</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.133.0...0.135.1 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.2 to 0.15.4
<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.4</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588 ">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550 ">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591 ">#23591</a>)</li>
<li>Fix...
_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-03-02 09:19:26 -05:00
dependabot[bot]
63e49f62f1
chore: bump langgraph-checkpoint from 3.0.1 to 4.0.0 in /libs/langchain_v1 ( #35445 )
2026-02-26 13:47:28 -05:00
dependabot[bot]
a33112b451
chore: bump the langchain-deps group across 3 directories with 14 updates ( #35441 )
...
Bumps the langchain-deps group with 4 updates in the /libs/core
directory: [langsmith](https://github.com/langchain-ai/langsmith-sdk ),
[uuid-utils](https://github.com/aminalaee/uuid-utils ),
[ruff](https://github.com/astral-sh/ruff ) and
[responses](https://github.com/getsentry/responses ).
Bumps the langchain-deps group with 9 updates in the /libs/langchain
directory:
| Package | From | To |
| --- | --- | --- |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk ) | `0.7.3` |
`0.7.6` |
| [packaging](https://github.com/pypa/packaging ) | `24.2` | `26.0` |
| [ruff](https://github.com/astral-sh/ruff ) | `0.15.1` | `0.15.2` |
| [responses](https://github.com/getsentry/responses ) | `0.25.8` |
`0.26.0` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy ) | `2.0.46` |
`2.0.47` |
| [langchain-anthropic](https://github.com/langchain-ai/langchain ) |
`1.3.3` | `1.3.4` |
|
[langchain-google-genai](https://github.com/langchain-ai/langchain-google )
| `4.2.0` | `4.2.1` |
| [langchain-aws](https://github.com/langchain-ai/langchain-aws ) |
`1.2.5` | `1.3.0` |
| [fastapi](https://github.com/fastapi/fastapi ) | `0.129.0` | `0.133.0`
|
Bumps the langchain-deps group with 5 updates in the /libs/langchain_v1
directory:
| Package | From | To |
| --- | --- | --- |
| [ruff](https://github.com/astral-sh/ruff ) | `0.15.1` | `0.15.2` |
|
[langchain-google-genai](https://github.com/langchain-ai/langchain-google )
| `4.2.0` | `4.2.1` |
| [langchain-aws](https://github.com/langchain-ai/langchain-aws ) |
`1.2.5` | `1.3.0` |
| [langgraph](https://github.com/langchain-ai/langgraph ) | `1.0.8` |
`1.0.9` |
| [langchain-azure-ai](https://github.com/langchain-ai/langchain-azure )
| `1.0.4` | `1.0.61` |
Updates `langsmith` from 0.7.3 to 0.7.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.6</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(python): add sandbox exception types and client plumbing by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2442 ">langchain-ai/langsmith-sdk#2442</a></li>
<li>fix(py, claude agent sdk): Correctly parent spans in asyncio context
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2457 ">langchain-ai/langsmith-sdk#2457</a></li>
<li>perf(py): Improve retry logic for tracing ops by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2459 ">langchain-ai/langsmith-sdk#2459</a></li>
<li>feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2460 ">langchain-ai/langsmith-sdk#2460</a></li>
<li>chore(claude agent sdk): rm debug logs by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2461 ">langchain-ai/langsmith-sdk#2461</a></li>
<li>release(py): 0.7.6 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2462 ">langchain-ai/langsmith-sdk#2462</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6 </a></p>
<h2>v0.7.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump chalk from 4.1.2 to 5.6.2 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2416 ">langchain-ai/langsmith-sdk#2416</a></li>
<li>chore(deps-dev): bump <code>@jest/reporters</code> from 29.7.0 to
30.2.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2417 ">langchain-ai/langsmith-sdk#2417</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 16 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2440 ">langchain-ai/langsmith-sdk#2440</a></li>
<li>chore(deps-dev): bump pandas-stubs from 2.3.3.251219 to 2.3.3.260113
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/2404 ">langchain-ai/langsmith-sdk#2404</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 10 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2433 ">langchain-ai/langsmith-sdk#2433</a></li>
<li>make zstandard optional by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2453 ">langchain-ai/langsmith-sdk#2453</a></li>
<li>fix(py/adk): fix multi-agent tracing by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2451 ">langchain-ai/langsmith-sdk#2451</a></li>
<li>release(py): 0.7.5 by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2456 ">langchain-ai/langsmith-sdk#2456</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5 </a></p>
<h2>v0.7.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google-adk): add wrapt dependency by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2436 ">langchain-ai/langsmith-sdk#2436</a></li>
<li>chore: lock dependencies by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2439 ">langchain-ai/langsmith-sdk#2439</a></li>
<li>release(py): 0.7.4 by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2441 ">langchain-ai/langsmith-sdk#2441</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="22a048477a "><code>22a0484</code></a>
release(py): 0.7.6 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2462 ">#2462</a>)</li>
<li><a
href="01acee8618 "><code>01acee8</code></a>
chore(claude agent sdk): rm debug logs (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2461 ">#2461</a>)</li>
<li><a
href="4e366c4685 "><code>4e366c4</code></a>
feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2460 ">#2460</a>)</li>
<li><a
href="4e25507853 "><code>4e25507</code></a>
perf(py): Improve retry logic for tracing ops (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2459 ">#2459</a>)</li>
<li><a
href="daa0330aff "><code>daa0330</code></a>
fix(py, claude agent sdk): Correctly parent spans in asyncio context (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2457 ">#2457</a>)</li>
<li><a
href="070a20719a "><code>070a207</code></a>
feat(python): add sandbox exception types and client plumbing (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2442 ">#2442</a>)</li>
<li><a
href="6f852006cb "><code>6f85200</code></a>
release(py): 0.7.5 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2456 ">#2456</a>)</li>
<li><a
href="901486fd5e "><code>901486f</code></a>
fix(py/adk): fix multi-agent tracing (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2451 ">#2451</a>)</li>
<li><a
href="31d1828efe "><code>31d1828</code></a>
make zstandard optional (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2453 ">#2453</a>)</li>
<li><a
href="78c263920a "><code>78c2639</code></a>
chore(deps-dev): bump the js-minor-and-patch group across 1 directory
with 10...</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.6 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `uuid-utils` from 0.14.0 to 0.14.1
<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.14.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Use SPDX license identifier by <a
href="https://github.com/vargenau "><code>@vargenau</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/129 ">aminalaee/uuid-utils#129</a></li>
<li>Fix byte-order in <code>uuid1</code> and <code>uuid6</code> by <a
href="https://github.com/aminalaee "><code>@aminalaee</code></a> in <a
href="https://redirect.github.com/aminalaee/uuid-utils/pull/130 ">aminalaee/uuid-utils#130</a></li>
<li>Remove uuid_unstable flag and minor docs update by <a
href="https://github.com/aminalaee "><code>@aminalaee</code></a> in <a
href="https://github.com ">https://github.com </a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0 ">https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c09cd2940a "><code>c09cd29</code></a>
Version 0.14.1 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/134 ">#134</a>)</li>
<li><a
href="a547f37f69 "><code>a547f37</code></a>
Remove uuid_unstable flag and update docs (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/133 ">#133</a>)</li>
<li><a
href="4c632bfe63 "><code>4c632bf</code></a>
Fix byte-order in <code>uuid1</code> and <code>uuid6</code> (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/130 ">#130</a>)</li>
<li><a
href="a5aca8c399 "><code>a5aca8c</code></a>
Use SPDX license identifier (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/129 ">#129</a>)</li>
<li><a
href="21d14455b9 "><code>21d1445</code></a>
Update Github Action (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/132 ">#132</a>)</li>
<li><a
href="c935c3559f "><code>c935c35</code></a>
Bump CodSpeedHQ/action from 4.8.2 to 4.10.2 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/126 ">#126</a>)</li>
<li><a
href="c2613e3003 "><code>c2613e3</code></a>
Bump uraimo/run-on-arch-action from 2.8.1 to 3.0.1 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/127 ">#127</a>)</li>
<li><a
href="df39faf8e8 "><code>df39faf</code></a>
Bump actions/setup-python from 5 to 6 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/128 ">#128</a>)</li>
<li><a
href="f1b61c7ed1 "><code>f1b61c7</code></a>
Bump CodSpeedHQ/action from 4.5.2 to 4.8.2 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/124 ">#124</a>)</li>
<li><a
href="08c833b3cb "><code>08c833b</code></a>
Bump astral-sh/setup-uv from 4 to 7 (<a
href="https://redirect.github.com/aminalaee/uuid-utils/issues/123 ">#123</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.14.1 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.1 to 0.15.2
<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.2</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-19.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23385 ">#23385</a>)</p>
<p>In preview, Ruff now enables a significantly expanded default rule
set of 412 rules, up from the stable default set of 59 rules. The new
rules are mostly a superset of the stable defaults, with the exception
of these rules, which are removed from the preview defaults:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line "><code>multiple-imports-on-one-line</code></a>
(<code>E401</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E701</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon "><code>multiple-statements-on-one-line-semicolon</code></a>
(<code>E702</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-semicolon "><code>useless-semicolon</code></a>
(<code>E703</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/none-comparison "><code>none-comparison</code></a>
(<code>E711</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/true-false-comparison "><code>true-false-comparison</code></a>
(<code>E712</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-in-test "><code>not-in-test</code></a>
(<code>E713</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-is-test "><code>not-is-test</code></a>
(<code>E714</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/type-comparison "><code>type-comparison</code></a>
(<code>E721</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/lambda-assignment "><code>lambda-assignment</code></a>
(<code>E731</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name "><code>ambiguous-variable-name</code></a>
(<code>E741</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-class-name "><code>ambiguous-class-name</code></a>
(<code>E742</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-function-name "><code>ambiguous-function-name</code></a>
(<code>E743</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star "><code>undefined-local-with-import-star</code></a>
(<code>F403</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage "><code>undefined-local-with-import-star-usage</code></a>
(<code>F405</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage "><code>undefined-local-with-nested-import-star-usage</code></a>
(<code>F406</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error "><code>forward-annotation-syntax-error</code></a>
(<code>F722</code>)</li>
</ul>
<p>If you use preview and prefer the old defaults, you can restore them
with configuration like:</p>
<pre lang="toml"><code>
# ruff.toml
<p>[lint]
select = ["E4", "E7", "E9",
"F"]</p>
<h1>pyproject.toml</h1>
<p>[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
</code></pre></p>
<p>If you do give them a try, feel free to share your feedback in the <a
href="https://github.com/astral-sh/ruff/discussions/23203 ">GitHub
discussion</a>!</p>
</li>
<li>
<p>[<code>flake8-pyi</code>] Also check string annotations
(<code>PYI041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/19023 ">#19023</a>)</p>
</li>
</ul>
<h3>Bug fixes</h3>
<!-- 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.2</h2>
<p>Released on 2026-02-19.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23385 ">#23385</a>)</p>
<p>In preview, Ruff now enables a significantly expanded default rule
set of 412
rules, up from the stable default set of 59 rules. The new rules are
mostly a
superset of the stable defaults, with the exception of these rules,
which are
removed from the preview defaults:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line "><code>multiple-imports-on-one-line</code></a>
(<code>E401</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E701</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon "><code>multiple-statements-on-one-line-semicolon</code></a>
(<code>E702</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-semicolon "><code>useless-semicolon</code></a>
(<code>E703</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/none-comparison "><code>none-comparison</code></a>
(<code>E711</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/true-false-comparison "><code>true-false-comparison</code></a>
(<code>E712</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-in-test "><code>not-in-test</code></a>
(<code>E713</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-is-test "><code>not-is-test</code></a>
(<code>E714</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/type-comparison "><code>type-comparison</code></a>
(<code>E721</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/lambda-assignment "><code>lambda-assignment</code></a>
(<code>E731</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name "><code>ambiguous-variable-name</code></a>
(<code>E741</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-class-name "><code>ambiguous-class-name</code></a>
(<code>E742</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-function-name "><code>ambiguous-function-name</code></a>
(<code>E743</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star "><code>undefined-local-with-import-star</code></a>
(<code>F403</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage "><code>undefined-local-with-import-star-usage</code></a>
(<code>F405</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage "><code>undefined-local-with-nested-import-star-usage</code></a>
(<code>F406</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error "><code>forward-annotation-syntax-error</code></a>
(<code>F722</code>)</li>
</ul>
<p>If you use preview and prefer the old defaults, you can restore them
with
configuration like:</p>
<pre lang="toml"><code>
# ruff.toml
<p>[lint]
select = ["E4", "E7", "E9",
"F"]</p>
<h1>pyproject.toml</h1>
<p>[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
</code></pre></p>
<p>If you do give them a try, feel free to share your feedback in the <a
href="https://github.com/astral-sh/ruff/discussions/23203 ">GitHub
discussion</a>!</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9d18ee9115 "><code>9d18ee9</code></a>
Hard code workflow name and <code>cancel-in-progress</code> only for PRs
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23431 ">#23431</a>)</li>
<li><a
href="7cc15f024b "><code>7cc15f0</code></a>
Bump 0.15.2 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23430 ">#23430</a>)</li>
<li><a
href="d1b544393a "><code>d1b5443</code></a>
Add extension mapping to configuration file options (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23384 ">#23384</a>)</li>
<li><a
href="222574af90 "><code>222574a</code></a>
Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23385 ">#23385</a>)</li>
<li><a
href="1465b5de38 "><code>1465b5d</code></a>
[<code>flake8-async</code>] Fix <code>in_async_context</code> logic (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23426 ">#23426</a>)</li>
<li><a
href="410902fa40 "><code>410902f</code></a>
[<code>pyupgrade</code>] Fix handling of <code>typing.{io,re}</code>
(<code>UP035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23131 ">#23131</a>)</li>
<li><a
href="729610acd9 "><code>729610a</code></a>
[ty] Fall back to ambiguous for large control flow graphs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23399 ">#23399</a>)</li>
<li><a
href="1425c185b0 "><code>1425c18</code></a>
[ty] Add code folding support</li>
<li><a
href="97acaaea5f "><code>97acaae</code></a>
[ty] Fix stack overflow for self-referential <code>TypeOf</code> in
annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23407 ">#23407</a>)</li>
<li><a
href="1f380c8258 "><code>1f380c8</code></a>
[ty] Update tests <code>reveal_type</code> and <code>Never</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23418 ">#23418</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `responses` from 0.25.8 to 0.26.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/responses/releases ">responses's
releases</a>.</em></p>
<blockquote>
<h2>0.26.0</h2>
<ul>
<li>When using <code>assert_all_requests_are_fired=True</code>,
assertions about
unfired requests are now raised even when an exception occurs in the
context manager or
decorated function. Previously, these assertions were suppressed when
exceptions occurred.
This new behavior provides valuable debugging context about which mocked
requests were
or weren't called.</li>
<li>Consider the <code>Retry-After</code> header when handling
retries</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/responses/blob/master/CHANGES ">responses's
changelog</a>.</em></p>
<blockquote>
<h2>0.26.0</h2>
<ul>
<li>When using <code>assert_all_requests_are_fired=True</code>,
assertions about
unfired requests are now raised even when an exception occurs in the
context manager or
decorated function. Previously, these assertions were suppressed when
exceptions occurred.
This new behavior provides valuable debugging context about which mocked
requests were
or weren't called.</li>
<li>Consider the <code>Retry-After</code> header when handling
retries</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="94913d0580 "><code>94913d0</code></a>
release: 0.26.0</li>
<li><a
href="051b79e7fc "><code>051b79e</code></a>
Make <code>assert_all_requests_are_fired</code> always assert on
exception (<a
href="https://redirect.github.com/getsentry/responses/issues/782 ">#782</a>)</li>
<li><a
href="0905cb8bd5 "><code>0905cb8</code></a>
Fix query_param_matcher not matching empty query parameter values (<a
href="https://redirect.github.com/getsentry/responses/issues/787 ">#787</a>)</li>
<li><a
href="e0c6faab41 "><code>e0c6faa</code></a>
ci(release): Switch from action-prepare-release to Craft (<a
href="https://redirect.github.com/getsentry/responses/issues/785 ">#785</a>)</li>
<li><a
href="1be3a737b7 "><code>1be3a73</code></a>
fix: Consider the <code>Retry-After</code> header when handling retries
(<a
href="https://redirect.github.com/getsentry/responses/issues/784 ">#784</a>)</li>
<li><a
href="c6730fbc87 "><code>c6730fb</code></a>
Merge branch 'release/0.25.8'</li>
<li>See full diff in <a
href="https://github.com/getsentry/responses/compare/0.25.8...0.26.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.3 to 0.7.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.6</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(python): add sandbox exception types and client plumbing by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2442 ">langchain-ai/langsmith-sdk#2442</a></li>
<li>fix(py, claude agent sdk): Correctly parent spans in asyncio context
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2457 ">langchain-ai/langsmith-sdk#2457</a></li>
<li>perf(py): Improve retry logic for tracing ops by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2459 ">langchain-ai/langsmith-sdk#2459</a></li>
<li>feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2460 ">langchain-ai/langsmith-sdk#2460</a></li>
<li>chore(claude agent sdk): rm debug logs by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2461 ">langchain-ai/langsmith-sdk#2461</a></li>
<li>release(py): 0.7.6 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2462 ">langchain-ai/langsmith-sdk#2462</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6 </a></p>
<h2>v0.7.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump chalk from 4.1.2 to 5.6.2 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2416 ">langchain-ai/langsmith-sdk#2416</a></li>
<li>chore(deps-dev): bump <code>@jest/reporters</code> from 29.7.0 to
30.2.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2417 ">langchain-ai/langsmith-sdk#2417</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 16 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2440 ">langchain-ai/langsmith-sdk#2440</a></li>
<li>chore(deps-dev): bump pandas-stubs from 2.3.3.251219 to 2.3.3.260113
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/2404 ">langchain-ai/langsmith-sdk#2404</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 10 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2433 ">langchain-ai/langsmith-sdk#2433</a></li>
<li>make zstandard optional by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2453 ">langchain-ai/langsmith-sdk#2453</a></li>
<li>fix(py/adk): fix multi-agent tracing by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2451 ">langchain-ai/langsmith-sdk#2451</a></li>
<li>release(py): 0.7.5 by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2456 ">langchain-ai/langsmith-sdk#2456</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5 </a></p>
<h2>v0.7.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google-adk): add wrapt dependency by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2436 ">langchain-ai/langsmith-sdk#2436</a></li>
<li>chore: lock dependencies by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2439 ">langchain-ai/langsmith-sdk#2439</a></li>
<li>release(py): 0.7.4 by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2441 ">langchain-ai/langsmith-sdk#2441</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="22a048477a "><code>22a0484</code></a>
release(py): 0.7.6 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2462 ">#2462</a>)</li>
<li><a
href="01acee8618 "><code>01acee8</code></a>
chore(claude agent sdk): rm debug logs (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2461 ">#2461</a>)</li>
<li><a
href="4e366c4685 "><code>4e366c4</code></a>
feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2460 ">#2460</a>)</li>
<li><a
href="4e25507853 "><code>4e25507</code></a>
perf(py): Improve retry logic for tracing ops (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2459 ">#2459</a>)</li>
<li><a
href="daa0330aff "><code>daa0330</code></a>
fix(py, claude agent sdk): Correctly parent spans in asyncio context (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2457 ">#2457</a>)</li>
<li><a
href="070a20719a "><code>070a207</code></a>
feat(python): add sandbox exception types and client plumbing (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2442 ">#2442</a>)</li>
<li><a
href="6f852006cb "><code>6f85200</code></a>
release(py): 0.7.5 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2456 ">#2456</a>)</li>
<li><a
href="901486fd5e "><code>901486f</code></a>
fix(py/adk): fix multi-agent tracing (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2451 ">#2451</a>)</li>
<li><a
href="31d1828efe "><code>31d1828</code></a>
make zstandard optional (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2453 ">#2453</a>)</li>
<li><a
href="78c263920a "><code>78c2639</code></a>
chore(deps-dev): bump the js-minor-and-patch group across 1 directory
with 10...</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.6 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `responses` from 0.25.8 to 0.26.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/responses/releases ">responses's
releases</a>.</em></p>
<blockquote>
<h2>0.26.0</h2>
<ul>
<li>When using <code>assert_all_requests_are_fired=True</code>,
assertions about
unfired requests are now raised even when an exception occurs in the
context manager or
decorated function. Previously, these assertions were suppressed when
exceptions occurred.
This new behavior provides valuable debugging context about which mocked
requests were
or weren't called.</li>
<li>Consider the <code>Retry-After</code> header when handling
retries</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/responses/blob/master/CHANGES ">responses's
changelog</a>.</em></p>
<blockquote>
<h2>0.26.0</h2>
<ul>
<li>When using <code>assert_all_requests_are_fired=True</code>,
assertions about
unfired requests are now raised even when an exception occurs in the
context manager or
decorated function. Previously, these assertions were suppressed when
exceptions occurred.
This new behavior provides valuable debugging context about which mocked
requests were
or weren't called.</li>
<li>Consider the <code>Retry-After</code> header when handling
retries</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="94913d0580 "><code>94913d0</code></a>
release: 0.26.0</li>
<li><a
href="051b79e7fc "><code>051b79e</code></a>
Make <code>assert_all_requests_are_fired</code> always assert on
exception (<a
href="https://redirect.github.com/getsentry/responses/issues/782 ">#782</a>)</li>
<li><a
href="0905cb8bd5 "><code>0905cb8</code></a>
Fix query_param_matcher not matching empty query parameter values (<a
href="https://redirect.github.com/getsentry/responses/issues/787 ">#787</a>)</li>
<li><a
href="e0c6faab41 "><code>e0c6faa</code></a>
ci(release): Switch from action-prepare-release to Craft (<a
href="https://redirect.github.com/getsentry/responses/issues/785 ">#785</a>)</li>
<li><a
href="1be3a737b7 "><code>1be3a73</code></a>
fix: Consider the <code>Retry-After</code> header when handling retries
(<a
href="https://redirect.github.com/getsentry/responses/issues/784 ">#784</a>)</li>
<li><a
href="c6730fbc87 "><code>c6730fb</code></a>
Merge branch 'release/0.25.8'</li>
<li>See full diff in <a
href="https://github.com/getsentry/responses/compare/0.25.8...0.26.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.1 to 0.15.2
<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.2</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-19.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23385 ">#23385</a>)</p>
<p>In preview, Ruff now enables a significantly expanded default rule
set of 412 rules, up from the stable default set of 59 rules. The new
rules are mostly a superset of the stable defaults, with the exception
of these rules, which are removed from the preview defaults:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line "><code>multiple-imports-on-one-line</code></a>
(<code>E401</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E701</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon "><code>multiple-statements-on-one-line-semicolon</code></a>
(<code>E702</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-semicolon "><code>useless-semicolon</code></a>
(<code>E703</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/none-comparison "><code>none-comparison</code></a>
(<code>E711</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/true-false-comparison "><code>true-false-comparison</code></a>
(<code>E712</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-in-test "><code>not-in-test</code></a>
(<code>E713</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-is-test "><code>not-is-test</code></a>
(<code>E714</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/type-comparison "><code>type-comparison</code></a>
(<code>E721</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/lambda-assignment "><code>lambda-assignment</code></a>
(<code>E731</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name "><code>ambiguous-variable-name</code></a>
(<code>E741</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-class-name "><code>ambiguous-class-name</code></a>
(<code>E742</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-function-name "><code>ambiguous-function-name</code></a>
(<code>E743</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star "><code>undefined-local-with-import-star</code></a>
(<code>F403</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage "><code>undefined-local-with-import-star-usage</code></a>
(<code>F405</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage "><code>undefined-local-with-nested-import-star-usage</code></a>
(<code>F406</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error "><code>forward-annotation-syntax-error</code></a>
(<code>F722</code>)</li>
</ul>
<p>If you use preview and prefer the old defaults, you can restore them
with configuration like:</p>
<pre lang="toml"><code>
# ruff.toml
<p>[lint]
select = ["E4", "E7", "E9",
"F"]</p>
<h1>pyproject.toml</h1>
<p>[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
</code></pre></p>
<p>If you do give them a try, feel free to share your feedback in the <a
href="https://github.com/astral-sh/ruff/discussions/23203 ">GitHub
discussion</a>!</p>
</li>
<li>
<p>[<code>flake8-pyi</code>] Also check string annotations
(<code>PYI041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/19023 ">#19023</a>)</p>
</li>
</ul>
<h3>Bug fixes</h3>
<!-- 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.2</h2>
<p>Released on 2026-02-19.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23385 ">#23385</a>)</p>
<p>In preview, Ruff now enables a significantly expanded default rule
set of 412
rules, up from the stable default set of 59 rules. The new rules are
mostly a
superset of the stable defaults, with the exception of these rules,
which are
removed from the preview defaults:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line "><code>multiple-imports-on-one-line</code></a>
(<code>E401</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E701</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon "><code>multiple-statements-on-one-line-semicolon</code></a>
(<code>E702</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-semicolon "><code>useless-semicolon</code></a>
(<code>E703</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/none-comparison "><code>none-comparison</code></a>
(<code>E711</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/true-false-comparison "><code>true-false-comparison</code></a>
(<code>E712</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-in-test "><code>not-in-test</code></a>
(<code>E713</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-is-test "><code>not-is-test</code></a>
(<code>E714</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/type-comparison "><code>type-comparison</code></a>
(<code>E721</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/lambda-assignment "><code>lambda-assignment</code></a>
(<code>E731</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name "><code>ambiguous-variable-name</code></a>
(<code>E741</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-class-name "><code>ambiguous-class-name</code></a>
(<code>E742</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-function-name "><code>ambiguous-function-name</code></a>
(<code>E743</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star "><code>undefined-local-with-import-star</code></a>
(<code>F403</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage "><code>undefined-local-with-import-star-usage</code></a>
(<code>F405</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage "><code>undefined-local-with-nested-import-star-usage</code></a>
(<code>F406</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error "><code>forward-annotation-syntax-error</code></a>
(<code>F722</code>)</li>
</ul>
<p>If you use preview and prefer the old defaults, you can restore them
with
configuration like:</p>
<pre lang="toml"><code>
# ruff.toml
<p>[lint]
select = ["E4", "E7", "E9",
"F"]</p>
<h1>pyproject.toml</h1>
<p>[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
</code></pre></p>
<p>If you do give them a try, feel free to share your feedback in the <a
href="https://github.com/astral-sh/ruff/discussions/23203 ">GitHub
discussion</a>!</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9d18ee9115 "><code>9d18ee9</code></a>
Hard code workflow name and <code>cancel-in-progress</code> only for PRs
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23431 ">#23431</a>)</li>
<li><a
href="7cc15f024b "><code>7cc15f0</code></a>
Bump 0.15.2 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23430 ">#23430</a>)</li>
<li><a
href="d1b544393a "><code>d1b5443</code></a>
Add extension mapping to configuration file options (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23384 ">#23384</a>)</li>
<li><a
href="222574af90 "><code>222574a</code></a>
Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23385 ">#23385</a>)</li>
<li><a
href="1465b5de38 "><code>1465b5d</code></a>
[<code>flake8-async</code>] Fix <code>in_async_context</code> logic (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23426 ">#23426</a>)</li>
<li><a
href="410902fa40 "><code>410902f</code></a>
[<code>pyupgrade</code>] Fix handling of <code>typing.{io,re}</code>
(<code>UP035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23131 ">#23131</a>)</li>
<li><a
href="729610acd9 "><code>729610a</code></a>
[ty] Fall back to ambiguous for large control flow graphs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23399 ">#23399</a>)</li>
<li><a
href="1425c185b0 "><code>1425c18</code></a>
[ty] Add code folding support</li>
<li><a
href="97acaaea5f "><code>97acaae</code></a>
[ty] Fix stack overflow for self-referential <code>TypeOf</code> in
annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23407 ">#23407</a>)</li>
<li><a
href="1f380c8258 "><code>1f380c8</code></a>
[ty] Update tests <code>reveal_type</code> and <code>Never</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23418 ">#23418</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.1 to 0.15.2
<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.2</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-19.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23385 ">#23385</a>)</p>
<p>In preview, Ruff now enables a significantly expanded default rule
set of 412 rules, up from the stable default set of 59 rules. The new
rules are mostly a superset of the stable defaults, with the exception
of these rules, which are removed from the preview defaults:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line "><code>multiple-imports-on-one-line</code></a>
(<code>E401</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E701</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon "><code>multiple-statements-on-one-line-semicolon</code></a>
(<code>E702</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-semicolon "><code>useless-semicolon</code></a>
(<code>E703</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/none-comparison "><code>none-comparison</code></a>
(<code>E711</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/true-false-comparison "><code>true-false-comparison</code></a>
(<code>E712</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-in-test "><code>not-in-test</code></a>
(<code>E713</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-is-test "><code>not-is-test</code></a>
(<code>E714</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/type-comparison "><code>type-comparison</code></a>
(<code>E721</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/lambda-assignment "><code>lambda-assignment</code></a>
(<code>E731</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name "><code>ambiguous-variable-name</code></a>
(<code>E741</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-class-name "><code>ambiguous-class-name</code></a>
(<code>E742</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-function-name "><code>ambiguous-function-name</code></a>
(<code>E743</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star "><code>undefined-local-with-import-star</code></a>
(<code>F403</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage "><code>undefined-local-with-import-star-usage</code></a>
(<code>F405</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage "><code>undefined-local-with-nested-import-star-usage</code></a>
(<code>F406</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error "><code>forward-annotation-syntax-error</code></a>
(<code>F722</code>)</li>
</ul>
<p>If you use preview and prefer the old defaults, you can restore them
with configuration like:</p>
<pre lang="toml"><code>
# ruff.toml
<p>[lint]
select = ["E4", "E7", "E9",
"F"]</p>
<h1>pyproject.toml</h1>
<p>[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
</code></pre></p>
<p>If you do give them a try, feel free to share your feedback in the <a
href="https://github.com/astral-sh/ruff/discussions/23203 ">GitHub
discussion</a>!</p>
</li>
<li>
<p>[<code>flake8-pyi</code>] Also check string annotations
(<code>PYI041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/19023 ">#19023</a>)</p>
</li>
</ul>
<h3>Bug fixes</h3>
<!-- 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.2</h2>
<p>Released on 2026-02-19.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23385 ">#23385</a>)</p>
<p>In preview, Ruff now enables a significantly expanded default rule
set of 412
rules, up from the stable default set of 59 rules. The new rules are
mostly a
superset of the stable defaults, with the exception of these rules,
which are
removed from the preview defaults:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line "><code>multiple-imports-on-one-line</code></a>
(<code>E401</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file "><code>module-import-not-at-top-of-file</code></a>
(<code>E701</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon "><code>multiple-statements-on-one-line-semicolon</code></a>
(<code>E702</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-semicolon "><code>useless-semicolon</code></a>
(<code>E703</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/none-comparison "><code>none-comparison</code></a>
(<code>E711</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/true-false-comparison "><code>true-false-comparison</code></a>
(<code>E712</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-in-test "><code>not-in-test</code></a>
(<code>E713</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/not-is-test "><code>not-is-test</code></a>
(<code>E714</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/type-comparison "><code>type-comparison</code></a>
(<code>E721</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/lambda-assignment "><code>lambda-assignment</code></a>
(<code>E731</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name "><code>ambiguous-variable-name</code></a>
(<code>E741</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-class-name "><code>ambiguous-class-name</code></a>
(<code>E742</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/ambiguous-function-name "><code>ambiguous-function-name</code></a>
(<code>E743</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star "><code>undefined-local-with-import-star</code></a>
(<code>F403</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage "><code>undefined-local-with-import-star-usage</code></a>
(<code>F405</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage "><code>undefined-local-with-nested-import-star-usage</code></a>
(<code>F406</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error "><code>forward-annotation-syntax-error</code></a>
(<code>F722</code>)</li>
</ul>
<p>If you use preview and prefer the old defaults, you can restore them
with
configuration like:</p>
<pre lang="toml"><code>
# ruff.toml
<p>[lint]
select = ["E4", "E7", "E9",
"F"]</p>
<h1>pyproject.toml</h1>
<p>[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
</code></pre></p>
<p>If you do give them a try, feel free to share your feedback in the <a
href="https://github.com/astral-sh/ruff/discussions/23203 ">GitHub
discussion</a>!</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9d18ee9115 "><code>9d18ee9</code></a>
Hard code workflow name and <code>cancel-in-progress</code> only for PRs
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23431 ">#23431</a>)</li>
<li><a
href="7cc15f024b "><code>7cc15f0</code></a>
Bump 0.15.2 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23430 ">#23430</a>)</li>
<li><a
href="d1b544393a "><code>d1b5443</code></a>
Add extension mapping to configuration file options (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23384 ">#23384</a>)</li>
<li><a
href="222574af90 "><code>222574a</code></a>
Expand the default rule set (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23385 ">#23385</a>)</li>
<li><a
href="1465b5de38 "><code>1465b5d</code></a>
[<code>flake8-async</code>] Fix <code>in_async_context</code> logic (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23426 ">#23426</a>)</li>
<li><a
href="410902fa40 "><code>410902f</code></a>
[<code>pyupgrade</code>] Fix handling of <code>typing.{io,re}</code>
(<code>UP035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23131 ">#23131</a>)</li>
<li><a
href="729610acd9 "><code>729610a</code></a>
[ty] Fall back to ambiguous for large control flow graphs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23399 ">#23399</a>)</li>
<li><a
href="1425c185b0 "><code>1425c18</code></a>
[ty] Add code folding support</li>
<li><a
href="97acaaea5f "><code>97acaae</code></a>
[ty] Fix stack overflow for self-referential <code>TypeOf</code> in
annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23407 ">#23407</a>)</li>
<li><a
href="1f380c8258 "><code>1f380c8</code></a>
[ty] Update tests <code>reveal_type</code> and <code>Never</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23418 ">#23418</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.3 to 0.7.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.6</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(python): add sandbox exception types and client plumbing by <a
href="https://github.com/DanielKneipp "><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2442 ">langchain-ai/langsmith-sdk#2442</a></li>
<li>fix(py, claude agent sdk): Correctly parent spans in asyncio context
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2457 ">langchain-ai/langsmith-sdk#2457</a></li>
<li>perf(py): Improve retry logic for tracing ops by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2459 ">langchain-ai/langsmith-sdk#2459</a></li>
<li>feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2460 ">langchain-ai/langsmith-sdk#2460</a></li>
<li>chore(claude agent sdk): rm debug logs by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2461 ">langchain-ai/langsmith-sdk#2461</a></li>
<li>release(py): 0.7.6 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2462 ">langchain-ai/langsmith-sdk#2462</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6 </a></p>
<h2>v0.7.5</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump chalk from 4.1.2 to 5.6.2 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2416 ">langchain-ai/langsmith-sdk#2416</a></li>
<li>chore(deps-dev): bump <code>@jest/reporters</code> from 29.7.0 to
30.2.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2417 ">langchain-ai/langsmith-sdk#2417</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 16 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2440 ">langchain-ai/langsmith-sdk#2440</a></li>
<li>chore(deps-dev): bump pandas-stubs from 2.3.3.251219 to 2.3.3.260113
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/2404 ">langchain-ai/langsmith-sdk#2404</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group across 1
directory with 10 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2433 ">langchain-ai/langsmith-sdk#2433</a></li>
<li>make zstandard optional by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2453 ">langchain-ai/langsmith-sdk#2453</a></li>
<li>fix(py/adk): fix multi-agent tracing by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2451 ">langchain-ai/langsmith-sdk#2451</a></li>
<li>release(py): 0.7.5 by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2456 ">langchain-ai/langsmith-sdk#2456</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5 </a></p>
<h2>v0.7.4</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(google-adk): add wrapt dependency by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2436 ">langchain-ai/langsmith-sdk#2436</a></li>
<li>chore: lock dependencies by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2439 ">langchain-ai/langsmith-sdk#2439</a></li>
<li>release(py): 0.7.4 by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2441 ">langchain-ai/langsmith-sdk#2441</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="22a048477a "><code>22a0484</code></a>
release(py): 0.7.6 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2462 ">#2462</a>)</li>
<li><a
href="01acee8618 "><code>01acee8</code></a>
chore(claude agent sdk): rm debug logs (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2461 ">#2461</a>)</li>
<li><a
href="4e366c4685 "><code>4e366c4</code></a>
feat(py, claude a...
_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-02-26 02:48:31 -08:00
dependabot[bot]
875c3c573d
chore: bump google-cloud-aiplatform from 1.127.0 to 1.133.0 in /libs/langchain_v1 ( #35397 )
2026-02-22 13:47:04 -05:00
ccurme
00538ff5fc
revert: add ChatAnthropicBedrockWrapper ( #35371 )
2026-02-20 15:58:35 -05:00
ccurme
070c234104
fix(langchain): support anthropic-bedrock in init_chat_model ( #35366 )
2026-02-20 13:38:11 -05:00
Christophe Bornet
6a6ef8caad
style: fix some ruff noqa ( #35321 )
2026-02-19 13:19:30 -05:00
Théo Deschamps
83f81d65af
fix(langchain): allow Gemini 3 models to use ProviderStrategy with tools ( #34464 )
2026-02-18 21:14:16 -05:00
Shivangi Sharma
f7dbdab5ba
docs: fix docstring inaccuracies and update outdated LangSmith URLs ( #35283 )
...
Fix several docstring inaccuracies in langchain-core and update outdated
LangSmith URLs across three README files.
**Docstring fixes (libs/core):**
- `tap_output_iter`: docstring says "async iterator" but method accepts
sync `Iterator`
- `agenerate_from_stream`: docstring says "Iterator" but method accepts
`AsyncIterator`
- `BaseLLM.OutputType`: docstring says "input type" but property returns
output type
- Grammar: "or deprecated" → "or be deprecated", "relies" → "rely",
"whose the" → "whose"
**URL fixes (libs/core, libs/langchain, libs/langchain_v1):**
- Updated `smith.langchain.com` → `www.langchain.com/langsmith` (root
README already uses the correct URL)
Verified with `make lint` and `make format` in libs/core — no new issues
introduced. Changes are docs-only with no code logic impact.
*This PR was created with assistance from an AI coding tool.*
2026-02-17 11:22:18 -05:00
ccurme
8f1bc0d3ae
feat(openai): support automatic server-side compaction ( #35212 )
2026-02-17 10:48:52 -05:00
dependabot[bot]
9292bada0b
chore: bump the langchain-deps group across 3 directories with 8 updates ( #35257 )
...
Bumps the langchain-deps group with 2 updates in the /libs/core
directory: [langsmith](https://github.com/langchain-ai/langsmith-sdk )
and [ruff](https://github.com/astral-sh/ruff ).
Bumps the langchain-deps group with 6 updates in the /libs/langchain
directory:
| Package | From | To |
| --- | --- | --- |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk ) | `0.7.1` |
`0.7.3` |
| [packaging](https://github.com/pypa/packaging ) | `24.2` | `26.0` |
| [ruff](https://github.com/astral-sh/ruff ) | `0.15.0` | `0.15.1` |
| [langchain-anthropic](https://github.com/langchain-ai/langchain ) |
`1.3.2` | `1.3.3` |
| [langchain-aws](https://github.com/langchain-ai/langchain-aws ) |
`1.2.3` | `1.2.5` |
| [fastapi](https://github.com/fastapi/fastapi ) | `0.128.6` | `0.129.0`
|
Bumps the langchain-deps group with 2 updates in the /libs/langchain_v1
directory: [ruff](https://github.com/astral-sh/ruff ) and
[langchain-aws](https://github.com/langchain-ai/langchain-aws ).
Updates `langsmith` from 0.7.1 to 0.7.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.3</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: propagate tracingEnabled to nested traceables by <a
href="https://github.com/hntrl "><code>@hntrl</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2427 ">langchain-ai/langsmith-sdk#2427</a></li>
<li>chore(python): openai agents: delay span start for spans without
inputs on start event by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2424 ">langchain-ai/langsmith-sdk#2424</a></li>
<li>release(py): 0.7.3 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2428 ">langchain-ai/langsmith-sdk#2428</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.2...v0.7.3 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.2...v0.7.3 </a></p>
<h2>v0.7.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): 0.5.1 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2389 ">langchain-ai/langsmith-sdk#2389</a></li>
<li>fix(js): Remove <a
href="https://github.com/internal "><code>@internal</code></a> by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2391 ">langchain-ai/langsmith-sdk#2391</a></li>
<li>release(js): 0.5.2 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2392 ">langchain-ai/langsmith-sdk#2392</a></li>
<li>chore(deps-dev): bump openai from 5.8.2 to 6.18.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2378 ">langchain-ai/langsmith-sdk#2378</a></li>
<li>chore(deps-dev): bump cross-env from 7.0.3 to 10.1.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2379 ">langchain-ai/langsmith-sdk#2379</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group in /js with 4
updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2376 ">langchain-ai/langsmith-sdk#2376</a></li>
<li>chore(deps-dev): bump node-fetch from 2.7.0 to 3.3.2 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2380 ">langchain-ai/langsmith-sdk#2380</a></li>
<li>Google ADK LangSmith tracing enhancements by <a
href="https://github.com/j-broekhuizen "><code>@j-broekhuizen</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2394 ">langchain-ai/langsmith-sdk#2394</a></li>
<li>chore: update dependabot.yml to comply with posture checks by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2393 ">langchain-ai/langsmith-sdk#2393</a></li>
<li>chore(deps): bump cryptography from 46.0.3 to 46.0.5 in /python in
the uv group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2397 ">langchain-ai/langsmith-sdk#2397</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group in /js with 6
updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2398 ">langchain-ai/langsmith-sdk#2398</a></li>
<li>chore(deps-dev): bump eslint-config-prettier from 8.10.0 to 10.1.8
in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2399 ">langchain-ai/langsmith-sdk#2399</a></li>
<li>chore(deps): bump packaging from 25.0 to 26.0 in /python by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2403 ">langchain-ai/langsmith-sdk#2403</a></li>
<li>chore(deps-dev): bump pytest from 8.4.2 to 9.0.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/2405 ">langchain-ai/langsmith-sdk#2405</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 20 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2406 ">langchain-ai/langsmith-sdk#2406</a></li>
<li>fix(js): Log Vitest/Jest outputs even if test throws an error by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2408 ">langchain-ai/langsmith-sdk#2408</a></li>
<li>fix(js): Remove async by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2409 ">langchain-ai/langsmith-sdk#2409</a></li>
<li>release(js): 0.5.3 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2410 ">langchain-ai/langsmith-sdk#2410</a></li>
<li>fix: ignoring p-queue dep by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2414 ">langchain-ai/langsmith-sdk#2414</a></li>
<li>feat(js): add feedback config CRUD and annotation queue rubric items
(closes LSPE-67) by <a
href="https://github.com/bentanny "><code>@bentanny</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2420 ">langchain-ai/langsmith-sdk#2420</a></li>
<li>fix(js): Add on_start handler for traceable, use in evaluate by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2421 ">langchain-ai/langsmith-sdk#2421</a></li>
<li>release(js): 0.5.4 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2422 ">langchain-ai/langsmith-sdk#2422</a></li>
<li>feat(python): add feedback config CRUD and annotation queue rubric
items (closes LSPE-67) by <a
href="https://github.com/bentanny "><code>@bentanny</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2419 ">langchain-ai/langsmith-sdk#2419</a></li>
<li>feat(python): add exceptions_to_handle to <a
href="https://github.com/traceable "><code>@traceable</code></a> by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2423 ">langchain-ai/langsmith-sdk#2423</a></li>
<li>release(py): 0.7.2 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2426 ">langchain-ai/langsmith-sdk#2426</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/j-broekhuizen "><code>@j-broekhuizen</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2394 ">langchain-ai/langsmith-sdk#2394</a></li>
<li><a href="https://github.com/bentanny "><code>@bentanny</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2420 ">langchain-ai/langsmith-sdk#2420</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.1...v0.7.2 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.1...v0.7.2 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e32d4c18a6 "><code>e32d4c1</code></a>
release(py): 0.7.3 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2428 ">#2428</a>)</li>
<li><a
href="1c51bf881d "><code>1c51bf8</code></a>
chore(python): openai agents: delay span start for spans without inputs
on st...</li>
<li><a
href="a41bf22dad "><code>a41bf22</code></a>
fix: propagate tracingEnabled to nested traceables (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2427 ">#2427</a>)</li>
<li><a
href="3a6e9dac4b "><code>3a6e9da</code></a>
release(py): 0.7.2 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2426 ">#2426</a>)</li>
<li><a
href="f665e865e7 "><code>f665e86</code></a>
feat(python): add exceptions_to_handle to <a
href="https://github.com/traceable "><code>@traceable</code></a> (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2423 ">#2423</a>)</li>
<li><a
href="565c4a2c57 "><code>565c4a2</code></a>
feat(python): add feedback config CRUD and annotation queue rubric items
(clo...</li>
<li><a
href="e1b1fe13c3 "><code>e1b1fe1</code></a>
release(js): 0.5.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2422 ">#2422</a>)</li>
<li><a
href="6af564608a "><code>6af5646</code></a>
fix(js): Add on_start handler for traceable, use in evaluate (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2421 ">#2421</a>)</li>
<li><a
href="fb0ce1d4bf "><code>fb0ce1d</code></a>
feat(js): add feedback config CRUD and annotation queue rubric items
(closes ...</li>
<li><a
href="61783fbd7c "><code>61783fb</code></a>
fix: ignoring p-queue dep (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2414 ">#2414</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.1...v0.7.3 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.0 to 0.15.1
<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.1</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-12.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Add ruff rules to catch deprecated Airflow
imports for Airflow 3.1 (<code>AIR321</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22376 ">#22376</a>)</li>
<li>[<code>airflow</code>] Third positional parameter not named
<code>ti_key</code> should be flagged for
<code>BaseOperatorLink.get_link</code> (<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22828 ">#22828</a>)</li>
<li>[<code>flake8-gettext</code>] Fix false negatives for plural
argument of <code>ngettext</code> (<code>INT001</code>,
<code>INT002</code>, <code>INT003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21078 ">#21078</a>)</li>
<li>[<code>pyflakes</code>] Fix infinite loop in preview fix for
<code>unused-import</code> (<code>F401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23038 ">#23038</a>)</li>
<li>[<code>pygrep-hooks</code>] Detect non-existent mock methods in
standalone expressions (<code>PGH005</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22830 ">#22830</a>)</li>
<li>[<code>pylint</code>] Allow dunder submodules and improve diagnostic
range (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22804 ">#22804</a>)</li>
<li>[<code>pyupgrade</code>] Improve diagnostic range for tuples
(<code>UP024</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23013 ">#23013</a>)</li>
<li>[<code>refurb</code>] Check subscripts in tuple do not use lambda
parameters in <code>reimplemented-operator</code> (<code>FURB118</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23079 ">#23079</a>)</li>
<li>[<code>ruff</code>] Detect mutable defaults in <code>field</code>
calls (<code>RUF008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23046 ">#23046</a>)</li>
<li>[<code>ruff</code>] Ignore std <code>cmath.inf</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23120 ">#23120</a>)</li>
<li>[<code>ruff</code>] New rule <code>float-equality-comparison</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/20585 ">#20585</a>)</li>
<li>Don't format unlabeled Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23106 ">#23106</a>)</li>
<li>Markdown formatting support in LSP (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23063 ">#23063</a>)</li>
<li>Support Quarto Markdown language markers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22947 ">#22947</a>)</li>
<li>Support formatting <code>pycon</code> Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23112 ">#23112</a>)</li>
<li>Use extension mapping to select Markdown code block language (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22934 ">#22934</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid false positive for undefined variables in <code>FAST001</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23224 ">#23224</a>)</li>
<li>Avoid introducing syntax errors for <code>FAST003</code> autofix (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23227 ">#23227</a>)</li>
<li>Avoid suggesting <code>InitVar</code> for <code>__post_init__</code>
that references PEP 695 type parameters (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23226 ">#23226</a>)</li>
<li>Deduplicate type variables in generic functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23225 ">#23225</a>)</li>
<li>Fix exception handler parenthesis removal for Python 3.14+ (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23126 ">#23126</a>)</li>
<li>Fix f-string middle panic when parsing t-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23232 ">#23232</a>)</li>
<li>Wrap <code>RUF020</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23210 ">#23210</a>)</li>
<li>Wrap <code>UP007</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23208 ">#23208</a>)</li>
<li>Fix missing diagnostics for last range suppression in file (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23242 ">#23242</a>)</li>
<li>[<code>pyupgrade</code>] Fix syntax error on string with newline
escape and comment (<code>UP037</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22968 ">#22968</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Use <code>ruff</code> instead of <code>Ruff</code> as the program
name in GitHub output format (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23240 ">#23240</a>)</li>
<li>[<code>PT006</code>] Fix syntax error when unpacking nested tuples
in <code>parametrize</code> fixes (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22441 ">#22441</a>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22464 ">#22464</a>)</li>
<li>[<code>airflow</code>] Catch deprecated attribute access from
context key for Airflow 3.0 (<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22850 ">#22850</a>)</li>
<li>[<code>airflow</code>] Capture deprecated arguments and a decorator
(<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23170 ">#23170</a>)</li>
<li>[<code>flake8-boolean-trap</code>] Add
<code>multiprocessing.Value</code> to excluded functions for
<code>FBT003</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23010 ">#23010</a>)</li>
<li>[<code>flake8-bugbear</code>] Add a secondary annotation showing the
previous occurrence (<code>B033</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22634 ">#22634</a>)</li>
<li>[<code>flake8-type-checking</code>] Add sub-diagnostic showing the
runtime use of an annotation (<code>TC004</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23091 ">#23091</a>)</li>
<li>[<code>isort</code>] Support configurable import section heading
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23151 ">#23151</a>)</li>
<li>[<code>ruff</code>] Improve the diagnostic for <code>RUF012</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23202 ">#23202</a>)</li>
</ul>
<h3>Formatter</h3>
<!-- 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.1</h2>
<p>Released on 2026-02-12.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Add ruff rules to catch deprecated Airflow
imports for Airflow 3.1 (<code>AIR321</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22376 ">#22376</a>)</li>
<li>[<code>airflow</code>] Third positional parameter not named
<code>ti_key</code> should be flagged for
<code>BaseOperatorLink.get_link</code> (<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22828 ">#22828</a>)</li>
<li>[<code>flake8-gettext</code>] Fix false negatives for plural
argument of <code>ngettext</code> (<code>INT001</code>,
<code>INT002</code>, <code>INT003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21078 ">#21078</a>)</li>
<li>[<code>pyflakes</code>] Fix infinite loop in preview fix for
<code>unused-import</code> (<code>F401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23038 ">#23038</a>)</li>
<li>[<code>pygrep-hooks</code>] Detect non-existent mock methods in
standalone expressions (<code>PGH005</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22830 ">#22830</a>)</li>
<li>[<code>pylint</code>] Allow dunder submodules and improve diagnostic
range (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22804 ">#22804</a>)</li>
<li>[<code>pyupgrade</code>] Improve diagnostic range for tuples
(<code>UP024</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23013 ">#23013</a>)</li>
<li>[<code>refurb</code>] Check subscripts in tuple do not use lambda
parameters in <code>reimplemented-operator</code> (<code>FURB118</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23079 ">#23079</a>)</li>
<li>[<code>ruff</code>] Detect mutable defaults in <code>field</code>
calls (<code>RUF008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23046 ">#23046</a>)</li>
<li>[<code>ruff</code>] Ignore std <code>cmath.inf</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23120 ">#23120</a>)</li>
<li>[<code>ruff</code>] New rule <code>float-equality-comparison</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/20585 ">#20585</a>)</li>
<li>Don't format unlabeled Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23106 ">#23106</a>)</li>
<li>Markdown formatting support in LSP (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23063 ">#23063</a>)</li>
<li>Support Quarto Markdown language markers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22947 ">#22947</a>)</li>
<li>Support formatting <code>pycon</code> Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23112 ">#23112</a>)</li>
<li>Use extension mapping to select Markdown code block language (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22934 ">#22934</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid false positive for undefined variables in <code>FAST001</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23224 ">#23224</a>)</li>
<li>Avoid introducing syntax errors for <code>FAST003</code> autofix (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23227 ">#23227</a>)</li>
<li>Avoid suggesting <code>InitVar</code> for <code>__post_init__</code>
that references PEP 695 type parameters (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23226 ">#23226</a>)</li>
<li>Deduplicate type variables in generic functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23225 ">#23225</a>)</li>
<li>Fix exception handler parenthesis removal for Python 3.14+ (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23126 ">#23126</a>)</li>
<li>Fix f-string middle panic when parsing t-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23232 ">#23232</a>)</li>
<li>Wrap <code>RUF020</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23210 ">#23210</a>)</li>
<li>Wrap <code>UP007</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23208 ">#23208</a>)</li>
<li>Fix missing diagnostics for last range suppression in file (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23242 ">#23242</a>)</li>
<li>[<code>pyupgrade</code>] Fix syntax error on string with newline
escape and comment (<code>UP037</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22968 ">#22968</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Use <code>ruff</code> instead of <code>Ruff</code> as the program
name in GitHub output format (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23240 ">#23240</a>)</li>
<li>[<code>PT006</code>] Fix syntax error when unpacking nested tuples
in <code>parametrize</code> fixes (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22441 ">#22441</a>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22464 ">#22464</a>)</li>
<li>[<code>airflow</code>] Catch deprecated attribute access from
context key for Airflow 3.0 (<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22850 ">#22850</a>)</li>
<li>[<code>airflow</code>] Capture deprecated arguments and a decorator
(<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23170 ">#23170</a>)</li>
<li>[<code>flake8-boolean-trap</code>] Add
<code>multiprocessing.Value</code> to excluded functions for
<code>FBT003</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23010 ">#23010</a>)</li>
<li>[<code>flake8-bugbear</code>] Add a secondary annotation showing the
previous occurrence (<code>B033</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22634 ">#22634</a>)</li>
<li>[<code>flake8-type-checking</code>] Add sub-diagnostic showing the
runtime use of an annotation (<code>TC004</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23091 ">#23091</a>)</li>
<li>[<code>isort</code>] Support configurable import section heading
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23151 ">#23151</a>)</li>
<li>[<code>ruff</code>] Improve the diagnostic for <code>RUF012</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23202 ">#23202</a>)</li>
</ul>
<h3>Formatter</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a2f11d239f "><code>a2f11d2</code></a>
Prepare for 0.15.1 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23253 ">#23253</a>)</li>
<li><a
href="d29628e966 "><code>d29628e</code></a>
Remove docker-run-action (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23254 ">#23254</a>)</li>
<li><a
href="8a04266765 "><code>8a04266</code></a>
[ty] Allow discovering dependencies in system Python environments (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22994 ">#22994</a>)</li>
<li><a
href="55d06c8879 "><code>55d06c8</code></a>
Ensure pending suppression diagnostics are reported (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23242 ">#23242</a>)</li>
<li><a
href="d056a9fa6d "><code>d056a9f</code></a>
[<code>isort</code>] support for configurable import section heading
comments (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23151 ">#23151</a>)</li>
<li><a
href="e22fa4f14d "><code>e22fa4f</code></a>
[ty] Fix method calls on subclasses of <code>Any</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23248 ">#23248</a>)</li>
<li><a
href="fa56c1550d "><code>fa56c15</code></a>
[ty] Fix bound method access on <code>None</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23246 ">#23246</a>)</li>
<li><a
href="4fd07d0e1c "><code>4fd07d0</code></a>
Make range suppression test snapshot actually useful (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23251 ">#23251</a>)</li>
<li><a
href="8c63bced13 "><code>8c63bce</code></a>
[ty] Include conditional symbols (like <code>datetime.UTC</code>) in
auto-import in more...</li>
<li><a
href="46be94361b "><code>46be943</code></a>
Exclude WASM artifacts from GitHub releases (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23221 ">#23221</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.0...0.15.1 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.1 to 0.7.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases ">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.3</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: propagate tracingEnabled to nested traceables by <a
href="https://github.com/hntrl "><code>@hntrl</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2427 ">langchain-ai/langsmith-sdk#2427</a></li>
<li>chore(python): openai agents: delay span start for spans without
inputs on start event by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2424 ">langchain-ai/langsmith-sdk#2424</a></li>
<li>release(py): 0.7.3 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2428 ">langchain-ai/langsmith-sdk#2428</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.2...v0.7.3 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.2...v0.7.3 </a></p>
<h2>v0.7.2</h2>
<h2>What's Changed</h2>
<ul>
<li>release(js): 0.5.1 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2389 ">langchain-ai/langsmith-sdk#2389</a></li>
<li>fix(js): Remove <a
href="https://github.com/internal "><code>@internal</code></a> by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2391 ">langchain-ai/langsmith-sdk#2391</a></li>
<li>release(js): 0.5.2 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2392 ">langchain-ai/langsmith-sdk#2392</a></li>
<li>chore(deps-dev): bump openai from 5.8.2 to 6.18.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2378 ">langchain-ai/langsmith-sdk#2378</a></li>
<li>chore(deps-dev): bump cross-env from 7.0.3 to 10.1.0 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2379 ">langchain-ai/langsmith-sdk#2379</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group in /js with 4
updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2376 ">langchain-ai/langsmith-sdk#2376</a></li>
<li>chore(deps-dev): bump node-fetch from 2.7.0 to 3.3.2 in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2380 ">langchain-ai/langsmith-sdk#2380</a></li>
<li>Google ADK LangSmith tracing enhancements by <a
href="https://github.com/j-broekhuizen "><code>@j-broekhuizen</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2394 ">langchain-ai/langsmith-sdk#2394</a></li>
<li>chore: update dependabot.yml to comply with posture checks by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2393 ">langchain-ai/langsmith-sdk#2393</a></li>
<li>chore(deps): bump cryptography from 46.0.3 to 46.0.5 in /python in
the uv group across 1 directory by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2397 ">langchain-ai/langsmith-sdk#2397</a></li>
<li>chore(deps-dev): bump the js-minor-and-patch group in /js with 6
updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2398 ">langchain-ai/langsmith-sdk#2398</a></li>
<li>chore(deps-dev): bump eslint-config-prettier from 8.10.0 to 10.1.8
in /js by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2399 ">langchain-ai/langsmith-sdk#2399</a></li>
<li>chore(deps): bump packaging from 25.0 to 26.0 in /python by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2403 ">langchain-ai/langsmith-sdk#2403</a></li>
<li>chore(deps-dev): bump pytest from 8.4.2 to 9.0.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/2405 ">langchain-ai/langsmith-sdk#2405</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 20 updates by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2406 ">langchain-ai/langsmith-sdk#2406</a></li>
<li>fix(js): Log Vitest/Jest outputs even if test throws an error by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2408 ">langchain-ai/langsmith-sdk#2408</a></li>
<li>fix(js): Remove async by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2409 ">langchain-ai/langsmith-sdk#2409</a></li>
<li>release(js): 0.5.3 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2410 ">langchain-ai/langsmith-sdk#2410</a></li>
<li>fix: ignoring p-queue dep by <a
href="https://github.com/jkennedyvz "><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2414 ">langchain-ai/langsmith-sdk#2414</a></li>
<li>feat(js): add feedback config CRUD and annotation queue rubric items
(closes LSPE-67) by <a
href="https://github.com/bentanny "><code>@bentanny</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2420 ">langchain-ai/langsmith-sdk#2420</a></li>
<li>fix(js): Add on_start handler for traceable, use in evaluate by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2421 ">langchain-ai/langsmith-sdk#2421</a></li>
<li>release(js): 0.5.4 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2422 ">langchain-ai/langsmith-sdk#2422</a></li>
<li>feat(python): add feedback config CRUD and annotation queue rubric
items (closes LSPE-67) by <a
href="https://github.com/bentanny "><code>@bentanny</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2419 ">langchain-ai/langsmith-sdk#2419</a></li>
<li>feat(python): add exceptions_to_handle to <a
href="https://github.com/traceable "><code>@traceable</code></a> by <a
href="https://github.com/QuentinBrosse "><code>@QuentinBrosse</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2423 ">langchain-ai/langsmith-sdk#2423</a></li>
<li>release(py): 0.7.2 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2426 ">langchain-ai/langsmith-sdk#2426</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/j-broekhuizen "><code>@j-broekhuizen</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2394 ">langchain-ai/langsmith-sdk#2394</a></li>
<li><a href="https://github.com/bentanny "><code>@bentanny</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2420 ">langchain-ai/langsmith-sdk#2420</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.1...v0.7.2 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.1...v0.7.2 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e32d4c18a6 "><code>e32d4c1</code></a>
release(py): 0.7.3 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2428 ">#2428</a>)</li>
<li><a
href="1c51bf881d "><code>1c51bf8</code></a>
chore(python): openai agents: delay span start for spans without inputs
on st...</li>
<li><a
href="a41bf22dad "><code>a41bf22</code></a>
fix: propagate tracingEnabled to nested traceables (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2427 ">#2427</a>)</li>
<li><a
href="3a6e9dac4b "><code>3a6e9da</code></a>
release(py): 0.7.2 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2426 ">#2426</a>)</li>
<li><a
href="f665e865e7 "><code>f665e86</code></a>
feat(python): add exceptions_to_handle to <a
href="https://github.com/traceable "><code>@traceable</code></a> (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2423 ">#2423</a>)</li>
<li><a
href="565c4a2c57 "><code>565c4a2</code></a>
feat(python): add feedback config CRUD and annotation queue rubric items
(clo...</li>
<li><a
href="e1b1fe13c3 "><code>e1b1fe1</code></a>
release(js): 0.5.4 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2422 ">#2422</a>)</li>
<li><a
href="6af564608a "><code>6af5646</code></a>
fix(js): Add on_start handler for traceable, use in evaluate (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2421 ">#2421</a>)</li>
<li><a
href="fb0ce1d4bf "><code>fb0ce1d</code></a>
feat(js): add feedback config CRUD and annotation queue rubric items
(closes ...</li>
<li><a
href="61783fbd7c "><code>61783fb</code></a>
fix: ignoring p-queue dep (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2414 ">#2414</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.1...v0.7.3 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `packaging` from 24.2 to 26.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/releases ">packaging's
releases</a>.</em></p>
<blockquote>
<h2>26.0</h2>
<p>Read about the performance improvements here: <a
href="https://iscinumpy.dev/post/packaging-faster ">https://iscinumpy.dev/post/packaging-faster </a>.</p>
<h2>What's Changed</h2>
<p>Features:</p>
<ul>
<li>PEP 751: support pylock by <a
href="https://github.com/sbidoul "><code>@sbidoul</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/900 ">pypa/packaging#900</a></li>
<li>PEP 794: import name metadata by <a
href="https://github.com/brettcannon "><code>@brettcannon</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/948 ">pypa/packaging#948</a></li>
<li>Support writing metadata by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/846 ">pypa/packaging#846</a></li>
<li>Support <code>__replace__</code> for <code>Version</code> by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/1003 ">pypa/packaging#1003</a></li>
<li>Support positional pattern matching for <code>Version</code> and
<code>Specifier</code> by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/1004 ">pypa/packaging#1004</a></li>
</ul>
<p>Behavior adaptations:</p>
<ul>
<li>PEP 440 handling of prereleases for <code>Specifier.contains</code>,
<code>SpecifierSet.contains</code>, and <code>SpecifierSet.filter</code>
by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/897 ">pypa/packaging#897</a></li>
<li>Handle PEP 440 edge case in <code>SpecifierSet.filter</code> by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/942 ">pypa/packaging#942</a></li>
<li>Adjust arbitrary equality intersection preservation in
<code>SpecifierSet</code> by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/951 ">pypa/packaging#951</a></li>
<li>Return <code>False</code> instead of raising for
<code>.contains</code> with invalid version by <a
href="https://github.com/Liam-DeVoe "><code>@Liam-DeVoe</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/932 ">pypa/packaging#932</a></li>
<li>Support arbitrary equality on arbitrary strings for
<code>Specifier</code> and <code>SpecifierSet</code>'s
<code>filter</code> and <code>contains</code> method. by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/954 ">pypa/packaging#954</a></li>
<li>Only try to parse as <code>Version</code> on certain marker keys,
return <code>False</code> on unequal ordered comparsions by <a
href="https://github.com/JP-Ellis "><code>@JP-Ellis</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/939 ">pypa/packaging#939</a></li>
</ul>
<p>Fixes:</p>
<ul>
<li>Update <code>_hash</code> when unpickling <code>Tag()</code> by <a
href="https://github.com/dholth "><code>@dholth</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/860 ">pypa/packaging#860</a></li>
<li>Correct comment and simplify implicit prerelease handling in
<code>Specifier.prereleases</code> by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/896 ">pypa/packaging#896</a></li>
<li>Use explicit <code>_GLibCVersion</code> <code>NamedTuple</code> in
<code>_manylinux</code> by <a
href="https://github.com/cthoyt "><code>@cthoyt</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/868 ">pypa/packaging#868</a></li>
<li>Detect invalid license expressions containing <code>()</code> by <a
href="https://github.com/bwoodsend "><code>@bwoodsend</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/879 ">pypa/packaging#879</a></li>
<li>Correct regex for metadata <code>'name'</code> format by <a
href="https://github.com/di "><code>@di</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/925 ">pypa/packaging#925</a></li>
<li>Improve the message around expecting a semicolon by <a
href="https://github.com/pradyunsg "><code>@pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/833 ">pypa/packaging#833</a></li>
<li>Support nested parens in license expressions by <a
href="https://github.com/Liam-DeVoe "><code>@Liam-DeVoe</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/931 ">pypa/packaging#931</a></li>
<li>Add space before at symbol in <code>Requirements</code> string by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/953 ">pypa/packaging#953</a></li>
<li>A root logger use found by ruff LOG, use <code>packaging</code>
logger instead by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/965 ">pypa/packaging#965</a></li>
<li>Better support for subclassing <code>Marker</code> and
<code>Requirement</code> by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/1022 ">pypa/packaging#1022</a></li>
<li>Normalize all extras, not just if it comes first by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/1024 ">pypa/packaging#1024</a></li>
<li>Don't produce a broken repr if <code>Marker</code> fails to
construct by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/1033 ">pypa/packaging#1033</a></li>
</ul>
<p>Performance:</p>
<ul>
<li>Avoid recompiling regexes in the tokenizer for a 3x speedup by <a
href="https://github.com/hauntsaninja "><code>@hauntsaninja</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/1019 ">pypa/packaging#1019</a></li>
<li>Improve performance in <code>_manylinux.py</code> by <a
href="https://github.com/cthoyt "><code>@cthoyt</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/869 ">pypa/packaging#869</a></li>
<li>Minor cleanups to <code>Version</code> by <a
href="https://github.com/bearomorphism "><code>@bearomorphism</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/913 ">pypa/packaging#913</a></li>
<li>Skip redundant creation of <code>Version</code>s in specifier
comparison by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/986 ">pypa/packaging#986</a></li>
<li>Cache <code>Specifier</code>'s Version by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/985 ">pypa/packaging#985</a></li>
<li>Make <code>Version</code> a little faster by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/987 ">pypa/packaging#987</a></li>
<li>Minor <code>Version</code> regex cleanup by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/990 ">pypa/packaging#990</a></li>
<li>Faster regex on Python 3.11.5+ by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/988 ">pypa/packaging#988</a>
and <a
href="https://redirect.github.com/pypa/packaging/pull/1055 ">pypa/packaging#1055</a></li>
<li>Lazily calculate <code>_key</code> in <code>Version</code> by <a
href="https://github.com/notatallshaw "><code>@notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/989 ">pypa/packaging#989</a>
and regression for <code>packaging_legacy</code> fixed by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/1048 ">pypa/packaging#1048</a></li>
<li>Faster <code>canonicalize_version</code> by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/993 ">pypa/packaging#993</a></li>
<li>Use <code>fullmatch</code> in a couple more places by <a
href="https://github.com/henryiii "><code>@henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/992 ">pypa/packaging#992</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst ">packaging's
changelog</a>.</em></p>
<blockquote>
<p>26.0 - 2026-01-20</p>
<pre><code>
Features:
<ul>
<li>PEP 751: support pylock (:pull:<code>900</code>)</li>
<li>PEP 794: import name metadata (:pull:<code>948</code>)</li>
<li>Support for writing metadata to a file (:pull:<code>846</code>)</li>
<li>Support <code>__replace__</code> on Version
(:pull:<code>1003</code>)</li>
<li>Support positional pattern matching for <code>Version</code> and
<code>SpecifierSet</code> (:pull:<code>1004</code>)</li>
</ul>
<p>Behavior adaptations:</p>
<ul>
<li>PEP 440 handling of prereleases for <code>Specifier.contains</code>,
<code>SpecifierSet.contains</code>, and <code>SpecifierSet.filter</code>
(:pull:<code>897</code>)</li>
<li>Handle PEP 440 edge case in <code>SpecifierSet.filter</code>
(:pull:<code>942</code>)</li>
<li>Adjust arbitrary equality intersection preservation in
<code>SpecifierSet</code> (:pull:<code>951</code>)</li>
<li>Return <code>False</code> instead of raising for
<code>.contains</code> with invalid version
(:pull:<code>932</code>)</li>
<li>Support arbitrary equality on arbitrary strings for
<code>Specifier</code> and <code>SpecifierSet</code>'s
<code>filter</code> and <code>contains</code> method.
(:pull:<code>954</code>)</li>
<li>Only try to parse as <code>Version</code> on certain marker keys,
return <code>False</code> on unequal ordered comparisons
(:pull:<code>939</code>)</li>
</ul>
<p>Fixes:</p>
<ul>
<li>Update <code>_hash</code> when unpickling <code>Tag()</code>
(:pull:<code>860</code>)</li>
<li>Correct comment and simplify implicit prerelease handling in
<code>Specifier.prereleases</code> (:pull:<code>896</code>)</li>
<li>Use explicit <code>_GLibCVersion</code> <code>NamedTuple</code> in
<code>_manylinux</code> (:pull:<code>868</code>)</li>
<li>Detect invalid license expressions containing <code>()</code>
(:pull:<code>879</code>)</li>
<li>Correct regex for metadata <code>'name'</code> format
(:pull:<code>925</code>)</li>
<li>Improve the message around expecting a semicolon
(:pull:<code>833</code>)</li>
<li>Support nested parens in license expressions
(:pull:<code>931</code>)</li>
<li>Add space before at symbol in <code>Requirements</code> string
(:pull:<code>953</code>)</li>
<li>A root logger use found, use a <code>packaging</code> logger instead
(:pull:<code>965</code>)</li>
<li>Better support for subclassing <code>Marker</code> and
<code>Requirement</code> (:pull:<code>1022</code>)</li>
<li>Normalize all extras, not just if it comes first
(:pull:<code>1024</code>)</li>
<li>Don't produce a broken repr if <code>Marker</code> fails to
construct (:pull:<code>1033</code>)</li>
</ul>
<p>Performance:</p>
<ul>
<li>Avoid recompiling regexes in the tokenizer for a 3x speedup
(:pull:<code>1019</code>)</li>
<li>Improve performance in <code>_manylinux.py</code>
(:pull:<code>869</code>)</li>
<li>Minor cleanups to <code>Version</code> (:pull:<code>913</code>)</li>
<li>Skip redundant creation of <code>Version</code>'s in specifier
comparison (:pull:<code>986</code>)</li>
<li>Cache the <code>Specifier</code>'s <code>Version</code>
(:pull:<code>985</code>)</li>
<li>Make <code>Version</code> a little faster
(:pull:<code>987</code>)</li>
<li>Minor <code>Version</code> regex cleanup
(:pull:<code>990</code>)</li>
<li>Faster regex on Python 3.11.5+ for <code>Version</code>
(:pull:<code>988</code>, :pull:<code>1055</code>)</li>
<li>Lazily calculate <code>_key</code> in <code>Version</code>
(:pull:<code>989</code>, :pull:<code>1048</code>)</li>
<li>Faster <code>canonicalize_version</code>
(:pull:<code>993</code>)</li>
<li>Use <code>re.fullmatch</code> in a couple more places
(:pull:<code>992</code>, :pull:<code>1029</code>)</li>
<li>Use <code>map</code> instead of generator
(:pull:<code>996</code>)</li>
<li>Deprecate <code>._version</code> (<code>_Version</code>, a
<code>NamedTuple</code>) (:pull:<code>995</code>,
:pull:<code>1062</code>)<br />
</tr></table><br />
</code></pre></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3b77a26f5a "><code>3b77a26</code></a>
Bump for release</li>
<li><a
href="31371cce59 "><code>31371cc</code></a>
docs: prepare for 26.0 final (<a
href="https://redirect.github.com/pypa/packaging/issues/1063 ">#1063</a>)</li>
<li><a
href="9627a8821f "><code>9627a88</code></a>
perf: dual replace (<a
href="https://redirect.github.com/pypa/packaging/issues/1064 ">#1064</a>)</li>
<li><a
href="d5398b8bc1 "><code>d5398b8</code></a>
fix: restore ._version as a compat shim (<a
href="https://redirect.github.com/pypa/packaging/issues/1062 ">#1062</a>)</li>
<li><a
href="3a7b600a12 "><code>3a7b600</code></a>
Bump for development</li>
<li><a
href="d4eefdccf9 "><code>d4eefdc</code></a>
Bump for release</li>
<li><a
href="46189124fb "><code>4618912</code></a>
docs: prepare for 26.0rc3 (<a
href="https://redirect.github.com/pypa/packaging/issues/1060 ">#1060</a>)</li>
<li><a
href="0cf1b41b4b "><code>0cf1b41</code></a>
ci: test on first public release of CPythons (<a
href="https://redirect.github.com/pypa/packaging/issues/1056 ">#1056</a>)</li>
<li><a
href="716beb1c0a "><code>716beb1</code></a>
perf: 10% faster stripping zeros (<a
href="https://redirect.github.com/pypa/packaging/issues/1058 ">#1058</a>)</li>
<li><a
href="350a230670 "><code>350a230</code></a>
fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (<a
href="https://redirect.github.com/pypa/packaging/issues/1055 ">#1055</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/24.2...26.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.0 to 0.15.1
<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.1</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-12.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Add ruff rules to catch deprecated Airflow
imports for Airflow 3.1 (<code>AIR321</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22376 ">#22376</a>)</li>
<li>[<code>airflow</code>] Third positional parameter not named
<code>ti_key</code> should be flagged for
<code>BaseOperatorLink.get_link</code> (<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22828 ">#22828</a>)</li>
<li>[<code>flake8-gettext</code>] Fix false negatives for plural
argument of <code>ngettext</code> (<code>INT001</code>,
<code>INT002</code>, <code>INT003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21078 ">#21078</a>)</li>
<li>[<code>pyflakes</code>] Fix infinite loop in preview fix for
<code>unused-import</code> (<code>F401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23038 ">#23038</a>)</li>
<li>[<code>pygrep-hooks</code>] Detect non-existent mock methods in
standalone expressions (<code>PGH005</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22830 ">#22830</a>)</li>
<li>[<code>pylint</code>] Allow dunder submodules and improve diagnostic
range (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22804 ">#22804</a>)</li>
<li>[<code>pyupgrade</code>] Improve diagnostic range for tuples
(<code>UP024</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23013 ">#23013</a>)</li>
<li>[<code>refurb</code>] Check subscripts in tuple do not use lambda
parameters in <code>reimplemented-operator</code> (<code>FURB118</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23079 ">#23079</a>)</li>
<li>[<code>ruff</code>] Detect mutable defaults in <code>field</code>
calls (<code>RUF008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23046 ">#23046</a>)</li>
<li>[<code>ruff</code>] Ignore std <code>cmath.inf</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23120 ">#23120</a>)</li>
<li>[<code>ruff</code>] New rule <code>float-equality-comparison</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/20585 ">#20585</a>)</li>
<li>Don't format unlabeled Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23106 ">#23106</a>)</li>
<li>Markdown formatting support in LSP (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23063 ">#23063</a>)</li>
<li>Support Quarto Markdown language markers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22947 ">#22947</a>)</li>
<li>Support formatting <code>pycon</code> Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23112 ">#23112</a>)</li>
<li>Use extension mapping to select Markdown code block language (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22934 ">#22934</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid false positive for undefined variables in <code>FAST001</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23224 ">#23224</a>)</li>
<li>Avoid introducing syntax errors for <code>FAST003</code> autofix (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23227 ">#23227</a>)</li>
<li>Avoid suggesting <code>InitVar</code> for <code>__post_init__</code>
that references PEP 695 type parameters (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23226 ">#23226</a>)</li>
<li>Deduplicate type variables in generic functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23225 ">#23225</a>)</li>
<li>Fix exception handler parenthesis removal for Python 3.14+ (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23126 ">#23126</a>)</li>
<li>Fix f-string middle panic when parsing t-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23232 ">#23232</a>)</li>
<li>Wrap <code>RUF020</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23210 ">#23210</a>)</li>
<li>Wrap <code>UP007</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23208 ">#23208</a>)</li>
<li>Fix missing diagnostics for last range suppression in file (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23242 ">#23242</a>)</li>
<li>[<code>pyupgrade</code>] Fix syntax error on string with newline
escape and comment (<code>UP037</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22968 ">#22968</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Use <code>ruff</code> instead of <code>Ruff</code> as the program
name in GitHub output format (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23240 ">#23240</a>)</li>
<li>[<code>PT006</code>] Fix syntax error when unpacking nested tuples
in <code>parametrize</code> fixes (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22441 ">#22441</a>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22464 ">#22464</a>)</li>
<li>[<code>airflow</code>] Catch deprecated attribute access from
context key for Airflow 3.0 (<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22850 ">#22850</a>)</li>
<li>[<code>airflow</code>] Capture deprecated arguments and a decorator
(<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23170 ">#23170</a>)</li>
<li>[<code>flake8-boolean-trap</code>] Add
<code>multiprocessing.Value</code> to excluded functions for
<code>FBT003</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23010 ">#23010</a>)</li>
<li>[<code>flake8-bugbear</code>] Add a secondary annotation showing the
previous occurrence (<code>B033</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22634 ">#22634</a>)</li>
<li>[<code>flake8-type-checking</code>] Add sub-diagnostic showing the
runtime use of an annotation (<code>TC004</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23091 ">#23091</a>)</li>
<li>[<code>isort</code>] Support configurable import section heading
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23151 ">#23151</a>)</li>
<li>[<code>ruff</code>] Improve the diagnostic for <code>RUF012</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23202 ">#23202</a>)</li>
</ul>
<h3>Formatter</h3>
<!-- 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.1</h2>
<p>Released on 2026-02-12.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Add ruff rules to catch deprecated Airflow
imports for Airflow 3.1 (<code>AIR321</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22376 ">#22376</a>)</li>
<li>[<code>airflow</code>] Third positional parameter not named
<code>ti_key</code> should be flagged for
<code>BaseOperatorLink.get_link</code> (<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22828 ">#22828</a>)</li>
<li>[<code>flake8-gettext</code>] Fix false negatives for plural
argument of <code>ngettext</code> (<code>INT001</code>,
<code>INT002</code>, <code>INT003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21078 ">#21078</a>)</li>
<li>[<code>pyflakes</code>] Fix infinite loop in preview fix for
<code>unused-import</code> (<code>F401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23038 ">#23038</a>)</li>
<li>[<code>pygrep-hooks</code>] Detect non-existent mock methods in
standalone expressions (<code>PGH005</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22830 ">#22830</a>)</li>
<li>[<code>pylint</code>] Allow dunder submodules and improve diagnostic
range (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22804 ">#22804</a>)</li>
<li>[<code>pyupgrade</code>] Improve diagnostic range for tuples
(<code>UP024</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23013 ">#23013</a>)</li>
<li>[<code>refurb</code>] Check subscripts in tuple do not use lambda
parameters in <code>reimplemented-operator</code> (<code>FURB118</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23079 ">#23079</a>)</li>
<li>[<code>ruff</code>] Detect mutable defaults in <code>field</code>
calls (<code>RUF008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23046 ">#23046</a>)</li>
<li>[<code>ruff</code>] Ignore std <code>cmath.inf</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23120 ">#23120</a>)</li>
<li>[<code>ruff</code>] New rule <code>float-equality-comparison</code>
(<code>RUF069</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/20585 ">#20585</a>)</li>
<li>Don't format unlabeled Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23106 ">#23106</a>)</li>
<li>Markdown formatting support in LSP (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23063 ">#23063</a>)</li>
<li>Support Quarto Markdown language markers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22947 ">#22947</a>)</li>
<li>Support formatting <code>pycon</code> Markdown code blocks (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23112 ">#23112</a>)</li>
<li>Use extension mapping to select Markdown code block language (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22934 ">#22934</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid false positive for undefined variables in <code>FAST001</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23224 ">#23224</a>)</li>
<li>Avoid introducing syntax errors for <code>FAST003</code> autofix (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23227 ">#23227</a>)</li>
<li>Avoid suggesting <code>InitVar</code> for <code>__post_init__</code>
that references PEP 695 type parameters (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23226 ">#23226</a>)</li>
<li>Deduplicate type variables in generic functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23225 ">#23225</a>)</li>
<li>Fix exception handler parenthesis removal for Python 3.14+ (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23126 ">#23126</a>)</li>
<li>Fix f-string middle panic when parsing t-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23232 ">#23232</a>)</li>
<li>Wrap <code>RUF020</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23210 ">#23210</a>)</li>
<li>Wrap <code>UP007</code> target for multiline fixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23208 ">#23208</a>)</li>
<li>Fix missing diagnostics for last range suppression in file (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23242 ">#23242</a>)</li>
<li>[<code>pyupgrade</code>] Fix syntax error on string with newline
escape and comment (<code>UP037</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22968 ">#22968</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li...
_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-02-16 23:11:50 -05:00
Mason Daugherty
f9fd7be695
feat(openrouter): add langchain-openrouter provider package ( #35211 )
...
Add a first-party `langchain-openrouter` partner package
(`ChatOpenRouter`) that wraps the official `openrouter` Python SDK,
providing native support for OpenRouter-specific features that
`ChatOpenAI` intentionally does not handle.
Also adds scope-clarifying docstrings to `ChatOpenAI` / `BaseChatOpenAI`
warning users away from using `base_url` overrides with third-party
providers.
---
Closes #31325
Closes #32967
Closes #32977
Closes #32981
Closes #33643
Closes #33757
Closes #34056
Closes #34797
Closes #34962
Supersedes #33902 , #34867 (thank you @elonfeng and @okamototk for your
initial work on this!)
---
Bugs with upstream sdk:
- https://github.com/OpenRouterTeam/python-sdk/issues/38
- https://github.com/OpenRouterTeam/python-sdk/issues/51
- https://github.com/OpenRouterTeam/python-sdk/issues/52
2026-02-15 02:09:13 -05:00
Christophe Bornet
b97c629f9a
style: bump ruff version to 0.15 ( #35042 )
2026-02-12 19:34:02 -05:00
dependabot[bot]
2b9d12c1a9
chore(deps): bump pillow from 12.0.0 to 12.1.1 in /libs/langchain_v1 ( #35174 )
2026-02-11 12:46:23 -05:00
Mason Daugherty
65c224a3da
chore(core): raise more descriptive model error in init_chat_model ( #35167 )
2026-02-11 11:09:06 -05:00
dependabot[bot]
6662fa903d
chore(deps): bump langsmith from 0.4.42 to 0.6.3 in /libs/langchain_v1 ( #35149 )
...
Bumps [langsmith](https://github.com/langchain-ai/langsmith-sdk ) from
0.4.42 to 0.6.3.
<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.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>ci: test more bundlers 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/2263 ">langchain-ai/langsmith-sdk#2263</a></li>
<li>feat(python sdk): Add support for setting commit tags when pushing a
prompt by <a href="https://github.com/bees "><code>@bees</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2265 ">langchain-ai/langsmith-sdk#2265</a></li>
<li>feat: Pass in Cache, rename 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/2264 ">langchain-ai/langsmith-sdk#2264</a></li>
<li>chore: bump sdk 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/2268 ">langchain-ai/langsmith-sdk#2268</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.6.0...v0.6.1 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.6.0...v0.6.1 </a></p>
<h2>v0.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(js): bump JS to 0.4.3 by <a
href="https://github.com/dqbd "><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2253 ">langchain-ai/langsmith-sdk#2253</a></li>
<li>Revert "feat: add js prompt caching" by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2258 ">langchain-ai/langsmith-sdk#2258</a></li>
<li>Revert "feat: Replace UUID5 with deterministic UUID7 for
replicas" by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2257 ">langchain-ai/langsmith-sdk#2257</a></li>
<li>release(js): bump to 0.4.4 by <a
href="https://github.com/dqbd "><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2259 ">langchain-ai/langsmith-sdk#2259</a></li>
<li>feat: add prompt cache back and setup environment tests 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/2260 ">langchain-ai/langsmith-sdk#2260</a></li>
<li>feat(python): Bump pydantic to v2 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2248 ">langchain-ai/langsmith-sdk#2248</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.5.2...v0.6.0 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.5.2...v0.6.0 </a></p>
<h2>v0.6.0rc0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(js): Add support for tracing AI SDK 6 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2237 ">langchain-ai/langsmith-sdk#2237</a></li>
<li>fix(js): Remove default Jestlike timeout by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2243 ">langchain-ai/langsmith-sdk#2243</a></li>
<li>feat(js): Add support for tracing tool loop agent by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2244 ">langchain-ai/langsmith-sdk#2244</a></li>
<li>feat: Replace UUID5 with deterministic UUID7 for replicas by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2249 ">langchain-ai/langsmith-sdk#2249</a></li>
<li>feat: add prompt caching to python sdk 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/2246 ">langchain-ai/langsmith-sdk#2246</a></li>
<li>feat: add js prompt caching 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/2251 ">langchain-ai/langsmith-sdk#2251</a></li>
<li>fix(claude): correctly parse llm and tool inputs in claude agent sdk
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2255 ">langchain-ai/langsmith-sdk#2255</a></li>
<li>bump(python): 0.5.2 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2256 ">langchain-ai/langsmith-sdk#2256</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.5.1...v0.6.0rc0 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.5.1...v0.6.0rc0 </a></p>
<h2>v0.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(js): Add support for tracing AI SDK 6 by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2237 ">langchain-ai/langsmith-sdk#2237</a></li>
<li>fix(js): Remove default Jestlike timeout by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2243 ">langchain-ai/langsmith-sdk#2243</a></li>
<li>feat(js): Add support for tracing tool loop agent by <a
href="https://github.com/jacoblee93 "><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2244 ">langchain-ai/langsmith-sdk#2244</a></li>
<li>feat: Replace UUID5 with deterministic UUID7 for replicas by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2249 ">langchain-ai/langsmith-sdk#2249</a></li>
<li>feat: add prompt caching to python sdk 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/2246 ">langchain-ai/langsmith-sdk#2246</a></li>
<li>feat: add js prompt caching 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/2251 ">langchain-ai/langsmith-sdk#2251</a></li>
<li>fix(claude): correctly parse llm and tool inputs in claude agent sdk
by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2255 ">langchain-ai/langsmith-sdk#2255</a></li>
<li>bump(python): 0.5.2 by <a
href="https://github.com/angus-langchain "><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2256 ">langchain-ai/langsmith-sdk#2256</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.5.1...v0.5.2 ">https://github.com/langchain-ai/langsmith-sdk/compare/v0.5.1...v0.5.2 </a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/langchain-ai/langsmith-sdk/commits ">compare
view</a></li>
</ul>
</details>
<br />
[](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-02-11 04:34:45 +00:00