Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[pull] main from jelmer:main#192

Open
pull[bot] wants to merge 3172 commits intosysfce2:mainsysfce2/python-dulwich:mainfrom
jelmer:mainjelmer/dulwich:mainCopy head branch name to clipboard
Open

[pull] main from jelmer:main#192
pull[bot] wants to merge 3172 commits intosysfce2:mainsysfce2/python-dulwich:mainfrom
jelmer:mainjelmer/dulwich:mainCopy head branch name to clipboard

Conversation

@pull
Copy link

@pull pull bot commented Jan 8, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

jelmer and others added 30 commits December 2, 2025 02:57
Remove InfoRefsContainer class, inlining its functionality into
SwiftInfoRefsContainer in dulwich.contrib.swift.

This properly isolates the ^{} protocol syntax to protocol-level code,
which is a bit of an architectural leak.

Fixes #2009
As part of this, move diffstat out of contrib/
As part of this, move diffstat out of contrib/
Spelling

less assert

no 1

kick cI

ruff
jelmer and others added 30 commits January 20, 2026 10:28
Hi, the recently released version 1.0.0 includes several tests that need
`merge3` installed - this change makes them skipped gracefully.

These changes are similar to #1760 and #2002.
I think `grep -v cp314` filters out 3.14, which nullifies #1727.
Let's build 3.14 wheels!
Implement client-side support for the packfile-uris capability in Git
protocol v2, which allows servers to offload packfile distribution to
CDNs or external storage (e.g., Google Cloud Storage, AWS S3).

Fixes #1794
Implement client-side support for the packfile-uris capability in Git
protocol v2, which allows servers to offload packfile distribution to
CDNs or external storage (e.g., Google Cloud Storage, AWS S3).

Fixes #1794
This PR adds the `commit_timestamp` and `author_timestamp` arguments to
`porcelain.commit` to create commits at arbitrary times.

