Commit Briefs

06b8bcceae GitHub

Fuzzing: Build Fuzz Tests with Rust Extensions and Optional Features (#1358) (master)

Updates the OSS-Fuzz container environment & build script to build and install Dulwich with all optional features enabled and refines dictionary handling. ### Impact: - Increases the fuzz-able surface area of the most interesting (from a fuzzing & security testing perspective) Dulwich APIs, enabling future fuzz harnesses improvements to specifically target these features in tests. - Enhances flexibility of fuzzer seed data generation steps to improve dictionary quality and simplify seed corpus management for all fuzz targets. ### Key Changes in `build.sh`: - Unset problematic OSS-Fuzz provided `$RUSTFLAGS` to prevent build issues that inhibit PyO3 based Rust extension compilation. - Install Python dependencies with specific features (`fastimport`, `gpg`, `paramiko`, etc.). - Added "drop-in" support for inclusion of seed corpora zip files & LibFuzzer options files to be introduced later. ### Key Changes in `container-environment-bootstrap.sh`: - Installs dependencies required to build Dulwich's optional features and Rust extensions. - Updated Python dependencies (`setuptools`, `pyinstaller`, etc.) to the latest compatible versions. - Improved dictionary handling for fuzz targets by encapsulating dictionary generation logic in shell functions and adding default common dictionary entries to all fuzz target specific `.dict` files.


ad41bf97f3 David Lakin

Build Fuzz Tests with Rust Extensions and Optional Features

Updates the OSS-Fuzz container environment & build script to build and install Dulwich with all optional features enabled and refines dictionary handling. Impact: - Increases the fuzz-able surface area of the most interesting (from a fuzzing & security testing perspective) Dulwich APIs, enabling future fuzz harnesses improvements to specifically target these features in tests. - Enhances flexibility of fuzzer seed data generation steps to improve dictionary quality and simplify seed corpus management for all fuzz targets. Key Changes in `build.sh`: - Unset problematic OSS-Fuzz provided `$RUSTFLAGS` to prevent build issues that inhibit PyO3 based Rust extension compilation. - Install Python dependencies with specific features (`fastimport`, `gpg`, `paramiko`, etc.). - Added "drop-in" support for inclusion of seed corpora zip files & LibFuzzer options files to be introduced later. Key Changes in `container-environment-bootstrap.sh`: - Installs dependencies required to build Dulwich's optional features and Rust extensions. - Updated Python dependencies (`setuptools`, `pyinstaller`, etc.) to the latest compatible versions. - Improved dictionary handling for fuzz targets by encapsulating dictionary generation logic in shell functions and adding default common dictionary entries to all fuzz target specific `.dict` files.


294a2171ba GitHub

Bump ruff from 0.6.1 to 0.6.2 (#1357)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.1 to 0.6.2. <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.6.2</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>[<code>flake8-simplify</code>] Extend <code>open-file-with-context-handler</code> to work with other standard-library IO modules (<code>SIM115</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12959">#12959</a>)</li> <li>[<code>ruff</code>] Avoid <code>unused-async</code> for functions with FastAPI route decorator (<code>RUF029</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12938">#12938</a>)</li> <li>[<code>ruff</code>] Ignore <code>fstring-missing-syntax</code> (<code>RUF027</code>) for <code>fastAPI</code> paths (<a href="https://redirect.github.com/astral-sh/ruff/pull/12939">#12939</a>)</li> <li>[<code>ruff</code>] Implement check for Decimal called with a float literal (RUF032) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12909">#12909</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-bugbear</code>] Update diagnostic message when expression is at the end of function (<code>B015</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12944">#12944</a>)</li> <li>[<code>flake8-pyi</code>] Skip type annotations in <code>string-or-bytes-too-long</code> (<code>PYI053</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13002">#13002</a>)</li> <li>[<code>flake8-type-checking</code>] Always recognise relative imports as first-party (<a href="https://redirect.github.com/astral-sh/ruff/pull/12994">#12994</a>)</li> <li>[<code>flake8-unused-arguments</code>] Ignore unused arguments on stub functions (<code>ARG001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12966">#12966</a>)</li> <li>[<code>pylint</code>] Ignore augmented assignment for <code>self-cls-assignment</code> (<code>PLW0642</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12957">#12957</a>)</li> </ul> <h3>Server</h3> <ul> <li>Show full context in error log messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/13029">#13029</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>pep8-naming</code>] Don't flag <code>from</code> imports following conventional import names (<code>N817</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12946">#12946</a>)</li> <li>[<code>pylint</code>] - Allow <code>__new__</code> methods to have <code>cls</code> as their first argument even if decorated with <code>@staticmethod</code> for <code>bad-staticmethod-argument</code> (<code>PLW0211</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12958">#12958</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add <code>hyperfine</code> installation instructions; update <code>hyperfine</code> code samples (<a href="https://redirect.github.com/astral-sh/ruff/pull/13034">#13034</a>)</li> <li>Expand note to use Ruff with other language server in Kate (<a href="https://redirect.github.com/astral-sh/ruff/pull/12806">#12806</a>)</li> <li>Update example for <code>PT001</code> as per the new default behavior (<a href="https://redirect.github.com/astral-sh/ruff/pull/13019">#13019</a>)</li> <li>[<code>perflint</code>] Improve docs for <code>try-except-in-loop</code> (<code>PERF203</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12947">#12947</a>)</li> <li>[<code>pydocstyle</code>] Add reference to <code>lint.pydocstyle.ignore-decorators</code> setting to rule docs (<a href="https://redirect.github.com/astral-sh/ruff/pull/12996">#12996</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/FinchPowers"><code>@​FinchPowers</code></a></li> <li><a href="https://github.com/InSyncWithFoo"><code>@​InSyncWithFoo</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li> <li><a href="https://github.com/Skylion007"><code>@​Skylion007</code></a></li> <li><a href="https://github.com/TomerBin"><code>@​TomerBin</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/diceroll123"><code>@​diceroll123</code></a></li> <li><a href="https://github.com/dsal3389"><code>@​dsal3389</code></a></li> <li><a href="https://github.com/dylwil3"><code>@​dylwil3</code></a></li> <li><a href="https://github.com/kbaskett248"><code>@​kbaskett248</code></a></li> <li><a href="https://github.com/lengau"><code>@​lengau</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.6.2</h2> <h3>Preview features</h3> <ul> <li>[<code>flake8-simplify</code>] Extend <code>open-file-with-context-handler</code> to work with other standard-library IO modules (<code>SIM115</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12959">#12959</a>)</li> <li>[<code>ruff</code>] Avoid <code>unused-async</code> for functions with FastAPI route decorator (<code>RUF029</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12938">#12938</a>)</li> <li>[<code>ruff</code>] Ignore <code>fstring-missing-syntax</code> (<code>RUF027</code>) for <code>fastAPI</code> paths (<a href="https://redirect.github.com/astral-sh/ruff/pull/12939">#12939</a>)</li> <li>[<code>ruff</code>] Implement check for Decimal called with a float literal (RUF032) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12909">#12909</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-bugbear</code>] Update diagnostic message when expression is at the end of function (<code>B015</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12944">#12944</a>)</li> <li>[<code>flake8-pyi</code>] Skip type annotations in <code>string-or-bytes-too-long</code> (<code>PYI053</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/13002">#13002</a>)</li> <li>[<code>flake8-type-checking</code>] Always recognise relative imports as first-party (<a href="https://redirect.github.com/astral-sh/ruff/pull/12994">#12994</a>)</li> <li>[<code>flake8-unused-arguments</code>] Ignore unused arguments on stub functions (<code>ARG001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12966">#12966</a>)</li> <li>[<code>pylint</code>] Ignore augmented assignment for <code>self-cls-assignment</code> (<code>PLW0642</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12957">#12957</a>)</li> </ul> <h3>Server</h3> <ul> <li>Show full context in error log messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/13029">#13029</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>pep8-naming</code>] Don't flag <code>from</code> imports following conventional import names (<code>N817</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12946">#12946</a>)</li> <li>[<code>pylint</code>] - Allow <code>__new__</code> methods to have <code>cls</code> as their first argument even if decorated with <code>@staticmethod</code> for <code>bad-staticmethod-argument</code> (<code>PLW0211</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12958">#12958</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add <code>hyperfine</code> installation instructions; update <code>hyperfine</code> code samples (<a href="https://redirect.github.com/astral-sh/ruff/pull/13034">#13034</a>)</li> <li>Expand note to use Ruff with other language server in Kate (<a href="https://redirect.github.com/astral-sh/ruff/pull/12806">#12806</a>)</li> <li>Update example for <code>PT001</code> as per the new default behavior (<a href="https://redirect.github.com/astral-sh/ruff/pull/13019">#13019</a>)</li> <li>[<code>perflint</code>] Improve docs for <code>try-except-in-loop</code> (<code>PERF203</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12947">#12947</a>)</li> <li>[<code>pydocstyle</code>] Add reference to <code>lint.pydocstyle.ignore-decorators</code> setting to rule docs (<a href="https://redirect.github.com/astral-sh/ruff/pull/12996">#12996</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/02c4373a4927657a8825d18ae8f0877806cd1f15"><code>02c4373</code></a> Bump version to 0.6.2 (<a href="https://redirect.github.com/astral-sh/ruff/issues/13056">#13056</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d37e2e5d33deadc15bf4194216e08ce1528a638c"><code>d37e2e5</code></a> [<code>flake8-simplify</code>] Extend open-file-with-context-handler to work with other ...</li> <li><a href="https://github.com/astral-sh/ruff/commit/d1d067896c115405c87e4526395de207bf037809"><code>d1d0678</code></a> [red-knot] Remove notebook support from the server (<a href="https://redirect.github.com/astral-sh/ruff/issues/13040">#13040</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/93f9023ea38ddac7f33b487d938f47cc1333d567"><code>93f9023</code></a> Add <code>hyperfine</code> installation instructions; update <code>hyperfine</code> code samples (#...</li> <li><a href="https://github.com/astral-sh/ruff/commit/8144a11f98032a1f109f557fbd5c8379364230b6"><code>8144a11</code></a> [red-knot] Add definition for with items (<a href="https://redirect.github.com/astral-sh/ruff/issues/12920">#12920</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/dce87c21fdf73a58f3821cae5e71b9da234e29ce"><code>dce87c2</code></a> Eagerly validate typeshed versions (<a href="https://redirect.github.com/astral-sh/ruff/issues/12786">#12786</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/f873d2ac128a2f6897bf814a3b252454aa7be3e2"><code>f873d2a</code></a> Revert &quot;Use the system allocator for codspeed benchmarks&quot; (<a href="https://redirect.github.com/astral-sh/ruff/issues/13035">#13035</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ecd9e6a650ef428be67bb0e28cb0c52d27eb2895"><code>ecd9e6a</code></a> [red-knot] Improve the <code>unresolved-import</code> check (<a href="https://redirect.github.com/astral-sh/ruff/issues/13007">#13007</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/785c39927bf5fe0b95fd5b2c8286783a04c4bf91"><code>785c399</code></a> Use ZIP file size metadata to allocate string (<a href="https://redirect.github.com/astral-sh/ruff/issues/13032">#13032</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/a35cdbb27519d91de6d35e76995d1c532e0cd60c"><code>a35cdbb</code></a> Fix various panicks when linting black/src (<a href="https://redirect.github.com/astral-sh/ruff/issues/13033">#13033</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.6.1...0.6.2">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.1&new-version=0.6.2)](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>


2c25809021 GitHub

Bump ruff from 0.6.1 to 0.6.2

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


21e1ba8a61 GitHub

Bump ruff from 0.5.7 to 0.6.1 (#1356)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.7 to 0.6.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.6.1</h2> <h2>Release Notes</h2> <p>This is a hotfix release to address an issue with <code>ruff-pre-commit</code>. In v0.6, Ruff changed its behavior to lint and format Jupyter notebooks by default; however, due to an oversight, these files were still excluded by default if Ruff was run via pre-commit, leading to inconsistent behavior. This has <a href="https://redirect.github.com/astral-sh/ruff-pre-commit/pull/96">now been fixed</a>.</p> <h3>Preview features</h3> <ul> <li>[<code>fastapi</code>] Implement <code>fast-api-unused-path-parameter</code> (<code>FAST003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12638">#12638</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Rename <code>too-many-positional</code> to <code>too-many-positional-arguments</code> (<code>R0917</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12905">#12905</a>)</li> </ul> <h3>Server</h3> <ul> <li>Fix crash when applying &quot;fix-all&quot; code-action to notebook cells (<a href="https://redirect.github.com/astral-sh/ruff/pull/12929">#12929</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>[<code>flake8-naming</code>]: Respect import conventions (<code>N817</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12922">#12922</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/JonathanPlasse"><code>@​JonathanPlasse</code></a></li> <li><a href="https://github.com/Matthieu-LAURENT39"><code>@​Matthieu-LAURENT39</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</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> </ul> <h2>Install ruff 0.6.1</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.6.1/ruff-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -c &quot;irm https://github.com/astral-sh/ruff/releases/download/0.6.1/ruff-installer.ps1 | iex&quot; </code></pre> <h2>Download ruff 0.6.1</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.6.1/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.6.1/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.6.1/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.6.1/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> </tbody> </table> <!-- 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.6.1</h2> <p>This is a hotfix release to address an issue with <code>ruff-pre-commit</code>. In v0.6, Ruff changed its behavior to lint and format Jupyter notebooks by default; however, due to an oversight, these files were still excluded by default if Ruff was run via pre-commit, leading to inconsistent behavior. This has <a href="https://redirect.github.com/astral-sh/ruff-pre-commit/pull/96">now been fixed</a>.</p> <h3>Preview features</h3> <ul> <li>[<code>fastapi</code>] Implement <code>fast-api-unused-path-parameter</code> (<code>FAST003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12638">#12638</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Rename <code>too-many-positional</code> to <code>too-many-positional-arguments</code> (<code>R0917</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12905">#12905</a>)</li> </ul> <h3>Server</h3> <ul> <li>Fix crash when applying &quot;fix-all&quot; code-action to notebook cells (<a href="https://redirect.github.com/astral-sh/ruff/pull/12929">#12929</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>[<code>flake8-naming</code>]: Respect import conventions (<code>N817</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12922">#12922</a>)</li> </ul> <h2>0.6.0</h2> <p>Check out the <a href="https://astral.sh/blog/ruff-v0.6.0">blog post</a> for a migration guide and overview of the changes!</p> <h3>Breaking changes</h3> <p>See also, the &quot;Remapped rules&quot; section which may result in disabled rules.</p> <ul> <li>Lint and format Jupyter Notebook by default (<a href="https://redirect.github.com/astral-sh/ruff/pull/12878">#12878</a>).</li> <li>Detect imports in <code>src</code> layouts by default for <code>isort</code> rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/12848">#12848</a>)</li> <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>).</li> </ul> <h3>Deprecations</h3> <p>The following rules are now deprecated:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/pytest-missing-fixture-name-underscore/"><code>pytest-missing-fixture-name-underscore</code></a> (<code>PT004</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/pytest-incorrect-fixture-name-underscore/"><code>pytest-incorrect-fixture-name-underscore</code></a> (<code>PT005</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/unpacked-list-comprehension/"><code>unpacked-list-comprehension</code></a> (<code>UP027</code>)</li> </ul> <h3>Remapped rules</h3> <p>The following rules have been remapped to new rule codes:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/unnecessary-dict-comprehension-for-iterable/"><code>unnecessary-dict-comprehension-for-iterable</code></a>: <code>RUF025</code> to <code>C420</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/499c0bd875c3f53c65f542a217b4d9a0962191c3"><code>499c0bd</code></a> Bump version to 0.6.1 (<a href="https://redirect.github.com/astral-sh/ruff/issues/12937">#12937</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/4cb30b598f4247970f714021616583549d0b8b1e"><code>4cb30b5</code></a> <code>N817</code> docs: refer to the correct setting (<a href="https://redirect.github.com/astral-sh/ruff/issues/12935">#12935</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/aba0d83c1138ba2a787aa80495c136a057014c52"><code>aba0d83</code></a> [<code>flake8-naming</code>]: Respect import conventions (<code>N817</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/12922">#12922</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/c319414e54d03b64335c75e2df58bb3a0cd25e7e"><code>c319414</code></a> Ignore blank line rules for docs formatting (<a href="https://redirect.github.com/astral-sh/ruff/issues/12934">#12934</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ef1f6d98a05526ba3c82dfb6d1004d85f322e0c8"><code>ef1f6d9</code></a> Fix description of where the contributor list comes from in instructions for ...</li> <li><a href="https://github.com/astral-sh/ruff/commit/b850b812de0a1f2cfdd8a132ad1f069a1da7ce87"><code>b850b81</code></a> Use cell source code instead of the concatenated one (<a href="https://redirect.github.com/astral-sh/ruff/issues/12929">#12929</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/a87b27c0753b50653d658a533d19f7a3a9cc5ba6"><code>a87b27c</code></a> [red-knot] Add support for relative imports (<a href="https://redirect.github.com/astral-sh/ruff/issues/12910">#12910</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/9b73532b112b5c2aa9f820bcfc1185d7af6ca02d"><code>9b73532</code></a> [<code>flake8-async</code>] Fix examples to use <code>async with</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/12924">#12924</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d8debb7a36bad602b543a299f5cdca5b4c29524f"><code>d8debb7</code></a> Simplify logic for <code>RUF027</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/12907">#12907</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/bd4a947b29564fdbe95a4ee6a188163cd2346eb7"><code>bd4a947</code></a> [red-knot] Add symbol and definition for parameters (<a href="https://redirect.github.com/astral-sh/ruff/issues/12862">#12862</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.5.7...0.6.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.5.7&new-version=0.6.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>


61f8801049 GitHub

Bump ruff from 0.5.7 to 0.6.1

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.7 to 0.6.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.5.7...0.6.1) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>


06405c8e29 GitHub

Bump ruff from 0.5.6 to 0.5.7 (#1355)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.6 to 0.5.7. <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.5.7</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>[<code>flake8-comprehensions</code>] Account for list and set comprehensions in <code>unnecessary-literal-within-tuple-call</code> (<code>C409</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12657">#12657</a>)</li> <li>[<code>flake8-pyi</code>] Add autofix for <code>future-annotations-in-stub</code> (<code>PYI044</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12676">#12676</a>)</li> <li>[<code>flake8-return</code>] Avoid syntax error when auto-fixing <code>RET505</code> with mixed indentation (space and tabs) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12740">#12740</a>)</li> <li>[<code>pydoclint</code>] Add <code>docstring-missing-yields</code> (<code>DOC402</code>) and <code>docstring-extraneous-yields</code> (<code>DOC403</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12538">#12538</a>)</li> <li>[<code>pydoclint</code>] Avoid <code>DOC201</code> if docstring begins with &quot;Return&quot;, &quot;Returns&quot;, &quot;Yield&quot;, or &quot;Yields&quot; (<a href="https://redirect.github.com/astral-sh/ruff/pull/12675">#12675</a>)</li> <li>[<code>pydoclint</code>] Deduplicate collected exceptions after traversing function bodies (<code>DOC501</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12642">#12642</a>)</li> <li>[<code>pydoclint</code>] Ignore <code>DOC</code> errors for stub functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/12651">#12651</a>)</li> <li>[<code>pydoclint</code>] Teach rules to understand reraised exceptions as being explicitly raised (<code>DOC501</code>, <code>DOC502</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12639">#12639</a>)</li> <li>[<code>ruff</code>] Implement <code>incorrectly-parenthesized-tuple-in-subscript</code> (<code>RUF031</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12480">#12480</a>)</li> <li>[<code>ruff</code>] Mark <code>RUF023</code> fix as unsafe if <code>__slots__</code> is not a set and the binding is used elsewhere (<a href="https://redirect.github.com/astral-sh/ruff/pull/12692">#12692</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>refurb</code>] Add autofix for <code>implicit-cwd</code> (<code>FURB177</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12708">#12708</a>)</li> <li>[<code>ruff</code>] Add autofix for <code>zip-instead-of-pairwise</code> (<code>RUF007</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12663">#12663</a>)</li> <li>[<code>tryceratops</code>] Add <code>BaseException</code> to <code>raise-vanilla-class</code> rule (<code>TRY002</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12620">#12620</a>)</li> </ul> <h3>Server</h3> <ul> <li>Ignore non-file workspace URL; Ruff will display a warning notification in this case (<a href="https://redirect.github.com/astral-sh/ruff/pull/12725">#12725</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Fix cache invalidation for nested <code>pyproject.toml</code> files (<a href="https://redirect.github.com/astral-sh/ruff/pull/12727">#12727</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>flake8-async</code>] Fix false positives with multiple <code>async with</code> items (<code>ASYNC100</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12643">#12643</a>)</li> <li>[<code>flake8-bandit</code>] Avoid false-positives for list concatenations in SQL construction (<code>S608</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12720">#12720</a>)</li> <li>[<code>flake8-bugbear</code>] Treat <code>return</code> as equivalent to <code>break</code> (<code>B909</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12646">#12646</a>)</li> <li>[<code>flake8-comprehensions</code>] Set comprehensions not a violation for <code>sum</code> in <code>unnecessary-comprehension-in-call</code> (<code>C419</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12691">#12691</a>)</li> <li>[<code>flake8-simplify</code>] Parenthesize conditions based on precedence when merging if arms (<code>SIM114</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12737">#12737</a>)</li> <li>[<code>pydoclint</code>] Try both 'Raises' section styles when convention is unspecified (<code>DOC501</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12649">#12649</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/DavideRagazzon"><code>@​DavideRagazzon</code></a></li> <li><a href="https://github.com/InSyncWithFoo"><code>@​InSyncWithFoo</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li> <li><a href="https://github.com/augustelalande"><code>@​augustelalande</code></a></li> <li><a href="https://github.com/bluetech"><code>@​bluetech</code></a></li> <li><a href="https://github.com/carljm"><code>@​carljm</code></a></li> <li><a href="https://github.com/cclauss"><code>@​cclauss</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> </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.5.7</h2> <h3>Preview features</h3> <ul> <li>[<code>flake8-comprehensions</code>] Account for list and set comprehensions in <code>unnecessary-literal-within-tuple-call</code> (<code>C409</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12657">#12657</a>)</li> <li>[<code>flake8-pyi</code>] Add autofix for <code>future-annotations-in-stub</code> (<code>PYI044</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12676">#12676</a>)</li> <li>[<code>flake8-return</code>] Avoid syntax error when auto-fixing <code>RET505</code> with mixed indentation (space and tabs) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12740">#12740</a>)</li> <li>[<code>pydoclint</code>] Add <code>docstring-missing-yields</code> (<code>DOC402</code>) and <code>docstring-extraneous-yields</code> (<code>DOC403</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12538">#12538</a>)</li> <li>[<code>pydoclint</code>] Avoid <code>DOC201</code> if docstring begins with &quot;Return&quot;, &quot;Returns&quot;, &quot;Yield&quot;, or &quot;Yields&quot; (<a href="https://redirect.github.com/astral-sh/ruff/pull/12675">#12675</a>)</li> <li>[<code>pydoclint</code>] Deduplicate collected exceptions after traversing function bodies (<code>DOC501</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12642">#12642</a>)</li> <li>[<code>pydoclint</code>] Ignore <code>DOC</code> errors for stub functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/12651">#12651</a>)</li> <li>[<code>pydoclint</code>] Teach rules to understand reraised exceptions as being explicitly raised (<code>DOC501</code>, <code>DOC502</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12639">#12639</a>)</li> <li>[<code>ruff</code>] Implement <code>incorrectly-parenthesized-tuple-in-subscript</code> (<code>RUF031</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12480">#12480</a>)</li> <li>[<code>ruff</code>] Mark <code>RUF023</code> fix as unsafe if <code>__slots__</code> is not a set and the binding is used elsewhere (<a href="https://redirect.github.com/astral-sh/ruff/pull/12692">#12692</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>refurb</code>] Add autofix for <code>implicit-cwd</code> (<code>FURB177</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12708">#12708</a>)</li> <li>[<code>ruff</code>] Add autofix for <code>zip-instead-of-pairwise</code> (<code>RUF007</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12663">#12663</a>)</li> <li>[<code>tryceratops</code>] Add <code>BaseException</code> to <code>raise-vanilla-class</code> rule (<code>TRY002</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12620">#12620</a>)</li> </ul> <h3>Server</h3> <ul> <li>Ignore non-file workspace URL; Ruff will display a warning notification in this case (<a href="https://redirect.github.com/astral-sh/ruff/pull/12725">#12725</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Fix cache invalidation for nested <code>pyproject.toml</code> files (<a href="https://redirect.github.com/astral-sh/ruff/pull/12727">#12727</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>flake8-async</code>] Fix false positives with multiple <code>async with</code> items (<code>ASYNC100</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12643">#12643</a>)</li> <li>[<code>flake8-bandit</code>] Avoid false-positives for list concatenations in SQL construction (<code>S608</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12720">#12720</a>)</li> <li>[<code>flake8-bugbear</code>] Treat <code>return</code> as equivalent to <code>break</code> (<code>B909</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12646">#12646</a>)</li> <li>[<code>flake8-comprehensions</code>] Set comprehensions not a violation for <code>sum</code> in <code>unnecessary-comprehension-in-call</code> (<code>C419</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12691">#12691</a>)</li> <li>[<code>flake8-simplify</code>] Parenthesize conditions based on precedence when merging if arms (<code>SIM114</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12737">#12737</a>)</li> <li>[<code>pydoclint</code>] Try both 'Raises' section styles when convention is unspecified (<code>DOC501</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12649">#12649</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/221ea662e0e19384f774c99e93a9fd08b6f14029"><code>221ea66</code></a> Bump version to 0.5.7 (<a href="https://redirect.github.com/astral-sh/ruff/issues/12756">#12756</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d28c5afd14a9ae01f960bf812298065d3450a91f"><code>d28c5af</code></a> [red-knot] Remove mentions of Ruff from the CLI help (<a href="https://redirect.github.com/astral-sh/ruff/issues/12752">#12752</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/f1de08c2a04b5cd78abba40c8d12e6ed71afc420"><code>f1de08c</code></a> [red-knot] Merge the semantic and module-resolver crates (<a href="https://redirect.github.com/astral-sh/ruff/issues/12751">#12751</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/33e9a6a54e04d78f91a4787218a8eca1e5d196b8"><code>33e9a6a</code></a> SIM110: <code>any()</code> is ~3x slower than the code it replaces (<a href="https://redirect.github.com/astral-sh/ruff/issues/12746">#12746</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/f577e03021e1e165a50a4a6f116229299018990e"><code>f577e03</code></a> [ruff] Ignore empty tuples for `incorrectly-parenthesized-tuple-in-subscript ...</li> <li><a href="https://github.com/astral-sh/ruff/commit/f53733525c3fe31eca4d9ba6c3a9367c1e88de59"><code>f537335</code></a> Remove all <code>useEffect</code> usages (<a href="https://redirect.github.com/astral-sh/ruff/issues/12659">#12659</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2daa9143342237aced17e407909278ffc5cf3fed"><code>2daa914</code></a> Gracefully handle errors in CLI (<a href="https://redirect.github.com/astral-sh/ruff/issues/12747">#12747</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/6d9205e346bfd58ab1811761dc3bad9c0cbed56f"><code>6d9205e</code></a> [<code>ruff_linter</code>] - Use LibCST in <code>adjust_indentation</code> for mixed whitespace (<a href="https://redirect.github.com/astral-sh/ruff/issues/1">#1</a>...</li> <li><a href="https://github.com/astral-sh/ruff/commit/df7345e118f456e43b04aefbbaaa253c16b62329"><code>df7345e</code></a> Exit with an error if there are check failures (<a href="https://redirect.github.com/astral-sh/ruff/issues/12735">#12735</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/dc6aafecc2b0eb7dc44347051bb1077f3dd79c0d"><code>dc6aafe</code></a> Setup tracing and document tracing usage (<a href="https://redirect.github.com/astral-sh/ruff/issues/12730">#12730</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.5.6...0.5.7">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.5.6&new-version=0.5.7)](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>


07be7b3a13 GitHub

Bump ruff from 0.5.6 to 0.5.7

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


a42dd27a39 GitHub

Refer to Rust rather than C bindings (#1354)


92749cd5a9 Jelmer Vernooij

Refer to Rust rather than C bindings


Branches

Tags

dulwich-0.22.1

dulwich-0.22.0

dulwich-0.21.7

Tree