Repository navigation
Add support for Python 3.15 - #1202
Merged
Merged
Conversation
auvipy
self-requested a review
September 2, 2026 18:04
auvipy
reviewed
Sep 2, 2026
| - "3.12" | ||
| - "3.13" | ||
| - "3.14" | ||
| - "3.15" |
Collaborator
There was a problem hiding this comment.
isnt it still in dev or rc version?
Contributor
Author
There was a problem hiding this comment.
It is! It's in RC tho, meaning that the API and ABI are stable, so it's safe to test under it and declare support for it. I usually write that in PR body, but didn't do that here because it's not ready yet :)
Owner
|
@kytta can you update from main? |
Contributor
Author
|
Rebased 👍🏻 Tests now pass locally (?); I'm not sure what fixed those given that #1167 is still open ¯\(ツ)/¯ |
jpadilla
marked this pull request as ready for review
September 22, 2026 13:21
jpadilla
approved these changes
Sep 22, 2026
inmantaci
pushed a commit
to inmanta/inmanta-core
that referenced
this pull request
Sep 24, 2026
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.14.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](jpadilla/pyjwt#1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](jpadilla/pyjwt#914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="jpadilla/pyjwt@1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="jpadilla/pyjwt@9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="jpadilla/pyjwt@5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="jpadilla/pyjwt@171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="jpadilla/pyjwt@c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="jpadilla/pyjwt@2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="jpadilla/pyjwt@4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="jpadilla/pyjwt@9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="jpadilla/pyjwt@4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="jpadilla/pyjwt@f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="jpadilla/pyjwt@2.14.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> [](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) </details>
inmantaci
pushed a commit
to inmanta/inmanta-core
that referenced
this pull request
Sep 24, 2026
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.14.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](jpadilla/pyjwt#1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](jpadilla/pyjwt#914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="jpadilla/pyjwt@1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="jpadilla/pyjwt@9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="jpadilla/pyjwt@5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="jpadilla/pyjwt@171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="jpadilla/pyjwt@c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="jpadilla/pyjwt@2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="jpadilla/pyjwt@4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="jpadilla/pyjwt@9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="jpadilla/pyjwt@4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="jpadilla/pyjwt@f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="jpadilla/pyjwt@2.14.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> [](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) </details>
jkennedyvz
pushed a commit
to langchain-ai/langchain-azure
that referenced
this pull request
Sep 25, 2026
…sessions (#1088) Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.14.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](jpadilla/pyjwt#1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](jpadilla/pyjwt#914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="jpadilla/pyjwt@1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="jpadilla/pyjwt@9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="jpadilla/pyjwt@5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="jpadilla/pyjwt@171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="jpadilla/pyjwt@c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="jpadilla/pyjwt@2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="jpadilla/pyjwt@4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="jpadilla/pyjwt@9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="jpadilla/pyjwt@4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="jpadilla/pyjwt@f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="jpadilla/pyjwt@2.14.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> [](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-azure/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions Bot
pushed a commit
to Apeloff1/Skeleton
that referenced
this pull request
Sep 28, 2026
#2141) Bumps the backend-runtime group in /backend with 5 updates: | Package | From | To | | --- | --- | --- | | [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.18.1` | `4.18.2` | | [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.11.2` | | [networkx](https://github.com/networkx/networkx) | `3.5` | `3.6.1` | | [pyjwt](https://github.com/jpadilla/pyjwt) | `2.14.0` | `2.15.0` | | [litellm](https://github.com/BerriAI/litellm) | `1.101.0` | `1.102.1` | Updates `pymongo` from 4.18.1 to 4.18.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mongodb/mongo-python-driver/releases">pymongo's releases</a>.</em></p> <blockquote> <h2>PyMongo 4.18.2</h2> <p>Community notes: <a href="https://www.mongodb.com/community/forums/t/pymongo-4-18-2-released/343732">https://www.mongodb.com/community/forums/t/pymongo-4-18-2-released/343732</a></p> <p><a href="https://www.cve.org/CVERecord?id=CVE-2026-96749">CVE-2026-96749</a> <a href="https://www.cve.org/CVERecord?id=CVE-2026-96748">CVE-2026-96748</a> <a href="https://www.cve.org/CVERecord?id=CVE-2026-96747">CVE-2026-96747</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mongodb/mongo-python-driver/blob/main/doc/changelog.rst">pymongo's changelog</a>.</em></p> <blockquote> <h2>Changes in Version 4.18.2 (2026/09/24)</h2> <p>Version 4.18.2 is a bug fix release.</p> <ul> <li>Hardened the bson buffer size guard against signed integer overflow. (<code>CVE-2026-96749</code>_).</li> <li>Fixed connection string parsing to percent-decode each host individually. (<code>CVE-2026-96748</code>_).</li> <li>Client-side field level encryption now rejects a KMS endpoint ending in <code>.sock</code>. (<code>CVE-2026-96747</code>_).</li> </ul> <p>.. _CVE-2026-96749: <a href="https://www.cve.org/CVERecord?id=CVE-2026-96749">https://www.cve.org/CVERecord?id=CVE-2026-96749</a> .. _CVE-2026-96748: <a href="https://www.cve.org/CVERecord?id=CVE-2026-96748">https://www.cve.org/CVERecord?id=CVE-2026-96748</a> .. _CVE-2026-96747: <a href="https://www.cve.org/CVERecord?id=CVE-2026-96747">https://www.cve.org/CVERecord?id=CVE-2026-96747</a></p> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.18.2 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <p>.. _PyMongo 4.18.2 release notes in JIRA: <a href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=52896">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=52896</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/640dd2383a1a2fb1a10e5222d50ebc0b22a61bd7"><code>640dd23</code></a> Prep 4.18.2 release (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/3066">#3066</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/6a0ec650ee7942e24e9aa0848937d66e792f1834"><code>6a0ec65</code></a> Update changelog for CVE-2026-88029 reference (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/3049">#3049</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/44be553d2a55394596d2d47a6bafca9f7ced9809"><code>44be553</code></a> BUMP 4.18.2.dev0</li> <li>See full diff in <a href="https://github.com/mongodb/mongo-python-driver/compare/4.18.1...4.18.2">compare view</a></li> </ul> </details> <br /> Updates `matplotlib` from 3.10.6 to 3.11.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/matplotlib/matplotlib/releases">matplotlib's releases</a>.</em></p> <blockquote> <h2>REL: v3.11.2</h2> <p>This is the second bugfix release of the 3.11.x series.</p> <p>This release contains several bug-fixes and adjustments:</p> <ul> <li>Speed up RGBA-stage image resampling</li> <li>Fix <code>hexbin</code> clipping in PDF output</li> <li>Fix <code>\text</code> with internal braces</li> <li>Fix some crashes and make some checks more robust to unlikely cases</li> <li>Fix frame skew when saving GIF animations with <code>PillowWriter</code></li> <li>Fix HiDPI handling in Qt toolbar and WebAgg embeddings</li> <li>Fix <code>ResizeEvent</code> handling for <code>TextBox</code></li> <li>Fix bug with PGF hatch linewidth and color</li> <li>Fix a bug with drawing an empty Collection</li> <li>Fix incorrect glyphs in Cairo backends</li> <li>Improve build system to prevent conflicts between wheels and system libraries</li> </ul> <h2>REL: v3.11.1</h2> <p>This is the first bugfix release of the 3.11.x series.</p> <p>This release contains several bug-fixes and adjustments:</p> <ul> <li>Fix tight layout of multiple subplots with <code>sharey=True</code></li> <li>Fix <code>NoNorm</code> cursor formatting for <code>uint8</code> images</li> <li>Fix occasional misalignment in reported mouse position (also fix a bug with canvas height)</li> <li>Fix clipped Axis labels on 3D plots with tight layout</li> <li>Fix inverted Axis on 3D plots</li> <li>Fix restoring 'auto' aspect in 3D axes after switching from 'equal'</li> <li>Fix missing glyphs when subsetting Type 1 fonts in PDF</li> <li>Fix oversized embedding of Type 42 fonts in PDF/PostScript files</li> </ul> <p>As well as several documentation and typing improvements and corrections.</p> <h2>REL: v3.11.0</h2> <p>The largest change within this release is a complete overhaul of text and font processing. Through the use of <a href="https://github.com/HOST-Oman/libraqm/">libraqm</a>, <a href="https://harfbuzz.github.io/">HarfBuzz</a>, <a href="https://github.com/Tehreer/SheenBidi">SheenBidi</a>, and an updated release of <a href="https://freetype.org/">FreeType</a>, all text should now support modern font features, enabling full internationalization in all languages. Not all features of these libraries are supported yet, but we expect this work to enable further improvements in an easier manner.</p> <p>Outside of text handling, there are several improvements to 3D Axes, performance, new accessible colour sequences, flexible figure management, and more. <a href="https://matplotlib.org/3.11.0/release/prev_whats_new/whats_new_3.11.0.html">See the release notes for more information</a>.</p> <h2>REL: v3.11.0rc2</h2> <p>This is the second release candidate for the meso release 3.11.0.</p> <p>This release candidate fixes some problems with downstream packages, removes some missed deprecations, and corrects some additional minor bugs.</p> <h2>REL: v3.11.0rc1</h2> <p>After an extended development stretch, we are pleased to announce the first release candidate of Matplotlib 3.11.0.</p> <p>The largest change within this release is a complete overhaul of text and font processing. Through the use of <a href="https://github.com/HOST-Oman/libraqm/">libraqm</a>, <a href="https://harfbuzz.github.io/">HarfBuzz</a>, <a href="https://github.com/Tehreer/SheenBidi">SheenBidi</a>, and an updated release of <a href="https://freetype.org/">FreeType</a>, all text should now support modern font features, enabling full internationalization in all languages. Not all features of these libraries are supported yet, but we expect this work to enable further improvements in an easier manner. Due to the update to the font rendering stack, we cannot guarantee that text will be bit-for-bit perfect with previous releases, so if you are using Matplotlib for testing, it may be necessary to introduce/raise a tolerance within your tests.</p> <p>Outside of text handling, there are several improvements to 3D Axes, performance, new accessible colour sequences, flexible figure management, and more. Final release notes are still being curated, but you may browse <a href="https://matplotlib.org/3.11.0/release/next_whats_new">the list of new features</a>, <a href="https://matplotlib.org/3.11.0/api/next_api_changes.html">API changes</a>, and <a href="https://github.com/matplotlib/matplotlib/milestone/96?closed=1https://github.com/matplotlib/matplotlib/milestone/96?closed=1">all issues/pull requests on the milestone</a>.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/matplotlib/matplotlib/commit/d3ca9172e392048ec242b90e8423e88d1a3000b2"><code>d3ca917</code></a> REL: v3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/b76fea990aa10afdba9225ee0f058d942cfcb770"><code>b76fea9</code></a> DOC: Set current version to 3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/39c7f0678af763abe850b41a71cd2724e326157c"><code>39c7f06</code></a> DOC: Prepare GitHub stats for 3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/5dd13e39ceadb89af6e17c64cb0c71a2c3ddc94e"><code>5dd13e3</code></a> Merge branch 'v3.11.1-doc' into release-3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/aa484be97e65ffa1c7e2770864dc44a219625180"><code>aa484be</code></a> Merge branch 'v3.11.0-doc' into v3.11.1-doc</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/0e10f83000d7993160feb264f84150b5a4cacfff"><code>0e10f83</code></a> Merge pull request <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32330">#32330</a> from meeseeksmachine/auto-backport-of-pr-32324-on-v...</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/ebe947bd694df95e189fb93b63060051a6b55f3d"><code>ebe947b</code></a> Backport PR <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32324">#32324</a>: Don't force any diagnostics to be errors in bundled Harfbuzz</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/8f4b7c53b228dceded120488f569ff936d91844c"><code>8f4b7c5</code></a> Merge pull request <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32322">#32322</a> from meeseeksmachine/auto-backport-of-pr-32321-on-v...</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/93278ade075ca4b6483afac10f9a2d1e775a5f36"><code>93278ad</code></a> Backport PR <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32321">#32321</a>: DOC: correct note about PyOS_InputHook</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/b0aee786396e59de7ea5a1cec646cbc889250b57"><code>b0aee78</code></a> Merge pull request <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32319">#32319</a> from meeseeksmachine/auto-backport-of-pr-32305-on-v...</li> <li>Additional commits viewable in <a href="https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.11.2">compare view</a></li> </ul> </details> <br /> Updates `networkx` from 3.5 to 3.6.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/networkx/networkx/releases">networkx's releases</a>.</em></p> <blockquote> <h2>NetworkX 3.6.1</h2> <h1>networkx 3.6.1</h1> <p>We're happy to announce the release of networkx 3.6.1!</p> <h2>API Changes</h2> <ul> <li>Add spectral bipartition community finding and greedy bipartition using node swaps (<a href="https://redirect.github.com/networkx/networkx/pull/8347">#8347</a>).</li> </ul> <h2>Enhancements</h2> <ul> <li>Nodelists for <code>from_biadjacency_matrix</code> (<a href="https://redirect.github.com/networkx/networkx/pull/7993">#7993</a>).</li> <li>Add spectral bipartition community finding and greedy bipartition using node swaps (<a href="https://redirect.github.com/networkx/networkx/pull/8347">#8347</a>).</li> <li>Fix draw_networkx_nodes with list node_shape and add regression test (<a href="https://redirect.github.com/networkx/networkx/pull/8363">#8363</a>).</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fix: allow graph subclasses to have additional arguments (<a href="https://redirect.github.com/networkx/networkx/pull/8369">#8369</a>).</li> </ul> <h2>Documentation</h2> <ul> <li>DOC: Improve benchmarking readme (<a href="https://redirect.github.com/networkx/networkx/pull/8358">#8358</a>).</li> <li>DOC: More details re: RC releases in the release process devdocs (<a href="https://redirect.github.com/networkx/networkx/pull/8346">#8346</a>).</li> <li>DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (<a href="https://redirect.github.com/networkx/networkx/pull/8300">#8300</a>).</li> <li>DOC: Add blurb to contributor guide about drawing tests (<a href="https://redirect.github.com/networkx/networkx/pull/8370">#8370</a>).</li> <li>DOC: Fix underline lens in docstrings (<a href="https://redirect.github.com/networkx/networkx/pull/8371">#8371</a>).</li> <li>Rolling back shortest paths links (<a href="https://redirect.github.com/networkx/networkx/pull/8373">#8373</a>).</li> </ul> <h2>Maintenance</h2> <ul> <li>MAINT: Replace string literal with comment (<a href="https://redirect.github.com/networkx/networkx/pull/8359">#8359</a>).</li> <li>Bump actions/checkout from 5 to 6 in the actions group (<a href="https://redirect.github.com/networkx/networkx/pull/8360">#8360</a>).</li> <li>pin python 3.14 to be version 3.14.0 until dataclasses are fixed (<a href="https://redirect.github.com/networkx/networkx/pull/8365">#8365</a>).</li> <li>Blocklist Python 3.14.1 (<a href="https://redirect.github.com/networkx/networkx/pull/8372">#8372</a>).</li> </ul> <h2>Other</h2> <ul> <li>TST: add tests for unsupported graph types in MST algorithms (<a href="https://redirect.github.com/networkx/networkx/pull/8353">#8353</a>).</li> <li>TST: clean up isomorphism tests (<a href="https://redirect.github.com/networkx/networkx/pull/8364">#8364</a>).</li> </ul> <h2>Contributors</h2> <p>10 authors added to this release (alphabetically):</p> <ul> <li><a href="https://github.com/Aka2210"><code>@Aka2210</code></a></li> <li><a href="https://github.com/jfinkels"><code>@jfinkels</code></a></li> <li><a href="https://github.com/NaorTIRAM"><code>@NaorTIRAM</code></a></li> <li>Aditi Juneja (<a href="https://github.com/Schefflera-Arboricola"><code>@Schefflera-Arboricola</code></a>)</li> <li>Alejandro Candioti (<a href="https://github.com/amcandio"><code>@amcandio</code></a>)</li> <li>Colman Bouton (<a href="https://github.com/LorentzFactor"><code>@LorentzFactor</code></a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f"><code>7530809</code></a> Designate 3.6.1 release</li> <li><a href="https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89"><code>4788eb0</code></a> Rolling back shortest paths links (<a href="https://redirect.github.com/networkx/networkx/issues/8373">#8373</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954"><code>696edb6</code></a> Fix draw_networkx_nodes with list node_shape and add regression test (<a href="https://redirect.github.com/networkx/networkx/issues/8363">#8363</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9"><code>c38830c</code></a> Blocklist Python 3.14.1 (<a href="https://redirect.github.com/networkx/networkx/issues/8372">#8372</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016"><code>81d2311</code></a> DOC: Fix underline lens in docstrings. (<a href="https://redirect.github.com/networkx/networkx/issues/8371">#8371</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801"><code>a6e2bfa</code></a> DOC: Add blurb to contributor guide about drawing tests. (<a href="https://redirect.github.com/networkx/networkx/issues/8370">#8370</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16"><code>96b6282</code></a> DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...</li> <li><a href="https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443"><code>75bdd73</code></a> Fix: allow graph subclasses to have additional arguments (<a href="https://redirect.github.com/networkx/networkx/issues/8369">#8369</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d"><code>7663fa5</code></a> TST: clean up isomorphism tests (<a href="https://redirect.github.com/networkx/networkx/issues/8364">#8364</a>)</li> <li><a href="https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3"><code>3dacd1b</code></a> Add spectral bipartition community finding and greedy bipartition using node ...</li> <li>Additional commits viewable in <a href="https://github.com/networkx/networkx/compare/networkx-3.5...networkx-3.6.1">compare view</a></li> </ul> </details> <br /> Updates `pyjwt` from 2.14.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](jpadilla/pyjwt#1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](jpadilla/pyjwt#914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="jpadilla/pyjwt@1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="jpadilla/pyjwt@9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="jpadilla/pyjwt@5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="jpadilla/pyjwt@171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="jpadilla/pyjwt@c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="jpadilla/pyjwt@2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="jpadilla/pyjwt@4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="jpadilla/pyjwt@9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="jpadilla/pyjwt@4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="jpadilla/pyjwt@f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="jpadilla/pyjwt@2.14.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> Updates `litellm` from 1.101.0 to 1.102.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/BerriAI/litellm/releases">litellm's releases</a>.</em></p> <blockquote> <h2>v1.102.1</h2> <h2>Verify Docker Image Signature</h2> <p>All LiteLLM Docker images are signed with <a href="https://docs.sigstore.dev/cosign/overview/">cosign</a>. Every release is signed with the same key introduced in <a href="https://github.com/BerriAI/litellm/commit/0112e53046018d726492c814b3644b7d376029d0">commit <code>0112e53</code></a>.</p> <p><strong>Verify using the pinned commit hash (recommended):</strong></p> <p>A commit hash is cryptographically immutable, so this is the strongest way to ensure you are using the original signing key:</p> <pre lang="bash"><code>cosign verify \ --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \ ghcr.io/berriai/litellm:v1.102.1 </code></pre> <p><strong>Verify using the release tag (convenience):</strong></p> <p>Tags are protected in this repository and resolve to the same key. This option is easier to read but relies on tag protection rules:</p> <pre lang="bash"><code>cosign verify \ --key https://raw.githubusercontent.com/BerriAI/litellm/v1.102.1/cosign.pub \ ghcr.io/berriai/litellm:v1.102.1 </code></pre> <p>Expected output:</p> <pre><code>The following checks were performed on each of these signatures: - The cosign claims were validated - The signatures were verified against the specified public key </code></pre> <hr /> <h2>What's Changed</h2> <ul> <li>fix(anthropic): backport <a href="https://redirect.github.com/BerriAI/litellm/issues/42152">#42152</a> and <a href="https://redirect.github.com/BerriAI/litellm/issues/42288">#42288</a> to stable/1.102.x for v1.102.1 by <a href="https://github.com/devin-ai-integration"><code>@devin-ai-integration</code></a>[bot] in <a href="https://redirect.github.com/BerriAI/litellm/pull/42538">BerriAI/litellm#42538</a></li> <li>feat(typesafe): backport the jev change set to stable/1.102.x for v1.102.1 by <a href="https://github.com/devin-ai-integration"><code>@devin-ai-integration</code></a>[bot] in <a href="https://redirect.github.com/BerriAI/litellm/pull/42595">BerriAI/litellm#42595</a></li> <li>chore(release): backport <a href="https://redirect.github.com/BerriAI/litellm/issues/42388">#42388</a> and <a href="https://redirect.github.com/BerriAI/litellm/issues/41462">#41462</a> to stable/1.102.x by <a href="https://github.com/devin-ai-integration"><code>@devin-ai-integration</code></a>[bot] in <a href="https://redirect.github.com/BerriAI/litellm/pull/42618">BerriAI/litellm#42618</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/BerriAI/litellm/compare/v1.102.0...v1.102.1">https://github.com/BerriAI/litellm/compare/v1.102.0...v1.102.1</a></p> <h2>v1.102.0</h2> <h2>Verify Docker Image Signature</h2> <p>All LiteLLM Docker images are signed with <a href="https://docs.sigstore.dev/cosign/overview/">cosign</a>. Every release is signed with the same key introduced in <a href="https://github.com/BerriAI/litellm/commit/0112e53046018d726492c814b3644b7d376029d0">commit <code>0112e53</code></a>.</p> <p><strong>Verify using the pinned commit hash (recommended):</strong></p> <p>A commit hash is cryptographically immutable, so this is the strongest way to ensure you are using the original signing key:</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/BerriAI/litellm/commit/d09bbae1c6df463e425558f60d460437193635da"><code>d09bbae</code></a> Merge pull request <a href="https://redirect.github.com/BerriAI/litellm/issues/42618">#42618</a> from BerriAI/litellm_backport_stable_1_102_x_realti...</li> <li><a href="https://github.com/BerriAI/litellm/commit/188c9d1f9f8b292e2e676b99605188ecd5f3411e"><code>188c9d1</code></a> Merge pull request <a href="https://redirect.github.com/BerriAI/litellm/issues/42595">#42595</a> from BerriAI/litellm_cherrypick_1_102_x</li> <li><a href="https://github.com/BerriAI/litellm/commit/d1cd2dccaf368ceb69279c25215b8f575b6ce8dd"><code>d1cd2dc</code></a> chore(backport): regenerate the openapi snapshot and dashboard api types for ...</li> <li><a href="https://github.com/BerriAI/litellm/commit/5aa45f1bca8718b6ad107608263fa109852a98d8"><code>5aa45f1</code></a> test(realtime): drop legacy InvalidStatusCode tests and pin websockets imports</li> <li><a href="https://github.com/BerriAI/litellm/commit/4bfac88281ae38c74dd34f7edbcceef469756a64"><code>4bfac88</code></a> fix(ui): adapt the jev dashboard pieces to stable/1.102.x</li> <li><a href="https://github.com/BerriAI/litellm/commit/da246e9282d080ae12e863c3462b9838da3b9a20"><code>da246e9</code></a> chore(deps): bump anyio to 4.14.2 and soupsieve to 2.9.0</li> <li><a href="https://github.com/BerriAI/litellm/commit/9a46f1f53ea1b059dc034eb30d97e9b1460fd4f4"><code>9a46f1f</code></a> Merge pull request <a href="https://redirect.github.com/BerriAI/litellm/issues/41462">#41462</a> from BerriAI/litellm_otel_promote_nested_request_me...</li> <li><a href="https://github.com/BerriAI/litellm/commit/96e7739dcbd8e4e86e81537927b32335ff16c2b5"><code>96e7739</code></a> fix(realtime): surface an upstream handshake refusal as an error event and po...</li> <li><a href="https://github.com/BerriAI/litellm/commit/d0687347a7f5df83c23fa93478099fdd84be4792"><code>d068734</code></a> feat(openrouter): price typesafe/jev-1.13 and add an openrouter decisions pas...</li> <li><a href="https://github.com/BerriAI/litellm/commit/e20cfbeaeb46f4a823b2489529170a2d29e8efef"><code>e20cfbe</code></a> feat(auto-router): add JEV classifier alongside LLM classifier</li> <li>Additional commits viewable in <a href="https://github.com/BerriAI/litellm/compare/v1.101.0...v1.102.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
antiguru
pushed a commit
to MaterializeInc/materialize
that referenced
this pull request
Sep 28, 2026
…39272) Bumps the simple group with 8 updates in the /ci/builder directory: | Package | From | To | | --- | --- | --- | | [boto3](https://github.com/boto/boto3) | `1.43.88` | `1.43.102` | | [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.6.3` | `4.6.4` | | [matplotlib](https://github.com/matplotlib/matplotlib) | `3.11.1` | `3.11.2` | | [pyjwt](https://github.com/jpadilla/pyjwt) | `2.13.0` | `2.15.0` | | [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.2.0` | `1.2.3` | | [semver](https://github.com/python-semver/python-semver) | `3.0.4` | `3.1.0` | | [build](https://github.com/pypa/build) | `1.6.0` | `1.6.1` | | [hatchling](https://github.com/pypa/hatch) | `1.32.0` | `1.32.4` | Updates `boto3` from 1.43.88 to 1.43.102 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/boto/boto3/commit/da00dd2d4b31a8fa77d8a10aff153f42175404bf"><code>da00dd2</code></a> Merge branch 'release-1.43.102'</li> <li><a href="https://github.com/boto/boto3/commit/551d660d2c3ef8fedeb0eb40973094c995776857"><code>551d660</code></a> Bumping version to 1.43.102</li> <li><a href="https://github.com/boto/boto3/commit/f63e52e1baa89630baac4975fa46057388cab6f0"><code>f63e52e</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/a1acf79e6beaf80ae73eff47fbe81b052b9c14f8"><code>a1acf79</code></a> Merge branch 'release-1.43.101'</li> <li><a href="https://github.com/boto/boto3/commit/931d5a2314056f6e3eefbe0d1ce2e3e19ee18c43"><code>931d5a2</code></a> Merge branch 'release-1.43.101' into develop</li> <li><a href="https://github.com/boto/boto3/commit/8c719efadb1fb3bc606ebd849a70610416ad0121"><code>8c719ef</code></a> Bumping version to 1.43.101</li> <li><a href="https://github.com/boto/boto3/commit/7a0087dd65a461194743ccb1c9bfb378e7256042"><code>7a0087d</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/50dcfb23f7007694067549bff55036292db1cdc1"><code>50dcfb2</code></a> Bump the github-actions group across 1 directory with 4 updates (<a href="https://redirect.github.com/boto/boto3/issues/4853">#4853</a>)</li> <li><a href="https://github.com/boto/boto3/commit/b9fcb1869fe9907a77aa024dba34019fcd828da4"><code>b9fcb18</code></a> Bump <a href="https://github.com/astral-sh/ruff-pre-commit">https://github.com/astral-sh/ruff-pre-commit</a> (<a href="https://redirect.github.com/boto/boto3/issues/4849">#4849</a>)</li> <li><a href="https://github.com/boto/boto3/commit/2b8c4ed93e6894617dd47fbd6d7957ff75e60403"><code>2b8c4ed</code></a> Merge branch 'release-1.43.100'</li> <li>Additional commits viewable in <a href="https://github.com/boto/boto3/compare/1.43.88...1.43.102">compare view</a></li> </ul> </details> <br /> Updates `jupyterlab` from 4.6.3 to 4.6.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jupyterlab/jupyterlab/releases">jupyterlab's releases</a>.</em></p> <blockquote> <h2>v4.6.4</h2> <h2>4.6.4</h2> <p>(<a href="https://github.com/jupyterlab/jupyterlab/compare/v4.6.3...1f9dbe334e7d21e4855c9a32c7cd642544ac20c4">Full Changelog</a>)</p> <h3>Security fixes</h3> <ul> <li>GHSA-3325-v43h-43rv - moderate</li> <li>GHSA-6966-vjj6-99xv - high</li> <li>GHSA-jwrc-gm9j-263p - moderate</li> <li>GHSA-3jqq-pw4j-pqcj - moderate</li> </ul> <h3>Bugs fixed</h3> <ul> <li>Backport of security patches on 4.6.x branch <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19793">#19793</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>, <a href="https://github.com/MUFFANUJ"><code>@MUFFANUJ</code></a>)</li> <li>Cache and throttle path resolution to avoid requests storm <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19726">#19726</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Fix race when starting the search - keep correct filter <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19765">#19765</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Fix PyPI extension manager <code>package.json</code> inspection for <code>tar.gz</code> archives <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19613">#19613</a> (<a href="https://github.com/MUFFANUJ"><code>@MUFFANUJ</code></a>)</li> <li>Fix resizing optimization for larger notebooks <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19620">#19620</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Preserve kernelspec metadata when spec is unavailable <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19247">#19247</a> (<a href="https://github.com/tomatotomata"><code>@tomatotomata</code></a>)</li> <li>Fix respecting <code>commsOverSubshells</code> option in <code>connectTo()</code> <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19734">#19734</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Show context actions for all images, not only SVGs <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19618">#19618</a> (<a href="https://github.com/fly1d"><code>@fly1d</code></a>)</li> <li>Save sidebar section expansion state from the hidden flag <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19415">#19415</a> (<a href="https://github.com/jtpio"><code>@jtpio</code></a>)</li> <li>Fix memory leak when Property Inspector is open and other issues exposed by new linter rules <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19318">#19318</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> </ul> <h3>Maintenance and upkeep improvements</h3> <ul> <li>Update links to <code>jupyter-ydoc</code> API after docs pages moved <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19790">#19790</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>CI: align Yarn cache configuration <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19737">#19737</a> (<a href="https://github.com/zihjiang"><code>@zihjiang</code></a>)</li> <li>Use Galata filebrowser helpers in tests <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19645">#19645</a> (<a href="https://github.com/Darshan808"><code>@Darshan808</code></a>)</li> <li>Disable subshell usage in comm example <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19725">#19725</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Remove pin to old ipykernel v7 pre-release in UI tests <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19672">#19672</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Update Altair snapshot <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19488">#19488</a> (<a href="https://github.com/jtpio"><code>@jtpio</code></a>)</li> <li>Use <code>ui-test-report-comment</code> action from <code>maintainer-tools</code> <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19290">#19290</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Backport PR <a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19307">#19307</a>: Update <code>@jupyter/eslint-plugin</code> to v1.1, adopt ne… <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19315">#19315</a> (<a href="https://github.com/krassowski"><code>@krassowski</code></a>)</li> <li>Update the copyright year to 2026 <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19308">#19308</a> (<a href="https://github.com/JussiRoos"><code>@JussiRoos</code></a>)</li> </ul> <h3>Documentation improvements</h3> <ul> <li>Fix the IPython display link in the json-extension README <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19732">#19732</a> (<a href="https://github.com/jtpio"><code>@jtpio</code></a>)</li> <li>Update announcement banner to point to jupyter-wide announcement banner <a href="https://redirect.github.com/jupyterlab/jupyterlab/pull/19189">#19189</a> (<a href="https://github.com/jasongrout"><code>@jasongrout</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/jupyterlab/jupyterlab/graphs/contributors?from=2026-08-10&to=2026-09-21&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/Darshan808"><code>@Darshan808</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ADarshan808+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/fly1d"><code>@fly1d</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afly1d+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/jasongrout"><code>@jasongrout</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajasongrout+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/jtpio"><code>@jtpio</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/JussiRoos"><code>@JussiRoos</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AJussiRoos+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/krassowski"><code>@krassowski</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/MUFFANUJ"><code>@MUFFANUJ</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AMUFFANUJ+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/tomatotomata"><code>@tomatotomata</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atomatotomata+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>) | <a href="https://github.com/zihjiang"><code>@zihjiang</code></a> (<a href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Azihjiang+updated%3A2026-08-10..2026-09-21&type=Issues">activity</a>)</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/384bff3af6598b3a6348df58fe34450914b49c41"><code>384bff3</code></a> [ci skip] Publish 4.6.4</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/1f9dbe334e7d21e4855c9a32c7cd642544ac20c4"><code>1f9dbe3</code></a> Merge pull request <a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19793">#19793</a> from krassowski/security-patches-4.6.x</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/de324ae91346c713c4f5e5485f97b6e914e0f774"><code>de324ae</code></a> Fix for GHSA-3jqq-pw4j-pqcj</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/f7e5f9803fdf2aaaa0e9bfb9cc73386a8cc5f0b2"><code>f7e5f98</code></a> Fix for GHSA-jwrc-gm9j-263p</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/cf6e89a8d315c4134cefa50c220bca296da466a7"><code>cf6e89a</code></a> Fix for GHSA-6966-vjj6-99xv</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/e277bc958e737130ac47b6c5078d08b29298828f"><code>e277bc9</code></a> Fix for GHSA-3325-v43h-43rv</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/cd569945bc976caaf0018365fe1947f4f69db9e2"><code>cd56994</code></a> Backport PR <a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19790">#19790</a> on branch 4.6.x (Update links to <code>jupyter-ydoc</code> API after ...</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/bbadd0225a351ffcaa01dcbe7a5d9a364d244150"><code>bbadd02</code></a> Backport PR <a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19726">#19726</a> on branch 4.6.x (Cache and throttle path resolution to avo...</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/4ccae660976c055d4e2a3f44b1c5fa86e6416ac4"><code>4ccae66</code></a> Backport PR <a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19765">#19765</a> on branch 4.6.x (Fix race when starting the search - keep ...</li> <li><a href="https://github.com/jupyterlab/jupyterlab/commit/6c0f66433831a889e29fa87639315be1f2f57b6d"><code>6c0f664</code></a> Backport PR <a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19737">#19737</a> on branch 4.6.x (CI: align Yarn cache configuration) (<a href="https://redirect.github.com/jupyterlab/jupyterlab/issues/19766">#19766</a>)</li> <li>Additional commits viewable in <a href="https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/[email protected]...@jupyterlab/[email protected]">compare view</a></li> </ul> </details> <br /> Updates `matplotlib` from 3.11.1 to 3.11.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/matplotlib/matplotlib/releases">matplotlib's releases</a>.</em></p> <blockquote> <h2>REL: v3.11.2</h2> <p>This is the second bugfix release of the 3.11.x series.</p> <p>This release contains several bug-fixes and adjustments:</p> <ul> <li>Speed up RGBA-stage image resampling</li> <li>Fix <code>hexbin</code> clipping in PDF output</li> <li>Fix <code>\text</code> with internal braces</li> <li>Fix some crashes and make some checks more robust to unlikely cases</li> <li>Fix frame skew when saving GIF animations with <code>PillowWriter</code></li> <li>Fix HiDPI handling in Qt toolbar and WebAgg embeddings</li> <li>Fix <code>ResizeEvent</code> handling for <code>TextBox</code></li> <li>Fix bug with PGF hatch linewidth and color</li> <li>Fix a bug with drawing an empty Collection</li> <li>Fix incorrect glyphs in Cairo backends</li> <li>Improve build system to prevent conflicts between wheels and system libraries</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/matplotlib/matplotlib/commit/d3ca9172e392048ec242b90e8423e88d1a3000b2"><code>d3ca917</code></a> REL: v3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/b76fea990aa10afdba9225ee0f058d942cfcb770"><code>b76fea9</code></a> DOC: Set current version to 3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/39c7f0678af763abe850b41a71cd2724e326157c"><code>39c7f06</code></a> DOC: Prepare GitHub stats for 3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/5dd13e39ceadb89af6e17c64cb0c71a2c3ddc94e"><code>5dd13e3</code></a> Merge branch 'v3.11.1-doc' into release-3.11.2</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/aa484be97e65ffa1c7e2770864dc44a219625180"><code>aa484be</code></a> Merge branch 'v3.11.0-doc' into v3.11.1-doc</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/0e10f83000d7993160feb264f84150b5a4cacfff"><code>0e10f83</code></a> Merge pull request <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32330">#32330</a> from meeseeksmachine/auto-backport-of-pr-32324-on-v...</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/ebe947bd694df95e189fb93b63060051a6b55f3d"><code>ebe947b</code></a> Backport PR <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32324">#32324</a>: Don't force any diagnostics to be errors in bundled Harfbuzz</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/8f4b7c53b228dceded120488f569ff936d91844c"><code>8f4b7c5</code></a> Merge pull request <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32322">#32322</a> from meeseeksmachine/auto-backport-of-pr-32321-on-v...</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/93278ade075ca4b6483afac10f9a2d1e775a5f36"><code>93278ad</code></a> Backport PR <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32321">#32321</a>: DOC: correct note about PyOS_InputHook</li> <li><a href="https://github.com/matplotlib/matplotlib/commit/b0aee786396e59de7ea5a1cec646cbc889250b57"><code>b0aee78</code></a> Merge pull request <a href="https://redirect.github.com/matplotlib/matplotlib/issues/32319">#32319</a> from meeseeksmachine/auto-backport-of-pr-32305-on-v...</li> <li>Additional commits viewable in <a href="https://github.com/matplotlib/matplotlib/compare/v3.11.1...v3.11.2">compare view</a></li> </ul> </details> <br /> Updates `pyjwt` from 2.13.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> <h2>2.14.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.14.0/CHANGELOG.rst">2.14.0 changelog</a> for the complete release details and related security advisories.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](https://github.com/jpadilla/pyjwt/issues/1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](https://github.com/jpadilla/pyjwt/issues/914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jpadilla/pyjwt/commit/1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="https://github.com/jpadilla/pyjwt/compare/2.13.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> Updates `pymysql` from 1.2.0 to 1.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/PyMySQL/PyMySQL/releases">pymysql's releases</a>.</em></p> <blockquote> <h2>v1.2.3</h2> <p><strong>Full Changelog</strong>: <a href="https://github.com/PyMySQL/PyMySQL/compare/v1.2.2...v1.2.3">https://github.com/PyMySQL/PyMySQL/compare/v1.2.2...v1.2.3</a></p> <h2>v1.2.2</h2> <p>Restored the ability to import <code>pymysql.converters.escape_dict</code> for compatibility with aiomysql. This function does not escape dictionaries and is entirely unnecessary. Unless you use aiomysql, there is no need to upgrade from v1.2.1.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/PyMySQL/PyMySQL/compare/v1.2.1...v1.2.2">https://github.com/PyMySQL/PyMySQL/compare/v1.2.1...v1.2.2</a></p> <h2>v1.2.1</h2> <h2>What's Changed</h2> <ul> <li>Bump codecov/codecov-action from 6 to 7 in the all-dependencies group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1250">PyMySQL/PyMySQL#1250</a></li> <li>Bump actions/checkout from 6 to 7 in the all-dependencies group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1253">PyMySQL/PyMySQL#1253</a></li> <li>Bump the all-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1254">PyMySQL/PyMySQL#1254</a></li> <li>Bump astral-sh/ruff-action from 4.0.0 to 4.1.0 in the all-dependencies group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1255">PyMySQL/PyMySQL#1255</a></li> <li>Fix typos in comments: charaset -> charset by <a href="https://github.com/maxtaran2010"><code>@maxtaran2010</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1256">PyMySQL/PyMySQL#1256</a></li> <li>Bump the all-dependencies group with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1258">PyMySQL/PyMySQL#1258</a></li> <li>Bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 in the all-dependencies group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1261">PyMySQL/PyMySQL#1261</a></li> <li>Fix escape_timedelta for negative values by <a href="https://github.com/dngr2"><code>@dngr2</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1262">PyMySQL/PyMySQL#1262</a></li> <li>fix ruff errors by <a href="https://github.com/methane"><code>@methane</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1263">PyMySQL/PyMySQL#1263</a></li> <li>Refactor LOAD LOCAL INFILE handling by <a href="https://github.com/methane"><code>@methane</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1264">PyMySQL/PyMySQL#1264</a></li> <li>perf: optimize packet reading and parsing by <a href="https://github.com/methane"><code>@methane</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1268">PyMySQL/PyMySQL#1268</a></li> <li>agent: document local MySQL test setup by <a href="https://github.com/methane"><code>@methane</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1270">PyMySQL/PyMySQL#1270</a></li> <li>fix pymysql authentication state machine issue by <a href="https://github.com/methane"><code>@methane</code></a> in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1271">PyMySQL/PyMySQL#1271</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/maxtaran2010"><code>@maxtaran2010</code></a> made their first contribution in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1256">PyMySQL/PyMySQL#1256</a></li> <li><a href="https://github.com/dngr2"><code>@dngr2</code></a> made their first contribution in <a href="https://redirect.github.com/PyMySQL/PyMySQL/pull/1262">PyMySQL/PyMySQL#1262</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/PyMySQL/PyMySQL/compare/v1.2.0...v1.2.1">https://github.com/PyMySQL/PyMySQL/compare/v1.2.0...v1.2.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md">pymysql's changelog</a>.</em></p> <blockquote> <h2>v1.2.3</h2> <p>Release date: 2026-09-17</p> <p>Restored the ability to import <code>pymysql.converters.escape_bytes_prefixed</code> for compatibility with aiomysql.</p> <p>Use <code>pymysql.converters</code> at your own risk. It's internal functions. No backward compatibility are guaranteed.</p> <h2>v1.2.2</h2> <p>Release date: 2026-09-17</p> <p>Restored the ability to import <code>pymysql.converters.escape_dict</code> for compatibility with aiomysql. This function does not escape dictionaries and is entirely unnecessary. Unless you use aiomysql, there is no need to upgrade from v1.2.1.</p> <h2>v1.2.1 (security fix)</h2> <p>Release date: 2026-09-17</p> <p>Fixed a SQL injection vulnerability caused by incorrect escaping of <code>bytes</code> parameters when using the big5, gbk, sjis, cp932, or gb18030 character sets. This vulnerability also occurs when strings decoded from <code>bytes</code> using <code>surrogateescape</code> are passed as query parameters.</p> <p>See also: <a href="https://github.com/PyMySQL/PyMySQL/security/advisories/GHSA-x4f8-9hx9-hpp9">https://github.com/PyMySQL/PyMySQL/security/advisories/GHSA-x4f8-9hx9-hpp9</a></p> <ul> <li> <p>Queries are now encoded using the <code>strict</code> error handler instead of <code>surrogateescape</code>. Queries that cannot be encoded using the connection encoding can no longer be sent.</p> </li> <li> <p><code>bytes</code> parameters are now always sent as hexadecimal literals, such as <code>X'636174'</code>. Note that this increases the number of bytes sent.</p> </li> <li> <p>The <code>binary_prefix</code> parameter of <code>connect()</code> is deprecated. The <code>_binary</code> prefix is no longer sent.</p> </li> </ul> <p>These changes address the confirmed SQL injection vulnerabilities related to character encoding. However, we strongly recommend using UTF-8 (<code>utf8mb4</code>). Other character sets are not thoroughly tested, and their limited use means that problems may go unreported. In the 2020s, encodings other than UTF-8 should be considered legacy.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/c990e86083c26493f3285b1e047902994c4b1811"><code>c990e86</code></a> v1.2.3</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/c93fd977ae6ff210a431e89a2e13ab2870b3c9e0"><code>c93fd97</code></a> add escape_bytes_prefixed. do not use it.</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/dea8954dd3fe79461e98467be748ac0d024304d5"><code>dea8954</code></a> release v1.2.2</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/4f953ba1d30190006361ce549b6e78b8d269ea44"><code>4f953ba</code></a> fix: add escape_dict alias for aiomysql compatibility</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/e13a28f0a66db89d191fdd347a602448fc431f97"><code>e13a28f</code></a> ruff format</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/26a031dbd56c0e3575bf251ff787b15fd7b1795a"><code>26a031d</code></a> Prepare 1.2.1 security release</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/a1547f580c070732386177851beaebb4a3a6ec20"><code>a1547f5</code></a> Merge commit from fork</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/10739bc7781fb85bb9df3d21c2465ba9c3988a2c"><code>10739bc</code></a> fix pymysql authentication state machine issue (<a href="https://redirect.github.com/PyMySQL/PyMySQL/issues/1271">#1271</a>)</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/0fa39e9865a4f6dbdeef70dc5ee5e051c3053559"><code>0fa39e9</code></a> agent: document local MySQL test setup (<a href="https://redirect.github.com/PyMySQL/PyMySQL/issues/1270">#1270</a>)</li> <li><a href="https://github.com/PyMySQL/PyMySQL/commit/55c604c95b308d8f67ef0def415f44a8d75426f2"><code>55c604c</code></a> perf: optimize packet reading and parsing (<a href="https://redirect.github.com/PyMySQL/PyMySQL/issues/1268">#1268</a>)</li> <li>Additional commits viewable in <a href="https://github.com/PyMySQL/PyMySQL/compare/v1.2.0...v1.2.3">compare view</a></li> </ul> </details> <br /> Updates `semver` from 3.0.4 to 3.1.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-semver/python-semver/releases">semver's releases</a>.</em></p> <blockquote> <h2>3.1.0</h2> <h2>What's Changed</h2> <ul> <li>Fix <a href="https://redirect.github.com/python-semver/python-semver/issues/463">#463</a>: Remove duplicate code Version.bump_build by <a href="https://github.com/tomschr"><code>@tomschr</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/464">python-semver/python-semver#464</a></li> <li>Fix <a href="https://redirect.github.com/python-semver/python-semver/issues/460">#460</a> Improve bump_prerelease to alway get a newer version by <a href="https://github.com/Learloj"><code>@Learloj</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/462">python-semver/python-semver#462</a></li> <li>441 update pydantic section of docs by <a href="https://github.com/jbkroner"><code>@jbkroner</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/442">python-semver/python-semver#442</a></li> <li>Fix <a href="https://redirect.github.com/python-semver/python-semver/issues/448">#448</a>: Remove Python 3.7-3.9 (EOL) by <a href="https://github.com/tomschr"><code>@tomschr</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/470">python-semver/python-semver#470</a></li> <li>fix: replace semver.parse() with semver.Version.parse() in docstrings by <a href="https://github.com/koteshyelamati"><code>@koteshyelamati</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/471">python-semver/python-semver#471</a></li> <li>fix: next_version should bump version for build-only versions by <a href="https://github.com/binggao1230"><code>@binggao1230</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/469">python-semver/python-semver#469</a></li> <li>fix(next_version): reset prerelease when token changes (<a href="https://redirect.github.com/python-semver/python-semver/issues/339">#339</a>) by <a href="https://github.com/Mukller"><code>@Mukller</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/472">python-semver/python-semver#472</a></li> <li>Bump cryptography from 49.0.0 to 50.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/python-semver/python-semver/pull/473">python-semver/python-semver#473</a></li> <li>Declare support for Python 3.15 by <a href="https://github.com/edgarrmondragon"><code>@edgarrmondragon</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/475">python-semver/python-semver#475</a></li> <li>Add optional native parser backend (minimal adapter) by <a href="https://github.com/lowmiaq-gmail"><code>@lowmiaq-gmail</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/476">python-semver/python-semver#476</a></li> <li>Reject non-ASCII digits and trailing newlines in version parsing by <a href="https://github.com/Str0k"><code>@Str0k</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/478">python-semver/python-semver#478</a></li> <li>Fix bump_build() silently returning an unchanged version for digitless build metadata by <a href="https://github.com/Str0k"><code>@Str0k</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/480">python-semver/python-semver#480</a></li> <li>Handle malformed collection operands in Version comparisons by <a href="https://github.com/Str0k"><code>@Str0k</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/479">python-semver/python-semver#479</a></li> <li>Change version to 3.1.0 by <a href="https://github.com/tomschr"><code>@tomschr</code></a> in <a href="https://redirect.github.com/python-semver/python-semver/pull/481">python-semver/python-semver#481</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Learloj"><code>@Learloj</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/462">python-semver/python-semver#462</a></li> <li><a href="https://github.com/jbkroner"><code>@jbkroner</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/442">python-semver/python-semver#442</a></li> <li><a href="https://github.com/koteshyelamati"><code>@koteshyelamati</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/471">python-semver/python-semver#471</a></li> <li><a href="https://github.com/binggao1230"><code>@binggao1230</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/469">python-semver/python-semver#469</a></li> <li><a href="https://github.com/Mukller"><code>@Mukller</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/472">python-semver/python-semver#472</a></li> <li><a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/473">python-semver/python-semver#473</a></li> <li><a href="https://github.com/edgarrmondragon"><code>@edgarrmondragon</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/475">python-semver/python-semver#475</a></li> <li><a href="https://github.com/lowmiaq-gmail"><code>@lowmiaq-gmail</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/476">python-semver/python-semver#476</a></li> <li><a href="https://github.com/Str0k"><code>@Str0k</code></a> made their first contribution in <a href="https://redirect.github.com/python-semver/python-semver/pull/478">python-semver/python-semver#478</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/python-semver/python-semver/compare/3.0.4...3.1.0">https://github.com/python-semver/python-semver/compare/3.0.4...3.1.0</a> <strong>Documentation</strong>: <a href="https://python-semver.readthedocs.io/en/latest/">https://python-semver.readthedocs.io/en/latest/</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python-semver/python-semver/blob/master/CHANGELOG.rst">semver's changelog</a>.</em></p> <blockquote> <h1>Version 3.1.0</h1> <p>:Released: 2026-09-12 :Maintainer: Tom Schraitle</p> <h2>Bug Fixes</h2> <ul> <li> <p>:pr:<code>478</code>: <code>Version.parse()</code> and <code>Version.is_valid()</code> now reject non-ASCII digits and trailing newlines, in accordance with the SemVer grammar. Optional minor and patch parsing applies the same character restrictions.</p> </li> <li> <p>:pr:<code>479</code>: Comparing a :class:<code>~semver.Version</code> with a <code>dict</code>, <code>tuple</code>, or <code>list</code> that cannot construct a valid version (for example, an empty collection, wrong number of parts, non-numeric parts, or unknown keys) no longer raises internal errors from <code>Version.__init__</code>. The comparison operators now return :py:const:<code>NotImplemented</code> for such operands, following the general rule for invalid comparison operand types: equality evaluates to <code>False</code> and ordering raises Python's standard :py:exc:<code>TypeError</code> (for example, <code>'>' not supported between instances of 'Version' and 'dict'</code>).</p> </li> <li> <p>:pr:<code>480</code>: (:meth:<code>~semver.version.Version.bump_build</code>) will now add <code>.0</code> to an existing build when the last segment of the current build metadata, split by dots (<code>.</code>), is not numeric. This is to ensure the bumped version contains a raised build instead of silently returning an unchanged version. For example, <code>1.2.3+alpha</code> is bumped to <code>1.2.3+alpha.0</code>. This mirrors the corresponding fix for the prerelease part (:gh:<code>460</code>). Related to :gh:<code>466</code>.</p> </li> <li> <p>:gh:<code>460</code>: :meth:<code>~semver.version.Version.bump_prerelease</code> will now add <code>.0</code> to an existing prerelease when the last segment of the current prerelease, split by dots (<code>.</code>), is not numeric. This is to ensure the new prerelease is considered higher than the previous one.</p> <p>:meth:<code>~semver.version.Version.bump_prerelease</code> now also support an argument <code>bump_when_empty</code> which will bump the patch version if there is no existing prerelease, to ensure the resulting version is considered a higher version than the previous one.</p> </li> </ul> <h2>Features</h2> <ul> <li>:pr:<code>476</code>: Added optional <code>[native]</code> extra to accelerate parsing on CPython via the <code>fast-semver-rs-backend</code> package. The pure-Python parser remains the default; the native backend is opt-in and only available on CPython.</li> </ul> <h2>Internal Changes</h2> <p>: Update GitHub Actions for astral-sh/setup-uv (version 0.10.1), github/codeql-action (version 4)</p> <h2>Trivial Changes</h2> <ul> <li>:gh:<code>463</code>: Remove double code in :meth:<code>Version.bump_build</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-semver/python-semver/commit/642d1bc8949d38cca7922df478d0f2c06513f99d"><code>642d1bc</code></a> Change version to 3.1.0 (<a href="https://redirect.github.com/python-semver/python-semver/issues/481">#481</a>)</li> <li><a href="https://github.com/python-semver/python-semver/commit/2a2cf632f9b6c6b5731db85284db129e0d07837d"><code>2a2cf63</code></a> Suppress deprecation warnings in test suite</li> <li><a href="https://github.com/python-semver/python-semver/commit/a62477b6113791ed046e71936754e285892fd1ed"><code>a62477b</code></a> Improve comparisons and fix test coverage.</li> <li><a href="https://github.com/python-semver/python-semver/commit/0aa17a3447958cfe13634b0c3917e7aa4eee3334"><code>0aa17a3</code></a> Handle malformed collection operands in Version comparisons (<a href="https://redirect.github.com/python-semver/python-semver/issues/479">#479</a>)</li> <li><a href="https://github.com/python-semver/python-semver/commit/1b7350c1a7cacea983ab10b345990fee78761d44"><code>1b7350c</code></a> Improve test coverage to 100% (Rust backend)</li> <li><a href="https://github.com/python-semver/python-semver/commit/ea2524a51767cefab58a9b3bb6bcf38e5cdc7d54"><code>ea2524a</code></a> Fix bump_build() silently returning an unchanged version for digitless build ...</li> <li><a href="https://github.com/python-semver/python-semver/commit/1e8757912f633684e1a65d9d7c7e2270c3c79928"><code>1e87579</code></a> Reject non-ASCII digits and trailing newlines in version parsing (<a href="https://redirect.github.com/python-semver/python-semver/issues/478">#478</a>)</li> <li><a href="https://github.com/python-semver/python-semver/commit/0f18aa0b1e0cabba65ee1b506e637faabcdf5d05"><code>0f18aa0</code></a> Add optional native parser backend (minimal adapter) (<a href="https://redirect.github.com/python-semver/python-semver/issues/476">#476</a>)</li> <li><a href="https://github.com/python-semver/python-semver/commit/873a6750f22e82f72fb7c8c4a1ebe958beaa2f1a"><code>873a675</code></a> Declare support for Python 3.15 (<a href="https://redirect.github.com/python-semver/python-semver/issues/475">#475</a>)</li> <li><a href="https://github.com/python-semver/python-semver/commit/99d2032c8f7ef4895df25053ddcdcb85d5460326"><code>99d2032</code></a> Bump cryptography from 49.0.0 to 50.0.0 (<a href="https://redirect.github.com/python-semver/python-semver/issues/473">#473</a>)</li> <li>Additional commits viewable in <a href="https://github.com/python-semver/python-semver/compare/3.0.4...3.1.0">compare view</a></li> </ul> </details> <br /> Updates `build` from 1.6.0 to 1.6.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/build/releases">build's releases</a>.</em></p> <blockquote> <h2>1.6.1</h2> <!-- raw HTML omitted --> <h2>What's Changed</h2> <ul> <li>chore[v1]: prepare for v1.6.1 by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/build/pull/1181">pypa/build#1181</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pypa/build/compare/1.6.0...1.6.1">https://github.com/pypa/build/compare/1.6.0...1.6.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/build/blob/main/CHANGELOG.rst">build's changelog</a>.</em></p> <blockquote> <p>#################### 1.6.1 (2026-09-10) ####################</p> <hr /> <p>Bugfixes</p> <hr /> <ul> <li>Avoid trying to detect symlinks on Windows, regression in 1.6.0 - by :user:<code>henryiii</code> (:issue:<code>1175</code>) (:issue:<code>1175</code>)</li> </ul> <hr /> <p>Documentation</p> <hr /> <ul> <li>Fix doubled backslashes in the Windows pip config path (<code>%APPDATA%\pip\pip.ini</code>) in the docs - by :user:<code>aroh3006</code> (:issue:<code>1149</code>)</li> </ul> <hr /> <p>Miscellaneous</p> <hr /> <ul> <li>:issue:<code>1168</code>, :issue:<code>1170</code>, :issue:<code>1178</code></li> </ul> <p>#################### 1.6.0 (2026-08-27) ####################</p> <hr /> <p>Features</p> <hr /> <ul> <li>Add <code>--report=PATH</code> to write a machine-readable JSON report of built artifacts; <code>--metadata</code> now also accepts <code>.whl</code> files - by :user:<code>gaborbernat</code> (:issue:<code>198</code>)</li> <li>The <code>srcdir</code> argument now accepts <code>.tar.gz</code> source distributions, extracting and building from them - by :user:<code>gaborbernat</code> (:issue:<code>311</code>)</li> <li>The "Unmet dependencies" error from <code>--no-isolation</code> builds now shows the wanted version, found version, and interpreter - by :user:<code>gaborbernat</code> (:issue:<code>504</code>)</li> <li>Add <code>--sdist-extract-dir</code> to extract the intermediate sdist into a persistent directory, enabling compiler cache reuse across rebuilds - by :user:<code>gaborbernat</code> (:issue:<code>614</code>)</li> <li>Add <code>--env-dir</code> to place the isolated build environment at a fixed path, enabling compiler cache reuse across builds <ul> <li>by :user:<code>gaborbernat</code> (:issue:<code>655</code>)</li> </ul> </li> <li>Print a summary of resolved dependency versions (<code>name==version</code>) after installing them in isolated builds - by :user:<code>gaborbernat</code> (:issue:<code>959</code>)</li> <li>On build failure, print a tip pointing to <code>--env-dir</code> and <code>--sdist-extract-dir</code> for debugging and link to the "Debug a failed build" how-to - reported by :user:<code>dimpase</code>, implemented by :user:<code>gaborbernat</code> (:issue:<code>966</code>)</li> </ul> <hr /> <p>Bugfixes</p> <hr /> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/build/commit/89cccef40df9011f03bec18cf52c53d1096ed6ee"><code>89cccef</code></a> chore: prepare for 1.6.1</li> <li><a href="https://github.com/pypa/build/commit/a6f707a75fc8548d7707645e97c7903197387849"><code>a6f707a</code></a> ci: support releases from v* branches (<a href="https://redirect.github.com/pypa/build/issues/1178">#1178</a>)</li> <li><a href="https://github.com/pypa/build/commit/77851610de5d3894fa8a88e06e0232901cf93758"><code>7785161</code></a> docs: fix doubled backslashes in Windows pip config path (<a href="https://redirect.github.com/pypa/build/issues/1149">#1149</a>)</li> <li><a href="https://github.com/pypa/build/commit/244b250c3219070eebb29764f7709262d48afd41"><code>244b250</code></a> fix: always use copies for the isolated venv on Windows (<a href="https://redirect.github.com/pypa/build/issues/1176">#1176</a>)</li> <li><a href="https://github.com/pypa/build/commit/c93ca6f6d252e4d8df7fda4a61f8f9ed8a55a411"><code>c93ca6f</code></a> build(deps): bump re-actors/alls-green from 1.2.2 to 1.3.0 in the github-acti...</li> <li><a href="https://github.com/pypa/build/commit/e02ffd32241aec2e306d90869417c1e900c0adb4"><code>e02ffd3</code></a> pre-commit: bump repositories (<a href="https://redirect.github.com/pypa/build/issues/1173">#1173</a>)</li> <li><a href="https://github.com/pypa/build/commit/aad39a800e3d81bf907018ebe2fab135717da59b"><code>aad39a8</code></a> docs: fix changelog page heading levels and sidebar (<a href="https://redirect.github.com/pypa/build/issues/1171">#1171</a>)</li> <li><a href="https://github.com/pypa/build/commit/5c3fd46b5c38c7caea5dd95ce365971104a734aa"><code>5c3fd46</code></a> docs: use PyPI ref directly (<a href="https://redirect.github.com/pypa/build/issues/1172">#1172</a>)</li> <li><a href="https://github.com/pypa/build/commit/1c5bd6c21cbd33c1816978d45219d48fb4c2b269"><code>1c5bd6c</code></a> 🐛 fix(release): format generated changelog (<a href="https://redirect.github.com/pypa/build/issues/1170">#1170</a>)</li> <li><a href="https://github.com/pypa/build/commit/7f0cc7ed19969558c7daeaa3652ce2ffc81599c1"><code>7f0cc7e</code></a> 🔧 build(type): replace mypy with pyrefly (<a href="https://redirect.github.com/pypa/build/issues/1168">#1168</a>)</li> <li>See full diff in <a href="https://github.com/pypa/build/compare/1.6.0...1.6.1">compare view</a></li> </ul> </details> <br /> Updates `hatchling` from 1.32.0 to 1.32.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/hatch/releases">hatchling's releases</a>.</em></p> <blockquote> <h2>Hatchling v1.32.4</h2> <p><em><strong>Fixed:</strong></em></p> <ul> <li>Revert the extra type parameter added to <code>BuildHookInterface</code> in 1.32.3, which broke plugins that subscripted the interface with a single argument (e.g. <code>BuildHookInterface[MyConfig]</code>) by raising <code>TypeError</code> at import time. <code>BuilderConfig</code> is likewise no longer generic, restoring the pre-1.32.3 plugin interface.</li> <li>Strip spaces around version metadata when using original input for CalVer to keep leading zeroes.</li> </ul> <h2>Hatchling v1.32.3</h2> <p><em><strong>Fixed:</strong></em></p> <ul> <li>Preserve the version string exactly as written in core metadata, so stylized versions such as CalVer <code>2026.08.10</code> are no longer stripped of leading zeros. Distribution file names and <code>.dist-info</code> directories continue to use the PEP 440 normalized form.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/hatch/commit/c4abc454f908bb4fc2a92452a82cb33dac14abf3"><code>c4abc45</code></a> release Hatchling v1.32.4 (<a href="https://redirect.github.com/pypa/hatch/issues/2441">#2441</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/cd57f6890dd0929165ebbcb2effa171a8d9defdd"><code>cd57f68</code></a> Revert type changes for BuildHookInterface (<a href="https://redirect.github.com/pypa/hatch/issues/2440">#2440</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/5c6dc6c67ff91998bedc61b12787c13ac973bca0"><code>5c6dc6c</code></a> Strip surrounding whitespace from version metadata (<a href="https://redirect.github.com/pypa/hatch/issues/2438">#2438</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/0941887cd24b8585c30761d0396d9357e9d9effe"><code>0941887</code></a> release Hatchling v1.32.3 (<a href="https://redirect.github.com/pypa/hatch/issues/2436">#2436</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/6a2b14f466a27e833a2e398eeed7c40867efee6c"><code>6a2b14f</code></a> release Hatchling v1.32.2 (<a href="https://redirect.github.com/pypa/hatch/issues/2434">#2434</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/081013fad3dcf306cff3f42edd7ab1912ea8b687"><code>081013f</code></a> Hatchling 1.32.2 release (<a href="https://redirect.github.com/pypa/hatch/issues/2433">#2433</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/248141c335525f4a2ca36bbd396d6fc5a5627c80"><code>248141c</code></a> Use hatchling plugin manager (<a href="https://redirect.github.com/pypa/hatch/issues/2432">#2432</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/4b17561f822b1b416403a61855374892ecbe11de"><code>4b17561</code></a> release Hatch v1.18.1 (<a href="https://redirect.github.com/pypa/hatch/issues/2426">#2426</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/b6aaa1a3cac6be652ac90c8c79612bddcca733ea"><code>b6aaa1a</code></a> release Hatchling v1.32.1 (<a href="https://redirect.github.com/pypa/hatch/issues/2425">#2425</a>)</li> <li><a href="https://github.com/pypa/hatch/commit/47f333a98228c326786d3919f346bd7b74d9cf8f"><code>47f333a</code></a> Prepare for hatch and hatchling releases (<a href="https://redirect.github.com/pypa/hatch/issues/2424">#2424</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pypa/hatch/compare/hatchling-v1.32.0...hatchling-v1.32.4">compare view</a></li> </ul> </details> <br /> <details> <summary>Most Recent Ignore Conditions Applied to This Pull Request</summary> | Dependency Name | Ignore Conditions | | --- | --- | | boto3 | [>= 1.42.dev0, < 1.43] | </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions Bot
pushed a commit
to neuro-inc/platform-registry-api
that referenced
this pull request
Sep 28, 2026
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.14.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](jpadilla/pyjwt#1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](jpadilla/pyjwt#914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="jpadilla/pyjwt@1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="jpadilla/pyjwt@9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="jpadilla/pyjwt@5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="jpadilla/pyjwt@171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="jpadilla/pyjwt@c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="jpadilla/pyjwt@2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="jpadilla/pyjwt@4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="jpadilla/pyjwt@9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="jpadilla/pyjwt@4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="jpadilla/pyjwt@f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="jpadilla/pyjwt@2.14.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> [](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) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
stephenlutar2-hash
pushed a commit
to szl-holdings/lyte-services
that referenced
this pull request
Sep 28, 2026
Bumps the pip group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [alembic](https://github.com/sqlalchemy/alembic) | `1.19.1` | `1.20.0`
|
|
[opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python)
| `1.44.0` | `1.45.0` |
|
[opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib)
| `0.65b0` | `0.66b0` |
|
[opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python)
| `1.44.0` | `1.45.0` |
| [psycopg](https://github.com/psycopg/psycopg) | `3.3.2` | `3.3.6` |
| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.13.0` | `2.15.0` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.52` |
`2.1.0` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.52.4` | `0.54.0` |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` |
`7.1.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.13.2` | `0.16.9` |
| [hatchling](https://github.com/pypa/hatch) | `1.28.0` | `1.32.4` |
Updates `alembic` from 1.19.1 to 1.20.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sqlalchemy/alembic/releases">alembic's
releases</a>.</em></p>
<blockquote>
<h1>1.20.0</h1>
<p>Released: September 11, 2026</p>
<h2>usecase</h2>
<ul>
<li>
<p><strong>[usecase] [batch]</strong> Added a warning for the case where
an unnamed CHECK constraint on a
reflected table is omitted from a batch "recreate" operation.
An unnamed
CHECK constraint can't be reliably carried over in a batch recreate
as it may refer to columns that are being dropped or changed. This
omission was previously a silent operation. The presence of any
<code>~sqlalchemy.schema.CheckConstraint</code> in
<code>Operations.batch_alter_table.table_args</code> is taken to
indicate
that the case has been accommodated, and no warning is emitted.</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/1846">#1846</a></p>
</li>
<li>
<p><strong>[usecase] [autogenerate]</strong> Autogenerate now renders a
warning comment above any rendered
<code>Operations.drop_constraint()</code> directive for which the
constraint name
is <code>None</code>, as is the case when a constraint that has no name
in the model
is dropped, most typically within the <code>downgrade()</code> function
of a
migration that adds an unnamed constraint. A warning is also emitted on
the console when the migration script is generated. The directive
requires a non-None name in order to be able to emit a "DROP
CONSTRAINT"
command.</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/916">#916</a></p>
</li>
</ul>
<h2>bug</h2>
<ul>
<li>
<p><strong>[bug] [batch]</strong> Fixed bug in batch mode where adding a
column with a type that generates
its own CHECK constraint, such as <code>~sqlalchemy.types.Boolean</code>
or
<code>~sqlalchemy.types.Enum</code> with
<code>~sqlalchemy.types.Boolean.create_constraint</code> set to
<code>True</code>,
would emit the constraint twice when the table was recreated, once under
the name generated by the naming convention in use and once under the
name given to the type. The constraint is now emitted once, using the
same name that would be used outside of batch mode.</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/1768">#1768</a></p>
</li>
<li>
<p><strong>[bug] [batch]</strong> Fixed bug in batch mode where a CHECK
constraint generated by a type such
as <code>~sqlalchemy.types.Boolean</code> or
<code>~sqlalchemy.types.Enum</code>
would lose the name established for it by the naming convention in use
when the table was recreated, as the constraint was regenerated against
the temporary table used for the recreate operation. The naming
convention is now resolved against the name of the table being
replaced.</p>
</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/sqlalchemy/alembic/commits">compare
view</a></li>
</ul>
</details>
<br />
Updates `opentelemetry-api` from 1.44.0 to 1.45.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-python/releases">opentelemetry-api's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.45.0/0.66b0</h2>
<h3>Added</h3>
<ul>
<li><code>opentelemetry-exporter-prometheus</code>: add support to
configure Resource attributes as metric labels (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122">#5122</a>)</li>
<li>infra: add renovate (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202">#5202</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
support for extended attribute values everywhere. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266">#5266</a>)</li>
<li><code>opentelemetry-sdk</code>: wire the top-level
<code>log_level</code> field in declarative configuration — when set,
maps the OTel <code>SeverityNumber</code> value to a Python logging
level and applies it to the <code>opentelemetry</code> logger so SDK
internal diagnostics respect the configured severity. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351">#5351</a>)</li>
<li><code>opentelemetry-sdk</code>: add the new stable
<code>AlwaysRecordSampler</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354">#5354</a>)</li>
<li><code>opentelemetry-configuration</code>,
<code>opentelemetry-sdk</code>: wire top-level
<code>attribute_limits</code> into per-signal providers via declarative
config; add <code>log_record_limits</code> support to
<code>LoggerProvider</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365">#5365</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-http</code>: add OTLP JSON
HTTP exporter package (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374">#5374</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
<code>enabled()</code> support to the Logger API, SDK, and
<code>LogRecordProcessor</code> to let instrumentation skip expensive
work when logging is disabled (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380">#5380</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-file</code>: add OTLP JSON
file Docker tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412">#5412</a>)</li>
<li><code>opentelemetry-configuration</code>: wire the experimental
<code>tracer_configurator/development</code>,
<code>meter_configurator/development</code> and
<code>logger_configurator/development</code> fields into
<code>create_tracer_provider</code>, <code>create_meter_provider</code>
and <code>create_logger_provider</code>, so per-instrumentation-scope
<code>enabled</code> overrides declared in the config file are applied
to the provider (previously these fields were parsed but silently
discarded). The logger
<code>minimum_severity</code>/<code>trace_based</code> fields are not
supported by the Python SDK and are ignored with a warning. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418">#5418</a>)</li>
<li><code>docs/examples</code>: add example on how to manually setup the
SDK to get SDK metrics (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449">#5449</a>)</li>
<li><code>opentelemetry-docker-tests</code>: add Prometheus exporter
docker tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457">#5457</a>)</li>
<li><code>opentelemetry-sdk</code>: count records dropped after shutdown
on <code>otel.sdk.processor.{span,log}.processed</code> with
<code>error.type=already_shutdown</code> (batch span/log and simple log
processors), which the semantic conventions define as a valid value for
this metric. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509">#5509</a>)</li>
<li><code>opentelemetry-semantic-conventions</code>: update semantic
conventions to v1.44.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511">#5511</a>)</li>
<li><code>opentelemetry-sdk</code>: add <code>host.id</code> to the host
resource detector (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653">#5653</a>)</li>
<li><code>opentelemetry-test-utils</code>: add
<code>CapturingSampler</code> to record what samplers receive in
instrumentation tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681">#5681</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Enable <code>PIE</code> (flake8-pie) ruff rule and fix all
violations (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150">#5150</a>)</li>
<li>The public <code>opentelemetry.util.types.AttributeValue</code> type
in package <code>opentelemetry-api</code> is being expanded to include
<code>None</code>, heterogeneous sequences of primitive types (and
nested sequences) as opposed to only homogeneous primitive sequences,
and Mappings of strings to any primitive types or sequences/mappings
(which themselves must only contain primitive types or
sequences/mappings validated the same way). If a <code>bytes</code> type
is set as an attribute value in the SDK, it will no longer be utf-8
decoded to a string, instead it will be passed along as is in accordance
with the OTEL spec, since <code>bytes</code> is a valid type in the OTLP
proto. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266">#5266</a>)</li>
<li><code>opentelemetry-exporter-otlp-proto-http</code>: add a
<code>max_request_size</code> argument to the OTLP HTTP exporters
(traces, logs, metrics); serialized requests larger than the limit are
dropped before sending, measured before compression. Defaults to 64 MiB
(enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369">#5369</a>)</li>
<li>[BREAKING] <code>opentelemetry-api</code>: subclasses of
<code>Logger</code> need to implement the <code>enabled</code> method
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380">#5380</a>)</li>
<li><code>opentelemetry-exporter-otlp-proto-http</code>: refactor to use
shared opentelemetry-exporter-otlp-common and
opentelemetry-exporter-http-transport packages and switch default HTTP
backend to urllib3 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389">#5389</a>)</li>
<li><code>opentelemetry-sdk</code>: unify logging force_flush timeout
defaults to 30000ms (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438">#5438</a>)</li>
<li><code>opentelemetry-python</code>: enable Ruff default ruleset and
fix auto-fixable lint issues (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491">#5491</a>)</li>
<li><code>opentelemetry-sdk</code>: <code>SimpleSpanProcessor</code> now
drops spans ended after <code>shutdown()</code> instead of passing them
to the exporter, and counts them on
<code>otel.sdk.processor.span.processed</code> with
<code>error.type=already_shutdown</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512">#5512</a>)</li>
<li>Bump pytest to 9.0.3 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518">#5518</a>)</li>
<li><code>opentelemetry-exporter-otlp-proto-http</code>: clarify that
the <code>endpoint=</code> kwarg requires the full signal path (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633">#5633</a>)</li>
<li><code>opentelemetry-sdk</code>: fix typos in SpanLimits docstring
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658">#5658</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>opentelemetry-configuration</code>: perform environment
variable substitution on scalar values after parsing the configuration
file, so <code>${VAR}</code> references inside comments and mapping keys
are no longer substituted and undefined references in comments no longer
abort loading (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407">#5407</a>)</li>
<li><code>opentelemetry-configuration</code>: declarative config
environment variable substitution now replaces an unset variable that
has no default with an empty value instead of raising an error, per the
configuration spec. Resource attributes whose value resolves to null (an
unset <code>${VAR}</code> with no default) are skipped with a warning
instead of being inserted as a null value. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408">#5408</a>)</li>
<li>'scripts/build.sh<code>: add
</code>opentelemetry-configuration<code>and</code>opentelemetry-proto-json`
to the package to release (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425">#5425</a>)</li>
<li><code>opentelemetry-sdk</code>: fix <code>View</code>
instrument-name matching so a view configured with an instrument's real
(mixed-case) name is applied; matching is now case-insensitive and
platform-independent instead of relying on <code>fnmatch</code>'s
OS-dependent case handling (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430">#5430</a>)</li>
<li><code>opentelemetry-sdk</code>: fix missing f-prefix in exponential
histogram error messages (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5434">#5434</a>)</li>
<li><code>opentelemetry-configuration</code>: resolve false-positive
warning logs for newer schema minor version (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5436">#5436</a>)</li>
<li><code>opentelemetry-sdk</code>: make methods on
<code>FixedSizeExemplarReservoirABC</code> thread safe (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5437">#5437</a>)</li>
<li><code>opentelemetry-propagator-jaeger</code>: fix typing issues and
enable pyright typechecking for the package
<code>opentelemetry-propagator-jaeger</code>: skip <code>uberctx-</code>
baggage headers with an empty value on extraction instead of raising
<code>TypeError</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5440">#5440</a>)</li>
<li><code>opentelemetry-sdk</code>: fix <code>TypeError</code> when
instantiating a <code>_BaseConfigurator</code> subclass whose
<code>__init__</code> takes arguments (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5441">#5441</a>)</li>
<li><code>opentelemetry-sdk</code>: fix <code>TypeError</code> in
<code>os.fork()</code> when a <code>BatchProcessor</code> or
<code>PeriodicExportingMetricReader</code> is garbage collected (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5453">#5453</a>)</li>
<li><code>opentelemetry-configuration</code>: a declarative config key
present with an empty (null) value on an object-typed node (e.g.
<code>always_on:</code>, a <code>- service:</code> detector, or a metric
<code>console:</code> exporter) is now treated the same as an explicit
empty config (<code>always_on: {}</code>) instead of failing type
dispatch or silently skipping the node. Both <code>dict</code>-typed
nodes and dataclasses constructible with no arguments are covered. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5454">#5454</a>)</li>
<li><code>opentelemetry-api</code>: fix copy-pasted log message in
<code>SpanContext.__delattr__</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5455">#5455</a>)</li>
<li><code>opentelemetry-sdk</code>: reject views with
<code>ExponentialBucketHistogramAggregation</code> for asynchronous
instruments instead of silently producing no data (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5461">#5461</a>)</li>
<li><code>opentelemetry-sdk</code>: fill every bucket of
<code>SimpleFixedSizeExemplarReservoir</code> before random sampling (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5462">#5462</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md">opentelemetry-api's
changelog</a>.</em></p>
<blockquote>
<h2>Version 1.45.0/0.66b0 (2026-09-25)</h2>
<h3>Added</h3>
<ul>
<li><code>opentelemetry-exporter-prometheus</code>: add support to
configure Resource
attributes as metric labels
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122">#5122</a>)</li>
<li>infra: add renovate
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202">#5202</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
support for extended attribute
values everywhere.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266">#5266</a>)</li>
<li><code>opentelemetry-sdk</code>: wire the top-level
<code>log_level</code> field in declarative
configuration — when set, maps the OTel <code>SeverityNumber</code>
value to a Python
logging level and applies it to the <code>opentelemetry</code> logger so
SDK internal
diagnostics respect the configured severity.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351">#5351</a>)</li>
<li><code>opentelemetry-sdk</code>: add the new stable
<code>AlwaysRecordSampler</code>
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354">#5354</a>)</li>
<li><code>opentelemetry-configuration</code>,
<code>opentelemetry-sdk</code>: wire top-level
<code>attribute_limits</code> into per-signal providers via declarative
config; add
<code>log_record_limits</code> support to <code>LoggerProvider</code>
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365">#5365</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-http</code>: add OTLP JSON
HTTP exporter package
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374">#5374</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
<code>enabled()</code> support to the
Logger API, SDK, and <code>LogRecordProcessor</code> to let
instrumentation skip
expensive work when logging is disabled
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380">#5380</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-file</code>: add OTLP JSON
file Docker tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412">#5412</a>)</li>
<li><code>opentelemetry-configuration</code>: wire the experimental
<code>tracer_configurator/development</code>,
<code>meter_configurator/development</code> and
<code>logger_configurator/development</code> fields into
<code>create_tracer_provider</code>,
<code>create_meter_provider</code> and
<code>create_logger_provider</code>, so
per-instrumentation-scope
<code>enabled</code> overrides declared in the config file are applied
to the provider
(previously these fields were parsed but silently discarded). The logger
<code>minimum_severity</code>/<code>trace_based</code> fields are not
supported by the Python SDK
and
are ignored with a warning.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418">#5418</a>)</li>
<li><code>docs/examples</code>: add example on how to manually setup the
SDK to get SDK
metrics
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449">#5449</a>)</li>
<li><code>opentelemetry-docker-tests</code>: add Prometheus exporter
docker tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457">#5457</a>)</li>
<li><code>opentelemetry-sdk</code>: count records dropped after shutdown
on
<code>otel.sdk.processor.{span,log}.processed</code> with
<code>error.type=already_shutdown</code>
(batch span/log and simple log processors), which the semantic
conventions</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2"><code>4f0fcfa</code></a>
Prepare release 1.45.0/0.66b0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690">#5690</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9"><code>9406f34</code></a>
opentelemetry-test-utils: add CapturingSampler for instrumentation tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681">#5681</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c"><code>1fe31a9</code></a>
fix: update W3CBaggagePropagator to properly handle whitespace (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680">#5680</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534"><code>008b5b0</code></a>
feat(config): wire top-level attribute_limits into per-signal providers
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365">#5365</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1"><code>edfad0c</code></a>
[opentelemetry-sdk] Fix overwriting of the service.instance.id which has
been...</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/f5e0f622e0ff4653bc61045400c3d1d4335f0ea0"><code>f5e0f62</code></a>
opentelemetry-sdk: unify logging force_flush timeout defaults to 30000ms
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5438">#5438</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/e4021aa3c5696dd58827352d1faa958fed92d93f"><code>e4021aa</code></a>
chore(ci): update ci (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5677">#5677</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/0c6508c3bbcb785dbcb2e2c37bb86fbb5bd5a55e"><code>0c6508c</code></a>
ci: restrict checkout credential persistence (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5589">#5589</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/2e88971399233addaab674c43920ca5945263f4b"><code>2e88971</code></a>
Add host.id to host resource attributes (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5653">#5653</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/5f851d2aefc88085df4c9c1a100787a544e18f82"><code>5f851d2</code></a>
opentelemetry-exporter-otlp-proto-grpc: fix incorrect default port for
gRPC i...</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `opentelemetry-instrumentation-fastapi` from 0.65b0 to 0.66b0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-python-contrib/releases">opentelemetry-instrumentation-fastapi's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.45.0/0.66b0</h2>
<h3>Added</h3>
<ul>
<li><code>opentelemetry-instrumentation-psycopg2</code>,
<code>opentelemetry-instrumentation-psycopg</code>: Add sqlcommenter
support for <code>instrument_connection</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4267">#4267</a>)</li>
<li><code>opentelemetry-instrumentation-fastapi</code>: Document
auto-instrumentation setup and HTTP/WebSocket trace propagation
<code>opentelemetry-instrumentation</code>: Include the instrumentation
README in API docs (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4555">#4555</a>)</li>
<li><code>opentelemetry-instrumentation-botocore</code>: capture Bedrock
prompt cache token usage for <code>converse</code> and
<code>converse_stream</code> API (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4615">#4615</a>)</li>
<li><code>opentelemetry-instrumentation-fastapi</code>: advertise inline
type annotations (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4685">#4685</a>)</li>
<li><code>opentelemetry-instrumentation-kafka-python</code>: Update
kafka python instrumentation to support kafka-python>=3 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4786">#4786</a>)</li>
<li><code>opentelemetry-instrumentation-mysql</code>: add semantic
convention stability opt-in mode tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4810">#4810</a>)</li>
<li><code>opentelemetry-instrumentation-aiopg</code>: Add DB client
operation duration and returned rows metrics. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4826">#4826</a>)</li>
<li><code>opentelemetry-instrumentation-httpx</code>: support strict
typing (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4833">#4833</a>)</li>
<li><code>opentelemetry-instrumentation-mysqlclient</code>: add semantic
convention stability opt-in mode tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4834">#4834</a>)</li>
<li><code>opentelemetry-instrumentation-pymysql</code>: add semantic
convention stability opt-in mode tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4835">#4835</a>)</li>
<li><code>opentelemetry-instrumentation-sqlite3</code>: add semantic
convention stability opt-in mode tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4836">#4836</a>)</li>
<li><code>opentelemetry-instrumentation-psycopg</code>: add semantic
convention stability opt-in mode tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4838">#4838</a>)</li>
<li>infra: add validation for changelog file format (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4856">#4856</a>)</li>
<li><code>opentelemetry-instrumentation-aio-pika</code>: bump maximum
admissible aio-pika version to 11.0.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4998">#4998</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>opentelemetry-instrumentation</code>: clarify dependency
conflict messages, in logs and in <code>DependencyConflictError</code>,
and promote auto-instrumentation version conflict logs to error level
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/5025">#5025</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>opentelemetry-instrumentation-kafka-python</code>: drop
support for the deprecated <code>kafka-python-ng</code> fork now that
<code>kafka-python</code> is actively maintained again (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4839">#4839</a>)</li>
<li><code>opentelemetry-instrumentation-kafka-python</code>: remove
unused <code>KafkaPropertiesExtractor.extract_send_key</code> and
<code>KafkaPropertiesExtractor.extract_send_value</code> helpers (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4858">#4858</a>)</li>
<li><code>opentelemetry-instrumentation-anthropic</code>,
<code>opentelemetry-instrumentation-claude-agent-sdk</code>,
<code>opentelemetry-instrumentation-langchain</code>,
<code>opentelemetry-instrumentation-weaviate</code>: removed from this
repository; these instrumentations now live in and are maintained from
the <a
href="https://github.com/open-telemetry/opentelemetry-python-genai">opentelemetry-python-genai</a>
repository (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4903">#4903</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>opentelemetry-instrumentation-aws-lambda</code>: support ALB
multiValueHeaders (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4605">#4605</a>)</li>
<li><code>opentelemetry-instrumentation-redis</code>: extract
<code>ClusterPipeline</code> commands from
<code>_execution_strategy</code> in redis-py 6+ so pipeline span
attributes include the queued commands instead of being empty (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4728">#4728</a>)</li>
<li><code>opentelemetry-instrumentation-aiopg</code>: fix connection
metadata for manual instrumentation (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4821">#4821</a>)</li>
<li><code>opentelemetry-instrumentation-redis</code>: treat explicit
<code>db=None</code> as database index 0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4828">#4828</a>)</li>
<li><code>opentelemetry-instrumentation-aws-lambda</code>: use the
correct camel case when accessing the SQS message attributes (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4831">#4831</a>)</li>
<li><code>opentelemetry-instrumentation-botocore</code>: Restore PyPy
test coverage. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4841">#4841</a>)</li>
<li><code>opentelemetry-instrumentation-botocore</code>: don't emit
error status on 3xx ClientError responses (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4851">#4851</a>)</li>
<li><code>opentelemetry-instrumentation-kafka-python</code>: record the
actual <code>messaging.kafka.partition</code> read back from the
producer <code>send()</code> future, instead of a pre-computed estimate
that did not match the delivered partition for randomly-partitioned
messages (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4858">#4858</a>)</li>
<li><code>opentelemetry-instrumentation-logging</code>: Promote
otel.event.name to LogRecord.event_name in _translate (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4864">#4864</a>)</li>
<li><code>opentelemetry-instrumentation-grpc</code>: respect suppressed
instrumentation in server interceptors (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4870">#4870</a>)</li>
<li><code>opentelemetry-instrumentation-logging</code>: Import
code_attributes from stable semconv package (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4873">#4873</a>)</li>
<li><code>opentelemetry-instrumentation-asyncio</code>: fix
<code>to_thread</code> instrumentation so spans and duration metrics
measure the actual function execution instead of ending immediately,
repeated calls of the same function are all recorded instead of only the
first one, and failures are recorded with the same <code>state</code>
values (<code>exception</code>, <code>timeout</code>,
<code>cancelled</code>) as the coroutine and future paths; the
<code>AsyncioInstrumentor.trace_to_thread</code> method is renamed to
<code>AsyncioInstrumentor.wrap_to_thread_func</code> to reflect that it
now returns a wrapper (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4901">#4901</a>)</li>
<li><code>opentelemetry-instrumentation-logging</code>: fix documented
name of the code attributes env var to
<code>OTEL_PYTHON_LOG_CODE_ATTRIBUTES</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4912">#4912</a>)</li>
<li><code>opentelemetry-instrumentation-psycopg</code>: avoid
<code>IndexError</code> in <code>get_operation_name</code> for
comment-only or whitespace-only Composed statements (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4936">#4936</a>)</li>
<li><code>opentelemetry-instrumentation-psycopg2</code>: avoid
<code>IndexError</code> in <code>get_operation_name</code> for
comment-only or whitespace-only statements (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4942">#4942</a>)</li>
<li><code>opentelemetry-instrumentation-sqlalchemy</code>: avoid
<code>IndexError</code> in <code>_operation_name</code> for comment-only
or whitespace-only statements (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4943">#4943</a>)</li>
<li><code>opentelemetry-instrumentation-mysql</code>: support
mysql-connector-python 26.7.0 and later (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4951">#4951</a>)</li>
<li><code>opentelemetry-util-http</code>: stop
<code>_parse_url_query</code> raising on unparsable urls (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4965">#4965</a>)</li>
<li><code>opentelemetry-instrumentation-asyncio</code>: fix metric name
and future example in module docs (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/5083">#5083</a>)</li>
<li><code>opentelemetry-instrumentation-pymemcache</code>: honor
instrumentation suppression (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/5086">#5086</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md">opentelemetry-instrumentation-fastapi's
changelog</a>.</em></p>
<blockquote>
<h2>Version 1.45.0/0.66b0 (2026-09-25)</h2>
<h3>Added</h3>
<ul>
<li><code>opentelemetry-instrumentation-psycopg2</code>,
<code>opentelemetry-instrumentation-psycopg</code>: Add sqlcommenter
support for
<code>instrument_connection</code>
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4267">#4267</a>)</li>
<li><code>opentelemetry-instrumentation-fastapi</code>: Document
auto-instrumentation setup
and HTTP/WebSocket trace propagation
<code>opentelemetry-instrumentation</code>: Include the instrumentation
README in API
docs
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4555">#4555</a>)</li>
<li><code>opentelemetry-instrumentation-botocore</code>: capture Bedrock
prompt cache token
usage for <code>converse</code> and <code>converse_stream</code> API
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4615">#4615</a>)</li>
<li><code>opentelemetry-instrumentation-fastapi</code>: advertise inline
type annotations
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4685">#4685</a>)</li>
<li><code>opentelemetry-instrumentation-kafka-python</code>: Update
kafka python
instrumentation to support kafka-python>=3
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4786">#4786</a>)</li>
<li><code>opentelemetry-instrumentation-mysql</code>: add semantic
convention stability
opt-in mode tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4810">#4810</a>)</li>
<li><code>opentelemetry-instrumentation-aiopg</code>: Add DB client
operation duration and
returned rows metrics.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4826">#4826</a>)</li>
<li><code>opentelemetry-instrumentation-httpx</code>: support strict
typing
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4833">#4833</a>)</li>
<li><code>opentelemetry-instrumentation-mysqlclient</code>: add semantic
convention
stability opt-in mode tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4834">#4834</a>)</li>
<li><code>opentelemetry-instrumentation-pymysql</code>: add semantic
convention stability
opt-in mode tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4835">#4835</a>)</li>
<li><code>opentelemetry-instrumentation-sqlite3</code>: add semantic
convention stability
opt-in mode tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4836">#4836</a>)</li>
<li><code>opentelemetry-instrumentation-psycopg</code>: add semantic
convention stability
opt-in mode tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4838">#4838</a>)</li>
<li>infra: add validation for changelog file format
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4856">#4856</a>)</li>
<li><code>opentelemetry-instrumentation-aio-pika</code>: bump maximum
admissible aio-pika
version to 11.0.0
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4998">#4998</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>opentelemetry-instrumentation</code>: clarify dependency
conflict messages, in</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/open-telemetry/opentelemetry-python-contrib/commits">compare
view</a></li>
</ul>
</details>
<br />
Updates `opentelemetry-sdk` from 1.44.0 to 1.45.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-python/releases">opentelemetry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.45.0/0.66b0</h2>
<h3>Added</h3>
<ul>
<li><code>opentelemetry-exporter-prometheus</code>: add support to
configure Resource attributes as metric labels (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122">#5122</a>)</li>
<li>infra: add renovate (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202">#5202</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
support for extended attribute values everywhere. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266">#5266</a>)</li>
<li><code>opentelemetry-sdk</code>: wire the top-level
<code>log_level</code> field in declarative configuration — when set,
maps the OTel <code>SeverityNumber</code> value to a Python logging
level and applies it to the <code>opentelemetry</code> logger so SDK
internal diagnostics respect the configured severity. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351">#5351</a>)</li>
<li><code>opentelemetry-sdk</code>: add the new stable
<code>AlwaysRecordSampler</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354">#5354</a>)</li>
<li><code>opentelemetry-configuration</code>,
<code>opentelemetry-sdk</code>: wire top-level
<code>attribute_limits</code> into per-signal providers via declarative
config; add <code>log_record_limits</code> support to
<code>LoggerProvider</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365">#5365</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-http</code>: add OTLP JSON
HTTP exporter package (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374">#5374</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
<code>enabled()</code> support to the Logger API, SDK, and
<code>LogRecordProcessor</code> to let instrumentation skip expensive
work when logging is disabled (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380">#5380</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-file</code>: add OTLP JSON
file Docker tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412">#5412</a>)</li>
<li><code>opentelemetry-configuration</code>: wire the experimental
<code>tracer_configurator/development</code>,
<code>meter_configurator/development</code> and
<code>logger_configurator/development</code> fields into
<code>create_tracer_provider</code>, <code>create_meter_provider</code>
and <code>create_logger_provider</code>, so per-instrumentation-scope
<code>enabled</code> overrides declared in the config file are applied
to the provider (previously these fields were parsed but silently
discarded). The logger
<code>minimum_severity</code>/<code>trace_based</code> fields are not
supported by the Python SDK and are ignored with a warning. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418">#5418</a>)</li>
<li><code>docs/examples</code>: add example on how to manually setup the
SDK to get SDK metrics (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449">#5449</a>)</li>
<li><code>opentelemetry-docker-tests</code>: add Prometheus exporter
docker tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457">#5457</a>)</li>
<li><code>opentelemetry-sdk</code>: count records dropped after shutdown
on <code>otel.sdk.processor.{span,log}.processed</code> with
<code>error.type=already_shutdown</code> (batch span/log and simple log
processors), which the semantic conventions define as a valid value for
this metric. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509">#5509</a>)</li>
<li><code>opentelemetry-semantic-conventions</code>: update semantic
conventions to v1.44.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511">#5511</a>)</li>
<li><code>opentelemetry-sdk</code>: add <code>host.id</code> to the host
resource detector (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653">#5653</a>)</li>
<li><code>opentelemetry-test-utils</code>: add
<code>CapturingSampler</code> to record what samplers receive in
instrumentation tests (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681">#5681</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Enable <code>PIE</code> (flake8-pie) ruff rule and fix all
violations (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150">#5150</a>)</li>
<li>The public <code>opentelemetry.util.types.AttributeValue</code> type
in package <code>opentelemetry-api</code> is being expanded to include
<code>None</code>, heterogeneous sequences of primitive types (and
nested sequences) as opposed to only homogeneous primitive sequences,
and Mappings of strings to any primitive types or sequences/mappings
(which themselves must only contain primitive types or
sequences/mappings validated the same way). If a <code>bytes</code> type
is set as an attribute value in the SDK, it will no longer be utf-8
decoded to a string, instead it will be passed along as is in accordance
with the OTEL spec, since <code>bytes</code> is a valid type in the OTLP
proto. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266">#5266</a>)</li>
<li><code>opentelemetry-exporter-otlp-proto-http</code>: add a
<code>max_request_size</code> argument to the OTLP HTTP exporters
(traces, logs, metrics); serialized requests larger than the limit are
dropped before sending, measured before compression. Defaults to 64 MiB
(enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369">#5369</a>)</li>
<li>[BREAKING] <code>opentelemetry-api</code>: subclasses of
<code>Logger</code> need to implement the <code>enabled</code> method
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380">#5380</a>)</li>
<li><code>opentelemetry-exporter-otlp-proto-http</code>: refactor to use
shared opentelemetry-exporter-otlp-common and
opentelemetry-exporter-http-transport packages and switch default HTTP
backend to urllib3 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389">#5389</a>)</li>
<li><code>opentelemetry-sdk</code>: unify logging force_flush timeout
defaults to 30000ms (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438">#5438</a>)</li>
<li><code>opentelemetry-python</code>: enable Ruff default ruleset and
fix auto-fixable lint issues (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491">#5491</a>)</li>
<li><code>opentelemetry-sdk</code>: <code>SimpleSpanProcessor</code> now
drops spans ended after <code>shutdown()</code> instead of passing them
to the exporter, and counts them on
<code>otel.sdk.processor.span.processed</code> with
<code>error.type=already_shutdown</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512">#5512</a>)</li>
<li>Bump pytest to 9.0.3 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518">#5518</a>)</li>
<li><code>opentelemetry-exporter-otlp-proto-http</code>: clarify that
the <code>endpoint=</code> kwarg requires the full signal path (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633">#5633</a>)</li>
<li><code>opentelemetry-sdk</code>: fix typos in SpanLimits docstring
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658">#5658</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>opentelemetry-configuration</code>: perform environment
variable substitution on scalar values after parsing the configuration
file, so <code>${VAR}</code> references inside comments and mapping keys
are no longer substituted and undefined references in comments no longer
abort loading (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407">#5407</a>)</li>
<li><code>opentelemetry-configuration</code>: declarative config
environment variable substitution now replaces an unset variable that
has no default with an empty value instead of raising an error, per the
configuration spec. Resource attributes whose value resolves to null (an
unset <code>${VAR}</code> with no default) are skipped with a warning
instead of being inserted as a null value. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408">#5408</a>)</li>
<li>'scripts/build.sh<code>: add
</code>opentelemetry-configuration<code>and</code>opentelemetry-proto-json`
to the package to release (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425">#5425</a>)</li>
<li><code>opentelemetry-sdk</code>: fix <code>View</code>
instrument-name matching so a view configured with an instrument's real
(mixed-case) name is applied; matching is now case-insensitive and
platform-independent instead of relying on <code>fnmatch</code>'s
OS-dependent case handling (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430">#5430</a>)</li>
<li><code>opentelemetry-sdk</code>: fix missing f-prefix in exponential
histogram error messages (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5434">#5434</a>)</li>
<li><code>opentelemetry-configuration</code>: resolve false-positive
warning logs for newer schema minor version (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5436">#5436</a>)</li>
<li><code>opentelemetry-sdk</code>: make methods on
<code>FixedSizeExemplarReservoirABC</code> thread safe (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5437">#5437</a>)</li>
<li><code>opentelemetry-propagator-jaeger</code>: fix typing issues and
enable pyright typechecking for the package
<code>opentelemetry-propagator-jaeger</code>: skip <code>uberctx-</code>
baggage headers with an empty value on extraction instead of raising
<code>TypeError</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5440">#5440</a>)</li>
<li><code>opentelemetry-sdk</code>: fix <code>TypeError</code> when
instantiating a <code>_BaseConfigurator</code> subclass whose
<code>__init__</code> takes arguments (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5441">#5441</a>)</li>
<li><code>opentelemetry-sdk</code>: fix <code>TypeError</code> in
<code>os.fork()</code> when a <code>BatchProcessor</code> or
<code>PeriodicExportingMetricReader</code> is garbage collected (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5453">#5453</a>)</li>
<li><code>opentelemetry-configuration</code>: a declarative config key
present with an empty (null) value on an object-typed node (e.g.
<code>always_on:</code>, a <code>- service:</code> detector, or a metric
<code>console:</code> exporter) is now treated the same as an explicit
empty config (<code>always_on: {}</code>) instead of failing type
dispatch or silently skipping the node. Both <code>dict</code>-typed
nodes and dataclasses constructible with no arguments are covered. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5454">#5454</a>)</li>
<li><code>opentelemetry-api</code>: fix copy-pasted log message in
<code>SpanContext.__delattr__</code> (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5455">#5455</a>)</li>
<li><code>opentelemetry-sdk</code>: reject views with
<code>ExponentialBucketHistogramAggregation</code> for asynchronous
instruments instead of silently producing no data (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5461">#5461</a>)</li>
<li><code>opentelemetry-sdk</code>: fill every bucket of
<code>SimpleFixedSizeExemplarReservoir</code> before random sampling (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5462">#5462</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md">opentelemetry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>Version 1.45.0/0.66b0 (2026-09-25)</h2>
<h3>Added</h3>
<ul>
<li><code>opentelemetry-exporter-prometheus</code>: add support to
configure Resource
attributes as metric labels
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122">#5122</a>)</li>
<li>infra: add renovate
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202">#5202</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
support for extended attribute
values everywhere.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266">#5266</a>)</li>
<li><code>opentelemetry-sdk</code>: wire the top-level
<code>log_level</code> field in declarative
configuration — when set, maps the OTel <code>SeverityNumber</code>
value to a Python
logging level and applies it to the <code>opentelemetry</code> logger so
SDK internal
diagnostics respect the configured severity.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351">#5351</a>)</li>
<li><code>opentelemetry-sdk</code>: add the new stable
<code>AlwaysRecordSampler</code>
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354">#5354</a>)</li>
<li><code>opentelemetry-configuration</code>,
<code>opentelemetry-sdk</code>: wire top-level
<code>attribute_limits</code> into per-signal providers via declarative
config; add
<code>log_record_limits</code> support to <code>LoggerProvider</code>
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365">#5365</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-http</code>: add OTLP JSON
HTTP exporter package
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374">#5374</a>)</li>
<li><code>opentelemetry-api</code>, <code>opentelemetry-sdk</code>: add
<code>enabled()</code> support to the
Logger API, SDK, and <code>LogRecordProcessor</code> to let
instrumentation skip
expensive work when logging is disabled
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380">#5380</a>)</li>
<li><code>opentelemetry-exporter-otlp-json-file</code>: add OTLP JSON
file Docker tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412">#5412</a>)</li>
<li><code>opentelemetry-configuration</code>: wire the experimental
<code>tracer_configurator/development</code>,
<code>meter_configurator/development</code> and
<code>logger_configurator/development</code> fields into
<code>create_tracer_provider</code>,
<code>create_meter_provider</code> and
<code>create_logger_provider</code>, so
per-instrumentation-scope
<code>enabled</code> overrides declared in the config file are applied
to the provider
(previously these fields were parsed but silently discarded). The logger
<code>minimum_severity</code>/<code>trace_based</code> fields are not
supported by the Python SDK
and
are ignored with a warning.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418">#5418</a>)</li>
<li><code>docs/examples</code>: add example on how to manually setup the
SDK to get SDK
metrics
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449">#5449</a>)</li>
<li><code>opentelemetry-docker-tests</code>: add Prometheus exporter
docker tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457">#5457</a>)</li>
<li><code>opentelemetry-sdk</code>: count records dropped after shutdown
on
<code>otel.sdk.processor.{span,log}.processed</code> with
<code>error.type=already_shutdown</code>
(batch span/log and simple log processors), which the semantic
conventions</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2"><code>4f0fcfa</code></a>
Prepare release 1.45.0/0.66b0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690">#5690</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9"><code>9406f34</code></a>
opentelemetry-test-utils: add CapturingSampler for instrumentation tests
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681">#5681</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c"><code>1fe31a9</code></a>
fix: update W3CBaggagePropagator to properly handle whitespace (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680">#5680</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534"><code>008b5b0</code></a>
feat(config): wire top-level attribute_limits into per-signal providers
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365">#5365</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1"><code>edfad0c</code></a>
[opentelemetry-sdk] Fix overwriting of the service.instance.id which has
been...</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/f5e0f622e0ff4653bc61045400c3d1d4335f0ea0"><code>f5e0f62</code></a>
opentelemetry-sdk: unify logging force_flush timeout defaults to 30000ms
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5438">#5438</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/e4021aa3c5696dd58827352d1faa958fed92d93f"><code>e4021aa</code></a>
chore(ci): update ci (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5677">#5677</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/0c6508c3bbcb785dbcb2e2c37bb86fbb5bd5a55e"><code>0c6508c</code></a>
ci: restrict checkout credential persistence (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5589">#5589</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/2e88971399233addaab674c43920ca5945263f4b"><code>2e88971</code></a>
Add host.id to host resource attributes (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5653">#5653</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-python/commit/5f851d2aefc88085df4c9c1a100787a544e18f82"><code>5f851d2</code></a>
opentelemetry-exporter-otlp-proto-grpc: fix incorrect default port for
gRPC i...</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `psycopg` from 3.3.2 to 3.3.6
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg/blob/master/docs/news.rst">psycopg's
changelog</a>.</em></p>
<blockquote>
<p>.. currentmodule:: psycopg</p>
<p>.. index::
single: Release notes
single: News</p>
<h1><code>psycopg</code> release notes</h1>
<h2>Current release</h2>
<p>Psycopg 3.3.6
^^^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15
(:ticket:<code>[#1245](https://github.com/psycopg/psycopg/issues/1245)</code>).</li>
<li>Don't wait forever for a query to terminate after interrupting it,
for
instance if the server is unresponsive. The fix requires libpq 17 or
newer
(:ticket:<code>[#1371](https://github.com/psycopg/psycopg/issues/1371)</code>).</li>
<li>Cancel a running query upon receiving <code>!SystemExit</code>
(:ticket:<code>[#1384](https://github.com/psycopg/psycopg/issues/1384)</code>).</li>
<li>Report <code>!None</code> instead of <code>65535</code> as the
<code>Column.precision</code> of an
:sql:<code>interval</code> column declared with a fields restriction and
no explicit
precision, such as e.g. :sql:<code>interval day to second</code>
(:ticket:<code>[#1397](https://github.com/psycopg/psycopg/issues/1397)</code>).</li>
<li>Fix dumping of nested subclasses of lists as arrays
(:ticket:<code>[#1398](https://github.com/psycopg/psycopg/issues/1398)</code>).</li>
<li>Discard prepared statements upon :sql:<code>DEALLOCATE ALL</code>
(:ticket:<code>[#1408](https://github.com/psycopg/psycopg/issues/1408)</code>).</li>
<li>Better guards dumping large Python <code>!int</code> to binary
numeric
(:ticket:<code>[#1414](https://github.com/psycopg/psycopg/issues/1414)</code>).</li>
<li>Improve performance of async queries by reducing the overhead of the
<code>!wait_async()</code> function
(:ticket:<code>[#1331](https://github.com/psycopg/psycopg/issues/1331)</code>).</li>
</ul>
<p>Psycopg 3.3.5
^^^^^^^^^^^^^</p>
<ul>
<li>Discard prepared statements upon :sql:<code>ALTER *</code> or
<code>DISCARD *</code>
(:ticket:<code>[#1307](https://github.com/psycopg/psycopg/issues/1307)</code>).</li>
<li>Fix <code>!ProgrammingError</code> when dumping
non-<code>!None</code> values with
no <code>!NoneType</code> dumper registered in python implementation
(:ticket:<code>[#1325](https://github.com/psycopg/psycopg/issues/1325)</code>).</li>
<li>Fix <code>!wait_selector</code> wait function to not raise
<code>!KeyError</code>
(:ticket:<code>[#1327](https://github.com/psycopg/psycopg/issues/1327)</code>).</li>
<li>Fix <code>!DataError</code> messages leaking the literal
<code>{...}</code> placeholder instead
of the offending value when loading a pre-year-1
:sql:<code>timestamp</code> or a
malformed binary :sql:<code>jsonb</code> value
(:ticket:<code>[#1372](https://github.com/psycopg/psycopg/issues/1372)</code>).</li>
<li>Raise <code>!DataError</code> instead of <code>!ValueError</code>
when <code>~psycopg.rows.namedtuple_row</code>
receives duplicate column names
(:ticket:<code>[#1348](https://github.com/psycopg/psycopg/issues/1348)</code>).</li>
<li>Raise <code>!DataError</code> on inconsistent copy data
(:tickets:<code>[#1359](https://github.com/psycopg/psycopg/issues/1359),
[#1360](https://github.com/psycopg/psycopg/issues/1360)</code>).</li>
<li>Handle client encodings aliases
(:ticket:<code>[#1363](https://github.com/psycopg/psycopg/issues/1363)</code>).</li>
<li>Fix building C extension with Cython 3.3.</li>
</ul>
<p>Psycopg 3.3.4</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psycopg/psycopg/commit/a67654d1e7afbf9b3a619557838f62de1c790e7c"><code>a67654d</code></a>
chore: bump psycopg package version to 3.3.6</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/443814b3b111ac678a39fd523c1a826266fb69b5"><code>443814b</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg/issues/1416">#1416</a>
from dvarrazzo/wait-async-perf</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/42966e9ebbda3b9c69b15c5588543c15f2aae5dd"><code>42966e9</code></a>
test: add helpful comments to some tests</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/5e8797f0c8003d8cd12a1e5c13f05fbb94c1c1d2"><code>5e8797f</code></a>
test: add reasonable connect_timeout to most tests</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/c81ba62442dfbd69e207d6914e6ae2aa27e56886"><code>c81ba62</code></a>
perf: reduce the overhead of wait_async()</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/d2bbfe4e2b1e36a20e72a18097f35a3db27296e3"><code>d2bbfe4</code></a>
refactor: use get_running_loop() in the async wait functions</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/2b1484a550e01c88fda077099678f0abb9217ecb"><code>2b1484a</code></a>
test: add a script to measure the async wait functions</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/573cf4aa70d8fdefc9d5f3eb69d5419cd6d3cd51"><code>573cf4a</code></a>
test: fix incorrect wait timing test</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/2b68990874175b8d97269218d4963b2d5c8656f3"><code>2b68990</code></a>
refactor: drop leftovers of waiting with inf interval in
wait_conn_async</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/60765dd8fc7d8df03cd75efcff485bfb3c83a0ed"><code>60765dd</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg/issues/1414">#1414</a>
from dvarrazzo/fix-decimal-overflow</li>
<li>Additional commits viewable in <a
href="https://github.com/psycopg/psycopg/compare/3.3.2...3.3.6">compare
view</a></li>
</ul>
</details>
<br />
Updates `pyjwt` from 2.13.0 to 2.15.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.15.0</h2>
<p>See the <a
href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0
changelog</a> for complete release details.</p>
<h2>2.14.0</h2>
<p>See the <a
href="https://github.com/jpadilla/pyjwt/blob/2.14.0/CHANGELOG.rst">2.14.0
changelog</a> for the complete release details and related security
advisories.</p>
</blockquote>
</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.15.0
<https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2>
<p>Security</p>
<pre><code>
- Wrap recursion errors from deeply nested JWT payloads in
``DecodeError``
instead of exposing a raw ``RecursionError``.
<p>Added</p>
<pre><code>
- Support Python 3.15 by @kytta in
`[#1202](https://github.com/jpadilla/pyjwt/issues/1202)
&lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__
Changed
</code></pre>
<ul>
<li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code>
rather than the raw JWKS
payload, so a cache hit no longer re-parses every key.
<code>JWKSetCache.put()</code>
accepts either form and raises <code>PyJWKSetError</code> for anything
else. As a
result, <code>PyJWKClient.get_jwk_set()</code> returns the same
<code>PyJWKSet</code> instance
for as long as it stays cached, rather than a freshly built one per call
in
<code>[#1208](https://github.com/jpadilla/pyjwt/issues/1208)
&lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li>
<li><code>PyJWKClient.fetch_data()</code> now raises
<code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON
object&quot;)</code> when
the endpoint response is not a JSON object, instead of returning it for
<code>get_jwk_set()</code> to reject. Callers reaching the JWKS through
<code>get_jwk_set()</code> see the same error as before in
<code>[#1208](https://github.com/jpadilla/pyjwt/issues/1208)
&lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li>
</ul>
<p>Fixed</p>
<pre><code>
- Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()``
instead
of raising ``PyJWKClientError(&q…
joshuawendorf21310
added a commit
to FusionEMS-Quantum-LLC/Adaptix-Contracts
that referenced
this pull request
Sep 29, 2026
Bumps the patch-and-minor group with 5 updates: | Package | From | To | | --- | --- | --- | | [pyjwt](https://github.com/jpadilla/pyjwt) | `2.14.0` | `2.15.0` | | [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.54` | `2.1.1` | | [ruff](https://github.com/astral-sh/ruff) | `0.16.8` | `0.16.9` | | [boto3](https://github.com/boto/boto3) | `1.43.98` | `1.43.102` | | [botocore](https://github.com/boto/botocore) | `1.43.98` | `1.43.103` | Updates `pyjwt` from 2.14.0 to 2.15.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.15.0</h2> <p>See the <a href="https://github.com/jpadilla/pyjwt/blob/2.15.0/CHANGELOG.rst">2.15.0 changelog</a> for complete release details.</p> </blockquote> </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.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0></code>__</h2> <p>Security</p> <pre><code> - Wrap recursion errors from deeply nested JWT payloads in ``DecodeError`` instead of exposing a raw ``RecursionError``. <p>Added</p> <pre><code> - Support Python 3.15 by @kytta in `[#1202](jpadilla/pyjwt#1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__ Changed </code></pre> <ul> <li><code>JWKSetCache</code> now stores the parsed <code>PyJWKSet</code> rather than the raw JWKS payload, so a cache hit no longer re-parses every key. <code>JWKSetCache.put()</code> accepts either form and raises <code>PyJWKSetError</code> for anything else. As a result, <code>PyJWKClient.get_jwk_set()</code> returns the same <code>PyJWKSet</code> instance for as long as it stays cached, rather than a freshly built one per call in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> <li><code>PyJWKClient.fetch_data()</code> now raises <code>PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)</code> when the endpoint response is not a JSON object, instead of returning it for <code>get_jwk_set()</code> to reject. Callers reaching the JWKS through <code>get_jwk_set()</code> see the same error as before in <code>[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;</code>__</li> </ul> <p>Fixed</p> <pre><code> - Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value, so callers pre-populating the cache to avoid a network round-trip could not read it back in `[#914](jpadilla/pyjwt#914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a ``fetch_data()`` override that filters or transforms the JWKS is no longer undone by the next cache hit in `[#1208](jpadilla/pyjwt#1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__ - Raise the documented ``PyJWTError`` subclass instead of leaking a ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a non-numeric, non-string value such as a list, dict, or ``null``. - Reject OKP JWK private keys when their public ``x`` component does not match the private ``d`` component. - Treat malformed JWK Set members as unusable keys rather than letting ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not &lt;/tr&gt;&lt;/table&gt; </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="jpadilla/pyjwt@1d41a6478e1562e68ff667fcd703356acf085f68"><code>1d41a64</code></a> chore: prepare 2.15.0 release</li> <li><a href="jpadilla/pyjwt@9bc06658f875b9b40091539140bbbdc4639161c3"><code>9bc0665</code></a> fix: make recursive payload tests deterministic</li> <li><a href="jpadilla/pyjwt@5fde08a6cf906aa7698de2d6391d88b73006b17b"><code>5fde08a</code></a> fix: normalize recursive JWT payload errors</li> <li><a href="jpadilla/pyjwt@171062d2d734315272a901100aa4b109f2fc3c19"><code>171062d</code></a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173">#1173</a>)</li> <li><a href="jpadilla/pyjwt@c9d4d5375bf464ef363506fed9eb6e7f33217ab6"><code>c9d4d53</code></a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174">#1174</a>)</li> <li><a href="jpadilla/pyjwt@2763752196113e1473b0ed7905aa6034aedfbe53"><code>2763752</code></a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202">#1202</a>)</li> <li><a href="jpadilla/pyjwt@4adcd02722f5011c60079d3978dfc167b9a8eaa5"><code>4adcd02</code></a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201">#1201</a>)</li> <li><a href="jpadilla/pyjwt@9e501d993b4d3e7dba14bdb1722b1d993ac75097"><code>9e501d9</code></a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179">#1179</a>)</li> <li><a href="jpadilla/pyjwt@4047c44d51950ffda15f40054508d3f17c43b1e2"><code>4047c44</code></a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212">#1212</a>)</li> <li><a href="jpadilla/pyjwt@f4e2b59f543cc82d46d9d69922bba59e804216b9"><code>f4e2b59</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210">#1210</a>)</li> <li>Additional commits viewable in <a href="jpadilla/pyjwt@2.14.0...2.15.0">compare view</a></li> </ul> </details> <br /></code></pre> Updates `sqlalchemy` from 2.0.54 to 2.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sqlalchemy/sqlalchemy/releases">sqlalchemy's releases</a>.</em></p> <blockquote> <h1>2.1.1</h1> <p>Released: September 25, 2026</p> <h2>platform</h2> <ul> <li> <p><strong>[platform] [bug]</strong> Removed the legacy underscore-separated extra names such as <code>mssql_pymssql</code> and <code>postgresql_psycopg</code> from <code>pyproject.toml</code>. They normalize to the same names as the existing dash-separated extras, which is disallowed by <a href="https://peps.python.org/pep-0685">PEP 685</a>, and caused the 2.1.0 source distribution to fail to build with installers that enforce this rule, such as uv. The underscore spellings continue to work when installing, as installers normalize extra names before matching them.</p> <p>References: <a href="https://www.sqlalchemy.org/trac/ticket/13604">#13604</a></p> </li> </ul> <h1>2.1.0</h1> <p>Released: September 24, 2026</p> <h2>orm</h2> <ul> <li> <p><strong>[orm] [feature]</strong> Added <code>_orm.composite.column_template</code> parameter to <code>_orm.composite()</code>. When the composite class is a dataclass, this parameter accepts a string template such as <code>"person_%s"</code>, containing exactly one <code>%s</code> placeholder, that's used to generate column names for dataclass fields that don't otherwise have an explicit name, rather than using the bare field name. This removes the need to hand-write a <code>_orm.mapped_column()</code> for each field when the same composite dataclass is mapped multiple times on the same class with different column-name prefixes. Pull request courtesy Leonardo Rosa.</p> <p>References: <a href="https://www.sqlalchemy.org/trac/ticket/12575">#12575</a></p> </li> <li> <p><strong>[orm] [bug]</strong> Fixed issue where pickling an ORM object that had an instance level lazy loader established, such as when the <code>_orm.raiseload()</code> option is used, would emit a spurious warning regarding the loader containing additional criteria, if the object had itself been unpickled from a previous serialization. This would occur for objects that cross more than one serialization boundary, such as when using multiprocessing.</p> <p>This change is also <strong>backported</strong> to: 2.0.53</p> <p>References: <a href="https://www.sqlalchemy.org/trac/ticket/13574">#13574</a></p> </li> <li> <p><strong>[orm] [bug]</strong> Fixed issue where calling <code>_orm.aliased()</code> against an existing <code>_orm.aliased()</code> construct, without passing an explicit selectable, would disregard the selectable of the existing construct and produce an</p> </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/sqlalchemy/sqlalchemy/commits">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.16.8 to 0.16.9 <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.16.9</h2> <h2>Release Notes</h2> <p>Released on 2026-09-24.</p> <h3>Preview features</h3> <ul> <li>[<code>ruff</code>] Avoid false positives for overloaded division (<code>RUF069</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28309">#28309</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>flake8-bugbear</code>] Avoid false positives for calls with keyword arguments (<code>B009</code>, <code>B010</code>, <code>B043</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28776">#28776</a>)</li> <li>[<code>flake8-tidy-imports</code>] Allow lazy imports to be used in deferred annotations (<code>TID255</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28767">#28767</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Update LibCST-based fixes for Python 3.15 (<a href="https://redirect.github.com/astral-sh/ruff/pull/28616">#28616</a>)</li> <li>[<code>flake8-pyi</code>] Mention stubs in the diagnostic message (<code>PYI002</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28542">#28542</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Fix horizontal overflow on the rules documentation page (<a href="https://redirect.github.com/astral-sh/ruff/pull/28699">#28699</a>)</li> <li>Update rules table with category information (<a href="https://redirect.github.com/astral-sh/ruff/pull/28651">#28651</a>)</li> <li>[<code>flake8-annotations</code>] Clarify that <code>ANN401</code> checks return types in addition to arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/28334">#28334</a>)</li> <li>[<code>flake8-bugbear</code>] Document type-checker interaction (<code>B010</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28509">#28509</a>)</li> <li>[<code>flake8-comprehensions</code>] Document <code>map</code>/generator exception behavior (<code>C417</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27794">#27794</a>)</li> <li>[<code>ruff</code>] Mention related isort settings (<code>RUF022</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28719">#28719</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/qinpei-dev"><code>@qinpei-dev</code></a></li> <li><a href="https://github.com/sanjayrohith"><code>@sanjayrohith</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/webdevsamran"><code>@webdevsamran</code></a></li> <li><a href="https://github.com/zaniebot"><code>@zaniebot</code></a></li> <li><a href="https://github.com/ewdurbin"><code>@ewdurbin</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/spaceone"><code>@spaceone</code></a></li> <li><a href="https://github.com/IbrahimKhan12"><code>@IbrahimKhan12</code></a></li> <li><a href="https://github.com/devtechedge"><code>@devtechedge</code></a></li> <li><a href="https://github.com/GruffElixir"><code>@GruffElixir</code></a></li> </ul> <h2>Install ruff 0.16.9</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.9/ruff-installer.sh | sh </code></pre> <!-- 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.16.9</h2> <p>Released on 2026-09-24.</p> <h3>Preview features</h3> <ul> <li>[<code>ruff</code>] Avoid false positives for overloaded division (<code>RUF069</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28309">#28309</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>flake8-bugbear</code>] Avoid false positives for calls with keyword arguments (<code>B009</code>, <code>B010</code>, <code>B043</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28776">#28776</a>)</li> <li>[<code>flake8-tidy-imports</code>] Allow lazy imports to be used in deferred annotations (<code>TID255</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28767">#28767</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Update LibCST-based fixes for Python 3.15 (<a href="https://redirect.github.com/astral-sh/ruff/pull/28616">#28616</a>)</li> <li>[<code>flake8-pyi</code>] Mention stubs in the diagnostic message (<code>PYI002</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28542">#28542</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Fix horizontal overflow on the rules documentation page (<a href="https://redirect.github.com/astral-sh/ruff/pull/28699">#28699</a>)</li> <li>Update rules table with category information (<a href="https://redirect.github.com/astral-sh/ruff/pull/28651">#28651</a>)</li> <li>[<code>flake8-annotations</code>] Clarify that <code>ANN401</code> checks return types in addition to arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/28334">#28334</a>)</li> <li>[<code>flake8-bugbear</code>] Document type-checker interaction (<code>B010</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28509">#28509</a>)</li> <li>[<code>flake8-comprehensions</code>] Document <code>map</code>/generator exception behavior (<code>C417</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27794">#27794</a>)</li> <li>[<code>ruff</code>] Mention related isort settings (<code>RUF022</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28719">#28719</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/qinpei-dev"><code>@qinpei-dev</code></a></li> <li><a href="https://github.com/sanjayrohith"><code>@sanjayrohith</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/webdevsamran"><code>@webdevsamran</code></a></li> <li><a href="https://github.com/zaniebot"><code>@zaniebot</code></a></li> <li><a href="https://github.com/ewdurbin"><code>@ewdurbin</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/spaceone"><code>@spaceone</code></a></li> <li><a href="https://github.com/IbrahimKhan12"><code>@IbrahimKhan12</code></a></li> <li><a href="https://github.com/devtechedge"><code>@devtechedge</code></a></li> <li><a href="https://github.com/GruffElixir"><code>@GruffElixir</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/0be08a206f9c3180afd3e93bcc792ed5cb1f4db1"><code>0be08a2</code></a> Bump version to 0.16.9 (<a href="https://redirect.github.com/astral-sh/ruff/issues/28882">#28882</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/b4920b72b354e7c715ab861ae23458874683bb02"><code>b4920b7</code></a> Rename <code>ruff_cli</code> to <code>ruff_command_line</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/28881">#28881</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/47c751b95908a4d1f95f9ef8723036aae9da0b18"><code>47c751b</code></a> Update dependency astral-sh/uv to v0.12.18 (<a href="https://redirect.github.com/astral-sh/ruff/issues/28880">#28880</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/8c244e56a1aeac31c26d2371ef26588e0632235c"><code>8c244e5</code></a> [<code>flake8-comprehensions</code>] Document <code>map</code>/generator exception behavior (<code>C417</code>...</li> <li><a href="https://github.com/astral-sh/ruff/commit/5edf5a1d0a84663079e46983216059f06acea87d"><code>5edf5a1</code></a> Use <code>target</code> form in <code>rooster.version_files</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/28876">#28876</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/915bb2b4bf9ae7eee47cf55646bbfebae254a23b"><code>915bb2b</code></a> [ty] Prefer existing @ paths over response files in Ruff and ty (<a href="https://redirect.github.com/astral-sh/ruff/issues/28877">#28877</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/4710e1aa962b13720cf64aa84eb279c5333896d7"><code>4710e1a</code></a> ci(github): update version number in placeholder of issue template (<a href="https://redirect.github.com/astral-sh/ruff/issues/28871">#28871</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/eedfc62a75bf1ba86d48959b00eea75ae87eadca"><code>eedfc62</code></a> [ty] Propagate outer type context through cast calls (<a href="https://redirect.github.com/astral-sh/ruff/issues/28855">#28855</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ceaa6a00830e1e350b8a23977a1a10ac467920a1"><code>ceaa6a0</code></a> [ty] Contain rendered code within Markdown fences (<a href="https://redirect.github.com/astral-sh/ruff/issues/28869">#28869</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/dba0f30615424b94f94a174bba6ce6cce4bf11ff"><code>dba0f30</code></a> authorize ruff-pre-commit dispatch via OIDC (<a href="https://redirect.github.com/astral-sh/ruff/issues/28867">#28867</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.16.8...0.16.9">compare view</a></li> </ul> </details> <br /> Updates `boto3` from 1.43.98 to 1.43.102 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/boto/boto3/commit/da00dd2d4b31a8fa77d8a10aff153f42175404bf"><code>da00dd2</code></a> Merge branch 'release-1.43.102'</li> <li><a href="https://github.com/boto/boto3/commit/551d660d2c3ef8fedeb0eb40973094c995776857"><code>551d660</code></a> Bumping version to 1.43.102</li> <li><a href="https://github.com/boto/boto3/commit/f63e52e1baa89630baac4975fa46057388cab6f0"><code>f63e52e</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/a1acf79e6beaf80ae73eff47fbe81b052b9c14f8"><code>a1acf79</code></a> Merge branch 'release-1.43.101'</li> <li><a href="https://github.com/boto/boto3/commit/931d5a2314056f6e3eefbe0d1ce2e3e19ee18c43"><code>931d5a2</code></a> Merge branch 'release-1.43.101' into develop</li> <li><a href="https://github.com/boto/boto3/commit/8c719efadb1fb3bc606ebd849a70610416ad0121"><code>8c719ef</code></a> Bumping version to 1.43.101</li> <li><a href="https://github.com/boto/boto3/commit/7a0087dd65a461194743ccb1c9bfb378e7256042"><code>7a0087d</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/50dcfb23f7007694067549bff55036292db1cdc1"><code>50dcfb2</code></a> Bump the github-actions group across 1 directory with 4 updates (<a href="https://redirect.github.com/boto/boto3/issues/4853">#4853</a>)</li> <li><a href="https://github.com/boto/boto3/commit/b9fcb1869fe9907a77aa024dba34019fcd828da4"><code>b9fcb18</code></a> Bump <a href="https://github.com/astral-sh/ruff-pre-commit">https://github.com/astral-sh/ruff-pre-commit</a> (<a href="https://redirect.github.com/boto/boto3/issues/4849">#4849</a>)</li> <li><a href="https://github.com/boto/boto3/commit/2b8c4ed93e6894617dd47fbd6d7957ff75e60403"><code>2b8c4ed</code></a> Merge branch 'release-1.43.100'</li> <li>Additional commits viewable in <a href="https://github.com/boto/boto3/compare/1.43.98...1.43.102">compare view</a></li> </ul> </details> <br /> Updates `botocore` from 1.43.98 to 1.43.103 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/boto/botocore/commit/a0db945b82137d32bbc76e8b1f7e97ffd6617a20"><code>a0db945</code></a> Merge branch 'release-1.43.103'</li> <li><a href="https://github.com/boto/botocore/commit/5a60f9e8abb23ab5de121c174e707a27892f4509"><code>5a60f9e</code></a> Bumping version to 1.43.103</li> <li><a href="https://github.com/boto/botocore/commit/3d3e64b320672d27f348375a1b4620a5625e25d8"><code>3d3e64b</code></a> Update to latest models</li> <li><a href="https://github.com/boto/botocore/commit/b56bebe4ad2ec6a12dd90000fca6c6ac6ea23d8b"><code>b56bebe</code></a> Bump <a href="https://github.com/astral-sh/ruff-pre-commit">https://github.com/astral-sh/ruff-pre-commit</a> (<a href="https://redirect.github.com/boto/botocore/issues/3795">#3795</a>)</li> <li><a href="https://github.com/boto/botocore/commit/c5347d3884e4b72f6bcf4ed68b6fb4fb937b0675"><code>c5347d3</code></a> Bump the github-actions group across 1 directory with 5 updates (<a href="https://redirect.github.com/boto/botocore/issues/3806">#3806</a>)</li> <li><a href="https://github.com/boto/botocore/commit/60d28e5ab4a21ba46a7000b6653c03e3e9546a7c"><code>60d28e5</code></a> Merge branch 'release-1.43.102'</li> <li><a href="https://github.com/boto/botocore/commit/351cfc4093a073be1c32a88a66e9adb9aedba048"><code>351cfc4</code></a> Merge branch 'release-1.43.102' into develop</li> <li><a href="https://github.com/boto/botocore/commit/06efcdb05f50bdbed74b54ef570cca21982469e0"><code>06efcdb</code></a> Bumping version to 1.43.102</li> <li><a href="https://github.com/boto/botocore/commit/d199c72d6eeb299e5945b585c5c981ff2189833f"><code>d199c72</code></a> Update endpoints model</li> <li><a href="https://github.com/boto/botocore/commit/c98a4cdb1b164df11c1d98b193213a79e7eb2a81"><code>c98a4cd</code></a> Update to latest models</li> <li>Additional commits viewable in <a href="https://github.com/boto/botocore/compare/1.43.98...1.43.103">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: joshuawendorf21310 <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently blocked by #1167