This is the equivalent of the `GIT_COMMITTER_DATE` and `GIT_AUTHOR_DATE`
environment variables.
Bumps
[dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata)
from 2.4.0 to 2.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dependabot/fetch-metadata/releases">dependabot/fetch-metadata's
releases</a>.</em></p>
<blockquote>
<h2>v2.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/628">dependabot/fetch-metadata#628</a></li>
<li>Bump the dev-dependencies group with 11 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/629">dependabot/fetch-metadata#629</a></li>
<li>Bump actions/create-github-app-token from 2.0.6 to 2.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/635">dependabot/fetch-metadata#635</a></li>
<li>Bump actions/create-github-app-token from 2.1.1 to 2.1.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/638">dependabot/fetch-metadata#638</a></li>
<li>Bump actions/checkout from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/636">dependabot/fetch-metadata#636</a></li>
<li>Bump actions/setup-node from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/637">dependabot/fetch-metadata#637</a></li>
<li>Bump actions/setup-node from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/639">dependabot/fetch-metadata#639</a></li>
<li>Bump actions/create-github-app-token from 2.1.4 to 2.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/643">dependabot/fetch-metadata#643</a></li>
<li>Bump actions/checkout from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/642">dependabot/fetch-metadata#642</a></li>
<li>Bump actions/create-github-app-token from 2.2.0 to 2.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/648">dependabot/fetch-metadata#648</a></li>
<li>Bump js-yaml from 3.14.1 to 3.14.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/644">dependabot/fetch-metadata#644</a></li>
<li>Bump express from 5.1.0 to 5.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/645">dependabot/fetch-metadata#645</a></li>
<li>Bump <code>@​modelcontextprotocol/sdk</code> from 1.11.2 to 1.24.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/647">dependabot/fetch-metadata#647</a></li>
<li>v2.5.0 by <a
href="https://github.com/fetch-metadata-action-automation"><code>@​fetch-metadata-action-automation</code></a>[bot]
in <a
href="https://redirect.github.com/dependabot/fetch-metadata/pull/631">dependabot/fetch-metadata#631</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dependabot/fetch-metadata/compare/v2...v2.5.0">https://github.com/dependabot/fetch-metadata/compare/v2...v2.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/21025c705c08248db411dc16f3619e6b5f9ea21a"><code>21025c7</code></a>
v2.5.0</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/252291c4909623444d34d29176583b6bae564c4a"><code>252291c</code></a>
Merge pull request <a
href="https://redirect.github.com/dependabot/fetch-metadata/issues/647">#647</a>
from dependabot/dependabot/npm_and_yarn/modelcontextp...</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/fa144c97df0d508a206af2a27295ecc2935effbd"><code>fa144c9</code></a>
chore: Migrate jest expectation function</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/33c7a0bfc8c64c28af2c81b3431ef4c59ec496b4"><code>33c7a0b</code></a>
bug: Mock PR body in test</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/99c27add52552e57615946e8e3e30bb1e06c907f"><code>99c27ad</code></a>
Bump <code>@​modelcontextprotocol/sdk</code> from 1.11.2 to 1.24.0</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/3837dcc013fa49857b3ce43e5e985c87b36856fe"><code>3837dcc</code></a>
Merge pull request <a
href="https://redirect.github.com/dependabot/fetch-metadata/issues/645">#645</a>
from dependabot/dependabot/npm_and_yarn/express-5.2.1</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/d411582f801e564114e3c0e221a9301030b6b7dd"><code>d411582</code></a>
Bump express from 5.1.0 to 5.2.1</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/186ccbbe83ea100061d2a4e5ad1e78372b949c3f"><code>186ccbb</code></a>
Merge pull request <a
href="https://redirect.github.com/dependabot/fetch-metadata/issues/644">#644</a>
from dependabot/dependabot/npm_and_yarn/js-yaml-3.14.2</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/84c891ecc223caac49af317368a1df9d6fb72ff7"><code>84c891e</code></a>
Bump js-yaml from 3.14.1 to 3.14.2</li>
<li><a
href="https://github.com/dependabot/fetch-metadata/commit/4542092e926ee0072c057475cbe8b76968714a21"><code>4542092</code></a>
Merge pull request <a
href="https://redirect.github.com/dependabot/fetch-metadata/issues/648">#648</a>
from dependabot/dependabot/github_actions/actions/cre...</li>
<li>Additional commits viewable in <a
href="https://github.com/dependabot/fetch-metadata/compare/v2.4.0...v2.5.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dependabot/fetch-metadata&package-manager=github_actions&previous-version=2.4.0&new-version=2.5.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1
to 6.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID
is set by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2355">actions/checkout#2355</a></li>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v6.0.1...v6.0.2">https://github.com/actions/checkout/compare/v6.0.1...v6.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h2>v6.0.2</h2>
<ul>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/de0fac2e4500dabe0009e67214ff5f5447ce83dd"><code>de0fac2</code></a>
Fix tag handling: preserve annotations and explicit fetch-tags (<a
href="https://redirect.github.com/actions/checkout/issues/2356">#2356</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/064fe7f3312418007dea2b49a19844a9ee378f49"><code>064fe7f</code></a>
Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is
set (...</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v6.0.1...v6.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=6.0.1&new-version=6.0.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2086)

Bumps the pip group with 1 update:
[ruff](https://github.com/astral-sh/ruff).

Updates `ruff` from 0.14.10 to 0.14.14
<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.14.14</h2>
<h2>Release Notes</h2>
<p>Released on 2026-01-22.</p>
<h3>Preview features</h3>
<ul>
<li>Preserve required parentheses in lambda bodies (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22747">#22747</a>)</li>
<li>Combine range suppression code diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22613">#22613</a>)</li>
<li>[<code>airflow</code>] Second positional argument to
<code>Asset</code>/<code>Dataset</code> should not be a dictionary
(<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22453">#22453</a>)</li>
<li>[<code>ruff</code>] Detect duplicate entries in <code>__all__</code>
(<code>RUF068</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22114">#22114</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyupgrade</code>] Allow shadowing non-builtin bindings
(<code>UP029</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22749">#22749</a>)</li>
<li>[<code>pyupgrade</code>] Apply <code>UP045</code> to string
arguments of <code>typing.cast</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22320">#22320</a>)</li>
<li>[<code>flake8-pie</code>] Detect duplicated declared class fields in
<code>PIE794</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22717">#22717</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-pyi</code>] Fix inconsistent handling of forward
references for <code>__new__</code>, <code>__enter__</code>,
<code>__aenter__</code> in <code>PYI034</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22798">#22798</a>)</li>
<li>[<code>flake8-pytest-style</code>] Support <code>check</code>
parameter in <code>PT011</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22725">#22725</a>)</li>
<li>[<code>ruff</code>] Add exception for
<code>ctypes.Structure._fields_</code> (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22559">#22559</a>)</li>
<li>Many fixes are now marked unsafe if they would remove comments:
<ul>
<li>[<code>flake8-bugbear</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22656"><code>B009</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22657"><code>B010</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22658"><code>B013</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22659"><code>B014</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22632"><code>B033</code></a></li>
<li>[<code>flake8-simplify</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22662"><code>SIM910</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22661"><code>SIM911</code></a></li>
<li>[<code>pyupgrade</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22772"><code>UP007</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22774"><code>UP039</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22773"><code>UP041</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22772"><code>UP045</code></a></li>
<li>[<code>refurb</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22767"><code>FURB105</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22681"><code>FURB116</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22680"><code>FURB136</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22679"><code>FURB140</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22670"><code>FURB145</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22669"><code>FURB154</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22668"><code>FURB157</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22667"><code>FURB164</code></a>,<a
href="https://redirect.github.com/astral-sh/ruff/pull/22666"><code>FURB181</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22665"><code>FURB188</code></a></li>
<li>[<code>ruff</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22663"><code>RUF019</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22664"><code>RUF020</code></a></li>
</ul>
</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add <code>--exit-non-zero-on-format</code> to formatter exit codes
section (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22761">#22761</a>)</li>
<li>Update contributing guide for adding a new rule (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22779">#22779</a>)</li>
<li>[<code>FastAPI</code>] Document fix safety for <code>FAST001</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22655">#22655</a>)</li>
<li>[<code>flake8-async</code>] Tweak explanation to focus on
latency/efficiency tradeoff (<code>ASYNC110</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22715">#22715</a>)</li>
<li>[<code>pandas-vet</code>] Make example error out-of-the-box
(<code>PD002</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22561">#22561</a>)</li>
<li>[<code>refurb</code>] Make the example work out of box
(<code>FURB101</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22770">#22770</a>)</li>
<li>[<code>refurb</code>] Make the example work out of box
(<code>FURB103</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22769">#22769</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/alejsdev"><code>@​alejsdev</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/caiquejjx"><code>@​caiquejjx</code></a></li>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a
href="https://github.com/denyszhak"><code>@​denyszhak</code></a></li>
<li><a
href="https://github.com/sjyangkevin"><code>@​sjyangkevin</code></a></li>
<li><a
href="https://github.com/MeGaGiGaGon"><code>@​MeGaGiGaGon</code></a></li>
<li><a
href="https://github.com/leandrobbraga"><code>@​leandrobbraga</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.14.14</h2>
<p>Released on 2026-01-22.</p>
<h3>Preview features</h3>
<ul>
<li>Preserve required parentheses in lambda bodies (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22747">#22747</a>)</li>
<li>Combine range suppression code diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22613">#22613</a>)</li>
<li>[<code>airflow</code>] Second positional argument to
<code>Asset</code>/<code>Dataset</code> should not be a dictionary
(<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22453">#22453</a>)</li>
<li>[<code>ruff</code>] Detect duplicate entries in <code>__all__</code>
(<code>RUF068</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22114">#22114</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyupgrade</code>] Allow shadowing non-builtin bindings
(<code>UP029</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22749">#22749</a>)</li>
<li>[<code>pyupgrade</code>] Apply <code>UP045</code> to string
arguments of <code>typing.cast</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22320">#22320</a>)</li>
<li>[<code>flake8-pie</code>] Detect duplicated declared class fields in
<code>PIE794</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22717">#22717</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-pyi</code>] Fix inconsistent handling of forward
references for <code>__new__</code>, <code>__enter__</code>,
<code>__aenter__</code> in <code>PYI034</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22798">#22798</a>)</li>
<li>[<code>flake8-pytest-style</code>] Support <code>check</code>
parameter in <code>PT011</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22725">#22725</a>)</li>
<li>[<code>ruff</code>] Add exception for
<code>ctypes.Structure._fields_</code> (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22559">#22559</a>)</li>
<li>Many fixes are now marked unsafe if they would remove comments:
<ul>
<li>[<code>flake8-bugbear</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22656"><code>B009</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22657"><code>B010</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22658"><code>B013</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22659"><code>B014</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22632"><code>B033</code></a></li>
<li>[<code>flake8-simplify</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22662"><code>SIM910</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22661"><code>SIM911</code></a></li>
<li>[<code>pyupgrade</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22772"><code>UP007</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22774"><code>UP039</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22773"><code>UP041</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22772"><code>UP045</code></a></li>
<li>[<code>refurb</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22767"><code>FURB105</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22681"><code>FURB116</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22680"><code>FURB136</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22679"><code>FURB140</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22670"><code>FURB145</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22669"><code>FURB154</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22668"><code>FURB157</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22667"><code>FURB164</code></a>,<a
href="https://redirect.github.com/astral-sh/ruff/pull/22666"><code>FURB181</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22665"><code>FURB188</code></a></li>
<li>[<code>ruff</code>] <a
href="https://redirect.github.com/astral-sh/ruff/pull/22663"><code>RUF019</code></a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/22664"><code>RUF020</code></a></li>
</ul>
</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add <code>--exit-non-zero-on-format</code> to formatter exit codes
section (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22761">#22761</a>)</li>
<li>Update contributing guide for adding a new rule (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22779">#22779</a>)</li>
<li>[<code>FastAPI</code>] Document fix safety for <code>FAST001</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22655">#22655</a>)</li>
<li>[<code>flake8-async</code>] Tweak explanation to focus on
latency/efficiency tradeoff (<code>ASYNC110</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22715">#22715</a>)</li>
<li>[<code>pandas-vet</code>] Make example error out-of-the-box
(<code>PD002</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22561">#22561</a>)</li>
<li>[<code>refurb</code>] Make the example work out of box
(<code>FURB101</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22770">#22770</a>)</li>
<li>[<code>refurb</code>] Make the example work out of box
(<code>FURB103</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22769">#22769</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/alejsdev"><code>@​alejsdev</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/caiquejjx"><code>@​caiquejjx</code></a></li>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a
href="https://github.com/denyszhak"><code>@​denyszhak</code></a></li>
<li><a
href="https://github.com/sjyangkevin"><code>@​sjyangkevin</code></a></li>
<li><a
href="https://github.com/MeGaGiGaGon"><code>@​MeGaGiGaGon</code></a></li>
<li><a
href="https://github.com/leandrobbraga"><code>@​leandrobbraga</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></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/8b2e7b36f246b990fe473a84eef25ff429e59ecf"><code>8b2e7b3</code></a>
Prepare release v0.14.14 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22813">#22813</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383"><code>4c7d1f5</code></a>
[ty] Infer <code>TypedDict</code> types with &gt;=1 required key as
being always truthy (<a
href="https://redirect.github.com/astral-sh/ruff/issues/2">#2</a>...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348"><code>b7de434</code></a>
add CCfW hooks (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22803">#22803</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352"><code>b912dfc</code></a>
[<code>pyupgrade</code>] Apply <code>UP045</code> to string arguments of
<code>typing.cast</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22320">#22320</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249"><code>1ff062d</code></a>
[ty] Improve completion rankings for raise-from/except contexts (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22775">#22775</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b"><code>7e408a5</code></a>
Update dependency wrangler to v4.59.1 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22793">#22793</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85"><code>ceb876b</code></a>
[<code>flake8-pyi</code>] Fix inconsistent handling of forward
references for <code>__new__</code>,...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb"><code>c5b4ee6</code></a>
[ty] Support solving generics involving PEP 695 type aliases (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22678">#22678</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d"><code>b9a6129</code></a>
[ty] Improve support for kwarg splats in dictionary literals (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22781">#22781</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120"><code>f516d47</code></a>
Update contributing guide for adding a new rule (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22779">#22779</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.10...0.14.14">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.14.10&new-version=0.14.14)](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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The new ``dulwich.bundle_uri`` module implements the Git bundle URI
specification, allowing clients to download pre-computed bundles from
HTTP(S) URLs to bootstrap repository data before fetching remaining
objects.
The new ``dulwich.bundle_uri`` module implements the Git bundle URI
specification, allowing clients to download pre-computed bundles from
HTTP(S) URLs to bootstrap repository data before fetching remaining
objects.
When deriving the LFS URL from a remote URL, the code was always
returning HTTPLFSClient, even for file:// URLs. This caused failures
on Windows (and potentially other platforms) where urllib3 would
complain about missing host for file:// schemes.

Refactor the client selection logic into a new from_url() class method
that determines the appropriate client type (HTTPLFSClient or
FileLFSClient) based on the URL scheme. Use this method consistently
for both explicitly configured and derived LFS URLs.
Implement the core.trustctime Git config option which controls whether
ctime (change time) is used as part of file change detection. When set
to false, ctime differences are ignored, which is useful on filesystems
where ctime is unreliable (e.g., due to backup systems or file crawlers).
Implement the core.trustctime Git config option which controls whether
ctime (change time) is used as part of file change detection. When set
to false, ctime differences are ignored, which is useful on filesystems
where ctime is unreliable (e.g., due to backup systems or file
crawlers).
When deriving the LFS URL from a remote URL, the code was always
returning HTTPLFSClient, even for file:// URLs. This caused failures on
Windows (and potentially other platforms) where urllib3 would complain
about missing host for file:// schemes.

Refactor the client selection logic into a new from_url() class method
that determines the appropriate client type (HTTPLFSClient or
FileLFSClient) based on the URL scheme. Use this method consistently for
both explicitly configured and derived LFS URLs.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.