Commits


blind attempt at fixing the unexpected-success "failures" on windows CI


run client compat tests with git protocol version 0, too


skip test_fetch_pack_no_side_band_64k if git protocol v2 is used Git protocol v2 implies the side-band-64k capability so this test is meaningless in that case.


don't hard-code protocol v2 and tweak version comparisons to be future-proof Based on a suggestion by Jelmer


set the default git protocol version via global constants


emulate Git's behaviour when a server does not support object filtering Git prints a warning and proceeds with an unfiltered clone/fetch operation. Make dulwich behave the same way, for now.


use dict() instead of deepcopy() suggested by Jelmer


make Git protocol v2 work over SSH connections


make the Git protocol version configurable from the command line


use None to represent unspecified optional parameters; suggested by Jelmer


keep dulwich pull command line similar to the Git CLI; suggested by Jelmer


add initial support for Git protocol v2 Implement Git protocol version negotiation and use Git protocol v2 for fetches if supported. For now, the observable behaviour of Dulwich is equivalent regardless of protocol version, except that two new features may be used if the server supports Git protocol v2. The first feature is a reference prefix list which may be used to filter refs server-side. This can be used to reduce the size of the initial reference listing announced by the server. Reducing the size of this announcement was a major design goal for protocol v2 to avoid sending of very large announcements when a repository contains a lot of references. This feature is intended as an optimization which servers are free to ignore depending on available server-side resources. Therefore, users of Dulwich should still be prepared to filter redundant refs manually (this limitation also applies to Git itself). A new --refspec porcelain option is provided in order to test this feature on the command line. The second feature is an object filter specification, which corresponds to the --filter option of 'git clone'. This can be used to omit objects while cloning repositories. For instance, the following command will clone a given repsitory without fetching any blob objects: dulwich clone --filter blob:none --bare REPO_URL (In this example the --bare option is used because creation of a work tree would fail without any blobs present.) The test suite now enables protocol v2 and keeps passing for me.


