dependabot[bot] opened a new pull request, #1557:
URL: https://github.com/apache/tooling-trusted-releases/pull/1557

   Bumps [dulwich](https://github.com/dulwich/dulwich) from 1.2.12 to 1.2.13.
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/dulwich/dulwich/releases";>dulwich's 
releases</a>.</em></p>
   <blockquote>
   <h2>dulwich-1.2.13</h2>
   <ul>
   <li>
   <p>Make concurrent <code>Pack.get_raw</code> calls thread-safe by 
synchronizing
   <code>PackData</code>'s resolved-object offset cache.
   (Bojan Zivanovic)</p>
   </li>
   <li>
   <p>Speed up cached <code>PackData.get_object_at</code> lookups by acquiring 
the
   offset-cache lock directly instead of through a <code>with</code> statement.
   (Bojan Zivanovic)</p>
   </li>
   <li>
   <p>Bound fetch negotiation the way C Git's <code>MAX_IN_VAIN</code> does: 
give up
   after 256 unacknowledged &quot;have&quot; lines instead of draining the whole
   graph walker into stateless (HTTP) requests. (Bojan Zivanovic, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2343";>#2343</a>)</p>
   </li>
   <li>
   <p>Add <code>repo.sanitize_user_identity</code>, which builds an identity 
from a
   name and an email sanitized the way git's <code>fmt_ident</code> does, for
   callers who cannot reject invalid input via <code>check_user_identity</code>.
   (Bojan Zivanovic, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2342";>#2342</a>)</p>
   </li>
   <li>
   <p>Make concurrent <code>PackData</code> reads thread-safe by mmap-ing pack 
contents
   and indexing the mapping at explicit offsets instead of sharing the file
   position. New <code>unpack_object_at</code>, 
<code>read_pack_header_at</code>,
   <code>read_zlib_chunks_at</code>, <code>take_msb_bytes_at</code> and 
<code>compute_buffer_sha</code>
   read from a buffer; the existing read-callable variants remain for streams.
   (Bojan Zivanovic, Jelmer Vernooij)</p>
   </li>
   <li>
   <p>Deduplicate the commit walk in <code>find_shallow</code> and 
<code>get_depth</code>
   (<code>dulwich.object_store</code>). Both re-expanded a commit once per path 
that
   reached it, so a merge-heavy history walked in exponential time.
   (netliomax25-code)</p>
   </li>
   <li>
   <p>SECURITY: Don't follow symlinks when writing messages in
   <code>porcelain.format_patch</code>, <code>mbox.split_mbox</code> and 
<code>mbox.split_maildir</code>.
   A symlink pre-planted at an output filename was followed, writing the
   message outside the output
   directory. (Jelmer Vernooij; Reported by wzc)</p>
   </li>
   <li>
   <p>Only reject reserved Windows device names (<code>aux</code>, 
<code>nul</code>, <code>con</code>, ...)
   when actually running on Windows. C git confines this check to its Windows
   compat layer, so repositories carrying such paths could not be cloned
   elsewhere. (Jelmer Vernooij, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2351";>#2351</a>)</p>
   </li>
   <li>
   <p>Fix <code>ignore</code> and <code>attrs</code> matching for patterns 
ending in <code>**/</code>. The
   trailing slash was dropped when translating the pattern, so 
<code>foo/**/</code> also
   matched <code>foo/</code> itself and every file directly inside it. Git only 
ignores
   the directories below <code>foo</code>. (adarshsm)</p>
   </li>
   <li>
   <p>Catch <code>PackFileDisappeared</code> in the bitmap probe in
   <code>get_reachability_provider</code>, which only guarded 
<code>FileNotFoundError</code>.
   (Jelmer Vernooij, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2344";>#2344</a>)</p>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/jelmer/dulwich/blob/main/NEWS";>dulwich's 
changelog</a>.</em></p>
   <blockquote>
   <p>1.2.13    2026-08-24</p>
   <ul>
   <li>
   <p>Make concurrent <code>Pack.get_raw</code> calls thread-safe by 
synchronizing
   <code>PackData</code>'s resolved-object offset cache.
   (Bojan Zivanovic)</p>
   </li>
   <li>
   <p>Speed up cached <code>PackData.get_object_at</code> lookups by acquiring 
the
   offset-cache lock directly instead of through a <code>with</code> statement.
   (Bojan Zivanovic)</p>
   </li>
   <li>
   <p>Bound fetch negotiation the way C Git's <code>MAX_IN_VAIN</code> does: 
give up
   after 256 unacknowledged &quot;have&quot; lines instead of draining the whole
   graph walker into stateless (HTTP) requests. (Bojan Zivanovic, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2343";>#2343</a>)</p>
   </li>
   <li>
   <p>Add <code>repo.sanitize_user_identity</code>, which builds an identity 
from a
   name and an email sanitized the way git's <code>fmt_ident</code> does, for
   callers who cannot reject invalid input via <code>check_user_identity</code>.
   (Bojan Zivanovic, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2342";>#2342</a>)</p>
   </li>
   <li>
   <p>Make concurrent <code>PackData</code> reads thread-safe by mmap-ing pack 
contents
   and indexing the mapping at explicit offsets instead of sharing the file
   position. New <code>unpack_object_at</code>, 
<code>read_pack_header_at</code>,
   <code>read_zlib_chunks_at</code>, <code>take_msb_bytes_at</code> and 
<code>compute_buffer_sha</code>
   read from a buffer; the existing read-callable variants remain for streams.
   (Bojan Zivanovic, Jelmer Vernooij)</p>
   </li>
   <li>
   <p>Deduplicate the commit walk in <code>find_shallow</code> and 
<code>get_depth</code>
   (<code>dulwich.object_store</code>). Both re-expanded a commit once per path 
that
   reached it, so a merge-heavy history walked in exponential time.
   (netliomax25-code)</p>
   </li>
   <li>
   <p>SECURITY: Don't follow symlinks when writing messages in
   <code>porcelain.format_patch</code>, <code>mbox.split_mbox</code> and 
<code>mbox.split_maildir</code>.
   A symlink pre-planted at an output filename was followed, writing the
   message outside the output
   directory. (Jelmer Vernooij; Reported by wzc)</p>
   </li>
   <li>
   <p>Only reject reserved Windows device names (<code>aux</code>, 
<code>nul</code>, <code>con</code>, ...)
   when actually running on Windows. C git confines this check to its Windows
   compat layer, so repositories carrying such paths could not be cloned
   elsewhere. (Jelmer Vernooij, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2351";>#2351</a>)</p>
   </li>
   <li>
   <p>Fix <code>ignore</code> and <code>attrs</code> matching for patterns 
ending in <code>**/</code>. The
   trailing slash was dropped when translating the pattern, so 
<code>foo/**/</code> also
   matched <code>foo/</code> itself and every file directly inside it. Git only 
ignores
   the directories below <code>foo</code>. (adarshsm)</p>
   </li>
   <li>
   <p>Catch <code>PackFileDisappeared</code> in the bitmap probe in
   <code>get_reachability_provider</code>, which only guarded 
<code>FileNotFoundError</code>.
   (Jelmer Vernooij, <a 
href="https://redirect.github.com/dulwich/dulwich/issues/2344";>#2344</a>)</p>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/2d47e39d441c3192776029e4570bb02201524bcf";><code>2d47e39</code></a>
 Release 1.2.13</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/dc216711ba595262deeece7924acb7d375be4787";><code>dc21671</code></a>
 Keep the directory constraint on patterns ending in &quot;**/&quot; (<a 
href="https://redirect.github.com/dulwich/dulwich/issues/2348";>#2348</a>)</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/5fba6e66306b07974be9150adbd27c83b604f7e8";><code>5fba6e6</code></a>
 test: check-attr compat coverage for trailing <code>**/</code></li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/430fd46607c70bae098b231641a706aef4c945aa";><code>430fd46</code></a>
 test: unit tests for trailing <code>**/</code></li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/e3175151196947188767cde8b93ea80fa55b1e4b";><code>e317515</code></a>
 Add compat tests for patterns ending in &quot;**/&quot;</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/2f530ab956c7bfadf384c451fd17a9f93f8626bf";><code>2f530ab</code></a>
 Keep the directory constraint on patterns ending in &quot;**/&quot;</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/343ead4af84cbbcd806e14ca74803595964f5226";><code>343ead4</code></a>
 Speed up cached PackData.get_object_at lookups (<a 
href="https://redirect.github.com/dulwich/dulwich/issues/2368";>#2368</a>)</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/f53cd4dc3a62692e90ccc355422fff1722c67c4e";><code>f53cd4d</code></a>
 Speed up cached PackData.get_object_at lookups</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/8afc2ef78ab8f2de4e236c0e97c86b619f52bac8";><code>8afc2ef</code></a>
 Make Pack.get_raw thread-safe (<a 
href="https://redirect.github.com/dulwich/dulwich/issues/2366";>#2366</a>)</li>
   <li><a 
href="https://github.com/jelmer/dulwich/commit/3d270b191f117225d8907701730bc1b6c856e1da";><code>3d270b1</code></a>
 Make Pack.get_raw thread-safe</li>
   <li>Additional commits viewable in <a 
href="https://github.com/dulwich/dulwich/compare/dulwich-1.2.12...dulwich-1.2.13";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dulwich&package-manager=uv&previous-version=1.2.12&new-version=1.2.13)](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 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>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to