-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes for Python 3.14 and PEP 649 #492
Conversation
I ran the typeguard test suite on the current CPython main branch to look for possible breakage from PEP 649 and 749, which makes large changes to how annotations work. I found three problems: - DeprecationWarnings from uses of ForwardRef._evaluate, which we're deprecating. Made a change to use the new public API for ForwardRef.evaluate instead. - A test failure that showed "annotationlib" as the module name for a forward ref. I made it so that it doesn't use __module__ for ForwardRef objects. - One remaining test failure that I haven't tracked down: tests/test_instrumentation.py::test_typevar_forwardref[importhook] It's apparently due to caching (it doesn't fail if I run only that one test), but I haven't tracked down the exact cause. Since the APIs in Python 3.14 may still change, I'll make this a draft PR for now.
Thanks for working on this! I just tested this branch with Python 3.14.0a1, and it looks like some further adjustments will be required:
|
@JelleZijlstra |
@JelleZijlstra did you forget to commit the |
I looked into the one remaining actual failure. The subclass check fails because the value and the class, albeit both classes from the same supposed origin, have different identities. I'm not sure yet why this happens only on 3.14. |
Interesting – on 3.13, the subclass check isn't happening at all. I'm continuing to investigate. |
As this clearly has something to do with the forwardref changes in 3.14, I decided to add some debug output which showed a key difference between 3.13 and 3.14. Here's a test run of
And on 3.14:
As you can see, the forwardref is evaluated to the same object at all times on v3.14, while on v3.13 it evaluates to a different object, as expected since |
I see, this is probably because I made ForwardRef cache its value more aggressively. On 3.13, it caches On 3.14 I instead made it always use the cached value: https://github.com/python/cpython/blob/bbeb219354764aef85e660be6570f0f329e7227e/Lib/annotationlib.py#L100 The old behavior wasn't documented and it feels inconsistent, but perhaps the new caching behavior is too aggressive. I wonder if it would make sense to not cache the values at all? (Also, sorry for the missing file. I think I lost the local branch for this PR, I'll have to take a look and try to recreate it.) |
Something else bugs me: how can the
|
Where do you get the ForwardRef object from? There are various kinds of caching in typing.py. Maybe this is python/cpython#128593. |
I'll debug this further to answer that question. |
This took me way too long to figure out, but here's where it goes wrong: annotation = (
Type[origin_type.__bound__] if subclass_check else origin_type.__bound__
) For some bizarre reason, the type parameter for the resulting Now I'll just need the EDIT: I forgot to mention that |
I think this is because there's a
Just pushed it, sorry for that! |
I've added 3.14 to the CI, and the tests seem to pass. Perhaps it's time to remove the draft status, unless you have something more to add? |
I tried this as a patch for the 4.4.1 release in Fedora’s |
Yes, taken out of draft! One caveat: Python 3.14 is still in alpha, and PEP 749 has not yet been accepted, so some of the aspects of 3.14 might still change before the final release. Hopefully not too much! |
Thanks! |
Bumps [typeguard](https://github.com/agronholm/typeguard) from 4.4.1 to 4.4.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/agronholm/typeguard/releases">typeguard's releases</a>.</em></p> <blockquote> <h2>4.4.2</h2> <ul> <li>Fixed <code>TypeCheckError</code> in unpacking assignment involving properties of a parameter of the function (<a href="https://redirect.github.com/agronholm/typeguard/issues/506">#506</a>; regression introduced in v4.4.1)</li> <li>Fixed display of module name for forward references (<a href="https://redirect.github.com/agronholm/typeguard/pull/492">#492</a>; PR by <a href="https://github.com/JelleZijlstra"><code>@JelleZijlstra</code></a>)</li> <li>Fixed <code>TypeError</code> when using an assignment expression (<a href="https://redirect.github.com/agronholm/typeguard/issues/510">#510</a>; PR by <a href="https://github.com/JohannesK71083"><code>@JohannesK71083</code></a>)</li> <li>Fixed <code>ValueError: no signature found for builtin</code> when checking against a protocol and a matching attribute in the subject is a built-in function (<a href="https://redirect.github.com/agronholm/typeguard/issues/504">#504</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/agronholm/typeguard/blob/master/docs/versionhistory.rst">typeguard's changelog</a>.</em></p> <blockquote> <h1>Version history</h1> <p>This library adheres to <code>Semantic Versioning 2.0 <https://semver.org/#semantic-versioning-200></code>_.</p> <p><strong>4.4.2</strong> (2025-02-16)</p> <ul> <li>Fixed <code>TypeCheckError</code> in unpacking assignment involving properties of a parameter of the function (<code>[#506](agronholm/typeguard#506) <https://github.com/agronholm/typeguard/issues/506></code>_; regression introduced in v4.4.1)</li> <li>Fixed display of module name for forward references (<code>[#492](agronholm/typeguard#492) <https://github.com/agronholm/typeguard/pull/492></code>_; PR by <a href="https://github.com/JelleZijlstra"><code>@JelleZijlstra</code></a>)</li> <li>Fixed <code>TypeError</code> when using an assignment expression (<code>[#510](agronholm/typeguard#510) <https://github.com/agronholm/typeguard/issues/510></code>_; PR by <a href="https://github.com/JohannesK71083"><code>@JohannesK71083</code></a>)</li> <li>Fixed <code>ValueError: no signature found for builtin</code> when checking against a protocol and a matching attribute in the subject is a built-in function (<code>[#504](agronholm/typeguard#504) <https://github.com/agronholm/typeguard/issues/504></code>_)</li> </ul> <p><strong>4.4.1</strong> (2024-11-03)</p> <ul> <li>Dropped Python 3.8 support</li> <li>Changed the signature of <code>typeguard_ignore()</code> to be compatible with <code>typing.no_type_check()</code> (PR by <a href="https://github.com/jolaf"><code>@jolaf</code></a>)</li> <li>Avoid creating reference cycles when type checking uniontypes and classes</li> <li>Fixed checking of variable assignments involving tuple unpacking (<code>[#486](agronholm/typeguard#486) <https://github.com/agronholm/typeguard/issues/486></code>_)</li> <li>Fixed <code>TypeError</code> when checking a class against <code>type[Self]</code> (<code>[#481](agronholm/typeguard#481) <https://github.com/agronholm/typeguard/issues/481></code>_)</li> <li>Fixed checking of protocols on the class level (against <code>type[SomeProtocol]</code>) (<code>[#498](agronholm/typeguard#498) <https://github.com/agronholm/typeguard/issues/498></code>_)</li> <li>Fixed <code>Self</code> checks in instance/class methods that have positional-only arguments</li> <li>Fixed explicit checks of PEP 604 unions against <code>types.UnionType</code> (<code>[#467](agronholm/typeguard#467) <https://github.com/agronholm/typeguard/issues/467></code>_)</li> <li>Fixed checks against annotations wrapped in <code>NotRequired</code> not being run unless the <code>NotRequired</code> is a forward reference (<code>[#454](agronholm/typeguard#454) <https://github.com/agronholm/typeguard/issues/454></code>_)</li> </ul> <p><strong>4.4.0</strong> (2024-10-27)</p> <ul> <li>Added proper checking for method signatures in protocol checks (<code>[#465](agronholm/typeguard#465) <https://github.com/agronholm/typeguard/pull/465></code>_)</li> <li>Fixed basic support for intersection protocols (<code>[#490](agronholm/typeguard#490) <https://github.com/agronholm/typeguard/pull/490></code>_; PR by <a href="https://github.com/antonagestam"><code>@antonagestam</code></a>)</li> </ul> <p><strong>4.3.0</strong> (2024-05-27)</p> <ul> <li>Added support for checking against static protocols</li> <li>Fixed some compatibility problems when running on Python 3.13 (<code>[#460](agronholm/typeguard#460) <https://github.com/agronholm/typeguard/issues/460></code>_; PR by <a href="https://github.com/JelleZijlstra"><code>@JelleZijlstra</code></a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/agronholm/typeguard/commit/7f63619e75a2500fb150c12a75d7da1003acbf0e"><code>7f63619</code></a> Added release date</li> <li><a href="https://github.com/agronholm/typeguard/commit/056a9a8f65620447c8cc76c67d87f7fad4a1a66f"><code>056a9a8</code></a> Fixed signature check raising ValueError for a built-in function</li> <li><a href="https://github.com/agronholm/typeguard/commit/855991147c66437319b43048e207b70b13056005"><code>8559911</code></a> Switched to JSON output when running mypy</li> <li><a href="https://github.com/agronholm/typeguard/commit/447ee40a1b35c1273f83e3c1ddf48c04745f021d"><code>447ee40</code></a> Fixed checking of assignment expressions (<a href="https://redirect.github.com/agronholm/typeguard/issues/511">#511</a>)</li> <li><a href="https://github.com/agronholm/typeguard/commit/95ef60d9f0d50c00a7027928d8ab0fd6170f0da3"><code>95ef60d</code></a> Fixes for Python 3.14 and PEP 649 (<a href="https://redirect.github.com/agronholm/typeguard/issues/492">#492</a>)</li> <li><a href="https://github.com/agronholm/typeguard/commit/f282802f7f1e3b8530df3104a15ae67838ad567e"><code>f282802</code></a> Fixed TypeCheckError in unpacking assignment involving properties</li> <li><a href="https://github.com/agronholm/typeguard/commit/91b0cbd6b969689353f3345879ec28e64619ad72"><code>91b0cbd</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/agronholm/typeguard/issues/505">#505</a>)</li> <li><a href="https://github.com/agronholm/typeguard/commit/b6a7e4387c30a9f7d635712157c889eb073c1ea3"><code>b6a7e43</code></a> Removed changelog entry that was in fact not a user-facing change</li> <li>See full diff in <a href="https://github.com/agronholm/typeguard/compare/4.4.1...4.4.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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>
Bumps the deps group with 12 updates: | Package | From | To | | --- | --- | --- | | [jinja2](https://github.com/pallets/jinja) | `3.1.4` | `3.1.5` | | [typer](https://github.com/fastapi/typer) | `0.15.0` | `0.15.1` | | [rich](https://github.com/Textualize/rich) | `13.9.1` | `13.9.4` | | [pydantic](https://github.com/pydantic/pydantic) | `2.10.0` | `2.10.6` | | [numpy](https://github.com/numpy/numpy) | `2.2.0` | `2.2.3` | | [fastapi](https://github.com/fastapi/fastapi) | `0.115.0` | `0.115.8` | | [click](https://github.com/pallets/click) | `8.1.7` | `8.1.8` | | [httpx](https://github.com/encode/httpx) | `0.28.0` | `0.28.1` | | [pytest](https://github.com/pytest-dev/pytest) | `8.3.1` | `8.3.4` | | [typeguard](https://github.com/agronholm/typeguard) | `4.4.1` | `4.4.2` | | [sphinx](https://github.com/sphinx-doc/sphinx) | `8.2.0` | `8.2.1` | | [myst-parser](https://github.com/executablebooks/MyST-Parser) | `4.0.0` | `4.0.1` | Updates `jinja2` from 3.1.4 to 3.1.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/releases">jinja2's releases</a>.</em></p> <blockquote> <h2>3.1.5</h2> <p>This is the Jinja 3.1.5 security fix release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Jinja2/3.1.5/">https://pypi.org/project/Jinja2/3.1.5/</a> Changes: <a href="https://jinja.palletsprojects.com/changes/#version-3-1-5">https://jinja.palletsprojects.com/changes/#version-3-1-5</a> Milestone: <a href="https://github.com/pallets/jinja/milestone/16?closed=1">https://github.com/pallets/jinja/milestone/16?closed=1</a></p> <ul> <li>The sandboxed environment handles indirect calls to <code>str.format</code>, such as by passing a stored reference to a filter that calls its argument. <a href="https://github.com/pallets/jinja/security/advisories/GHSA-q2x7-8rv6-6q7h">GHSA-q2x7-8rv6-6q7h</a></li> <li>Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. <a href="https://redirect.github.com/pallets/jinja/issues/1792">#1792</a>, <a href="https://github.com/pallets/jinja/security/advisories/GHSA-gmj6-6f8f-6699">GHSA-gmj6-6f8f-6699</a></li> <li>Sandbox does not allow <code>clear</code> and <code>pop</code> on known mutable sequence types. <a href="https://redirect.github.com/pallets/jinja/issues/2032">#2032</a></li> <li>Calling sync <code>render</code> for an async template uses <code>asyncio.run</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1952">#1952</a></li> <li>Avoid unclosed <code>auto_aiter</code> warnings. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from <code>Template.generate_async</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>Avoid leaving <code>root_render_func()</code> unclosed in <code>Template.generate_async</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>Avoid leaving async generators unclosed in blocks, includes and extends. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>The runtime uses the correct <code>concat</code> function for the current environment when calling block references. <a href="https://redirect.github.com/pallets/jinja/issues/1701">#1701</a></li> <li>Make <code>|unique</code> async-aware, allowing it to be used after another async-aware filter. <a href="https://redirect.github.com/pallets/jinja/issues/1781">#1781</a></li> <li><code>|int</code> filter handles <code>OverflowError</code> from scientific notation. <a href="https://redirect.github.com/pallets/jinja/issues/1921">#1921</a></li> <li>Make compiling deterministic for tuple unpacking in a <code>{% set ... %}</code> call. <a href="https://redirect.github.com/pallets/jinja/issues/2021">#2021</a></li> <li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc) interaction with <code>Undefined</code> objects. <a href="https://redirect.github.com/pallets/jinja/issues/2025">#2025</a></li> <li>Fix <code>copy</code>/<code>pickle</code> support for the internal <code>missing</code> object. <a href="https://redirect.github.com/pallets/jinja/issues/2027">#2027</a></li> <li><code>Environment.overlay(enable_async)</code> is applied correctly. <a href="https://redirect.github.com/pallets/jinja/issues/2061">#2061</a></li> <li>The error message from <code>FileSystemLoader</code> includes the paths that were searched. <a href="https://redirect.github.com/pallets/jinja/issues/1661">#1661</a></li> <li><code>PackageLoader</code> shows a clearer error message when the package does not contain the templates directory. <a href="https://redirect.github.com/pallets/jinja/issues/1705">#1705</a></li> <li>Improve annotations for methods returning copies. <a href="https://redirect.github.com/pallets/jinja/issues/1880">#1880</a></li> <li><code>urlize</code> does not add <code>mailto:</code> to values like <code>@a@b</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1870">#1870</a></li> <li>Tests decorated with <code>@pass_context</code> can be used with the <code>|select</code> filter. <a href="https://redirect.github.com/pallets/jinja/issues/1624">#1624</a></li> <li>Using <code>set</code> for multiple assignment (<code>a, b = 1, 2</code>) does not fail when the target is a namespace attribute. <a href="https://redirect.github.com/pallets/jinja/issues/1413">#1413</a></li> <li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{% else %}</code> blocks does not cause the variable to be considered initially undefined. <a href="https://redirect.github.com/pallets/jinja/issues/1253">#1253</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's changelog</a>.</em></p> <blockquote> <h2>Version 3.1.5</h2> <p>Released 2024-12-21</p> <ul> <li>The sandboxed environment handles indirect calls to <code>str.format</code>, such as by passing a stored reference to a filter that calls its argument. :ghsa:<code>q2x7-8rv6-6q7h</code></li> <li>Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. :issue:<code>1792</code>, :ghsa:<code>gmj6-6f8f-6699</code></li> <li>Sandbox does not allow <code>clear</code> and <code>pop</code> on known mutable sequence types. :issue:<code>2032</code></li> <li>Calling sync <code>render</code> for an async template uses <code>asyncio.run</code>. :pr:<code>1952</code></li> <li>Avoid unclosed <code>auto_aiter</code> warnings. :pr:<code>1960</code></li> <li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from <code>Template.generate_async</code>. :pr:<code>1960</code></li> <li>Avoid leaving <code>root_render_func()</code> unclosed in <code>Template.generate_async</code>. :pr:<code>1960</code></li> <li>Avoid leaving async generators unclosed in blocks, includes and extends. :pr:<code>1960</code></li> <li>The runtime uses the correct <code>concat</code> function for the current environment when calling block references. :issue:<code>1701</code></li> <li>Make <code>|unique</code> async-aware, allowing it to be used after another async-aware filter. :issue:<code>1781</code></li> <li><code>|int</code> filter handles <code>OverflowError</code> from scientific notation. :issue:<code>1921</code></li> <li>Make compiling deterministic for tuple unpacking in a <code>{% set ... %}</code> call. :issue:<code>2021</code></li> <li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc) interaction with <code>Undefined</code> objects. :issue:<code>2025</code></li> <li>Fix <code>copy</code>/<code>pickle</code> support for the internal <code>missing</code> object. :issue:<code>2027</code></li> <li><code>Environment.overlay(enable_async)</code> is applied correctly. :pr:<code>2061</code></li> <li>The error message from <code>FileSystemLoader</code> includes the paths that were searched. :issue:<code>1661</code></li> <li><code>PackageLoader</code> shows a clearer error message when the package does not contain the templates directory. :issue:<code>1705</code></li> <li>Improve annotations for methods returning copies. :pr:<code>1880</code></li> <li><code>urlize</code> does not add <code>mailto:</code> to values like <code>@a@b</code>. :pr:<code>1870</code></li> <li>Tests decorated with <code>@pass_context`` can be used with the ``|select`` filter. :issue:</code>1624`</li> <li>Using <code>set</code> for multiple assignment (<code>a, b = 1, 2</code>) does not fail when the target is a namespace attribute. :issue:<code>1413</code></li> <li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{% else %}</code> blocks does not cause the variable to be considered initially undefined. :issue:<code>1253</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1"><code>877f6e5</code></a> release version 3.1.5</li> <li><a href="https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f"><code>8d58859</code></a> remove test pypi</li> <li><a href="https://github.com/pallets/jinja/commit/eda8fe86fd716dfce24910294e9f1fc81fbc740c"><code>eda8fe8</code></a> update dev dependencies</li> <li><a href="https://github.com/pallets/jinja/commit/c8fdce1e0333f1122b244b03a48535fdd7b03d91"><code>c8fdce1</code></a> Fix bug involving calling set on a template parameter within all branches of ...</li> <li><a href="https://github.com/pallets/jinja/commit/66587ce989e5a478e0bb165371fa2b9d42b7040f"><code>66587ce</code></a> Fix bug where set would sometimes fail within if</li> <li><a href="https://github.com/pallets/jinja/commit/fbc3a696c729d177340cc089531de7e2e5b6f065"><code>fbc3a69</code></a> Add support for namespaces in tuple parsing (<a href="https://redirect.github.com/pallets/jinja/issues/1664">#1664</a>)</li> <li><a href="https://github.com/pallets/jinja/commit/b8f4831d41e6a7cb5c40d42f074ffd92d2daccfc"><code>b8f4831</code></a> more comments about nsref assignment</li> <li><a href="https://github.com/pallets/jinja/commit/ee832194cd9f55f75e5a51359b709d535efe957f"><code>ee83219</code></a> Add support for namespaces in tuple assignment</li> <li><a href="https://github.com/pallets/jinja/commit/1d55cddbb28e433779511f28f13a2d8c4ec45826"><code>1d55cdd</code></a> Triple quotes in docs (<a href="https://redirect.github.com/pallets/jinja/issues/2064">#2064</a>)</li> <li><a href="https://github.com/pallets/jinja/commit/8a8eafc6b992ba177f1d3dd483f8465f18a11116"><code>8a8eafc</code></a> edit block assignment section</li> <li>Additional commits viewable in <a href="https://github.com/pallets/jinja/compare/3.1.4...3.1.5">compare view</a></li> </ul> </details> <br /> Updates `typer` from 0.15.0 to 0.15.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fastapi/typer/releases">typer's releases</a>.</em></p> <blockquote> <h2>0.15.1</h2> <h3>Features</h3> <ul> <li>🗑️ Deprecate <code>shell_complete</code> and continue to use <code>autocompletion</code> for CLI parameters. PR <a href="https://redirect.github.com/fastapi/typer/pull/974">#974</a> by <a href="https://github.com/svlandeg"><code>@svlandeg</code></a>.</li> </ul> <h3>Docs</h3> <ul> <li>✏️ Fix a few typos in the source and documentation. PR <a href="https://redirect.github.com/fastapi/typer/pull/1028">#1028</a> by <a href="https://github.com/kkirsche"><code>@kkirsche</code></a>.</li> <li>📝 Fix minor inconsistencies and typos in tutorial. PR <a href="https://redirect.github.com/fastapi/typer/pull/1067">#1067</a> by <a href="https://github.com/tvoirand"><code>@tvoirand</code></a>.</li> <li>✏️ Fix a few small typos in the documentation. PR <a href="https://redirect.github.com/fastapi/typer/pull/1077">#1077</a> by <a href="https://github.com/svlandeg"><code>@svlandeg</code></a>.</li> </ul> <h3>Internal</h3> <ul> <li>🔧 Update build-docs filter patterns. PR <a href="https://redirect.github.com/fastapi/typer/pull/1080">#1080</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>🔨 Update deploy docs preview script. PR <a href="https://redirect.github.com/fastapi/typer/pull/1079">#1079</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>🔧 Update members. PR <a href="https://redirect.github.com/fastapi/typer/pull/1078">#1078</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>⬆ [pre-commit.ci] pre-commit autoupdate. PR <a href="https://redirect.github.com/fastapi/typer/pull/1071">#1071</a> by <a href="https://github.com/apps/pre-commit-ci"><code>@pre-commit-ci[bot]</code></a>.</li> <li>⬆ Update httpx requirement from <!-- raw HTML omitted -->=0.27.0,<0.29.0. PR <a href="https://redirect.github.com/fastapi/typer/pull/1065">#1065</a> by <a href="https://github.com/apps/dependabot"><code>@dependabot[bot]</code></a>.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/fastapi/typer/blob/master/docs/release-notes.md">typer's changelog</a>.</em></p> <blockquote> <h2>0.15.1</h2> <h3>Features</h3> <ul> <li>🗑️ Deprecate <code>shell_complete</code> and continue to use <code>autocompletion</code> for CLI parameters. PR <a href="https://redirect.github.com/fastapi/typer/pull/974">#974</a> by <a href="https://github.com/svlandeg"><code>@svlandeg</code></a>.</li> </ul> <h3>Docs</h3> <ul> <li>✏️ Fix a few typos in the source and documentation. PR <a href="https://redirect.github.com/fastapi/typer/pull/1028">#1028</a> by <a href="https://github.com/kkirsche"><code>@kkirsche</code></a>.</li> <li>📝 Fix minor inconsistencies and typos in tutorial. PR <a href="https://redirect.github.com/fastapi/typer/pull/1067">#1067</a> by <a href="https://github.com/tvoirand"><code>@tvoirand</code></a>.</li> <li>✏️ Fix a few small typos in the documentation. PR <a href="https://redirect.github.com/fastapi/typer/pull/1077">#1077</a> by <a href="https://github.com/svlandeg"><code>@svlandeg</code></a>.</li> </ul> <h3>Internal</h3> <ul> <li>🔧 Update build-docs filter patterns. PR <a href="https://redirect.github.com/fastapi/typer/pull/1080">#1080</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>🔨 Update deploy docs preview script. PR <a href="https://redirect.github.com/fastapi/typer/pull/1079">#1079</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>🔧 Update members. PR <a href="https://redirect.github.com/fastapi/typer/pull/1078">#1078</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>⬆ [pre-commit.ci] pre-commit autoupdate. PR <a href="https://redirect.github.com/fastapi/typer/pull/1071">#1071</a> by <a href="https://github.com/apps/pre-commit-ci"><code>@pre-commit-ci[bot]</code></a>.</li> <li>⬆ Update httpx requirement from <!-- raw HTML omitted -->=0.27.0,<0.29.0. PR <a href="https://redirect.github.com/fastapi/typer/pull/1065">#1065</a> by <a href="https://github.com/apps/dependabot"><code>@dependabot[bot]</code></a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/fastapi/typer/commit/0b89650d1e694f5c936836c9b768d8c023413cf2"><code>0b89650</code></a> 🔖 Release version 0.15.1</li> <li><a href="https://github.com/fastapi/typer/commit/bd89bf62f2bfe0af8667e85db341db1f32db694d"><code>bd89bf6</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/typer/commit/3b9ce479086636280271d36e410dc5abdcf318d8"><code>3b9ce47</code></a> ✏️ Fix a few typos in the source and documentation (<a href="https://redirect.github.com/fastapi/typer/issues/1028">#1028</a>)</li> <li><a href="https://github.com/fastapi/typer/commit/95ba85f5b3c8088733e22218d9c87eb38e03ab08"><code>95ba85f</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/typer/commit/dbc335b0824b952c70278cccb5dbcf774cdba9b5"><code>dbc335b</code></a> 📝 Fix minor inconsistencies and typos in tutorial (<a href="https://redirect.github.com/fastapi/typer/issues/1067">#1067</a>)</li> <li><a href="https://github.com/fastapi/typer/commit/b88c327d1c3c94de53280130f787a320f3378f69"><code>b88c327</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/typer/commit/d8e56e275f63446e7d455efc83095ec4d711114d"><code>d8e56e2</code></a> 🗑️ Deprecate <code>shell_complete</code> and continue to use <code>autocompletion</code> for CLI pa...</li> <li><a href="https://github.com/fastapi/typer/commit/5f378eec9d8400960e89a305763572f97237afe4"><code>5f378ee</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/typer/commit/b826dc445162af7d6edd1aebe173fa49c1d683ce"><code>b826dc4</code></a> ✏️ Fix a few small typos in the documentation (<a href="https://redirect.github.com/fastapi/typer/issues/1077">#1077</a>)</li> <li><a href="https://github.com/fastapi/typer/commit/9be60da3aec1693ca787947f8c8154a9b6c9fc5b"><code>9be60da</code></a> 📝 Update release notes</li> <li>Additional commits viewable in <a href="https://github.com/fastapi/typer/compare/0.15.0...0.15.1">compare view</a></li> </ul> </details> <br /> Updates `rich` from 13.9.1 to 13.9.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Textualize/rich/releases">rich's releases</a>.</em></p> <blockquote> <h2>The Faster is Faster release</h2> <h2>[13.9.4] - 2024-11-01</h2> <h3>Changed</h3> <ul> <li>Optimizations to cell_len which may speed up Rich / Textual output <a href="https://redirect.github.com/Textualize/rich/pull/3546">Textualize/rich#3546</a></li> </ul> <h2>The irregular expression release</h2> <p>Fix a broken regex that resulted in the slow path being chosen for some operations. This fix should result in notable speedups for some operations, such as wrapping text.</p> <h2>[13.9.3] - 2024-10-22</h2> <h3>Fixed</h3> <ul> <li>Fixed broken regex that may have resulted in poor performance. <a href="https://redirect.github.com/Textualize/rich/pull/3535">Textualize/rich#3535</a></li> </ul> <h2>The Splitting segments Release</h2> <p>A hotfix for highlighting in the table, and a fix for <code>Segment.split_cells</code></p> <h2>[13.9.2] - 2024-10-04</h2> <h3>Fixed</h3> <ul> <li>Fixed <code>Table</code> columns not highlighting when added by <code>add_row</code> <a href="https://redirect.github.com/Textualize/rich/issues/3517">Textualize/rich#3517</a></li> <li>Fixed an issue with Segment.split_cells reported in Textual <a href="https://redirect.github.com/Textualize/textual/issues/5090">Textualize/textual#5090</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Textualize/rich/blob/master/CHANGELOG.md">rich's changelog</a>.</em></p> <blockquote> <h2>[13.9.4] - 2024-11-01</h2> <h3>Changed</h3> <ul> <li>Optimizations to cell_len which may speed up Rich / Textual output <a href="https://redirect.github.com/Textualize/rich/pull/3546">Textualize/rich#3546</a></li> </ul> <h2>[13.9.3] - 2024-10-22</h2> <h3>Fixed</h3> <ul> <li>Fixed broken regex that may have resulted in poor performance. <a href="https://redirect.github.com/Textualize/rich/pull/3535">Textualize/rich#3535</a></li> </ul> <h2>[13.9.2] - 2024-10-04</h2> <h3>Fixed</h3> <ul> <li>Fixed <code>Table</code> columns not highlighting when added by <code>add_row</code> <a href="https://redirect.github.com/Textualize/rich/issues/3517">Textualize/rich#3517</a></li> <li>Fixed an issue with Segment.split_cells reported in Textual <a href="https://redirect.github.com/Textualize/textual/issues/5090">Textualize/textual#5090</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Textualize/rich/commit/43d3b04725ab9731727fb1126e35980c62f32377"><code>43d3b04</code></a> Merge pull request <a href="https://redirect.github.com/Textualize/rich/issues/3548">#3548</a> from Textualize/bump1394</li> <li><a href="https://github.com/Textualize/rich/commit/e440ff23806372ec221fa8f22c57a9d31828de4b"><code>e440ff2</code></a> bump</li> <li><a href="https://github.com/Textualize/rich/commit/12301e3041455cde59f463a8e1522070e16ceb28"><code>12301e3</code></a> Merge pull request <a href="https://redirect.github.com/Textualize/rich/issues/3546">#3546</a> from Textualize/faster-cell-len</li> <li><a href="https://github.com/Textualize/rich/commit/02f3d148e8f7143519272ed6404cc6894dc13ec6"><code>02f3d14</code></a> comment</li> <li><a href="https://github.com/Textualize/rich/commit/aaaef278be38ebadea3d6f47dedd89fd910078ca"><code>aaaef27</code></a> leaner syntax</li> <li><a href="https://github.com/Textualize/rich/commit/6cef0bcb0e584eac1eb6021cc2202ecad70b6b11"><code>6cef0bc</code></a> leaner cell_len</li> <li><a href="https://github.com/Textualize/rich/commit/46150cdbf61426c4683c59a0e4f45dca23d38202"><code>46150cd</code></a> sum and map is faster</li> <li><a href="https://github.com/Textualize/rich/commit/9e7f363aebe01542210633dd4027ce777bf31e3c"><code>9e7f363</code></a> use sets</li> <li><a href="https://github.com/Textualize/rich/commit/afcc5c5a957c75b325fd7cc45bd70b3ac6413ef4"><code>afcc5c5</code></a> Merge pull request <a href="https://redirect.github.com/Textualize/rich/issues/3535">#3535</a> from Textualize/regex-error</li> <li><a href="https://github.com/Textualize/rich/commit/60f3b615a706949f6ae9734eeaea519573af4522"><code>60f3b61</code></a> changelog</li> <li>Additional commits viewable in <a href="https://github.com/Textualize/rich/compare/v13.9.1...v13.9.4">compare view</a></li> </ul> </details> <br /> Updates `pydantic` from 2.10.0 to 2.10.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/releases">pydantic's releases</a>.</em></p> <blockquote> <h2>v2.10.6 2025-01-23</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>Fix JSON Schema reference collection with <code>'examples'</code> keys by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11325">#11325</a></li> <li>Fix url python serialization by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11331">#11331</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6">https://github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6</a></p> <h2>v2.10.5 2024-12-18</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>Remove custom MRO implementation of Pydantic models by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11184">#11184</a></li> <li>Fix URL serialization for unions by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11233">#11233</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5">https://github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5</a></p> <h2>v2.10.4 2024-12-18</h2> <h2>What's Changed</h2> <h3>Packaging</h3> <ul> <li>Bump <code>pydantic-core</code> to v2.27.2 by <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11138">#11138</a></li> </ul> <h3>Fixes</h3> <ul> <li>Fix for comparison of <code>AnyUrl</code> objects by <a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li>Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11093">#11093</a></li> <li>Include JSON Schema input core schema in function schemas by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11085">#11085</a></li> <li>Add <code>len</code> to <code>_BaseUrl</code> to avoid TypeError by <a href="https://github.com/Kharianne"><code>@Kharianne</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> <li>Make sure the type reference is removed from the seen references by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11143">#11143</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li><a href="https://github.com/Kharianne"><code>@Kharianne</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4">https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4</a></p> <h2>v2.10.3 2024-12-03</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>Set fields when <code>defer_build</code> is set on Pydantic dataclasses by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10984">#10984</a></li> <li>Do not resolve the JSON Schema reference for <code>dict</code> core schema keys by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10989">#10989</a></li> <li>Use the globals of the function when evaluating the return type for <code>PlainSerializer</code> and <code>WrapSerializer</code> functions by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11008">#11008</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's changelog</a>.</em></p> <blockquote> <h2>v2.10.6 (2025-01-23)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.6">GitHub release</a></p> <h3>What's Changed</h3> <h4>Fixes</h4> <ul> <li>Fix JSON Schema reference collection with <code>'examples'</code> keys by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11325">#11325</a></li> <li>Fix url python serialization by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11331">#11331</a></li> </ul> <h2>v2.10.5 (2025-01-08)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.5">GitHub release</a></p> <h3>What's Changed</h3> <h4>Fixes</h4> <ul> <li>Remove custom MRO implementation of Pydantic models by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11184">#11184</a></li> <li>Fix URL serialization for unions by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11233">#11233</a></li> </ul> <h2>v2.10.4 (2024-12-18)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.4">GitHub release</a></p> <h3>What's Changed</h3> <h4>Packaging</h4> <ul> <li>Bump <code>pydantic-core</code> to v2.27.2 by <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11138">#11138</a></li> </ul> <h4>Fixes</h4> <ul> <li>Fix for comparison of <code>AnyUrl</code> objects by <a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li>Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11093">#11093</a></li> <li>Include JSON Schema input core schema in function schemas by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11085">#11085</a></li> <li>Add <code>len</code> to <code>_BaseUrl</code> to avoid TypeError by <a href="https://github.com/Kharianne"><code>@Kharianne</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> <li>Make sure the type reference is removed from the seen references by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11143">#11143</a></li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/FyZzyss"><code>@FyZzyss</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/10789">#10789</a></li> <li><a href="https://github.com/tamird"><code>@tamird</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/10948">#10948</a></li> <li><a href="https://github.com/felixxm"><code>@felixxm</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11077">#11077</a></li> <li><a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li><a href="https://github.com/Kharianne"><code>@Kharianne</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> </ul> <h2>v2.10.3 (2024-12-03)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pydantic/pydantic/commit/df05e69a8a3fb37628a0e3a33518ca0425334bc9"><code>df05e69</code></a> Bump version to v2.10.6 (<a href="https://redirect.github.com/pydantic/pydantic/issues/11334">#11334</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/416082625aed40ce341faf4b13e366f1ef51838d"><code>4160826</code></a> Fix url python serialization (<a href="https://redirect.github.com/pydantic/pydantic/issues/11331">#11331</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/f94e842692969168ff8ea7ecefa6815fff2883d8"><code>f94e842</code></a> Fix JSON Schema reference collection with <code>"examples"</code> keys (<a href="https://redirect.github.com/pydantic/pydantic/issues/11325">#11325</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/5d34efda82895b8697649e20616aea385d769eaf"><code>5d34efd</code></a> Prepare release v2.10.5 (<a href="https://redirect.github.com/pydantic/pydantic/issues/11237">#11237</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/6e585f925e25f91f365ae6ad6c910a667f9d78e9"><code>6e585f9</code></a> Fix url serialization for unions (<a href="https://redirect.github.com/pydantic/pydantic/issues/11233">#11233</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/5a22e026084044acbf6f24e0760d9903be0bfa5a"><code>5a22e02</code></a> Remove custom MRO implementation of Pydantic models (<a href="https://redirect.github.com/pydantic/pydantic/issues/11195">#11195</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/5bd3a6507b749fcd4833173fba88b3690ff77170"><code>5bd3a65</code></a> fix history.md</li> <li><a href="https://github.com/pydantic/pydantic/commit/46f094569a071a99b313ec21b36568ceb1615635"><code>46f0945</code></a> Prepare for v2.10.4 (<a href="https://redirect.github.com/pydantic/pydantic/issues/11144">#11144</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/ea69e695f27fc8d93934bd07b262189dd7987dd9"><code>ea69e69</code></a> Make sure the type reference is removed from the seen references (<a href="https://redirect.github.com/pydantic/pydantic/issues/11145">#11145</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/a07c31e4a49bd3a01485ed0aabf55c5e0ac83ca7"><code>a07c31e</code></a> Include JSON Schema input core schema in function schemas (<a href="https://redirect.github.com/pydantic/pydantic/issues/11142">#11142</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pydantic/pydantic/compare/v2.10.0...v2.10.6">compare view</a></li> </ul> </details> <br /> Updates `numpy` from 2.2.0 to 2.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/numpy/numpy/releases">numpy's releases</a>.</em></p> <blockquote> <h2>2.2.3 (Feb 13, 2025)</h2> <h1>NumPy 2.2.3 Release Notes</h1> <p>NumPy 2.2.3 is a patch release that fixes bugs found after the 2.2.2 release. The majority of the changes are typing improvements and fixes for free threaded Python. Both of those areas are still under development, so if you discover new problems, please report them.</p> <p>This release supports Python versions 3.10-3.13.</p> <h2>Contributors</h2> <p>A total of 9 people contributed to this release. People with a "+" by their names contributed a patch for the first time.</p> <ul> <li>!amotzop</li> <li>Charles Harris</li> <li>Chris Sidebottom</li> <li>Joren Hammudoglu</li> <li>Matthew Brett</li> <li>Nathan Goldbaum</li> <li>Raghuveer Devulapalli</li> <li>Sebastian Berg</li> <li>Yakov Danishevsky +</li> </ul> <h2>Pull requests merged</h2> <p>A total of 21 pull requests were merged for this release.</p> <ul> <li><a href="https://redirect.github.com/numpy/numpy/pull/28185">#28185</a>: MAINT: Prepare 2.2.x for further development</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28201">#28201</a>: BUG: fix data race in a more minimal way on stable branch</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28208">#28208</a>: BUG: Fix <code>from_float_positional</code> errors for huge pads</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28209">#28209</a>: BUG: fix data race in np.repeat</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28212">#28212</a>: MAINT: Use VQSORT_COMPILER_COMPATIBLE to determine if we should...</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28224">#28224</a>: MAINT: update highway to latest</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28236">#28236</a>: BUG: Add cpp atomic support (<a href="https://redirect.github.com/numpy/numpy/issues/28234">#28234</a>)</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28237">#28237</a>: BLD: Compile fix for clang-cl on WoA</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28243">#28243</a>: TYP: Avoid upcasting <code>float64</code> in the set-ops</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28249">#28249</a>: BLD: better fix for clang / ARM compiles</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28266">#28266</a>: TYP: Fix <code>timedelta64.__divmod__</code> and <code>timedelta64.__mod__</code>...</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28274">#28274</a>: TYP: Fixed missing typing information of set_printoptions</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28278">#28278</a>: BUG: backport resource cleanup bugfix from <a href="https://redirect.github.com/numpy/numpy/issues/28273">gh-28273</a></li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28282">#28282</a>: BUG: fix incorrect bytes to stringdtype coercion</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28283">#28283</a>: TYP: Fix scalar constructors</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28284">#28284</a>: TYP: stub <code>numpy.matlib</code></li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28285">#28285</a>: TYP: stub the missing <code>numpy.testing</code> modules</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28286">#28286</a>: CI: Fix the github label for <code>TYP:</code> PR's and issues</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28305">#28305</a>: TYP: Backport typing updates from main</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28321">#28321</a>: BUG: fix race initializing legacy dtype casts</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/28324">#28324</a>: CI: update test_moderately_small_alpha</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/numpy/numpy/commit/a27456108104ac11e8564c2f18710997f3a55eb9"><code>a274561</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/28322">#28322</a> from charris/prepare-2.2.3</li> <li><a href="https://github.com/numpy/numpy/commit/5ab0f7140ffe48c4e424f13b0207c28dda974547"><code>5ab0f71</code></a> REL: Prepare for the NumPy 2.2.3 release [wheel build]</li> <li><a href="https://github.com/numpy/numpy/commit/010ad9b59799f8d753564441bb53cc1249782168"><code>010ad9b</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/28324">#28324</a> from charris/update-test_dirichlet_moderately_small...</li> <li><a href="https://github.com/numpy/numpy/commit/633874632a26e0af9b225608eff7abec31c92a87"><code>6338746</code></a> CI: update test_moderately_small_alpha [wheel build]</li> <li><a href="https://github.com/numpy/numpy/commit/56f8d5b6bef06a1cfbffe77c69ff56a906c938a3"><code>56f8d5b</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/28321">#28321</a> from charris/backport-28290</li> <li><a href="https://github.com/numpy/numpy/commit/48515a33c93234a50a5eaa13d8472e159a5d6fa0"><code>48515a3</code></a> MAINT: Update some testing files from main</li> <li><a href="https://github.com/numpy/numpy/commit/96ca7e3b248878b16ad197da395099033d06ddf8"><code>96ca7e3</code></a> MAINT: respond to code review</li> <li><a href="https://github.com/numpy/numpy/commit/c20ac888de1d45c44c8d3a0e972a23e781a322ec"><code>c20ac88</code></a> MAINT: use a try/finally to make the deadlock protection more robust</li> <li><a href="https://github.com/numpy/numpy/commit/d4946475127870237d692df15edabb27d8fb2ef8"><code>d494647</code></a> MAINT: fix indentation and clarify comment</li> <li><a href="https://github.com/numpy/numpy/commit/3f8fbd6a7494078558897cafcd40c5288452fb72"><code>3f8fbd6</code></a> MAINT: go back to try/except</li> <li>Additional commits viewable in <a href="https://github.com/numpy/numpy/compare/v2.2.0...v2.2.3">compare view</a></li> </ul> </details> <br /> Updates `fastapi` from 0.115.0 to 0.115.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fastapi/fastapi/releases">fastapi's releases</a>.</em></p> <blockquote> <h2>0.115.8</h2> <h3>Fixes</h3> <ul> <li>🐛 Fix <code>OAuth2PasswordRequestForm</code> and <code>OAuth2PasswordRequestFormStrict</code> fixed <code>grant_type</code> "password" RegEx. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/9783">#9783</a> by <a href="https://github.com/skarfie123"><code>@skarfie123</code></a>.</li> </ul> <h3>Refactors</h3> <ul> <li>✅ Simplify tests for body_multiple_params . PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13237">#13237</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>♻️ Move duplicated code portion to a static method in the <code>APIKeyBase</code> super class. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/3142">#3142</a> by <a href="https://github.com/ShahriyarR"><code>@ShahriyarR</code></a>.</li> <li>✅ Simplify tests for request_files. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13182">#13182</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> </ul> <h3>Docs</h3> <ul> <li>📝 Change the word "unwrap" to "unpack" in <code>docs/en/docs/tutorial/extra-models.md</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13061">#13061</a> by <a href="https://github.com/timothy-jeong"><code>@timothy-jeong</code></a>.</li> <li>📝 Update Request Body's <code>tutorial002</code> to deal with <code>tax=0</code> case. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13230">#13230</a> by <a href="https://github.com/togogh"><code>@togogh</code></a>.</li> <li>👥 Update FastAPI People - Experts. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13269">#13269</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> </ul> <h3>Translations</h3> <ul> <li>🌐 Add Japanese translation for <code>docs/ja/docs/environment-variables.md</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13226">#13226</a> by <a href="https://github.com/k94-ishi"><code>@k94-ishi</code></a>.</li> <li>🌐 Add Russian translation for <code>docs/ru/docs/advanced/async-tests.md</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13227">#13227</a> by <a href="https://github.com/Rishat-F"><code>@Rishat-F</code></a>.</li> <li>🌐 Update Russian translation for <code>docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13252">#13252</a> by <a href="https://github.com/Rishat-F"><code>@Rishat-F</code></a>.</li> <li>🌐 Add Russian translation for <code>docs/ru/docs/tutorial/bigger-applications.md</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13154">#13154</a> by <a href="https://github.com/alv2017"><code>@alv2017</code></a>.</li> </ul> <h3>Internal</h3> <ul> <li>⬆️ Add support for Python 3.13. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13274">#13274</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>⬆️ Upgrade AnyIO max version for tests, new range: <code>>=3.2.1,<5.0.0</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13273">#13273</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>🔧 Update Sponsors badges. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13271">#13271</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>♻️ Fix <code>notify_translations.py</code> empty env var handling for PR label events vs workflow_dispatch. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13272">#13272</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>♻️ Refactor and move <code>scripts/notify_translations.py</code>, no need for a custom GitHub Action. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13270">#13270</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>🔨 Update FastAPI People Experts script, refactor and optimize data fetching to handle rate limits. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13267">#13267</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13251">#13251</a> by <a href="https://github.com/apps/dependabot"><code>@dependabot[bot]</code></a>.</li> </ul> <h2>0.115.7</h2> <h3>Upgrades</h3> <ul> <li>⬆️ Upgrade <code>python-multipart</code> to >=0.0.18. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13219">#13219</a> by <a href="https://github.com/DanielKusyDev"><code>@DanielKusyDev</code></a>.</li> <li>⬆️ Bump Starlette to allow up to 0.45.0: <code>>=0.40.0,<0.46.0</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13117">#13117</a> by <a href="https://github.com/Kludex"><code>@Kludex</code></a>.</li> <li>⬆️ Upgrade <code>jinja2</code> to >=3.1.5. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13194">#13194</a> by <a href="https://github.com/DanielKusyDev"><code>@DanielKusyDev</code></a>.</li> </ul> <h3>Refactors</h3> <ul> <li>✅ Simplify tests for websockets. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13202">#13202</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>✅ Simplify tests for request_form_models . PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13183">#13183</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>✅ Simplify tests for separate_openapi_schemas. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13201">#13201</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>✅ Simplify tests for security. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13200">#13200</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>✅ Simplify tests for schema_extra_example. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13197">#13197</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>✅ Simplify tests for request_model. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13195">#13195</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> <li>✅ Simplify tests for request_forms_and_files. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13185">#13185</a> by <a href="https://github.com/alejsdev"><code>@alejsdev</code></a>.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/fastapi/fastapi/commit/7128971f1d61e2e1e6f220a5f66baa925b635278"><code>7128971</code></a> 🔖 Release version 0.115.8</li> <li><a href="https://github.com/fastapi/fastapi/commit/55f8a446c7c02ac6bb26e7adcdeb5ade2408a0ba"><code>55f8a44</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/83ab6ac95797395b5664626b66d1c3f1f5b0e8dc"><code>83ab6ac</code></a> 📝 Change the word "unwrap" to "unpack" in `docs/en/docs/tutorial/extra-models...</li> <li><a href="https://github.com/fastapi/fastapi/commit/3d02a920ab7c4b2d26bab67b10e35fc90a923ce1"><code>3d02a92</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/1b00f8ae7821353cc9657797c475e2c0d9acd423"><code>1b00f8a</code></a> ✅ Simplify tests for body_multiple_params (<a href="https://redirect.github.com/fastapi/fastapi/issues/13237">#13237</a>)</li> <li><a href="https://github.com/fastapi/fastapi/commit/d97647fd572169cf0434919464de5406057e32f4"><code>d97647f</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/9667ce87a908eecc2be2a215adcb55c7e1b38040"><code>9667ce8</code></a> 📝 Update Request Body's <code>tutorial002</code> to deal with <code>tax=0</code> case (<a href="https://redirect.github.com/fastapi/fastapi/issues/13230">#13230</a>)</li> <li><a href="https://github.com/fastapi/fastapi/commit/0541693bc7611da858f71d896a3b9780751c04f8"><code>0541693</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/041b2e1c4643c9837d2e7f8589351492cf76497a"><code>041b2e1</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/30b270be9ac9cf931b0efaac549ba0ad8112f547"><code>30b270b</code></a> ♻️ Move duplicated code portion to a static method in the <code>APIKeyBase</code> super ...</li> <li>Additional commits viewable in <a href="https://github.com/fastapi/fastapi/compare/0.115.0...0.115.8">compare view</a></li> </ul> </details> <br /> Updates `click` from 8.1.7 to 8.1.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets/click/releases">click's releases</a>.</em></p> <blockquote> <h2>8.1.8</h2> <p>This is the Click 8.1.8 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.1.8/">https://pypi.org/project/click/8.1.8/</a> Changes: <a href="https://click.palletsprojects.com/en/stable/changes/#version-8-1-8">https://click.palletsprojects.com/en/stable/changes/#version-8-1-8</a> Milestone <a href="https://github.com/pallets/click/milestones/23?closed=1">https://github.com/pallets/click/milestones/23?closed=1</a></p> <ul> <li>Fix an issue with type hints for <code>click.open_file()</code>. <a href="https://redirect.github.com/pallets/click/issues/2717">#2717</a></li> <li>Fix issue where error message for invalid <code>click.Path</code> displays on multiple lines. <a href="https://redirect.github.com/pallets/click/issues/2697">#2697</a></li> <li>Fixed issue that prevented a default value of <code>""</code> from being displayed in the help for an option. <a href="https://redirect.github.com/pallets/click/issues/2500">#2500</a></li> <li>The test runner handles stripping color consistently on Windows. <a href="https://redirect.github.com/pallets/click/issues/2705">#2705</a></li> <li>Show correct value for flag default when using <code>default_map</code>. <a href="https://redirect.github.com/pallets/click/issues/2632">#2632</a></li> <li>Fix <code>click.echo(color=...)</code> passing <code>color</code> to coloroma so it can be forced on Windows. <a href="https://redirect.github.com/pallets/click/issues/2606">#2606</a>.</li> <li>More robust bash version check, fixing problem on Windows with git-bash. <a href="https://redirect.github.com/pallets/click/issues/2638">#2638</a></li> <li>Cache the help option generated by the <code>help_option_names</code> setting to respect its eagerness. <a href="https://redirect.github.com/pallets/click/issues/2811">#2811</a></li> <li>Replace uses of <code>os.system</code> with <code>subprocess.Popen</code>. <a href="https://redirect.github.com/pallets/click/issues/1476">#1476</a></li> <li>Exceptions generated during a command will use the context's <code>color</code> setting when being displayed. <a href="https://redirect.github.com/pallets/click/issues/2193">#2193</a></li> <li>Error message when defining option with invalid name is more descriptive. <a href="https://redirect.github.com/pallets/click/issues/2452">#2452</a></li> <li>Refactor code generating default <code>--help</code> option to deduplicate code. <a href="https://redirect.github.com/pallets/click/issues/2563">#2563</a></li> <li>Test <code>CLIRunner</code> resets patched <code>_compat.should_strip_ansi</code>. <a href="https://redirect.github.com/pallets/click/issues/2732">#2732</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets/click/blob/main/CHANGES.rst">click's changelog</a>.</em></p> <blockquote> <h2>Version 8.1.8</h2> <p>Unreleased</p> <ul> <li>Fix an issue with type hints for <code>click.open_file()</code>. :issue:<code>2717</code></li> <li>Fix issue where error message for invalid <code>click.Path</code> displays on multiple lines. :issue:<code>2697</code></li> <li>Fixed issue that prevented a default value of <code>""</code> from being displayed in the help for an option. :issue:<code>2500</code></li> <li>The test runner handles stripping color consistently on Windows. :issue:<code>2705</code></li> <li>Show correct value for flag default when using <code>default_map</code>. :issue:<code>2632</code></li> <li>Fix <code>click.echo(color=...)</code> passing <code>color</code> to coloroma so it can be forced on Windows. :issue:<code>2606</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pallets/click/commit/934813e4d421071a1b3db3973c02fe2721359a6e"><code>934813e</code></a> release version 8.1.8</li> <li><a href="https://github.com/pallets/click/commit/c23223b13c847ae472faa258907ffb5c27b504fa"><code>c23223b</code></a> Add links to third-party projects enhancing Click (<a href="https://redirect.github.com/pallets/click/issues/2815">#2815</a>)</li> <li><a href="https://github.com/pallets/click/commit/822d4fd0bcfcd0ab22c9eec550ee2dae2a3d260c"><code>822d4fd</code></a> Add links to third-party projects</li> <li><a href="https://github.com/pallets/click/commit/8e7bed0466fd49acf8bcf1399f54d7dc783fd6a1"><code>8e7bed0</code></a> Break up arguments section (<a href="https://redirect.github.com/pallets/click/issues/2586">#2586</a>)</li> <li><a href="https://github.com/pallets/click/commit/3241541fc89fe9c79908a6099fa2235dd20016e8"><code>3241541</code></a> Remove some typing hints.</li> <li><a href="https://github.com/pallets/click/commit/bed037717d5f39cf875d83df4025e62beebc77f4"><code>bed0377</code></a> remove test pypi</li> <li><a href="https://github.com/pallets/click/commit/653459007a15e4d75187acc5a1e1a08cbd787814"><code>6534590</code></a> update dev dependencies</li> <li><a href="https://github.com/pallets/click/commit/b1e392e69b2a32566550aa41c38875e9cafe2456"><code>b1e392e</code></a> fix typos</li> <li><a href="https://github.com/pallets/click/commit/fdc6b020465751d26f9e74a707f2c058b0dd251f"><code>fdc6b02</code></a> Fix missing reset in isolation function (<a href="https://redirect.github.com/pallets/click/issues/2733">#2733</a>)</li> <li><a href="https://github.com/pallets/click/commit/ffd43e9dc3b90bd698088fc7ebac9dbc6a4444b2"><code>ffd43e9</code></a> Fixed missing reset on _compat.should_strip_ansi.</li> <li>Additional commits viewable in <a href="https://github.com/pallets/click/compare/8.1.7...8.1.8">compare view</a></li> </ul> </details> <br /> Updates `httpx` from 0.28.0 to 0.28.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/encode/httpx/releases">httpx's releases</a>.</em></p> <blockquote> <h2>Version 0.28.1</h2> <h2>0.28.1 (6th December, 2024)</h2> <ul> <li>Fix SSL case where <code>verify=False</code> together with client side certificates.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/encode/httpx/blob/master/CHANGELOG.md">httpx's changelog</a>.</em></p> <blockquote> <h2>0.28.1 (6th December, 2024)</h2> <ul> <li>Fix SSL case where <code>verify=False</code> together with client side certificates.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/encode/httpx/commit/26d48e0634e6ee9cdc0533996db289ce4b430177"><code>26d48e0</code></a> Version 0.28.1 (<a href="https://redirect.github.com/encode/httpx/issues/3445">#3445</a>)</li> <li><a href="https://github.com/encode/httpx/commit/89599a9541af14bcf906fc4ed58ccbdf403802ba"><code>89599a9</code></a> Fix <code>verify=False</code>, <code>cert=...</code> case. (<a href="https://redirect.github.com/encode/httpx/issues/3442">#3442</a>)</li> <li><a href="https://github.com/encode/httpx/commit/8ecb86f0d74ffc52d4663214fae9526bee89358d"><code>8ecb86f</code></a> Add test for request params behavior changes (<a href="https://redirect.github.com/encode/httpx/issues/3364">#3364</a>) (<a href="https://redirect.github.com/encode/httpx/issues/3440">#3440</a>)</li> <li><a href="https://github.com/encode/httpx/commit/0cb7e5a2e736628e2f506d259fcf0d48cd2bde82"><code>0cb7e5a</code></a> Bump the python-packages group with 11 updates (<a href="https://redirect.github.com/encode/httpx/issues/3434">#3434</a>)</li> <li><a href="https://github.com/encode/httpx/commit/15e21e9ea3cad4f06e22a7e704aabefdf43d2e29"><code>15e21e9</code></a> Updating deprecated docstring Client() class (<a href="https://redirect.github.com/encode/httpx/issues/3426">#3426</a>)</li> <li>See full diff in <a href="https://github.com/encode/httpx/compare/0.28.0...0.28.1">compare view</a></li> </ul> </details> <br /> Updates `pytest` from 8.3.1 to 8.3.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>8.3.4</h2> <h1>pytest 8.3.4 (2024-12-01)</h1> <h2>Bug fixes</h2> <ul> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12592">#12592</a>: Fixed <code>KeyError</code>{.interpreted-text role="class"} crash when using <code>--import-mode=importlib</code> in a directory layout where a directory contains a child directory with the same name.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12818">#12818</a>: Assertion rewriting now preserves the source ranges of the original instructions, making it play well with tools that deal with the <code>AST</code>, like <a href="https://github.com/alexmojaki/executing">executing</a>.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12849">#12849</a>: ANSI escape codes for colored output now handled correctly in <code>pytest.fail</code>{.interpreted-text role="func"} with [pytrace=False]{.title-ref}.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/9353">#9353</a>: <code>pytest.approx</code>{.interpreted-text role="func"} now uses strict equality when given booleans.</p> </li> </ul> <h2>Improved documentation</h2> <ul> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/10558">#10558</a>: Fix ambiguous docstring of <code>pytest.Config.getoption</code>{.interpreted-text role="func"}.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/10829">#10829</a>: Improve documentation on the current handling of the <code>--basetemp</code> option and its lack of retention functionality (<code>temporary directory location and retention</code>{.interpreted-text role="ref"}).</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12866">#12866</a>: Improved cross-references concerning the <code>recwarn</code>{.interpreted-text role="fixture"} fixture.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12966">#12966</a>: Clarify <code>filterwarnings</code>{.interpreted-text role="ref"} docs on filter precedence/order when using multiple <code>@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref></code>{.interpreted-text role="ref"} marks.</p> </li> </ul> <h2>Contributor-facing changes</h2> <ul> <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/12497">#12497</a>: Fixed two failing pdb-related tests on Python 3.13.</li> </ul> <h2>8.3.3</h2> <h1>pytest 8.3.3 (2024-09-09)</h1> <h2>Bug fixes</h2> <ul> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12446">#12446</a>: Avoid calling <code>@property</code> (and other instance descriptors) during fixture discovery -- by <code>asottile</code>{.interpreted-text role="user"}</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12659">#12659</a>: Fixed the issue of not displaying assertion failure differences when using the parameter <code>--import-mode=importlib</code> in pytest>=8.1.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest/commit/53f8b4e634c5066c4f797a87b20060edbb086240"><code>53f8b4e</code></a> Update pypa/gh-action-pypi-publish to v1.12.2</li> <li><a href="https://github.com/pytest-dev/pytest/commit/98dff36c9dc0a44881e9e90daf381f9079adf4cc"><code>98dff36</code></a> Prepare release version 8.3.4</li> <li><a href="https://github.com/pytest-dev/pytest/commit/1b474e221d5ced2c8c73924a0087e6e24ab6cd61"><code>1b474e2</code></a> approx: use exact comparison for bool (<a href="https://redirect.github.com/pytest-dev/pytest/issues/13013">#13013</a>)</li> <li><a href="https://github.com/pytest-dev/pytest/commit/b541721529feba7fcd0d069fa2437a817f340eba"><code>b541721</code></a> docs: Fix wrong statement about sys.modules with importlib import mode (<a href="https://redirect.github.com/pytest-dev/pytest/issues/1298">#1298</a>...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/16cb87b65036300d74472cd55eebca8fc3f8e703"><code>16cb87b</code></a> pytest.fail: fix ANSI escape codes for colored output (<a href="https://redirect.github.com/pytest-dev/pytest/issues/12959">#12959</a>) (<a href="https://redirect.github.com/pytest-dev/pytest/issues/12990">#12990</a>)</li> <li><a href="https://github.com/pytest-dev/pytest/commit/be6bc812b02454b2915755dd76ce74b877aeafad"><code>be6bc81</code></a> Issue <a href="https://redirect.github.com/pytest-dev/pytest/issues/12966">#12966</a> Clarify filterwarnings docs on precedence when using multiple ma...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/7aeb72bbc67bd1b8271eee57caa0a4e9b07038fc"><code>7aeb72b</code></a> Improve docs on basetemp and retention (<a href="https://redirect.github.com/pytest-dev/pytest/issues/12912">#12912</a>) (<a href="https://redirect.github.com/pytest-dev/pytest/issues/12928">#12928</a>)</li> <li><a href="https://github.com/pytest-dev/pytest/commit/c8758414cfd1646f273842e8f9292b2c15dcfcfb"><code>c875841</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12917">#12917</a> from pytest-dev/patchback/backports/8.3.x/ded1f44e5...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/6502816d977fcdbd65a3f4d8a63c0ce7c1f25649"><code>6502816</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12913">#12913</a> from jakkdl/dontfailonbadpath</li> <li><a href="https://github.com/pytest-dev/pytest/commit/52135b033fb949efbec6aed9dd9000275bb199fd"><code>52135b0</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12885">#12885</a> from The-Compiler/pdb-py311 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/12887">#12887</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/8.3.1...8.3.4">compare view</a></li> </ul> </details> <br /> Updates `typeguard` from 4.4.1 to 4.4.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/agronholm/typeguard/releases">typeguard's releases</a>.</em></p> <blockquote> <h2>4.4.2</h2> <ul> <li>Fixed <code>TypeCheckError</code> in unpacking assignment involving properties of a parameter of the function (<a href="https://redirect.github.com/agronholm/typeguard/issues/506">#506</a>; regression introduced in v4.4.1)</li> <li>Fixed display of module name for forward references (<a href="https://redirect.github.com/agronholm/typeguard/pull/492">#492</a>; PR by <a href="https://github.com/JelleZijlstra"><code>@JelleZijlstra</code></a>)</li> <li>Fixed <code>TypeError</code> when using an assignment expression (<a href="https://redirect.github.com/agronholm/typeguard/issues/510">#510</a>; PR by <a href="https://github.com/JohannesK71083"><code>@JohannesK71083</code></a>)</li> <li>Fixed <code>ValueError: no signature found for builtin</code> when checking against a protocol and a matching attribute in the subject is a built-in function (<a href="https://redirect.github.com/agronholm/typeguard/issues/504">#504</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/agronholm/typeguard/blob/master/docs/versionhistory.rst">typeguard's changelog</a>.</em></p> <blockquote> <h1>Version history</h1> <p>This library adheres to <code>Semantic Versioning 2.0 <https://semver.org/#semantic-versioning-200></code>_.</p> <p><strong>4.4.2</strong> (2025-02-16)</p> <ul> <li>Fixed <code>TypeCheckError</code> in unpacking assignment involving properties of a parameter of the function (<code>[#506](https://github.com/agronholm/typeguard/issues/506) <https://github.com/agronholm/typeguard/issues/506></code>_; regression introduced in v4.4.1)</li> <li>Fixed display of module name for forward references (<code>[#492](https://github.com/agronholm/typeguard/issues/492) <https://github.com/agronholm/typeguard/pull/492></code>_; PR by <a href="https://github.com/JelleZijlstra"><code>@JelleZijlstra</code></a>)</li> <li>Fixed <code>TypeError</code> when using an assignment expression (<code>[#510](https://github.com/agronholm/typeguard/issues/510) <https://github.com/agronholm/typeguard/issues/510></code>_; PR by <a href="https://github.com/JohannesK71083"><code>@JohannesK71083</code></a>)</li> <li>Fixed <code>ValueError: no signature found for builtin</code> when checking against a protocol and a matching attribute in the subject is a built-in function (<code>[#504](https://github.com/agronholm/typeguard/issues/504) <https://github.com/agronholm/typeguard/issues/504></code>_)</li> </ul> <p><strong>4.4.1</strong> (2024-11-03)</p> <ul> <li>Dropped Python 3.8 support</li> <li>Changed the signature of <code>…
I ran the typeguard test suite on the current CPython main branch to
look for possible breakage from PEP 649 and 749, which makes large
changes to how annotations work.
I found three problems:
deprecating. Made a change to use the new public API for ForwardRef.evaluate
instead.
ref. I made it so that it doesn't use module for ForwardRef objects.
tests/test_instrumentation.py::test_typevar_forwardref[importhook]
It's apparently due to caching (it doesn't fail if I run only that one test),
but I haven't tracked down the exact cause.
I also added some new tests relying on 3.14-only behavior (unquoted annotations containing forward references). Those mostly worked fine, but I had to make another tweak to how functions are wrapped.
Since the APIs in Python 3.14 may still change, I'll make this a draft
PR for now.
Checklist
If this is a user-facing code change, like a bugfix or a new feature, please ensure that
you've fulfilled the following conditions (where applicable):
tests/
) added which would fail without your patchdocs/
, in case of behavior changes or newfeatures)
docs/versionhistory.rst
).