Skip to content

[pull] master from aio-libs:master#678

Merged
pull[bot] merged 1 commit into
tj-python:masterfrom
aio-libs:master
Jul 21, 2026
Merged

[pull] master from aio-libs:master#678
pull[bot] merged 1 commit into
tj-python:masterfrom
aio-libs:master

Conversation

@pull

@pull pull Bot commented Jul 21, 2026

Copy link
Copy Markdown

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 : )

Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.30.2 to
3.31.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/py-filelock/releases">filelock's
releases</a>.</em></p>
<blockquote>
<h2>3.31.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>✨ feat(platform): support Termux/Android by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/678">tox-dev/filelock#678</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tox-dev/filelock/compare/3.30.3...3.31.0">https://github.com/tox-dev/filelock/compare/3.30.3...3.31.0</a></p>
<h2>3.30.3</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Keep both tables of contents on screen at any browser font size by
<a href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a>
in <a
href="https://redirect.github.com/tox-dev/filelock/pull/673">tox-dev/filelock#673</a></li>
<li>📝 docs(mermaid): follow the light and dark theme toggle by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/674">tox-dev/filelock#674</a></li>
<li>asyncio: scope the reentrant-deadlock registry to the owning task by
<a href="https://github.com/xt-yin"><code>@​xt-yin</code></a> in <a
href="https://redirect.github.com/tox-dev/filelock/pull/676">tox-dev/filelock#676</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/xt-yin"><code>@​xt-yin</code></a> made
their first contribution in <a
href="https://redirect.github.com/tox-dev/filelock/pull/676">tox-dev/filelock#676</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tox-dev/filelock/compare/3.30.2...3.30.3">https://github.com/tox-dev/filelock/compare/3.30.2...3.30.3</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst">filelock's
changelog</a>.</em></p>
<blockquote>
<p>###########
Changelog
###########</p>
<p>.. towncrier-draft-entries:: Unreleased</p>
<p>.. towncrier release notes start</p>
<hr />
<p>3.31.2 (2026-07-21)</p>
<hr />
<ul>
<li><code>filelock</code> imports again on runtimes whose
<code>errno</code> omits <code>ENOTSUP</code>, such as GraalPy, where
importing the package
raised <code>ImportError</code>. It probes the code instead, preferring
<code>ENOTSUP</code>, falling back to <code>EOPNOTSUPP</code> where that
name is absent, and dropping to <code>ENOSYS</code>/<code>EXDEV</code>
where neither exists. Platforms defining <code>ENOTSUP</code> keep their
behavior. :pr:<code>681</code></li>
</ul>
<hr />
<p>3.31.1 (2026-07-20)</p>
<hr />
<ul>
<li>A <code>SoftFileLease</code> acquired on one thread keeps its claim
when another thread fails to acquire the same lease object,
so its heartbeat carries on refreshing the marker instead of being torn
down and letting a peer take the live claim. :pr:<code>680</code></li>
</ul>
<hr />
<p>3.31.0 (2026-07-18)</p>
<hr />
<ul>
<li>Support Termux/Android, whose CPython ships without
<code>os.link</code> and reports <code>sys.platform ==
&quot;android&quot;</code>. <code>import filelock</code> and both
<code>FileLock</code> and <code>SoftFileLock</code> now work there,
<code>StrictSoftFileLock</code> reports its missing
hard-link support only when acquired, and process liveness reads
<code>/proc</code> on Android instead of PID-only checks.
:pr:<code>678</code></li>
<li><code>StrictSoftFileLock</code> no longer lets two processes hold
the lock at once under heavy contention. A holder now keeps
its intent claim for the whole hold, so a contender whose directory scan
races the holder's freshly linked claim can no
longer miss it and win alongside it. A held lock now exposes both an
<code>intent</code> and a <code>held</code> claim.
:pr:<code>678</code></li>
</ul>
<hr />
<p>3.30.3 (2026-07-17)</p>
<hr />
<ul>
<li><code>AsyncFileLock</code> and <code>AsyncSoftFileLock</code> no
longer raise a deadlock <code>RuntimeError</code> when a different
asyncio task
waits for a lock they hold; the check now scopes holders to the owning
task, so only a same-task reacquire is refused.
:pr:<code>676</code></li>
<li>Keep both tables of contents on screen at any browser font size. The
widened body column sized itself in <code>em</code> against the reader's
font size while the breakpoints that fold the layout resolve
<code>em</code> against a fixed 16px, so a reader whose default font is
larger than 16px had the right-hand table of contents clipped off the
edge. The body column now flexes instead, and the right-hand table of
contents hides only at the mobile breakpoint. :pr:<code>673</code></li>
<li>Color the mermaid diagrams from whichever theme is active. They
previously carried a light palette baked into each
diagram's source, which stayed light on a dark page.
:pr:<code>674</code></li>
</ul>
<hr />
<p>3.30.2 (2026-07-16)</p>
<hr />
<ul>
<li>Stop :class:<code>~filelock.SoftFileLease</code> deleting a live
marker whose <code>mode</code> it does not implement. An unrecognized
mode now names its owner instead of reading as malformed, so a record
written by a newer filelock survives the grace window rather than being
evicted after two seconds. :pr:<code>672</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tox-dev/filelock/commit/3b66fdc1432e3b02e83525e61a99096aa09a933f"><code>3b66fdc</code></a>
Release 3.31.0</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/166b2b5d723a2e111be36a8b43e594a97141c0fd"><code>166b2b5</code></a>
✨ feat(platform): support Termux/Android (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/678">#678</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/51bca89704e83ea6bed8462946c72835544dbc8f"><code>51bca89</code></a>
Release 3.30.3</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/fc277001fb6abaea57986dc52d9844d48a9ef2f6"><code>fc27700</code></a>
asyncio: scope the reentrant-deadlock registry to the owning task (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/676">#676</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/8699861c86445e3a46ac185dc206a44183cd681a"><code>8699861</code></a>
📝 docs(mermaid): follow the light and dark theme toggle (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/674">#674</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/1b8da43740e2484fd3c84009e4693213fe6d5300"><code>1b8da43</code></a>
Keep both tables of contents on screen at any browser font size (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/673">#673</a>)</li>
<li>See full diff in <a
href="https://github.com/tox-dev/py-filelock/compare/3.30.2...3.31.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=filelock&package-manager=pip&previous-version=3.30.2&new-version=3.31.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 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>
@pull pull Bot locked and limited conversation to collaborators Jul 21, 2026
@pull pull Bot added the ⤵️ pull label Jul 21, 2026
@pull
pull Bot merged commit 8e814f5 into tj-python:master Jul 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants