Guofang.Tang
81b4752419
fix(langchain): normalize raw schemas in middleware response_format override ( #35019 )
...
Normalizes raw Pydantic schemas to AutoStrategy when middleware
overrides response_format.
When middleware calls
`request.override(response_format=SomePydanticClass)` with a raw schema,
the code now wraps it in `AutoStrategy` before processing. This prevents
an `IndexError` crash that occurred because raw schemas were falling
through to the "no structured output" branch.
Fixes #35008
Co-authored-by: Guofang Tang <tinggofun@gmail.com >
Co-authored-by: Sydney Runkle <54324534+sydney-runkle@users.noreply.github.com >
langchain==1.2.9
2026-02-06 07:32:26 -05:00
Sydney Runkle
8767a462ca
feat: support state updates from wrap_model_call with command(s) ( #35033 )
...
Alternative to https://github.com/langchain-ai/langchain/pull/35024 .
Paving the way for summarization in `wrap_model_call` (which requires
state updates).
---
Add `ExtendedModelResponse` dataclass that allows `wrap_model_call`
middleware to return a `Command` alongside the model response for
additional state updates.
```py
@dataclass
class ExtendedModelResponse(Generic[ResponseT]):
model_response: ModelResponse[ResponseT]
command: Command
```
## Motivation
Previously, `wrap_model_call` middleware could only return a
`ModelResponse` or `AIMessage` — there was no way to inject additional
state updates (e.g. custom state fields) from the model call middleware
layer. `ExtendedModelResponse` fills this gap by accepting an optional
`Command`.
This feature is needed by the summarization middleware, which needs to
track summarization trigger points calculated during `wrap_model_call`.
## Why `Command` instead of a plain `state_update` dict?
We chose `Command` rather than the raw `state_update: dict` approach
from the earlier iteration because `Command` is the established
LangGraph primitive for state updates from nodes. Using `Command` means:
- State updates flow through the graph's reducers (e.g. `add_messages`)
rather than being merged as raw dicts. This makes messages updates
additive alongside the model response instead of replacing them.
- Consistency with `wrap_tool_call`, which already returns `Command`.
- Future-proof: as `Command` gains new capabilities (e.g. `goto`,
`send`), middleware can leverage them without API changes.
## Why keep `model_response` separate instead of using `Command`
directly?
The model node needs to distinguish the model's actual response
(messages + structured output) from supplementary middleware state
updates. If middleware returned only a `Command`, there would be no
clean way to extract the `ModelResponse` for structured output handling,
response validation, and the core model-to-tools routing logic. Keeping
`model_response` explicit preserves a clear boundary between "what the
model said" and "what middleware wants to update."
Also, in order to avoid breaking, the `handler` passed to
`wrap_tool_call` needs to always return a `ModelResponse`. There's no
easy way to preserve this if we pump it into a `Command`.
One nice thing about having this `ExtendedModelResponse` structure is
that it's extensible if we want to add more metadata in the future.
## Composition
When multiple middleware layers return `ExtendedModelResponse`, their
commands compose naturally:
- **Inner commands propagate outward:** At composition boundaries,
`ExtendedModelResponse` is unwrapped to its underlying `ModelResponse`
so outer middleware always sees a plain `ModelResponse` from
`handler()`. The inner command is captured and accumulated.
- **Commands are applied through reducers:** Each `Command` becomes a
separate state update applied through the graph's reducers. For
messages, this means they're additive (via `add_messages`), not
replacing.
- **Outer wins on conflicts:** For non-reducer state fields, commands
are applied inner-first then outer, so the outermost middleware's value
takes precedence on conflicting keys.
- **Retry-safe:** When outer middleware retries by calling `handler()`
again, accumulated inner commands are cleared and re-collected from the
fresh call.
```python
class Outer(AgentMiddleware):
def wrap_model_call(self, request, handler):
response = handler(request) # sees ModelResponse, not ExtendedModelResponse
return ExtendedModelResponse(
model_response=response,
command=Command(update={"outer_key": "val"}),
)
class Inner(AgentMiddleware):
def wrap_model_call(self, request, handler):
response = handler(request)
return ExtendedModelResponse(
model_response=response,
command=Command(update={"inner_key": "val"}),
)
# Final state merges both commands: {"inner_key": "val", "outer_key": "val"}
```
## Backwards compatibility
Fully backwards compatible. The `ModelCallResult` type alias is widened
from `ModelResponse | AIMessage` to `ModelResponse | AIMessage |
ExtendedModelResponse`, but existing middleware returning
`ModelResponse` or `AIMessage` continues to work identically.
## Internals
- `model_node` / `amodel_node` now return `list[Command]` instead of
`dict[str, Any]`
- `_build_commands` converts the model response + accumulated middleware
commands into a list of `Command` objects for LangGraph
- `_ComposedExtendedModelResponse` is the internal type that accumulates
commands across layers during composition
2026-02-06 07:28:04 -05:00
Eugene Yurtsev
273d282a29
chore(standard-tests): bump down to 1.1.3 ( #35040 )
...
We didn't release 1.1.3 yet, so bumping down so we can release.
2026-02-06 02:58:14 +00:00
ccurme
19b0923461
chore(anthropic): update model profiles ( #35039 )
2026-02-05 19:19:08 -05:00
Mason Daugherty
ad6f7c6493
chore(infra): inline code docs guidelines for AGENTS.md ( #35038 )
2026-02-05 18:30:49 -05:00
ccurme
7853b0ffcf
release(anthropic): 1.3.2 ( #35035 )
2026-02-05 16:45:47 -05:00
ccurme
74b3344679
fix(anthropic): support automatic compaction (Opus 4.6) ( #35034 )
2026-02-05 16:41:25 -05:00
Christophe Bornet
d181a59ebe
test(langchain): types in test_tool_call_limit and test_model_retry ( #34629 )
...
Co-authored-by: Mason Daugherty <github@mdrxy.com >
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2026-02-05 15:50:02 -05:00
Eugene Yurtsev
28e40c3745
release(standard-tests): release standard tests with sandbox provider ( #35032 )
...
Release standard tests with sandbox
2026-02-05 17:49:10 +00:00
Eugene Yurtsev
5d16ac9f63
feat(standard-tests): add standard tests for sandbox providers ( #35018 )
...
* Add standard test suite for sandbox providers
* Still need to add a test or two for working with execute in the
sandbox
2026-02-05 12:44:01 -05:00
ccurme
a434f3aa08
fix(langchain): bump min core version and improve approximate token counting ( #35026 )
2026-02-05 09:37:25 -05:00
ccurme
3e3dbd9b88
release(core): 1.2.9 ( #35025 )
langchain-core==1.2.9
2026-02-05 09:17:54 -05:00
Sydney Runkle
e12f592d5d
release: langchain 1.2.9 ( #35023 )
2026-02-05 09:05:59 -05:00
Sydney Runkle
dde2012b83
feat: threading context through create_agent flows + middleware ( #34978 )
...
Closes https://github.com/langchain-ai/langchain/issues/33956
* Making `ModelRequest` generic on `ContextT` and `ResponseT` so that we
can thread type information through to `wrap_model_call`
* Making builtin middlewares generic on `ContextT` and `ResponseT` so
their context and response types can be inferred from the `create_agent`
signature
See new tests that verify backwards compatibility (for cases where folks
use custom middleware that wasn't parametrized).
This fixes:
1. Lack of access to context and response types in `wrap_model_call`
2. Lack of cohesion between middleware context + response types with
those specified in `create_agent`
See examples below:
### Type-safe context and response access
```python
class MyMiddleware(AgentMiddleware[AgentState[AnalysisResult], UserContext, AnalysisResult]):
def wrap_model_call(
self,
request: ModelRequest[UserContext],
handler: Callable[[ModelRequest[UserContext]], ModelResponse[AnalysisResult]],
) -> ModelResponse[AnalysisResult]:
# ✅ Now type-safe: IDE knows user_id exists and is str
user_id: str = request.runtime.context["user_id"]
# ❌ mypy error: "session_id" doesn't exist on UserContext
request.runtime.context["session_id"]
response = handler(request)
if response.structured_response is not None:
# ✅ Now type-safe: IDE knows sentiment exists and is str
sentiment: str = response.structured_response.sentiment
# ❌ mypy error: "summary" doesn't exist on AnalysisResult
response.structured_response.summary
return response
```
### Mismatched middleware/schema caught at `create_agent`
```python
class SessionMiddleware(AgentMiddleware[AgentState[Any], SessionContext, Any]):
...
# ❌ mypy error: SessionMiddleware expects SessionContext, not UserContext
create_agent(
model=model,
middleware=[SessionMiddleware()],
context_schema=UserContext, # mismatch!
)
class AnalysisMiddleware(AgentMiddleware[AgentState[AnalysisResult], ContextT, AnalysisResult]):
...
# ❌ mypy error: AnalysisMiddleware expects AnalysisResult, not SummaryResult
create_agent(
model=model,
middleware=[AnalysisMiddleware()],
response_format=SummaryResult, # mismatch!
)
```
2026-02-05 07:41:27 -05:00
ccurme
032d01dd0f
fix(core): adjust cap when scaling approximate token counts ( #35017 )
2026-02-04 19:02:48 -05:00
Mason Daugherty
9db00d3a6e
revert: precompile hex color regex pattern at module level ( #35016 )
...
Reverts langchain-ai/langchain#34480
2026-02-04 16:47:52 -05:00
Mason Daugherty
1bb366315f
chore: add make type target ( #35015 )
2026-02-04 16:16:52 -05:00
Mason Daugherty
8e4c433541
revert: "chore: add typing target in Makefile" ( #35013 )
...
Reverts langchain-ai/langchain#35012
2026-02-04 15:53:29 -05:00
Mason Daugherty
88fa71a166
chore: add typing target in Makefile ( #35012 )
2026-02-04 15:51:56 -05:00
ccurme
5981ee142c
fix(core): apply cap when scaling approximate token counts ( #35005 )
2026-02-03 21:20:48 -05:00
ccurme
643355fa2d
revert: use usage metadata scaling in SummarizationMiddleware default token counter ( #35002 )
2026-02-03 17:59:24 -05:00
ccurme
f720ad00ae
fix(langchain): use usage metadata scaling in SummarizationMiddleware default token counter ( #35001 )
2026-02-03 15:26:44 -05:00
ccurme
09654f4382
feat(core): allow scaling by reported usage when counting tokens approximately ( #34996 )
2026-02-03 15:19:18 -05:00
Mason Daugherty
8072a51f39
chore: update PR template, CODEOWNERS ( #34999 )
2026-02-03 12:59:41 -05:00
LSB
d7e8bd6be1
fix(chroma): remove Python 3.14 classifier until Chroma supports it ( #34997 )
2026-02-03 11:22:44 -05:00
Saakshi Gupta
91bb474dbc
fix(langchain): avoid UnboundLocalError when no AIMessage exists ( #34816 )
2026-02-02 20:56:30 -05:00
Rohan Disa
16f2c7d13b
fix(text-splitters): reverse preserved elements iterator in HTMLSemanticPreservingSplitter ( #34080 )
2026-02-02 18:25:39 -05:00
Sourab Singh Bora
631ca011f4
fix(prompty): add thread-safety to InvokerFactory singleton ( #34983 )
2026-02-02 17:12:55 -05:00
Mason Daugherty
ae5b50f37f
test(core): increase delta_time for flaky test ( #34982 )
...
This regularly flaked
2026-02-02 13:33:15 -05:00
Mason Daugherty
5c018f5cd1
chore: enrich pyproject.toml files ( #34980 )
2026-02-02 13:07:05 -05:00
ccurme
a2bed8f7f1
release(groq): 1.1.2 ( #34977 )
langchain-groq==1.1.2
langchain==1.2.8
2026-02-02 10:49:18 -05:00
ccurme
9b4813f8f8
release(langchain): 1.2.8 ( #34976 )
2026-02-02 10:43:40 -05:00
ccurme
3f2f311dce
release(core): 1.2.8 ( #34975 )
langchain-core==1.2.8
2026-02-02 10:31:21 -05:00
Mason Daugherty
3aca3fbebe
docs(core): add examples for pretty_repr, pretty_print ( #34968 )
2026-02-01 16:37:03 -08:00
Mason Daugherty
12c34a4139
docs(core): use proper admonition for get_buffer_string ( #34967 )
2026-02-01 16:36:44 -08:00
Aarushi Singh
f3aaab1514
feat(groq): support lc image types ( #34845 )
2026-02-01 18:37:25 -05:00
XXt
6e307be101
docs: add usage examples to core classes ( #34841 )
2026-02-01 18:37:10 -05:00
Mason Daugherty
4794f38d37
chore(infra): synchronize AGENTS.md & CLAUDE.md ( #34965 )
...
following #34944
2026-02-01 15:26:22 -08:00
Mason Daugherty
7c288f1650
chore(core): fix docstring format ( #34966 )
...
following #34860
list continuations must be indented for proper rendering in reference
docs
2026-02-01 14:48:02 -08:00
dependabot[bot]
328bf24a4c
chore(deps): bump the uv group across 20 directories with 3 updates ( #34941 )
...
Bumps the uv group with 1 update in the /libs/core directory:
[nbconvert](https://github.com/jupyter/nbconvert ).
Bumps the uv group with 3 updates in the /libs/langchain directory:
[nbconvert](https://github.com/jupyter/nbconvert ),
[orjson](https://github.com/ijl/orjson ) and
[protobuf](https://github.com/protocolbuffers/protobuf ).
Bumps the uv group with 2 updates in the /libs/langchain_v1 directory:
[orjson](https://github.com/ijl/orjson ) and
[protobuf](https://github.com/protocolbuffers/protobuf ).
Bumps the uv group with 1 update in the /libs/model-profiles directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/anthropic
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 2 updates in the /libs/partners/chroma
directory: [orjson](https://github.com/ijl/orjson ) and
[protobuf](https://github.com/protocolbuffers/protobuf ).
Bumps the uv group with 1 update in the /libs/partners/deepseek
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/exa directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/fireworks
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/groq directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/huggingface
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/mistralai
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/nomic directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/ollama directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/openai directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/perplexity
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 1 update in the /libs/partners/prompty
directory: [orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 2 updates in the /libs/partners/qdrant
directory: [orjson](https://github.com/ijl/orjson ) and
[protobuf](https://github.com/protocolbuffers/protobuf ).
Bumps the uv group with 1 update in the /libs/partners/xai directory:
[orjson](https://github.com/ijl/orjson ).
Bumps the uv group with 2 updates in the /libs/text-splitters directory:
[nbconvert](https://github.com/jupyter/nbconvert ) and
[orjson](https://github.com/ijl/orjson ).
Updates `nbconvert` from 7.16.6 to 7.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/nbconvert/releases ">nbconvert's
releases</a>.</em></p>
<blockquote>
<h2>v7.17.0</h2>
<h2>7.17.0</h2>
<p>(<a
href="https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71 ">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Add support for arbitrary browser arguments <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2227 ">#2227</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fix QtPNGExporter returning empty bytes on macOS <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2264 ">#2264</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/QuLogic "><code>@QuLogic</code></a>)</li>
<li>Fix CVE-2025-53000: Secure Inkscape Windows path (registry first +
block CWD) <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2261 ">#2261</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>, <a
href="https://github.com/mberlanda "><code>@mberlanda</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>, <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>,
<a
href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>)</li>
<li>Fix get_export_names and get_exporter default args <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2228 ">#2228</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>PyPA-Compliant Summary <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2226 ">#2226</a>
(<a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>,
<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>avoid cov environment on free-threaded Pythons <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2267 ">#2267</a>
(<a href="https://github.com/minrk "><code>@minrk</code></a>)</li>
<li>update pre-commit, and fix all issues. <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2238 ">#2238</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Drop test on 3.9, test on 3.13, 3.14, 3.14t <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2237 ">#2237</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Bump the actions group across 1 directory with 2 updates <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2231 ">#2231</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Replace <code>@flaky.flaky</code> decorate with pytest marker <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2229 ">#2229</a>
(<a href="https://github.com/mgorny "><code>@mgorny</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>update to mermaid 11.10.0 <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2224 ">#2224</a>
(<a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Drop support for Python 3.8, fix the CI tests <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2221 ">#2221</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Use <code>intersphinx_registry</code> <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2232 ">#2232</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>The following people contributed discussions, new ideas, code and
documentation contributions, and review.
See <a
href="https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports ">our
definition of contributors</a>.</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28&to=2026-01-29&type=c ">GitHub
contributors page for this release</a>)</p>
<p><a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/Carreau "><code>@Carreau</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/krassowski "><code>@krassowski</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mberlanda "><code>@mberlanda</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mgorny "><code>@mgorny</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/minrk "><code>@minrk</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/MSeal "><code>@MSeal</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/QuLogic "><code>@QuLogic</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/shreve "><code>@shreve</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md ">nbconvert's
changelog</a>.</em></p>
<blockquote>
<h2>7.17.0</h2>
<p>(<a
href="https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71 ">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Add support for arbitrary browser arguments <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2227 ">#2227</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fix QtPNGExporter returning empty bytes on macOS <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2264 ">#2264</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/QuLogic "><code>@QuLogic</code></a>)</li>
<li>Fix CVE-2025-53000: Secure Inkscape Windows path (registry first +
block CWD) <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2261 ">#2261</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>, <a
href="https://github.com/mberlanda "><code>@mberlanda</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>, <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>,
<a
href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>)</li>
<li>Fix get_export_names and get_exporter default args <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2228 ">#2228</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>PyPA-Compliant Summary <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2226 ">#2226</a>
(<a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>,
<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>avoid cov environment on free-threaded Pythons <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2267 ">#2267</a>
(<a href="https://github.com/minrk "><code>@minrk</code></a>)</li>
<li>update pre-commit, and fix all issues. <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2238 ">#2238</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Drop test on 3.9, test on 3.13, 3.14, 3.14t <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2237 ">#2237</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Bump the actions group across 1 directory with 2 updates <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2231 ">#2231</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Replace <code>@flaky.flaky</code> decorate with pytest marker <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2229 ">#2229</a>
(<a href="https://github.com/mgorny "><code>@mgorny</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>update to mermaid 11.10.0 <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2224 ">#2224</a>
(<a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Drop support for Python 3.8, fix the CI tests <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2221 ">#2221</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Use <code>intersphinx_registry</code> <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2232 ">#2232</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>The following people contributed discussions, new ideas, code and
documentation contributions, and review.
See <a
href="https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports ">our
definition of contributors</a>.</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28&to=2026-01-29&type=c ">GitHub
contributors page for this release</a>)</p>
<p><a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/Carreau "><code>@Carreau</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/krassowski "><code>@krassowski</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mberlanda "><code>@mberlanda</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mgorny "><code>@mgorny</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/minrk "><code>@minrk</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/MSeal "><code>@MSeal</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/QuLogic "><code>@QuLogic</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/shreve "><code>@shreve</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)</p>
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="21b35d85b4 "><code>21b35d8</code></a>
Publish 7.17.0</li>
<li><a
href="c9ac1d1040 "><code>c9ac1d1</code></a>
Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block
CWD)...</li>
<li><a
href="b13276d80a "><code>b13276d</code></a>
avoid cov environment on free-threaded Pythons (<a
href="https://redirect.github.com/jupyter/nbconvert/issues/2267 ">#2267</a>)</li>
<li><a
href="7c7055fe83 "><code>7c7055f</code></a>
[pre-commit.ci] auto fixes from pre-commit.com hooks</li>
<li><a
href="74f3ddd37e "><code>74f3ddd</code></a>
Fix QtPNGExporter returning empty bytes on macOS</li>
<li><a
href="216550b2aa "><code>216550b</code></a>
fix links</li>
<li><a
href="39777ac571 "><code>39777ac</code></a>
try to comment fialing test</li>
<li><a
href="7b591ca526 "><code>7b591ca</code></a>
ruff-check</li>
<li><a
href="6ec7638a3d "><code>6ec7638</code></a>
parent</li>
<li><a
href="59414b36f9 "><code>59414b3</code></a>
fix mypy</li>
<li>Additional commits viewable in <a
href="https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `nbconvert` from 7.16.6 to 7.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/nbconvert/releases ">nbconvert's
releases</a>.</em></p>
<blockquote>
<h2>v7.17.0</h2>
<h2>7.17.0</h2>
<p>(<a
href="https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71 ">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Add support for arbitrary browser arguments <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2227 ">#2227</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fix QtPNGExporter returning empty bytes on macOS <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2264 ">#2264</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/QuLogic "><code>@QuLogic</code></a>)</li>
<li>Fix CVE-2025-53000: Secure Inkscape Windows path (registry first +
block CWD) <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2261 ">#2261</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>, <a
href="https://github.com/mberlanda "><code>@mberlanda</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>, <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>,
<a
href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>)</li>
<li>Fix get_export_names and get_exporter default args <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2228 ">#2228</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>PyPA-Compliant Summary <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2226 ">#2226</a>
(<a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>,
<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>avoid cov environment on free-threaded Pythons <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2267 ">#2267</a>
(<a href="https://github.com/minrk "><code>@minrk</code></a>)</li>
<li>update pre-commit, and fix all issues. <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2238 ">#2238</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Drop test on 3.9, test on 3.13, 3.14, 3.14t <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2237 ">#2237</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Bump the actions group across 1 directory with 2 updates <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2231 ">#2231</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Replace <code>@flaky.flaky</code> decorate with pytest marker <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2229 ">#2229</a>
(<a href="https://github.com/mgorny "><code>@mgorny</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>update to mermaid 11.10.0 <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2224 ">#2224</a>
(<a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Drop support for Python 3.8, fix the CI tests <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2221 ">#2221</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Use <code>intersphinx_registry</code> <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2232 ">#2232</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>The following people contributed discussions, new ideas, code and
documentation contributions, and review.
See <a
href="https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports ">our
definition of contributors</a>.</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28&to=2026-01-29&type=c ">GitHub
contributors page for this release</a>)</p>
<p><a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/Carreau "><code>@Carreau</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/krassowski "><code>@krassowski</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mberlanda "><code>@mberlanda</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mgorny "><code>@mgorny</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/minrk "><code>@minrk</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/MSeal "><code>@MSeal</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/QuLogic "><code>@QuLogic</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/shreve "><code>@shreve</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md ">nbconvert's
changelog</a>.</em></p>
<blockquote>
<h2>7.17.0</h2>
<p>(<a
href="https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71 ">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Add support for arbitrary browser arguments <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2227 ">#2227</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fix QtPNGExporter returning empty bytes on macOS <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2264 ">#2264</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/QuLogic "><code>@QuLogic</code></a>)</li>
<li>Fix CVE-2025-53000: Secure Inkscape Windows path (registry first +
block CWD) <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2261 ">#2261</a>
(<a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>, <a
href="https://github.com/mberlanda "><code>@mberlanda</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>, <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>,
<a
href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>)</li>
<li>Fix get_export_names and get_exporter default args <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2228 ">#2228</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>PyPA-Compliant Summary <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2226 ">#2226</a>
(<a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>,
<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>avoid cov environment on free-threaded Pythons <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2267 ">#2267</a>
(<a href="https://github.com/minrk "><code>@minrk</code></a>)</li>
<li>update pre-commit, and fix all issues. <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2238 ">#2238</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Drop test on 3.9, test on 3.13, 3.14, 3.14t <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2237 ">#2237</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>Bump the actions group across 1 directory with 2 updates <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2231 ">#2231</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Replace <code>@flaky.flaky</code> decorate with pytest marker <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2229 ">#2229</a>
(<a href="https://github.com/mgorny "><code>@mgorny</code></a>, <a
href="https://github.com/Carreau "><code>@Carreau</code></a>)</li>
<li>update to mermaid 11.10.0 <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2224 ">#2224</a>
(<a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
<li>Drop support for Python 3.8, fix the CI tests <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2221 ">#2221</a>
(<a href="https://github.com/shreve "><code>@shreve</code></a>, <a
href="https://github.com/minrk "><code>@minrk</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Use <code>intersphinx_registry</code> <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2232 ">#2232</a>
(<a href="https://github.com/Carreau "><code>@Carreau</code></a>, <a
href="https://github.com/krassowski "><code>@krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>The following people contributed discussions, new ideas, code and
documentation contributions, and review.
See <a
href="https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports ">our
definition of contributors</a>.</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28&to=2026-01-29&type=c ">GitHub
contributors page for this release</a>)</p>
<p><a href="https://github.com/bollwyvl "><code>@bollwyvl</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/Carreau "><code>@Carreau</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/h3pdesign "><code>@h3pdesign</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/hackowitz-af "><code>@hackowitz-af</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/krassowski "><code>@krassowski</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mberlanda "><code>@mberlanda</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/mgorny "><code>@mgorny</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/minrk "><code>@minrk</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/MSeal "><code>@MSeal</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/QuLogic "><code>@QuLogic</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a
href="https://github.com/salmankadaya "><code>@salmankadaya</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/shreve "><code>@shreve</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)
| <a href="https://github.com/th3gowtham "><code>@th3gowtham</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29&type=Issues ">activity</a>)</p>
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="21b35d85b4 "><code>21b35d8</code></a>
Publish 7.17.0</li>
<li><a
href="c9ac1d1040 "><code>c9ac1d1</code></a>
Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block
CWD)...</li>
<li><a
href="b13276d80a "><code>b13276d</code></a>
avoid cov environment on free-threaded Pythons (<a
href="https://redirect.github.com/jupyter/nbconvert/issues/2267 ">#2267</a>)</li>
<li><a
href="7c7055fe83 "><code>7c7055f</code></a>
[pre-commit.ci] auto fixes from pre-commit.com hooks</li>
<li><a
href="74f3ddd37e "><code>74f3ddd</code></a>
Fix QtPNGExporter returning empty bytes on macOS</li>
<li><a
href="216550b2aa "><code>216550b</code></a>
fix links</li>
<li><a
href="39777ac571 "><code>39777ac</code></a>
try to comment fialing test</li>
<li><a
href="7b591ca526 "><code>7b591ca</code></a>
ruff-check</li>
<li><a
href="6ec7638a3d "><code>6ec7638</code></a>
parent</li>
<li><a
href="59414b36f9 "><code>59414b3</code></a>
fix mypy</li>
<li>Additional commits viewable in <a
href="https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `orjson` from 3.11.3 to 3.11.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ijl/orjson/releases ">orjson's
releases</a>.</em></p>
<blockquote>
<h2>3.11.5</h2>
<h3>Changed</h3>
<ul>
<li>Show simple error message instead of traceback when attempting to
build on unsupported Python versions.</li>
</ul>
<h2>3.11.4</h2>
<h3>Changed</h3>
<ul>
<li>ABI compatibility with CPython 3.15 alpha 1.</li>
<li>Publish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,
manylinux ppc64le, manylinux s390x.</li>
<li>Build now requires a C compiler.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ijl/orjson/blob/master/CHANGELOG.md ">orjson's
changelog</a>.</em></p>
<blockquote>
<h2>3.11.5 - 2025-12-06</h2>
<h3>Changed</h3>
<ul>
<li>Show simple error message instead of traceback when attempting to
build on unsupported Python versions.</li>
</ul>
<h2>3.11.4 - 2025-10-24</h2>
<h3>Changed</h3>
<ul>
<li>ABI compatibility with CPython 3.15 alpha 1.</li>
<li>Publish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,
manylinux ppc64le, manylinux s390x.</li>
<li>Build now requires a C compiler.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fb3eb1f729 "><code>fb3eb1f</code></a>
3.11.5</li>
<li><a
href="52688e02c5 "><code>52688e0</code></a>
Record contributors in headers</li>
<li><a
href="dc083e87d5 "><code>dc083e8</code></a>
Further compatibility and build misc</li>
<li><a
href="18f0186d47 "><code>18f0186</code></a>
Compatibility and build misc</li>
<li><a
href="a4fdeb3aff "><code>a4fdeb3</code></a>
3.11.4</li>
<li><a
href="2e80d68afa "><code>2e80d68</code></a>
unlikely to cold_path, remove intrinsics</li>
<li><a
href="27edea92f8 "><code>27edea9</code></a>
FFI through crate::ffi, partial non-CPython compatibility</li>
<li><a
href="416a8c9578 "><code>416a8c9</code></a>
Unconditionally build yyjson</li>
<li><a
href="c8c1a17dca "><code>c8c1a17</code></a>
edition 2024</li>
<li><a
href="af4179a1fa "><code>af4179a</code></a>
build maintenance, panic_immediate_abort break, test 3.15</li>
<li>See full diff in <a
href="https://github.com/ijl/orjson/compare/3.11.3...3.11.5 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `protobuf` from 6.32.1 to 6.33.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/protocolbuffers/protobuf/releases ">protobuf's
releases</a>.</em></p>
<blockquote>
<h2>Protocol Buffers v34.0-rc1</h2>
<h1>Announcements</h1>
<ul>
<li><strong>This version includes breaking changes to: C++, Objective-C,
PHP, Python.</strong></li>
<li>[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use
equivalent transitive_sources instead (<a
href="0a5c2f6b63 </a>)</li>
<li>[C++] Make generator headers private (<a
href="3a2af3510f </a>)</li>
<li>[C++] Add a debug check that the target of CopyFrom is not a
descendant of the source. (<a
href="7a7589823d </a>)</li>
<li>[C++] Add [[nodiscard]] to many APIs. (<a
href="a70115f33f </a>)</li>
<li>[C++] Make the arena-enabled constructors of
<code>RepeatedField</code>, <code>RepeatedPtrField</code>, and
<code>Map</code> private. (<a
href="ef890c3d0c </a>)</li>
<li>[C++] Remove deprecated FieldDescriptor::label() in OSS. Use
is_repeated() or is_required() instead (<a
href="b76faa921f </a>)</li>
<li>[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria
that takes a raw pointer as an argument in favor of the overload that
takes a unique_ptr. Remove macro
PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (<a
href="b115358c64 </a>)</li>
<li>[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in
OSS. Use is_repeated() or has_presence() instead (<a
href="68346ec934 </a>)</li>
<li>[C++] Remove AddUnusedImportTrackFile() and
ClearUnusedImportTrackFiles(). Remove
PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (<a
href="837a2cd1d6 </a>)</li>
<li>[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use
(!is_required() && !is_repeated()) instead (<a
href="9dbc5d479a </a>)</li>
<li>[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (<a
href="c301c2ca28 </a>)</li>
<li>[C++] All entity names have length limit (2afb0dc)</li>
<li>[ObjC] Remove <code>generate_minimal_imports</code> generation
option warning (<a
href="45b1297fda </a>)</li>
<li>[ObjC] Fix nullability annotations on some
<code>GPB*Dictionary</code> types. (<a
href="ea67d6d26a </a>)</li>
<li>[ObjC] Remove <code>-[GPBFieldDescriptor optional]</code> (<a
href="3414dc151e </a>)</li>
<li>[Other] Remove deprecated flag for enabling MSVC support (<a
href="97c979be6e </a>)</li>
<li>[PHP] Remove deprecated PHP APIs (<a
href="9c45014099 </a>)</li>
<li>[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use
IsRepeated or isRequired instead. (<a
href="4208121992 </a>,
<a
href="cd76e675b1 </a>,
<a
href="4208121992 </a>)</li>
<li>[PHP] Add PHP typehints for setters and remove redundant GPBUtil
checks (<a
href="https://redirect.github.com/protocolbuffers/protobuf/pull/25296 ">protocolbuffers/protobuf#25296</a>)
(<a
href="aee03b7892 </a>)</li>
<li>[PHP] support default values for editions/proto2 (<a
href="https://redirect.github.com/protocolbuffers/protobuf/pull/25161 ">protocolbuffers/protobuf#25161</a>)
(<a
href="b01099d563 </a>)</li>
<li>[Python] Raise errors in OSS when assign bool to int/enum field in
Python Proto. (<a
href="5b116fe2f1 </a>)</li>
<li>[Python] Remove float_format/double_format from python proto
text_format (<a
href="e4854a186e </a>)</li>
<li>[Python] Raise TypeError when convert non-timedelta to Duration, or
convert non-datetime to Timestamp in python proto. (Original code may
raise ArributeError) (<a
href="00aaca1b4d </a>)</li>
<li>[Python] Remove float_precision from python proto json_format (<a
href="f027f1fcd5 </a>)</li>
<li>[Python] Remove deprecated FieldDescriptor::label() in OSS. Use
is_repeated() or is_required() instead (<a
href="b76faa921f </a>)</li>
<li>[Python] Remove deprecated FieldDescriptor.label (<a
href="0a8ff55518 </a>)</li>
<li>[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts()
(<a
href="c301c2ca28 </a>)</li>
<li><a href="https://protobuf.dev/news/ ">Protobuf News</a> may include
additional announcements or pre-announcements for upcoming changes.</li>
<li><a href="https://protobuf.dev/support/migration/ ">Migration
Guide</a> may include additional guidance for breaking changes.</li>
</ul>
<h1>Bazel</h1>
<ul>
<li>Fix: cc_toolchain should prefer protoc when prebuilt flag is
flipped. (<a
href="https://redirect.github.com/protocolbuffers/protobuf/issues/25168 ">#25168</a>)
(<a
href="8c857c3a1c </a>)</li>
<li>Breaking change: Remove deprecated ProtoInfo.transitive_imports. Use
equivalent transitive_sources instead (<a
href="0a5c2f6b63 </a>)</li>
<li>Feat(bazel): wire up prebuilt protoc toolchain (<a
href="https://redirect.github.com/protocolbuffers/protobuf/issues/24115 ">#24115</a>)
(<a
href="cc23698b48 </a>)</li>
<li>Migrate <code>proto_descriptor_set</code> (<a
href="https://redirect.github.com/protocolbuffers/protobuf/issues/23369 ">#23369</a>)
(<a
href="8d4dfdd39a </a>)</li>
</ul>
<h1>Compiler</h1>
<ul>
<li>Ruby codegen: support generation of rbs files (<a
href="https://redirect.github.com/protocolbuffers/protobuf/issues/15633 ">#15633</a>)
(<a
href="6ebdf851ba </a>)</li>
<li>Avoid collision name problems between a message named
<code>Xyz</code> and a direct sibling enum named <code>XyzView</code>
(<a
href="eba53e8f17 </a>)</li>
<li>Generalizing and implementing ValidateFeatureSupport for both
Options and Features during proto parsing (<a
href="ed3c57114d </a>)</li>
<li>Fix a bug with custom features outside of the <code>pb</code>
package. (<a
href="872d3ce7a4 </a>)</li>
<li>Fix import option handling when include_imports isn't set. (<a
href="9ef9e80afd </a>)</li>
<li>Fix a bug in STRICT check of namespaced enums to properly check for
'reserved 1 to max' (<a
href="1229d4adba </a>)</li>
<li>Prevent accidental stripping of <code>debug_redact</code> options
via import option. (<a
href="f58b098bff </a>)</li>
</ul>
<h1>C++</h1>
<ul>
<li>Add EnumerateEnumValues function. (<a
href="397d5d99db </a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/protocolbuffers/protobuf/commits ">compare
view</a></li>
</ul>
</details>
<br />
Updates `orjson` from 3.11.4 to 3.11.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ijl/orjson/releases ">orjson's
releases</a>.</em></p>
<blockquote>
<h2>3.11.5</h2>
<h3>Changed</h3>
<ul>
<li>Show simple error message instead of traceback when attempting to
build on unsupported Python versions.</li>
</ul>
<h2>3.11.4</h2>
<h3>Changed</h3>
<ul>
<li>ABI compatibility with CPython 3.15 alpha 1.</li>
<li>Publish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,
manylinux ppc64le, manylinux s390x.</li>
<li>Build now requires a C compiler.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ijl/orjson/blob/master/CHANGELOG.md ">orjson's
changelog</a>.</em></p>
<blockquote>
<h2>3.11.5 - 2025-12-06</h2>
<h3>Changed</h3>
<ul>
<li>Show simple error message instead of traceback when attempting to
build on unsupported Python versions.</li>
</ul>
<h2>3.11.4 - 2025-10-24</h2>
<h3>Changed</h3>
<ul>
<li>ABI compatibility with CPython 3.15 alpha 1.</li>
<li>Publish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,
manylinux ppc64le, manylinux s390x.</li>
<li>Build now requires a C compiler.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fb3eb1f729 "><code>fb3eb1f</code></a>
3.11.5</li>
<li><a
href="52688e02c5 "><code>52688e0</code></a>
Record contributors in headers</li>
<li><a
href="dc083e87d5 "><code>dc083e8</code></a>
Further compatibility and build misc</li>
<li><a
href="18f0186d47 "><code>18f0186</code></a>
Compatibility and build misc</li>
<li><a
href="a4fdeb3aff "><code>a4fdeb3</code></a>
3.11.4</li>
<li><a
href="2e80d68afa "><code>2e80d68</code></a>
unlikely to cold_path, remove intrinsics</li>
<li><a
href="27edea92f8 "><code>27edea9</code></a>
FFI through crate::ffi, partial non-CPython compatibility</li>
<li><a
href="416a8c9578 "><code>416a8c9</code></a>
Unconditionally build yyjson</li>
<li><a
href="c8c1a17dca "><code>c8c1a17</code></a>
edition 2024</li>
<li><a
href="af4179a1fa "><code>af4179a</code></a>
build maintenance, panic_immediate_abort break, test 3.15</li>
<li>See full diff in <a
href="https://github.com/ijl/orjson/compare/3.11.3...3.11.5 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `protobuf` from 6.33.1 to 6.33.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/protocolbuffers/protobuf/releases ">protobuf's
releases</a>.</em></p>
<blockquote>
<h2>Protocol Buffers v34.0-rc1</h2>
<h1>Announcements</h1>
<ul>
<li><strong>This version includes breaking changes to: C++, Objective-C,
PHP, Python.</strong></li>
<li>[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use
equivalent transitive_sources instead (<a
href="0a5c2f6b63 </a>)</li>
<li>[C++] Make generator headers private (<a
href="3a2af3510f </a>)</li>
<li>[C++] Add a debug check that the target of CopyFrom is not a
descendant of the source. (<a
href="7a7589823d </a>)</li>
<li>[C++] Add [[nodiscard]] to many APIs. (<a
href="a70115f33f </a>)</li>
<li>[C++] Make the arena-enabled constructors of
<code>RepeatedField</code>, <code>RepeatedPtrField</code>, and
<code>Map</code> private. (<a
href="ef890c3d0c </a>)</li>
<li>[C++] Remove deprecated FieldDescriptor::label() in OSS. Use
is_repeated() or is_required() instead (<a
href="b76faa921f </a>)</li>
<li>[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria
that takes a raw pointer as an argument in favor of the overload that
takes a unique_ptr. Remove macro
PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (<a
href="b115358c64 </a>)</li>
<li>[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in
OSS. Use is_repeated() or has_presence() instead (<a
href="68346ec934 </a>)</li>
<li>[C++] Remove AddUnusedImportTrackFile() and
ClearUnusedImportTrackFiles(). Remove
PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (<a
href="837a2cd1d6 </a>)</li>
<li>[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use
(!is_required() && !is_repeated()) instead (<a
href="9dbc5d479a </a>)</li>
<li>[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (<a
href="c301c2ca28 </a>)</li>
<li>[C++] All entity names have length limit (2afb0dc)</li>
<li>[ObjC] Remove <code>generate_minimal_imports</code> generation
option warning (<a
href="45b1297fda </a>)</li>
<li>[ObjC] Fix nullability annotations on some
<code>GPB*Dictionary</code> types. (<a
href="ea67d6d26a </a>)</li>
<li>[ObjC] Remove <code>-[GPBFieldDescriptor optional]</code> (<a
href="3414dc151e </a>)</li>
<li>[Other] Remove deprecated flag for enabling MSVC support (<a
href="97c979be6e </a>)</li>
<li>[PHP] Remove deprecated PHP APIs (<a
href="9c45014099 </a>)</li>
<li>[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use
IsRepeated or isRequired instead. (<a
href="4208121992 </a>,
<a
href="cd76e675b1 </a>,
<a
href="4208121992 </a>)</li>
<li>[PHP] Add PHP typehints for setters and remove redundant GPBUtil
checks (<a
href="https://redirect.github.com/protocolbuffers/protobuf/pull/25296 ">protocolbuffers/protobuf#25296</a>)
(<a
href="aee03b7892 </a>)</li>
<li>[PHP] support default values for editions/proto2 (<a
href="https://redirect.github.com/protocolbuffers/protobuf/pull/25161 ">protocolbuffers/protobuf#25161</a>)
(<a
href="b01099d563 </a>)</li>
<li>[Python] Raise errors in OSS when assign bool to int/enum field in
Python Proto. (<a
href="5b116fe2f1 </a>)</li>
<li>[Python] Remove float_format/double_format from python proto
text_format (<a
href="e4854a186e </a>)</li>
<li>[Python] Raise TypeError when convert non-timedelta to Duration, or
convert non-datetime to Timestamp in python proto. (Original code may
raise ArributeError) (<a
href="00aaca1b4d </a>)</li>
<li>[Python] Remove float_precision from python proto json_format (<a
href="f027f1fcd5 </a>)</li>
<li>[Python] Remove deprecated FieldDescriptor::label() in OSS. Use
is_repeated() or is_required() instead (<a
href="b76faa921f </a>)</li>
<li>[Python] Remove deprecated FieldDescriptor.label (<a
href="0a8ff55518 </a>)</li>
<li>[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts()
(<a
href="c301c2ca28 </a>)</li>
<li><a href="https://protobuf.dev/news/ ">Protobuf News</a> may include
additional announcements or pre-announcements for upcoming changes.</li>
<li><a href="https://protobuf.dev/support/migration/ ">Migration
Guide</a> may include additional guidance for breaking changes.</li>
</ul>
<h1>Bazel</h1>
<ul>
<li>Fix: cc_toolchain should prefer protoc when prebuilt flag is
flipped. (<a
href="https://redirect.github.com/protocolbuffers/protobuf/issues/25168 ">#25168</a>)
(<a
href="8c857c3a1c </a>)</li>
<li>Breaking change: Remove deprecated ProtoInfo.transitive_imports. Use
equivalent transitive_sources instead (<a
href="0a5c2f6b63 </a>)</li>
<li>Feat(bazel): wire up prebuilt protoc toolchain (<a
href="https://redirect.github.com/protocolbuffers/protobuf/issues/24115 ">#24115</a>)
(<a
href="cc23698b48 ">...
_Description has been truncated_
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ccurme <chester.curme@gmail.com >
2026-02-01 11:56:31 -08:00
ccurme
9525206388
chore(openai): update model profiles ( #34960 )
2026-02-01 09:41:11 -05:00
aahanabobade
7b4ced2d3b
docs: add example to create_message function docstring ( #34851 )
2026-01-31 22:40:00 -05:00
shivangraikar
2063577d67
docs(core): clarify @tool decorator argument and return type requirements ( #34860 )
2026-01-31 22:39:35 -05:00
Shivangi Sharma
d189663b47
fix: reuse ToolStrategy in agent factory to prevent name mismatch ( #34871 )
2026-01-31 22:10:25 -05:00
Nandana Dileep
ef067078b8
fix(core): fix nested mustache variable extraction and update docs ( #34872 )
2026-01-31 21:30:57 -05:00
Akshaya Shanbhogue
84864d77ed
fix(core): allow base model annotations for empty model ( #34932 )
2026-01-31 20:49:02 -05:00
ccurme
b50ecd49eb
release(standard-tests): 1.1.3 ( #34949 )
langchain-standard-tests==1.1.3
langchain-tests==1.1.3
2026-01-31 16:39:23 -05:00
John Kennedy
c5834cc028
chore: upgrade urllib3 to 2.6.3 ( #34940 )
2026-01-31 16:30:17 -05:00
Jackjin
488db577e2
fix(core): prevent crash in ParrotFakeChatModel when messages list is empty ( #34943 )
2026-01-31 16:17:39 -05:00
Abhishek Laddha
ccd4032789
docs(docs): add uv sync step to local setup instructions ( #34944 )
2026-01-31 16:16:43 -05:00