Bump ruff from 0.4.9 to 0.4.10 (#1338) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.9 to 0.4.10. <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>v0.4.10</h2> <h2>Changes</h2> <h3>Parser</h3> <ul> <li>Implement re-lexing logic for better error recovery (<a href="https://redirect.github.com/astral-sh/ruff/pull/11845">#11845</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-copyright</code>] Update <code>CPY001</code> to check the first 4096 bytes instead of 1024 (<a href="https://redirect.github.com/astral-sh/ruff/pull/11927">#11927</a>)</li> <li>[<code>pycodestyle</code>] Update <code>E999</code> to show all syntax errors instead of just the first one (<a href="https://redirect.github.com/astral-sh/ruff/pull/11900">#11900</a>)</li> </ul> <h3>Server</h3> <ul> <li>Add tracing setup guide to Helix documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/11883">#11883</a>)</li> <li>Add tracing setup guide to Neovim documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/11884">#11884</a>)</li> <li>Defer notebook cell deletion to avoid an error message (<a href="https://redirect.github.com/astral-sh/ruff/pull/11864">#11864</a>)</li> </ul> <h3>Security</h3> <ul> <li>Guard against malicious ecosystem comment artifacts (<a href="https://redirect.github.com/astral-sh/ruff/pull/11879">#11879</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li> <li><a href="https://github.com/adrinjalali"><code>@​adrinjalali</code></a></li> <li><a href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li> <li><a href="https://github.com/github-actions"><code>@​github-actions</code></a></li> <li><a href="https://github.com/psychedelicious"><code>@​psychedelicious</code></a></li> <li><a href="https://github.com/renovate"><code>@​renovate</code></a></li> <li><a href="https://github.com/snowsignal"><code>@​snowsignal</code></a></li> <li><a href="https://github.com/zanieb"><code>@​zanieb</code></a></li> </ul> </blockquote> </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.4.10</h2> <h3>Parser</h3> <ul> <li>Implement re-lexing logic for better error recovery (<a href="https://redirect.github.com/astral-sh/ruff/pull/11845">#11845</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-copyright</code>] Update <code>CPY001</code> to check the first 4096 bytes instead of 1024 (<a href="https://redirect.github.com/astral-sh/ruff/pull/11927">#11927</a>)</li> <li>[<code>pycodestyle</code>] Update <code>E999</code> to show all syntax errors instead of just the first one (<a href="https://redirect.github.com/astral-sh/ruff/pull/11900">#11900</a>)</li> </ul> <h3>Server</h3> <ul> <li>Add tracing setup guide to Helix documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/11883">#11883</a>)</li> <li>Add tracing setup guide to Neovim documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/11884">#11884</a>)</li> <li>Defer notebook cell deletion to avoid an error message (<a href="https://redirect.github.com/astral-sh/ruff/pull/11864">#11864</a>)</li> </ul> <h3>Security</h3> <ul> <li>Guard against malicious ecosystem comment artifacts (<a href="https://redirect.github.com/astral-sh/ruff/pull/11879">#11879</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/b54922fd7394c36cdc390fd21aaee99206ebc361"><code>b54922f</code></a> Bump version to v0.4.10 (<a href="https://redirect.github.com/astral-sh/ruff/issues/11953">#11953</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/3f884b4b34b234c91c8af3bc44ef8d18cde7b363"><code>3f884b4</code></a> Avoid running logical line rule logic if not enabled (<a href="https://redirect.github.com/astral-sh/ruff/issues/11951">#11951</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/b456051be8277e11a3bb3aa5625c3f9ebd9b6108"><code>b456051</code></a> [red-knot] Add tracing to Salsa queries (<a href="https://redirect.github.com/astral-sh/ruff/issues/11949">#11949</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2dfbf118d7aff26c50360767cd0803ad6c4b7abf"><code>2dfbf11</code></a> [red-knot] Extract <code>red_knot_python_semantic</code> crate (<a href="https://redirect.github.com/astral-sh/ruff/issues/11926">#11926</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ed948eaefbde81695f8a2eb0c0b0c2c21420d092"><code>ed948ea</code></a> Avoid moving back the lexer for triple-quoted fstring (<a href="https://redirect.github.com/astral-sh/ruff/issues/11939">#11939</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/22733cb7c7eda64f535458c4e0cd47c71874d2b2"><code>22733cb</code></a> red-knot(Salsa): Types without refinements (<a href="https://redirect.github.com/astral-sh/ruff/issues/11899">#11899</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/a26bd01be2b673f13cb6c88f4150dd12e5873f55"><code>a26bd01</code></a> Avoid depth counting when detecting indentation (<a href="https://redirect.github.com/astral-sh/ruff/issues/11947">#11947</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/b617d906510ab6ea04e019f73b5aa56fe3692e0a"><code>b617d90</code></a> Update <code>E999</code> to show all syntax errors (<a href="https://redirect.github.com/astral-sh/ruff/issues/11900">#11900</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/cdc7c7144997ca9aa99a6bfae9dd73b4fa53de49"><code>cdc7c71</code></a> Avoid consuming trailing whitespace during re-lexing (<a href="https://redirect.github.com/astral-sh/ruff/issues/11933">#11933</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ff3bf583b28c455a19571a54cd4a4e2bc024b5b8"><code>ff3bf58</code></a> <code>ruff server</code>: Add tracing setup guide to Neovim documentation (<a href="https://redirect.github.com/astral-sh/ruff/issues/11884">#11884</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/v0.4.9...v0.4.10">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.4.9&new-version=0.4.10)](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.4.9 to 0.4.10 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.9 to 0.4.10. - [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/v0.4.9...v0.4.10) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>


Split wheels build, to avoid timeouts (#1337)


drop unittest running from wheel


Bump memchr from 2.7.2 to 2.7.4 (#1335) Bumps [memchr](https://github.com/BurntSushi/memchr) from 2.7.2 to 2.7.4. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/BurntSushi/memchr/commit/8ad339524d857a2dd9e7231b497ed92aa0f5c334"><code>8ad3395</code></a> 2.7.4</li> <li><a href="https://github.com/BurntSushi/memchr/commit/b0af902c7f773c6400ef46c5c488ce89e5b58ece"><code>b0af902</code></a> perf: revert fallback optimization</li> <li><a href="https://github.com/BurntSushi/memchr/commit/aee9f95641495d2763d167a2e716fd0b9df7bf30"><code>aee9f95</code></a> arch: add a second big endian regression test</li> <li><a href="https://github.com/BurntSushi/memchr/commit/92edbb6551d5cc0a014cb6d221f7f9912a4b4647"><code>92edbb6</code></a> arch: add big endian regression test</li> <li><a href="https://github.com/BurntSushi/memchr/commit/4836ac3e28bcb6942470d3b20e643be42e372511"><code>4836ac3</code></a> ci: use cross when enabled</li> <li><a href="https://github.com/BurntSushi/memchr/commit/cf1373e3abeddf1e598bbe5970084750953ed2d3"><code>cf1373e</code></a> benchmarks: bump version</li> <li><a href="https://github.com/BurntSushi/memchr/commit/ad08893ecd23a21dc2fdb27cdaf04f64f4834270"><code>ad08893</code></a> 2.7.3</li> <li><a href="https://github.com/BurntSushi/memchr/commit/a05cc640c1d4d720cc5d822526553ce5ebb280a7"><code>a05cc64</code></a> lint: remove unused BITS associated constant</li> <li><a href="https://github.com/BurntSushi/memchr/commit/345fab74bc3223ec95518686cbe6ac2b7fe7a467"><code>345fab7</code></a> all: improve perf of memchr fallback</li> <li><a href="https://github.com/BurntSushi/memchr/commit/e8bdf6b7f7cca21bbd20dd773223a24f285bc956"><code>e8bdf6b</code></a> benchmarks: bump dependencies</li> <li>See full diff in <a href="https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.4">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=memchr&package-manager=cargo&previous-version=2.7.2&new-version=2.7.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR 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>


Split wheels build, to avoid timeouts


Bump ruff from 0.4.8 to 0.4.9 (#1336) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.8 to 0.4.9. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>v0.4.9</h2> <h2>Changes</h2> <h3>Preview features</h3> <ul> <li>[<code>pylint</code>] Implement <code>consider-dict-items</code> (<code>C0206</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11688">#11688</a>)</li> <li>[<code>refurb</code>] Implement <code>repeated-global</code> (<code>FURB154</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11187">#11187</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pycodestyle</code>] Adapt fix for <code>E203</code> to work identical to <code>ruff format</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/10999">#10999</a>)</li> </ul> <h3>Formatter</h3> <ul> <li>Fix formatter instability for lines only consisting of zero-width characters (<a href="https://redirect.github.com/astral-sh/ruff/pull/11748">#11748</a>)</li> </ul> <h3>Server</h3> <ul> <li>Add supported commands in server capabilities (<a href="https://redirect.github.com/astral-sh/ruff/pull/11850">#11850</a>)</li> <li>Use real file path when available in <code>ruff server</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11800">#11800</a>)</li> <li>Improve error message when a command is run on an unavailable document (<a href="https://redirect.github.com/astral-sh/ruff/pull/11823">#11823</a>)</li> <li>Introduce the <code>ruff.printDebugInformation</code> command (<a href="https://redirect.github.com/astral-sh/ruff/pull/11831">#11831</a>)</li> <li>Tracing system now respects log level and trace level, with options to log to a file (<a href="https://redirect.github.com/astral-sh/ruff/pull/11747">#11747</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Handle non-printable characters in diff view (<a href="https://redirect.github.com/astral-sh/ruff/pull/11687">#11687</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>refurb</code>] Avoid suggesting starmap when arguments are used outside call (<code>FURB140</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11830">#11830</a>)</li> <li>[<code>flake8-bugbear</code>] Avoid panic in <code>B909</code> when checking large loop blocks (<a href="https://redirect.github.com/astral-sh/ruff/pull/11772">#11772</a>)</li> <li>[<code>refurb</code>] Fix misbehavior of <code>operator.itemgetter</code> when getter param is a tuple (<code>FURB118</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11774">#11774</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li> <li><a href="https://github.com/Embers-of-the-Fire"><code>@​Embers-of-the-Fire</code></a></li> <li><a href="https://github.com/LukasMasuch"><code>@​LukasMasuch</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li> <li><a href="https://github.com/Peiffap"><code>@​Peiffap</code></a></li> <li><a href="https://github.com/Philipp-Thiel"><code>@​Philipp-Thiel</code></a></li> <li><a href="https://github.com/alex-700"><code>@​alex-700</code></a></li> <li><a href="https://github.com/carljm"><code>@​carljm</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li> <li><a href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li> <li><a href="https://github.com/max-muoto"><code>@​max-muoto</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/snowsignal"><code>@​snowsignal</code></a></li> <li><a href="https://github.com/starsep"><code>@​starsep</code></a></li> <li><a href="https://github.com/yairp03"><code>@​yairp03</code></a></li> </ul> </blockquote> </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.4.9</h2> <h3>Preview features</h3> <ul> <li>[<code>pylint</code>] Implement <code>consider-dict-items</code> (<code>C0206</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11688">#11688</a>)</li> <li>[<code>refurb</code>] Implement <code>repeated-global</code> (<code>FURB154</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11187">#11187</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pycodestyle</code>] Adapt fix for <code>E203</code> to work identical to <code>ruff format</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/10999">#10999</a>)</li> </ul> <h3>Formatter</h3> <ul> <li>Fix formatter instability for lines only consisting of zero-width characters (<a href="https://redirect.github.com/astral-sh/ruff/pull/11748">#11748</a>)</li> </ul> <h3>Server</h3> <ul> <li>Add supported commands in server capabilities (<a href="https://redirect.github.com/astral-sh/ruff/pull/11850">#11850</a>)</li> <li>Use real file path when available in <code>ruff server</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11800">#11800</a>)</li> <li>Improve error message when a command is run on an unavailable document (<a href="https://redirect.github.com/astral-sh/ruff/pull/11823">#11823</a>)</li> <li>Introduce the <code>ruff.printDebugInformation</code> command (<a href="https://redirect.github.com/astral-sh/ruff/pull/11831">#11831</a>)</li> <li>Tracing system now respects log level and trace level, with options to log to a file (<a href="https://redirect.github.com/astral-sh/ruff/pull/11747">#11747</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Handle non-printable characters in diff view (<a href="https://redirect.github.com/astral-sh/ruff/pull/11687">#11687</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>refurb</code>] Avoid suggesting starmap when arguments are used outside call (<code>FURB140</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11830">#11830</a>)</li> <li>[<code>flake8-bugbear</code>] Avoid panic in <code>B909</code> when checking large loop blocks (<a href="https://redirect.github.com/astral-sh/ruff/pull/11772">#11772</a>)</li> <li>[<code>refurb</code>] Fix misbehavior of <code>operator.itemgetter</code> when getter param is a tuple (<code>FURB118</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11774">#11774</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/4f49e918a9154de16145d77217a4af2b8ce38297"><code>4f49e91</code></a> Bump version to v0.4.9 (<a href="https://redirect.github.com/astral-sh/ruff/issues/11872">#11872</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d681a45b08e20a77a42ae74d5c0f91fd0482079c"><code>d681a45</code></a> Make <code>ruff_db</code> a required crate for <code>ruff_python_semantic</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/11874">#11874</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/89bb07c251474399607de9d278cb70902c8a0106"><code>89bb07c</code></a> UPDATE latest supported versions to 3.13 (<a href="https://redirect.github.com/astral-sh/ruff/issues/11870">#11870</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/fe462b30e7af2a089016e45c3faa7dc2ea2ea3ae"><code>fe462b3</code></a> Update Python compatibility to 3.13 (<a href="https://redirect.github.com/astral-sh/ruff/issues/11861">#11861</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/c5bc368e430a30cb1d58d130c3d8eb2a1fe34d0a"><code>c5bc368</code></a> [red-knot] Improve <code>Vfs</code> and <code>FileSystem</code> documentation (<a href="https://redirect.github.com/astral-sh/ruff/issues/11856">#11856</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/73370fe7982c789ae91a95fba3e45cc6a054849e"><code>73370fe</code></a> Use <code>starts_with('/')</code> instead of <code>is_absolute</code> to avoid platform specific AP...</li> <li><a href="https://github.com/astral-sh/ruff/commit/22b6488550b9cb268eafe5161269952aca0df73b"><code>22b6488</code></a> red-knot: Add directory support to <code>MemoryFileSystem</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/11825">#11825</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d4dd96d1f4a78d75e598c9cdfb778c88c21742d7"><code>d4dd96d</code></a> red-knot: <code>source_text</code>, <code>line_index</code>, and <code>parsed_module</code> queries (<a href="https://redirect.github.com/astral-sh/ruff/issues/11822">#11822</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/efbf7b14b5060475f0a0bf7753ff8426e2e3b875"><code>efbf7b1</code></a> red-knot[salsa part 2]: Setup semantic DB and Jar (<a href="https://redirect.github.com/astral-sh/ruff/issues/11837">#11837</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/9dc226be9793592262ac9fc6d8fab195f33f36b2"><code>9dc226b</code></a> Add supported commands in server capabilities (<a href="https://redirect.github.com/astral-sh/ruff/issues/11850">#11850</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/v0.4.8...v0.4.9">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.4.8&new-version=0.4.9)](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 memchr from 2.7.2 to 2.7.4 Bumps [memchr](https://github.com/BurntSushi/memchr) from 2.7.2 to 2.7.4. - [Commits](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.4) --- updated-dependencies: - dependency-name: memchr dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>


Bump ruff from 0.4.8 to 0.4.9 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.8 to 0.4.9. - [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/v0.4.8...v0.4.9) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>


Skip Mac OS X / arm builds for now (#1330) These have been failing for a while, with no obvious fix. See #1303 for details.


Skip Mac OS X / arm64 builds for now These have been failing for a while, with no obvious fix. See #1303 for details.


Bump ruff from 0.4.7 to 0.4.8 (#1332) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.7 to 0.4.8. <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>v0.4.8</h2> <h2>Changes</h2> <h3>Performance</h3> <ul> <li>Linter performance has been improved by around 10% on some microbenchmarks by refactoring the lexer and parser to maintain synchronicity between them (<a href="https://redirect.github.com/astral-sh/ruff/pull/11457">#11457</a>)</li> </ul> <h3>Preview features</h3> <ul> <li>[<code>flake8-bugbear</code>] Implement <code>return-in-generator</code> (<code>B901</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11644">#11644</a>)</li> <li>[<code>flake8-pyi</code>] Implement <code>PYI063</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11699">#11699</a>)</li> <li>[<code>pygrep_hooks</code>] Check blanket ignores via file-level pragmas (<code>PGH004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11540">#11540</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pyupgrade</code>] Update <code>UP035</code> for Python 3.13 and the latest version of <code>typing_extensions</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11693">#11693</a>)</li> <li>[<code>numpy</code>] Update <code>NPY001</code> rule for NumPy 2.0 (<a href="https://redirect.github.com/astral-sh/ruff/pull/11735">#11735</a>)</li> </ul> <h3>Server</h3> <ul> <li>Formatting a document with syntax problems no longer spams a visible error popup (<a href="https://redirect.github.com/astral-sh/ruff/pull/11745">#11745</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Add RDJson support for <code>--output-format</code> flag (<a href="https://redirect.github.com/astral-sh/ruff/pull/11682">#11682</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>pyupgrade</code>] Write empty string in lieu of panic when fixing <code>UP032</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11696">#11696</a>)</li> <li>[<code>flake8-simplify</code>] Simplify double negatives in <code>SIM103</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11684">#11684</a>)</li> <li>Ensure the expression generator adds a newline before <code>type</code> statements (<a href="https://redirect.github.com/astral-sh/ruff/pull/11720">#11720</a>)</li> <li>Respect per-file ignores for blanket and redirected noqa rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/11728">#11728</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li> <li><a href="https://github.com/MichaelOultram-pexip"><code>@​MichaelOultram-pexip</code></a></li> <li><a href="https://github.com/ajesipow"><code>@​ajesipow</code></a></li> <li><a href="https://github.com/carljm"><code>@​carljm</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li> <li><a href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li> <li><a href="https://github.com/github-actions"><code>@​github-actions</code></a></li> <li><a href="https://github.com/mtsokol"><code>@​mtsokol</code></a></li> <li><a href="https://github.com/renovate"><code>@​renovate</code></a></li> <li><a href="https://github.com/snowsignal"><code>@​snowsignal</code></a></li> <li><a href="https://github.com/tobb10001"><code>@​tobb10001</code></a></li> <li><a href="https://github.com/tusharsadhwani"><code>@​tusharsadhwani</code></a></li> </ul> </blockquote> </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.4.8</h2> <h3>Performance</h3> <ul> <li>Linter performance has been improved by around 10% on some microbenchmarks by refactoring the lexer and parser to maintain synchronicity between them (<a href="https://redirect.github.com/astral-sh/ruff/pull/11457">#11457</a>)</li> </ul> <h3>Preview features</h3> <ul> <li>[<code>flake8-bugbear</code>] Implement <code>return-in-generator</code> (<code>B901</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11644">#11644</a>)</li> <li>[<code>flake8-pyi</code>] Implement <code>PYI063</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11699">#11699</a>)</li> <li>[<code>pygrep_hooks</code>] Check blanket ignores via file-level pragmas (<code>PGH004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/11540">#11540</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pyupgrade</code>] Update <code>UP035</code> for Python 3.13 and the latest version of <code>typing_extensions</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11693">#11693</a>)</li> <li>[<code>numpy</code>] Update <code>NPY001</code> rule for NumPy 2.0 (<a href="https://redirect.github.com/astral-sh/ruff/pull/11735">#11735</a>)</li> </ul> <h3>Server</h3> <ul> <li>Formatting a document with syntax problems no longer spams a visible error popup (<a href="https://redirect.github.com/astral-sh/ruff/pull/11745">#11745</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Add RDJson support for <code>--output-format</code> flag (<a href="https://redirect.github.com/astral-sh/ruff/pull/11682">#11682</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>pyupgrade</code>] Write empty string in lieu of panic when fixing <code>UP032</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11696">#11696</a>)</li> <li>[<code>flake8-simplify</code>] Simplify double negatives in <code>SIM103</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/11684">#11684</a>)</li> <li>Ensure the expression generator adds a newline before <code>type</code> statements (<a href="https://redirect.github.com/astral-sh/ruff/pull/11720">#11720</a>)</li> <li>Respect per-file ignores for blanket and redirected noqa rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/11728">#11728</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/a8cf7096ff1acbccf3af3aa37cd6e2170f1b1bc5"><code>a8cf709</code></a> Bump version to v0.4.8 (<a href="https://redirect.github.com/astral-sh/ruff/issues/11755">#11755</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/895eb3ef485836a75225e2534b638b98eaf30977"><code>895eb3e</code></a> [red-knot] refactor CFG outside of symbol table (<a href="https://redirect.github.com/astral-sh/ruff/issues/11746">#11746</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2e0a9755e07cfe7ee30683b65bbc1d9b5aa8b141"><code>2e0a975</code></a> Disallow access to <code>Parsed</code> output, use the API instead (<a href="https://redirect.github.com/astral-sh/ruff/issues/11741">#11741</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/b021b5babec5d88804cd67e03a946e1da0e1c0be"><code>b021b5b</code></a> Use <code>Tokens</code> from parsed type annotation or parsed source (<a href="https://redirect.github.com/astral-sh/ruff/issues/11740">#11740</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/eed6d784dfab61d0f1b1ebd95a7de7b1c6371149"><code>eed6d78</code></a> Update type annotation parsing API to return <code>Parsed</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/11739">#11739</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/8338db6c1247a22e0e42ab1b24acc45ae4837149"><code>8338db6</code></a> <code>ruff server</code>: Formatting a document with syntax problems no longer spams a v...</li> <li><a href="https://github.com/astral-sh/ruff/commit/d056d09547c5fe7ff5e787ada19fc37a73d9b444"><code>d056d09</code></a> [red-knot] add if-statement support to FlowGraph (<a href="https://redirect.github.com/astral-sh/ruff/issues/11673">#11673</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/1645be018d208271bbc82b9b965eaef0e727c32a"><code>1645be0</code></a> Update <code>NPY001</code> rule for NumPy 2.0 (<a href="https://redirect.github.com/astral-sh/ruff/issues/11735">#11735</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2c865023acb0593a9c367c43c46893c83ded25ba"><code>2c86502</code></a> CI: add job to run tests under minimum supported rust version (msrv) (<a href="https://redirect.github.com/astral-sh/ruff/issues/11737">#11737</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2567e14b7a550074c37fc5695e85510b5120a37a"><code>2567e14</code></a> Lexer should consider BOM for the start offset (<a href="https://redirect.github.com/astral-sh/ruff/issues/11732">#11732</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/v0.4.7...v0.4.8">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.4.7&new-version=0.4.8)](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.4.7 to 0.4.8 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.7 to 0.4.8. - [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/v0.4.7...v0.4.8) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>