Commits


use a default ref-prefix when fetching with git protocol v2 (#1404) Github's SSH git protocol v2 server returns a useless reference list which only contains "HEAD" unless we explicitly ask for the "refs/" prefix. Fixes issue #1389


Test symrefs handling for git protocol v2 (#1403) This adds missing compat tests for symref handling in git protocol v2 and fixes a bug in the HTTP client implementation uncovered by the tests.


use a default ref-prefix when fetching with git protocol v2 Github's SSH git protocol v2 server returns a useless reference list which only contains "HEAD" unless we explicitly ask for the "refs/" prefix. Fixes issue #1389


add compat test case which verifies behaviour with a non-default symref


Add ObjectStore.iter_prefix (#1402) This allow scanning an object store for a specific SHA prefix. The default implementation is naive and scans the entire key space, but specific implementations have more efficient approaches, improving performance.,


fix detection of HEAD symref with protocol v2 over HTTP and add a test case related to issue #1389


Bump ruff from 0.7.0 to 0.7.1 (#1400) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.0 to 0.7.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>0.7.1</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>Fix <code>E221</code> and <code>E222</code> to flag missing or extra whitespace around <code>==</code> operator (<a href="https://redirect.github.com/astral-sh/ruff/pull/13890">#13890</a>)</li> <li>Formatter: Alternate quotes for strings inside f-strings in preview (<a href="https://redirect.github.com/astral-sh/ruff/pull/13860">#13860</a>)</li> <li>Formatter: Join implicit concatenated strings when they fit on a line (<a href="https://redirect.github.com/astral-sh/ruff/pull/13663">#13663</a>)</li> <li>[<code>pylint</code>] Restrict <code>iteration-over-set</code> to only work on sets of literals (<code>PLC0208</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13731">#13731</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-type-checking</code>] Support auto-quoting when annotations contain quotes (<a href="https://redirect.github.com/astral-sh/ruff/pull/11811">#11811</a>)</li> </ul> <h3>Server</h3> <ul> <li>Avoid indexing the workspace for single-file mode (<a href="https://redirect.github.com/astral-sh/ruff/pull/13770">#13770</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Make <code>ARG002</code> compatible with <code>EM101</code> when raising <code>NotImplementedError</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/13714">#13714</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Introduce more Docker tags for Ruff (similar to uv) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13274">#13274</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/Aditya-PS-05"><code>@​Aditya-PS-05</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li> <li><a href="https://github.com/Glyphack"><code>@​Glyphack</code></a></li> <li><a href="https://github.com/Lexxxzy"><code>@​Lexxxzy</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li> <li><a href="https://github.com/TomerBin"><code>@​TomerBin</code></a></li> <li><a href="https://github.com/Watercycle"><code>@​Watercycle</code></a></li> <li><a href="https://github.com/cake-monotone"><code>@​cake-monotone</code></a></li> <li><a href="https://github.com/carljm"><code>@​carljm</code></a></li> <li><a href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li> <li><a href="https://github.com/diceroll123"><code>@​diceroll123</code></a></li> <li><a href="https://github.com/mihaic"><code>@​mihaic</code></a></li> <li><a href="https://github.com/ndmitchell"><code>@​ndmitchell</code></a></li> <li><a href="https://github.com/pilleye"><code>@​pilleye</code></a></li> <li><a href="https://github.com/renovate"><code>@​renovate</code></a></li> <li><a href="https://github.com/rtpg"><code>@​rtpg</code></a></li> <li><a href="https://github.com/samypr100"><code>@​samypr100</code></a></li> <li><a href="https://github.com/sharkdp"><code>@​sharkdp</code></a></li> </ul> <h2>Install ruff 0.7.1</h2> <h3>Install prebuilt binaries via shell script</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.7.1</h2> <h3>Preview features</h3> <ul> <li>Fix <code>E221</code> and <code>E222</code> to flag missing or extra whitespace around <code>==</code> operator (<a href="https://redirect.github.com/astral-sh/ruff/pull/13890">#13890</a>)</li> <li>Formatter: Alternate quotes for strings inside f-strings in preview (<a href="https://redirect.github.com/astral-sh/ruff/pull/13860">#13860</a>)</li> <li>Formatter: Join implicit concatenated strings when they fit on a line (<a href="https://redirect.github.com/astral-sh/ruff/pull/13663">#13663</a>)</li> <li>[<code>pylint</code>] Restrict <code>iteration-over-set</code> to only work on sets of literals (<code>PLC0208</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13731">#13731</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-type-checking</code>] Support auto-quoting when annotations contain quotes (<a href="https://redirect.github.com/astral-sh/ruff/pull/11811">#11811</a>)</li> </ul> <h3>Server</h3> <ul> <li>Avoid indexing the workspace for single-file mode (<a href="https://redirect.github.com/astral-sh/ruff/pull/13770">#13770</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Make <code>ARG002</code> compatible with <code>EM101</code> when raising <code>NotImplementedError</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/13714">#13714</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Introduce more Docker tags for Ruff (similar to uv) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13274">#13274</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/337af836d3b2d88413c1391495a94755af46f574"><code>337af83</code></a> Bump version to 0.7.1 (<a href="https://redirect.github.com/astral-sh/ruff/issues/13913">#13913</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/113ce840a690cd59acbaf7d40d70b4352df681fe"><code>113ce84</code></a> Fix <code>normalize</code> arguments when <code>fstring_formatting</code> is disabled (<a href="https://redirect.github.com/astral-sh/ruff/issues/13910">#13910</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/7272f8386894583f61c8b83200899906de64eaf4"><code>7272f83</code></a> Fix preview style name in <code>can_omit_parentheses</code> to is_f_string_formatting_en...</li> <li><a href="https://github.com/astral-sh/ruff/commit/3eb454699ade14cfb6f393d10ff5b4914ab34b0f"><code>3eb4546</code></a> [red-knot] Format mdtest Python snippets more concisely (<a href="https://redirect.github.com/astral-sh/ruff/issues/13905">#13905</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/77ae0ccf0f5c8eda2e0249d517043e7f7279588b"><code>77ae0cc</code></a> [red-knot] Infer subscript expression types for bytes literals (<a href="https://redirect.github.com/astral-sh/ruff/issues/13901">#13901</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/73ee72b665f333c47c9f597d06317854dd59bdd3"><code>73ee72b</code></a> Join implicit concatenated strings when they fit on a line (<a href="https://redirect.github.com/astral-sh/ruff/issues/13663">#13663</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/e402e27a09242d7a3e95082349ebabb6362a0e2e"><code>e402e27</code></a> Use referencial equality in <code>traversal</code> helper methods (<a href="https://redirect.github.com/astral-sh/ruff/issues/13895">#13895</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/de4181d7dd2baca8beff8217a8c897537b80baa0"><code>de4181d</code></a> Remove &quot;default&quot; remark from <code>ruff check</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/13900">#13900</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2c57c2dc8ac972bfb7b01e736d65f8e608bf61f6"><code>2c57c2d</code></a> [red-knot] Type narrowing for <code>isinstance</code> checks (<a href="https://redirect.github.com/astral-sh/ruff/issues/13894">#13894</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/72c18c8225166f1f08a826c622b9cbcb48331162"><code>72c18c8</code></a> Fix E221 and E222 to flag missing or extra whitespace around <code>==</code> operator (#...</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.7.0...0.7.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.7.0&new-version=0.7.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot 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>


Use ObjectStore.iter_prefix in scan_for_short_id


Add ObjectStore.iter_prefix


Bump ruff from 0.7.0 to 0.7.1 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.0 to 0.7.1. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.7.0...0.7.1) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>


Bump mypy from 1.12.1 to 1.13.0 (#1401) Bumps [mypy](https://github.com/python/mypy) from 1.12.1 to 1.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's changelog</a>.</em></p> <blockquote> <h1>Mypy Release Notes</h1> <h2>Next release</h2> <h2>Mypy 1.13</h2> <p>We’ve just uploaded mypy 1.13 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type checker for Python. You can install it as follows:</p> <pre><code>python3 -m pip install -U mypy </code></pre> <p>You can read the full documentation for this release on <a href="http://mypy.readthedocs.io">Read the Docs</a>.</p> <p>Note that unlike typical releases, Mypy 1.13 does not have any changes to type checking semantics from 1.12.1.</p> <h3>Improved performance</h3> <p>Mypy 1.13 contains several performance improvements. Users can expect mypy to be 5-20% faster. In environments with long search paths (such as environments using many editable installs), mypy can be significantly faster, e.g. 2.2x faster in the use case targeted by these improvements.</p> <p>Mypy 1.13 allows use of the <code>orjson</code> library for handling the cache instead of the stdlib <code>json</code>, for improved performance. You can ensure the presence of <code>orjson</code> using the <code>faster-cache</code> extra:</p> <pre><code>python3 -m pip install -U mypy[faster-cache] </code></pre> <p>Mypy may depend on <code>orjson</code> by default in the future.</p> <p>These improvements were contributed by Shantanu.</p> <p>List of changes:</p> <ul> <li>Significantly speed up file handling error paths (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17920">17920</a>)</li> <li>Use fast path in modulefinder more often (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17950">17950</a>)</li> <li>Let mypyc optimise os.path.join (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17949">17949</a>)</li> <li>Make is_sub_path faster (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17962">17962</a>)</li> <li>Speed up stubs suggestions (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17965">17965</a>)</li> <li>Use sha1 for hashing (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17953">17953</a>)</li> <li>Use orjson instead of json, when available (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17955">17955</a>)</li> <li>Add faster-cache extra, test in CI (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17978">17978</a>)</li> </ul> <h3>Acknowledgements</h3> <p>Thanks to all mypy contributors who contributed to this release:</p> <ul> <li>Shantanu Jain</li> <li>Jukka Lehtosalo</li> </ul> <h2>Mypy 1.12</h2> <p>We’ve just uploaded mypy 1.12 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/mypy/commit/eb310343be0399ea6755fabc259755ce1f6711e8"><code>eb31034</code></a> Bump version to 1.13.0</li> <li><a href="https://github.com/python/mypy/commit/2eeb5880184970ae1c0b20c0e06855b6d311bc19"><code>2eeb588</code></a> Update changelog for 1.12.1 (<a href="https://redirect.github.com/python/mypy/issues/17999">#17999</a>)</li> <li><a href="https://github.com/python/mypy/commit/bc0386b7f96aa131cbf345698a22a9d4b79e9cb4"><code>bc0386b</code></a> Changelog for 1.13 (<a href="https://redirect.github.com/python/mypy/issues/18000">#18000</a>)</li> <li><a href="https://github.com/python/mypy/commit/5c4d2db7009fa9035b8b3fcffe25182aaa4dc846"><code>5c4d2db</code></a> Add faster-cache extra, test in CI (<a href="https://redirect.github.com/python/mypy/issues/17978">#17978</a>)</li> <li><a href="https://github.com/python/mypy/commit/854ad189ab7c4f487950ad34e142fd327dce3227"><code>854ad18</code></a> Make is_sub_path faster (<a href="https://redirect.github.com/python/mypy/issues/17962">#17962</a>)</li> <li><a href="https://github.com/python/mypy/commit/50aa4ca8425d0bb668d514b8ee5c6aeacb605b27"><code>50aa4ca</code></a> Speed up stubs suggestions (<a href="https://redirect.github.com/python/mypy/issues/17965">#17965</a>)</li> <li><a href="https://github.com/python/mypy/commit/7c27808a0be2fc205788a826be83cbb0a68f89e1"><code>7c27808</code></a> Use orjson instead of json, when available (<a href="https://redirect.github.com/python/mypy/issues/17955">#17955</a>)</li> <li><a href="https://github.com/python/mypy/commit/2cd2406117e86838de36a9f73ba47c67fa763e1a"><code>2cd2406</code></a> Use fast path in modulefinder more often (<a href="https://redirect.github.com/python/mypy/issues/17950">#17950</a>)</li> <li><a href="https://github.com/python/mypy/commit/e20aaeeaa215b2e617d460599c4310427ba8f902"><code>e20aaee</code></a> Let mypyc optimise os.path.join (<a href="https://redirect.github.com/python/mypy/issues/17949">#17949</a>)</li> <li><a href="https://github.com/python/mypy/commit/159974cc59de459cfb3e31ba3e1d8f279734f66d"><code>159974c</code></a> Use sha1 for hashing (<a href="https://redirect.github.com/python/mypy/issues/17953">#17953</a>)</li> <li>Additional commits viewable in <a href="https://github.com/python/mypy/compare/v1.12.1...v1.13.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy&package-manager=pip&previous-version=1.12.1&new-version=1.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot 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>


Add PackIndex.iter_prefix


Bump mypy from 1.12.1 to 1.13.0 Bumps [mypy](https://github.com/python/mypy) from 1.12.1 to 1.13.0. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.12.1...v1.13.0) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>


Build pure wheels (#1398)


Add ObjectStore.iter_prefix


Build pure wheels


Bump ruff from 0.6.9 to 0.7.0 (#1396) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.9 to 0.7.0. <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.7.0</h2> <h2>Release Notes</h2> <p>Check out the <a href="https://astral.sh/blog/ruff-v0.7.0">blog post</a> for a migration guide and overview of the changes!</p> <h3>Breaking changes</h3> <ul> <li>The pytest rules <code>PT001</code> and <code>PT023</code> now default to omitting the decorator parentheses when there are no arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/12838">#12838</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/13292">#13292</a>). This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part. See the <a href="https://astral.sh/blog/ruff-v0.7.0">blog post</a> for more details.</li> <li>The <code>useless-try-except</code> rule (in our <code>tryceratops</code> category) has been recoded from <code>TRY302</code> to <code>TRY203</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/13502">#13502</a>). This ensures Ruff's code is consistent with the same rule in the <a href="https://github.com/guilatrova/tryceratops"><code>tryceratops</code></a> linter.</li> <li>The <code>lint.allow-unused-imports</code> setting has been removed (<a href="https://redirect.github.com/astral-sh/ruff/pull/13677">#13677</a>). Use <a href="https://docs.astral.sh/ruff/settings/#lint_pyflakes_allowed-unused-imports"><code>lint.pyflakes.allow-unused-imports</code></a> instead.</li> </ul> <h3>Formatter preview style</h3> <ul> <li>Normalize implicit concatenated f-string quotes per part (<a href="https://redirect.github.com/astral-sh/ruff/pull/13539">#13539</a>)</li> </ul> <h3>Preview linter features</h3> <ul> <li>[<code>refurb</code>] implement <code>hardcoded-string-charset</code> (FURB156) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13530">#13530</a>)</li> <li>[<code>refurb</code>] Count codepoints not bytes for <code>slice-to-remove-prefix-or-suffix (FURB188)</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/13631">#13631</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Mark <code>PLE1141</code> fix as unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/13629">#13629</a>)</li> <li>[<code>flake8-async</code>] Consider async generators to be &quot;checkpoints&quot; for <code>cancel-scope-no-checkpoint</code> (<code>ASYNC100</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13639">#13639</a>)</li> <li>[<code>flake8-bugbear</code>] Do not suggest setting parameter <code>strict=</code> to <code>False</code> in <code>B905</code> diagnostic message (<a href="https://redirect.github.com/astral-sh/ruff/pull/13656">#13656</a>)</li> <li>[<code>flake8-todos</code>] Only flag the word &quot;TODO&quot;, not words starting with &quot;todo&quot; (<code>TD006</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13640">#13640</a>)</li> <li>[<code>pycodestyle</code>] Fix whitespace-related false positives and false negatives inside type-parameter lists (<code>E231</code>, <code>E251</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13704">#13704</a>)</li> <li>[<code>flake8-simplify</code>] Stabilize preview behavior for <code>SIM115</code> so that the rule can detect files being opened from a wider range of standard-library functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/12959">#12959</a>).</li> </ul> <h3>CLI</h3> <ul> <li>Add explanation of fixable in <code>--statistics</code> command (<a href="https://redirect.github.com/astral-sh/ruff/pull/13774">#13774</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>pyflakes</code>] Allow <code>ipytest</code> cell magic (<code>F401</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13745">#13745</a>)</li> <li>[<code>flake8-use-pathlib</code>] Fix <code>PTH123</code> false positive when <code>open</code> is passed a file descriptor (<a href="https://redirect.github.com/astral-sh/ruff/pull/13616">#13616</a>)</li> <li>[<code>flake8-bandit</code>] Detect patterns from multi line SQL statements (<code>S608</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13574">#13574</a>)</li> <li>[<code>flake8-pyi</code>] - Fix dropped expressions in <code>PYI030</code> autofix (<a href="https://redirect.github.com/astral-sh/ruff/pull/13727">#13727</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li> </ul> <!-- 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.7.0</h2> <p>Check out the <a href="https://astral.sh/blog/ruff-v0.7.0">blog post</a> for a migration guide and overview of the changes!</p> <h3>Breaking changes</h3> <ul> <li>The pytest rules <code>PT001</code> and <code>PT023</code> now default to omitting the decorator parentheses when there are no arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/12838">#12838</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/13292">#13292</a>). This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part. See the <a href="https://astral.sh/blog/ruff-v0.7.0">blog post</a> for more details.</li> <li>The <code>useless-try-except</code> rule (in our <code>tryceratops</code> category) has been recoded from <code>TRY302</code> to <code>TRY203</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/13502">#13502</a>). This ensures Ruff's code is consistent with the same rule in the <a href="https://github.com/guilatrova/tryceratops"><code>tryceratops</code></a> linter.</li> <li>The <code>lint.allow-unused-imports</code> setting has been removed (<a href="https://redirect.github.com/astral-sh/ruff/pull/13677">#13677</a>). Use <a href="https://docs.astral.sh/ruff/settings/#lint_pyflakes_allowed-unused-imports"><code>lint.pyflakes.allow-unused-imports</code></a> instead.</li> </ul> <h3>Formatter preview style</h3> <ul> <li>Normalize implicit concatenated f-string quotes per part (<a href="https://redirect.github.com/astral-sh/ruff/pull/13539">#13539</a>)</li> </ul> <h3>Preview linter features</h3> <ul> <li>[<code>refurb</code>] implement <code>hardcoded-string-charset</code> (FURB156) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13530">#13530</a>)</li> <li>[<code>refurb</code>] Count codepoints not bytes for <code>slice-to-remove-prefix-or-suffix (FURB188)</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/13631">#13631</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Mark <code>PLE1141</code> fix as unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/13629">#13629</a>)</li> <li>[<code>flake8-async</code>] Consider async generators to be &quot;checkpoints&quot; for <code>cancel-scope-no-checkpoint</code> (<code>ASYNC100</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13639">#13639</a>)</li> <li>[<code>flake8-bugbear</code>] Do not suggest setting parameter <code>strict=</code> to <code>False</code> in <code>B905</code> diagnostic message (<a href="https://redirect.github.com/astral-sh/ruff/pull/13656">#13656</a>)</li> <li>[<code>flake8-todos</code>] Only flag the word &quot;TODO&quot;, not words starting with &quot;todo&quot; (<code>TD006</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13640">#13640</a>)</li> <li>[<code>pycodestyle</code>] Fix whitespace-related false positives and false negatives inside type-parameter lists (<code>E231</code>, <code>E251</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13704">#13704</a>)</li> <li>[<code>flake8-simplify</code>] Stabilize preview behavior for <code>SIM115</code> so that the rule can detect files being opened from a wider range of standard-library functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/12959">#12959</a>).</li> </ul> <h3>CLI</h3> <ul> <li>Add explanation of fixable in <code>--statistics</code> command (<a href="https://redirect.github.com/astral-sh/ruff/pull/13774">#13774</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>pyflakes</code>] Allow <code>ipytest</code> cell magic (<code>F401</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13745">#13745</a>)</li> <li>[<code>flake8-use-pathlib</code>] Fix <code>PTH123</code> false positive when <code>open</code> is passed a file descriptor (<a href="https://redirect.github.com/astral-sh/ruff/pull/13616">#13616</a>)</li> <li>[<code>flake8-bandit</code>] Detect patterns from multi line SQL statements (<code>S608</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13574">#13574</a>)</li> <li>[<code>flake8-pyi</code>] - Fix dropped expressions in <code>PYI030</code> autofix (<a href="https://redirect.github.com/astral-sh/ruff/pull/13727">#13727</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/5e6de4e0c69660e8ca8608d1ac965216197756ce"><code>5e6de4e</code></a> Changelog for Ruff v0.7 (<a href="https://redirect.github.com/astral-sh/ruff/issues/13794">#13794</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/70e5c4a8ba679e80554c02bce7435dde085eb5bf"><code>70e5c4a</code></a> Recode <code>TRY302</code> to <code>TRY203</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/13502">#13502</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/9218d6bedc1063c110a8205db144fedc4366a3ec"><code>9218d6b</code></a> Remove <code>allow-unused-imports</code> setting from the common lint options (<a href="https://redirect.github.com/astral-sh/ruff/issues/13677">#13677</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/1b79ae9817d2c5da6ac81b069c5dff71e1e771c8"><code>1b79ae9</code></a> [ruff-0.7] Stabilise the expansion of <code>open-file-with-context-handler</code> to wor...</li> <li><a href="https://github.com/astral-sh/ruff/commit/2b87587ac2b407c9dfb0d020339218e12321a898"><code>2b87587</code></a> [<code>flake8-pytest-style</code>] Fix defaults when <code>lint.flake8-pytest-style</code> config s...</li> <li><a href="https://github.com/astral-sh/ruff/commit/d1e15f6246265dab43bbfbc0f9c10c8a8e720347"><code>d1e15f6</code></a> Remove tab-size setting (<a href="https://redirect.github.com/astral-sh/ruff/issues/12835">#12835</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/89a82158a12fe903c0bcbbbeafc9e00b9f888539"><code>89a8215</code></a> Remove error messages for removed CLI aliases (<a href="https://redirect.github.com/astral-sh/ruff/issues/12833">#12833</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/202c6a6d753ba07aee27220eaece04b7f52b9d6a"><code>202c6a6</code></a> Remove <code>output-format=text</code> setting (<a href="https://redirect.github.com/astral-sh/ruff/issues/12836">#12836</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/5c3c0c4705dfba0ba777df384482464e29e7d86c"><code>5c3c0c4</code></a> [red-knot] Inference for comparison of union types (<a href="https://redirect.github.com/astral-sh/ruff/issues/13781">#13781</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/6b7a738825a5268590fbf4e9724930734d326f32"><code>6b7a738</code></a> Add explanation of fixable in <code>--statistics</code> command (<a href="https://redirect.github.com/astral-sh/ruff/issues/13774">#13774</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.6.9...0.7.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.6.9&new-version=0.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot 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>


Bump ruff from 0.6.9 to 0.7.0 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.9 to 0.7.0. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.6.9...0.7.0) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>


Bump mypy from 1.12.0 to 1.12.1 (#1395) Bumps [mypy](https://github.com/python/mypy) from 1.12.0 to 1.12.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's changelog</a>.</em></p> <blockquote> <h3>Mypy 1.12.1</h3> <ul> <li>Fix crash when showing partially analyzed type in error message (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/17961">17961</a>)</li> <li>Fix iteration over union (when self type is involved) (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17976">17976</a>)</li> <li>Fix type object with type var default in union context (Jukka Lehtosalo, PR <a href="https://redirect.github.com/python/mypy/pull/17991">17991</a>)</li> <li>Revert change to <code>os.path</code> stubs affecting use of <code>os.PathLike[Any]</code> (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/17995">17995</a>)</li> </ul> <h3>Acknowledgements</h3> <p>Thanks to all mypy contributors who contributed to this release:</p> <ul> <li>Ali Hamdan</li> <li>Anders Kaseorg</li> <li>Bénédikt Tran</li> <li>Brian Schubert</li> <li>bzoracler</li> <li>Chelsea Durazo</li> <li>Danny Yang</li> <li>Edgar Ramírez Mondragón</li> <li>Eric Mark Martin</li> <li>InSync</li> <li>Ivan Levkivskyi</li> <li>Jordandev678</li> <li>Katrina Connors</li> <li>Kirill Podoprigora</li> <li>Marc Mueller</li> <li>Max Muoto</li> <li>Max Murin</li> <li>Michael Carlstrom</li> <li>Michael I Chen</li> <li>Pradyun Gedam</li> <li>quinn-sasha</li> <li>Raphael Krupinski</li> <li>Sebastian Rittau</li> <li>Shantanu</li> <li>sobolevn</li> <li>Soubhik Kumar Mitra</li> <li>Stanislav Terliakov</li> <li>wyattscarpenter</li> </ul> <p>I’d also like to thank my employer, Dropbox, for supporting mypy development.</p> <h2>Mypy 1.11</h2> <p>We’ve just uploaded mypy 1.11 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:</p> <pre><code>python3 -m pip install -U mypy </code></pre> <p>You can read the full documentation for this release on <a href="http://mypy.readthedocs.io">Read the Docs</a>.</p> <h3>Support Python 3.12 Syntax for Generics (PEP 695)</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/mypy/commit/050d12f8d5b07a892fc4e24fabc485cfafce3ff0"><code>050d12f</code></a> Bump version to 1.12.1</li> <li><a href="https://github.com/python/mypy/commit/346e370fc314b3c7c84a1e3e920dd9afe039b4bd"><code>346e370</code></a> [1.12 backport] revert os.path change (<a href="https://redirect.github.com/python/mypy/issues/17995">#17995</a>)</li> <li><a href="https://github.com/python/mypy/commit/71e1f055f0fcfa289a8ed6e82297ceb0a3e74417"><code>71e1f05</code></a> Fix type object with type var default in union context (<a href="https://redirect.github.com/python/mypy/issues/17991">#17991</a>)</li> <li><a href="https://github.com/python/mypy/commit/34d86038bab0b79251019fd1cbb438b7aef1a592"><code>34d8603</code></a> Fix iteration over union (when self type is involved) (<a href="https://redirect.github.com/python/mypy/issues/17976">#17976</a>)</li> <li><a href="https://github.com/python/mypy/commit/2485bed372cbc82ea4789c480eb6359905693e86"><code>2485bed</code></a> Use kw-only args for member access booleans (<a href="https://redirect.github.com/python/mypy/issues/17975">#17975</a>)</li> <li><a href="https://github.com/python/mypy/commit/a5e9b0b7fe5f2b5e3b3efac844216159a24ebd9c"><code>a5e9b0b</code></a> Fix crash when showing partially analyzed type in error message (<a href="https://redirect.github.com/python/mypy/issues/17961">#17961</a>)</li> <li><a href="https://github.com/python/mypy/commit/4775da1977dc116d2005e61e819df1603780178a"><code>4775da1</code></a> Bump version to 1.12.1+dev</li> <li>See full diff in <a href="https://github.com/python/mypy/compare/v1.12.0...v1.12.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy&package-manager=pip&previous-version=1.12.0&new-version=1.12.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot 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>


release 0.22.3


Bump mypy from 1.12.0 to 1.12.1 Bumps [mypy](https://github.com/python/mypy) from 1.12.0 to 1.12.1. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.12.0...v1.12.1) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>


Refactor ref handling (#1393)


Bump pyo3 from 0.22.3 to 0.22.5 (#1385) Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.22.3 to 0.22.5.


Reuse refs


Fix handling of symrefs with protocol v2. Fixes #1389 (#1392)