Skip to content

chore(deps): bump the all group across 1 directory with 6 updates - #3126

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/all-ec6fb53cc5
Open

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/all-ec6fb53cc5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the all group with 6 updates in the / directory:

Package From To
packaging 26.2 26.3
web3 7.16.0 8.0.0
eth-abi 5.2.0 6.0.0
ruff 0.14.13 0.17.1
filelock 3.32.0 4.1.0
openai 2.49.0 3.31.0

Updates packaging from 26.2 to 26.3

Release notes

Sourced from packaging's releases.

26.3

What's Changed

Features

  • Add a public VersionRange API and SpecifierSet.to_range(), representing the versions a specifier set accepts as an interval set that supports intersection, union, difference, complement, set relations, membership tests, and filtering. VersionRange.to_specifier_set() converts a range back to a SpecifierSet where a PEP 440 form exists. (#1267, #1270, #1298)
  • PEP 808: accept Metadata-Version: 2.6. (#1194)
  • Add a limit argument to parse_tag() for compressed tag sets. (#1220)
  • Add a prefer_sdist_predicate argument to Pylock.select() to prefer source distributions over wheels for selected packages. (#1334)
  • Add pure_python_tags() to generate the pure-Python tags for a Python version without touching the running platform. (#1346)
  • Add SpecifierSet.is_subset(), SpecifierSet.is_superset(), and SpecifierSet.is_disjoint(), which compare the versions two specifier sets accept. (#1313)

Behavior adaptations

  • Drop support for Python 3.8; packaging now requires Python 3.9 or later. (#1157)
  • Prefer native linux_* platform tags over manylinux and musllinux tags on Linux. (#160)

Fixes for versions and specifiers

  • Raise InvalidVersion instead of TypeError when Version is given a non-string. (#1319)
  • Raise InvalidVersion for non-string pre-release letters passed to Version.from_parts. (#1241)
  • Fix an AttributeError when hashing internally trimmed versions. (#1242)
  • Fix SpecifierSet.is_unsatisfiable for post-release boundary intersections. (#1257)

Fixes for requirements and markers

  • Make Requirement.__hash__ consistent with __eq__ for trailing-zero-equivalent specifiers (e.g. foo==1.0.0 and foo==1.0.0.0), so equal requirements hash equal and deduplicate in sets and dicts. (#1232)
  • Normalize requested extra names before comparing or hashing requirements. (#644)
  • Preserve a Requirement's specifier prereleases override across a pickle round trip. (#1204)
  • Raise InvalidRequirement instead of InvalidSpecifier when a requirement contains an invalid specifier. (#1332)
  • Clarify the error for post-release prefix wildcards like ==1.0.post1.*. (#1299)
  • Preserve quoting semantics when serializing marker values, so round-tripped markers parse back to the same marker. (#1213)
  • Keep the parentheses of a nested group when serializing markers. (#1316)
  • Normalize extra and dependency_groups values in nested markers at parse time. (#1246, #1310)
  • Raise UndefinedComparison when a set-valued variable like extras is used outside the membership form. (#1265)
  • Raise UndefinedEnvironmentName (a KeyError subclass) for missing environment keys during marker evaluation. (#1276)
  • Wrap malformed string literal errors in InvalidMarker / InvalidRequirement instead of leaking a low-level error. (#1249)
  • Reject requirements and markers with a trailing line break. (#1345)

Fixes for metadata and licenses

  • Collect all from_email validation errors into one ExceptionGroup instead of raising the first. (#1268)
  • Accept the UTF-8 charset case-insensitively in email payloads. (#1330)
  • Reject malformed Description-Content-Type values. (#1329)
  • Don't rewrite user values that contain {field} placeholders in error messages. (#1327)
  • Route multipart email payloads to unparsed instead of asserting. (#1247)
  • Make InvalidMetadata and CyclicDependencyGroup picklable. (#1328)
  • Fold every line boundary str.splitlines recognizes when writing a header with RFC822Message. (#1356)

... (truncated)

Changelog

Sourced from packaging's changelog.

26.3 - 2026-08-03


Features:
  • Add a public :class:~packaging.ranges.VersionRange API and
    :meth:SpecifierSet.to_range() <packaging.specifiers.SpecifierSet.to_range>,
    representing the versions a specifier set accepts as an interval set that
    supports intersection, union, difference, complement, set relations,
    membership tests, and filtering.
    :meth:~packaging.ranges.VersionRange.to_specifier_set converts a range back
    to a :class:~packaging.specifiers.SpecifierSet where a PEP 440 form exists.
    (:pull:1267, :pull:1270, :pull:1298)
  • PEP 808: accept Metadata-Version: 2.6. (:pull:1194)
  • Add a limit argument to parse_tag() for compressed tag sets.
    (:issue:1220)
  • Add a prefer_sdist_predicate argument to Pylock.select() to prefer
    source distributions over wheels for selected packages. (:pull:1334)
  • Add :func:~packaging.tags.pure_python_tags to generate the pure-Python
    tags for a Python version without touching the running platform.
    (:pull:1346)
  • Add :meth:SpecifierSet.is_subset() <packaging.specifiers.SpecifierSet.is_subset>, :meth:~packaging.specifiers.SpecifierSet.is_superset,
    and :meth:~packaging.specifiers.SpecifierSet.is_disjoint, which compare the
    versions two specifier sets accept. (:pull:1313)

Behavior adaptations:

  • Drop support for Python 3.8; packaging now requires Python 3.9 or later.
    (:pull:1157)
  • Prefer native linux_* platform tags over manylinux and musllinux
    tags on Linux. (:issue:160)

Fixes for versions and specifiers:

  • Raise InvalidVersion instead of TypeError when Version is given a
    non-string. (:pull:1319)
  • Raise InvalidVersion for non-string pre-release letters passed to
    Version.from_parts. (:pull:1241)
  • Fix an AttributeError when hashing internally trimmed versions.
    (:pull:1242)
  • Fix SpecifierSet.is_unsatisfiable for post-release boundary
    intersections. (:pull:1257)

Fixes for requirements and markers:

  • Make Requirement.__hash__ consistent with __eq__ for
    trailing-zero-equivalent specifiers (e.g. foo==1.0.0 and
    foo==1.0.0.0), so equal requirements hash equal and deduplicate in
    sets and dicts. (:pull:1232)
    </tr></table>

... (truncated)

Commits
  • 929fd4b Bump for release
  • f300ebf chore(deps): bump the pre-commit group with 5 updates (#1357)
  • f91d975 ci(downstream): bump hatchling to 1.31.0 and fix its pytest rootdir (#1361)
  • b1a7124 chore(deps): bump the github-actions group with 7 updates (#1358)
  • 2d873eb fix(metadata): fold every line boundary when writing headers (#1356)
  • 413d006 docs: changelog for 26.3 (#1343)
  • 4eb0753 docs(metadata): explain selective field validation (#1342)
  • 77e9ed4 feat(tags): add pure Python tag generator (#1346)
  • 7cea5e8 ci: drop 3.13t on Windows (3.13.14t may fail to build, run takes 9 minutes) (...
  • 45a8b34 docs: add missing versionadded/versionchanged directives (#1344)
  • Additional commits viewable in compare view

Updates web3 from 7.16.0 to 8.0.0

Release notes

Sourced from web3's releases.

v8.0.0

What's Changed

New Contributors

Full Changelog: ApeWorX/web3.py@v7.13.0...v8.0.0

Changelog

Sourced from web3's changelog.

Release Notes

v7 Breaking Changes Summary See the :ref:v7 Migration Guide<migrating_v6_to_v7>

web3.py v8.0.0-beta.3 (2026-04-30)

Breaking Changes


- The ``ens.exceptions.UnsupportedFunction`` exception has been removed. Resolver lookups that previously raised ``UnsupportedFunction`` (for example, calling ``get_text`` against a resolver that does not implement ``text``) now raise ``ResolverNotFound`` instead, since the Universal Resolver collapses both "no resolver found" and "resolver does not support function" into a single revert. Update any ``except UnsupportedFunction`` handlers to catch ``ResolverNotFound``. (`[#3822](https://github.com/ApeWorX/web3.py/issues/3822) <https://github.com/ethereum/web3.py/issues/3822>`__)

Bugfixes


- Fixed ``ens.utils.is_none_or_zero_address`` not detecting bytes-form zero addresses (``b&quot;\x00&quot; * 20``) — the function compared against the hex string ``EMPTY_ADDR_HEX`` only, even though its signature accepts ``Address`` (which is ``bytes``). This caused ``ens.address(name, coin_type=N)`` to return the zero-address checksum string instead of ``None`` when the resolver recorded a zero address. (`[#3822](https://github.com/ApeWorX/web3.py/issues/3822) &lt;https://github.com/ethereum/web3.py/issues/3822&gt;`__)
- Fix a bug where request caching was not properly working for persistent connection providers (``WebSocketProvider`` and ``AsyncIPCProvider``). (`[#3825](https://github.com/ApeWorX/web3.py/issues/3825) &lt;https://github.com/ethereum/web3.py/issues/3825&gt;`__)

Features

  • ENS read operations now use the Universal Resolver (0xeEeEEEeE14D718C2B47D9923Deab1335E144EeEe) instead of querying the ENS Registry directly, aligning with ENSv2 readiness requirements. ([#3822](https://github.com/ApeWorX/web3.py/issues/3822) &lt;https://github.com/ethereum/web3.py/issues/3822&gt;__)

web3.py v8.0.0-beta.2 (2026-04-02)

Bugfixes


- Fix ``HTTPProvider`` to share an explicitly provided ``session`` across all threads, rather than only the creating thread. (`[#3800](https://github.com/ApeWorX/web3.py/issues/3800) &lt;https://github.com/ethereum/web3.py/issues/3800&gt;`__)
- Fix TypedDict field names to use camelCase (``validatorIndex``, ``yParity``) matching JSON-RPC conventions and formatter outputs. (`[#3801](https://github.com/ApeWorX/web3.py/issues/3801) &lt;https://github.com/ethereum/web3.py/issues/3801&gt;`__)
- Exclude type checking in Sphinx module and submodules (`[#3803](https://github.com/ApeWorX/web3.py/issues/3803) &lt;https://github.com/ethereum/web3.py/issues/3803&gt;`__)

Improved Documentation
</code></pre>
<ul>
<li>Added documentation for formatters explaining how they work, what the default formatters do, and how to customize them. (<code>#2994 &lt;https://github.com/ethereum/web3.py/issues/2994&amp;gt;&lt;/code&gt;__)&lt;/li>
</ul>
<p>Features</p>
<pre><code>

  • Added configurations for CCIP-Read, defaulting to a more secure configuration based on the EIP recommendations. ([#3817](https://github.com/ApeWorX/web3.py/issues/3817) &amp;lt;https://github.com/ethereum/web3.py/issues/3817&amp;gt;__)

&lt;/tr&gt;&lt;/table&gt;
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>

<ul>
<li><a href="https://github.com/ApeWorX/web3.py/commit/c8c1ed0c9e77e1a8b74902e6a6825e0b00534b10&quot;&gt;&lt;code&gt;c8c1ed0&lt;/code&gt;&lt;/a> fix: EIP-7702 auth signature fields were wrong type (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3864&quot;&gt;#3864&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/f2c2226946d1d4a6eeca2854772b5f41defdb152&quot;&gt;&lt;code&gt;f2c2226&lt;/code&gt;&lt;/a> fix(ens): remove abi_ens_resolver v8 backwards-compat NameNotFound catch (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3844&quot;&gt;#3844&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/ab1325e894fc6a74258d9c5f4500fe973051cc56&quot;&gt;&lt;code&gt;ab1325e&lt;/code&gt;&lt;/a> refactor: remove deprecated function (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3876&quot;&gt;#3876&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/8552b49a0d94f7ee41c810549ccc932a0a802110&quot;&gt;&lt;code&gt;8552b49&lt;/code&gt;&lt;/a> feat(eth): remove deprecated <code>get_uncle_*</code> method (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3806&quot;&gt;#3806&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/4d824eb0610c46cb232adbbd221ab49f38c360bb&quot;&gt;&lt;code&gt;4d824eb&lt;/code&gt;&lt;/a> Clean deps (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3857&quot;&gt;#3857&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/36e3262852dc79d59d9d597af2937e18ac80ed99&quot;&gt;&lt;code&gt;36e3262&lt;/code&gt;&lt;/a> refactor: move to Github Actions; remove bundled maintainence scripts (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3873&quot;&gt;#3873&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/268493afc584fa1e393475ff7a2c73b912cd7906&quot;&gt;&lt;code&gt;268493a&lt;/code&gt;&lt;/a> Bump version: 8.0.0-beta.2 → 8.0.0-beta.3</li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/a7a552329fe886bd0909b779b855102cd8acec3e&quot;&gt;&lt;code&gt;a7a5523&lt;/code&gt;&lt;/a> Compile release notes for v8.0.0-beta.3</li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/1c155bcdee4c21c4ba18f77cc16083084dfc617c&quot;&gt;&lt;code&gt;1c155bc&lt;/code&gt;&lt;/a> feat(ens): use Universal Resolver for ENS resolution (<a href="https://redirect.github.com/ApeWorX/web3.py/issues/3822&quot;&gt;#3822&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/ApeWorX/web3.py/commit/37911a58b298730a6506b7ec6b9159a1cfa5413d&quot;&gt;&lt;code&gt;37911a5&lt;/code&gt;&lt;/a> fix: actual websocket cache fix is <code>params or []</code> footgun</li>
<li>Additional commits viewable in <a href="https://github.com/ApeWorX/web3.py/compare/v7.16.0...v8.0.0&quot;&gt;compare view</a></li>
</ul>
</details>

<br />

Updates eth-abi from 5.2.0 to 6.0.0

Release notes

Sourced from eth-abi's releases.

v6.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/ApeWorX/eth-abi/compare/v5.2.0...v6.0.0

Changelog

Sourced from eth-abi's changelog.

Release Notes

.. towncrier release notes start

eth-abi v6.0.0-beta.1 (2025-12-17)

Breaking Changes


- Drop support for Python 3.8 & 3.9 (`[#250](https://github.com/ApeWorX/eth-abi/issues/250) <https://github.com/ApeWorX/eth-abi/issues/250>`__)

Improved Documentation

  • Fix typo in index ([#243](https://github.com/ApeWorX/eth-abi/issues/243) <https://github.com/ApeWorX/eth-abi/issues/243>__)

Features


- Add support for Python 3.14 (`[#250](https://github.com/ApeWorX/eth-abi/issues/250) <https://github.com/ApeWorX/eth-abi/issues/250>`__)
Commits
  • c0d2d0f refactor: drop <3.10; add <=3.14; migrate to prek and ruff; use Github Action...
  • afa145a newsfragment for #246
  • a92aff7 feat: optimize encode and decode
  • cdc7e65 Bump version: 5.2.0 → 6.0.0-beta.1
  • 484a3cf Compile release notes for v6.0.0-beta.1
  • a7e0aad Merge pull request #250 from kclowes/template-upgrades
  • 303b4d7 Fix docs/contributing
  • 404786a Add newsfragments for #250
  • 0eac8dd Remove hypothesis warnings
  • d4c9a81 Fix typing
  • Additional commits viewable in compare view

Updates ruff from 0.14.13 to 0.17.1

Release notes

Sourced from ruff's releases.

0.17.1

Release Notes

Released on 2026-10-15.

Preview features

  • [pycodestyle] Don't treat None, True, or False as keywords (E271-E274) (#29322)

Bug fixes

  • Fix dedent with multiple leading comments (#29382)
  • [flake8-pyi] Detect legacy positional-only parameters in __new__ methods (PYI063) (#28502)
  • [flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)
  • [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (#29366)

Rule changes

  • Treat more collections and weakref containers as mutable (#29213)

Documentation

  • [flake8-import-conventions] Update default and example aliases (#29333)

Contributors

Install ruff 0.17.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.1/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.17.1/ruff-installer.ps1 | iex"

Download ruff 0.17.1

| File | Platform | Checksum |

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.1

Released on 2026-10-15.

Preview features

  • [pycodestyle] Don't treat None, True, or False as keywords (E271-E274) (#29322)

Bug fixes

  • Fix dedent with multiple leading comments (#29382)
  • [flake8-pyi] Detect legacy positional-only parameters in __new__ methods (PYI063) (#28502)
  • [flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)
  • [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (#29366)

Rule changes

  • Treat more collections and weakref containers as mutable (#29213)

Documentation

  • [flake8-import-conventions] Update default and example aliases (#29333)

Contributors

0.17.0

Released on 2026-10-09.

The executables in our macOS and Windows release archives and ruff wheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.

Breaking changes

  • Update the default and latest Python versions for 3.15 (#28792)

    Ruff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through target-version or requires-python. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15

... (truncated)

Commits
  • 4683270 Bump version to 0.17.1 (#29420)
  • 3514027 [ty] Update typing conformance suite pin (#29417)
  • 8294556 Update referenced PR security-review workflow (#29237)
  • d1e1b1f [ty] Preserve recursive aliases when rebuilding intersections (#29057)
  • 9352615 [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (...
  • 83a3afc Fix dedent with multiple leading comments (#29382)
  • b42a873 [ty] Clarify object attribute write-contract rationale (#29384)
  • d01678e [ty] Clarify object attribute write-contract rationale (#29384)
  • 355b42a [ty] Avoid writable override contracts from object (#29373)
  • e26e6d2 [ty] Collect intersection inference through constraint relations (#28677)
  • Additional commits viewable in compare view

Updates filelock from 3.32.0 to 4.1.0

Release notes

Sourced from filelock's releases.

4.1.0

  • Import OwnerMode, CompromiseReason and has_fcntl from filelock. #790
  • AcquireReturnProxy is generic in the lock type, so with lock.acquire() as held: types held as the lock's own class. #803
  • A Timeout from a soft lock names a holder on another host or in another PID namespace, which no contender ever reclaims. #815
  • is_lock_held_by_us and is_lock_held_by_us return False for a marker an earlier process with the same PID left behind. #774
  • SoftFileLock removes its marker when writing it fails and closing the descriptor fails too, so the lock path no longer stays blocked. #775
  • acquire and acquire no longer wait past timeout when poll_interval is longer than the time left. #777
  • SoftReadWriteLock ignores a generation-log entry whose name is not 20 ASCII digits, which used to stop its heartbeat thread or delete real generations. #778
  • ReadWriteLock, SoftReadWriteLock and their async wrappers treat a inf timeout like -1 and raise ValueError for a blocking nan one. #779
  • ReadWriteLock and SoftReadWriteLock accept a timeout above TIMEOUT_MAX instead of raising OverflowError. #780
  • acquire raises ValueError for a blocking nan timeout or a poll_interval above TIMEOUT_MAX, and treats a inf timeout like -1. #781
  • SoftFileLock and MarkerSoftFileLock treat a marker cut before its final newline as malformed, so a crash-truncated record self-heals and a read mid-write no longer breaks a live lock. #782
  • UnixFileLock no longer deletes another process's live marker when it falls back to a soft lock on ENOSYS, and on macOS a lock path ending in a separator raises FileNotFoundError instead of retrying. #785
  • SoftFileLock and SoftFileLease put back a live successor's marker that a racing stale break moved aside, so a third contender no longer acquires beside the successor. #786
  • StrictSoftFileLock removes every claim a failed acquire published, counts an EEXIST link that landed as published, and no longer reports is_locked after a failed claim cleanup. #787
  • On Python 3.10 without the exceptiongroup backport, a release failure under the default context_error_policy no longer turns into ModuleNotFoundError; cleanup failures chain instead of grouping, and on_acquired is allowed. #788
  • AsyncReadWriteLock and AsyncSoftReadWriteLock drop a task's hold when a caller cancels it during a release that still completes, instead of blocking every later writer. #789
  • SoftFileLease releases a lease dropped while held, at garbage collection or interpreter exit, and raises ValueError for a heartbeat_interval above TIMEOUT_MAX. #791
  • StrictSoftFileLock judges an abandoned private record's age by the filesystem's clock, so a client clock ahead of an NFS server no longer aborts live publications. #792
  • BaseAsyncFileLock raises RuntimeError instead of CancelledError when its executor shuts down with the call still queued, and a waiter interrupted by anything else no longer wedges later calls. #793
  • Constructing or closing a second ReadWriteLock on a held database no longer drops the holder's lock, so other processes stay excluded. #794
  • SoftReadWriteLock no longer admits a second writer after <path>.rw is removed under a live instance, and flushes each snapshot before publishing it so a crash cannot leave an empty one that wedges every peer. #795
  • SoftFileLease reclaims a dead MarkerSoftFileLock owner, and expires a lease or a malformed soft marker after it stays unchanged on the contender's own monotonic clock, so clock skew cannot break it. #796
  • A soft lock marker written in a Linux container records its PID namespace with the hostname, so a sibling container that shares the hostname and volume no longer breaks a live lock. #797
  • close> makes an acquire still waiting in another thread raise RuntimeError, where it used to take the lock on the closed instance and hold it until the process exited. #798
  • SoftReadWriteLock reads the head from gen/HEAD, so a client whose cached directory listing is

... (truncated)

Changelog

Sourced from filelock's changelog.

########### Changelog ###########

.. towncrier-draft-entries:: Unreleased

.. towncrier release notes start


4.2.4 (2026-10-19)


  • Keep GitHub Release notes free of extra blank lines while retaining the PyPI and version comparison links. :pr:863

4.2.3 (2026-10-19)


  • Creating a lock on a Python 3.15 interpreter without types.LazyImportType no longer triggers AttributeError at exit. :pr:860
  • Handle EFTYPE when a no-follow open refuses a symlink in a soft reader/writer lock's protocol tree, so heartbeat reports lost ownership rather than a transient refresh error.

4.2.2 (2026-10-18)


  • Fix a lock on a relative path that stayed held after a later with lock: ended, when an earlier acquire() had failed because the working directory no longer exists. That call still raises :class:FileNotFoundError, and it now leaves the lock's hold count unchanged. :pr:856

4.2.1 (2026-10-17)


  • On a singleton wrapper, :meth:AsyncReadWriteLock.close() <filelock.AsyncReadWriteLock.close> and :meth:AsyncSoftReadWriteLock.close() <filelock.AsyncSoftReadWriteLock.close> end only the holds that tasks acquired through that wrapper. A reader that arrives during close() gets the closed error instead of joining the ending hold. After synchronous code closes or force-releases the shared lock, the wrappers refuse to admit readers into the ended hold, and close() on such a wrapper returns. Closing one wrapper no longer ends a task's nested hold taken through another wrapper on the same path. :pr:832
  • :class:~filelock.ReadWriteLock locks again after a release() that an exception from a signal handler interrupted. The async read-write wrappers stop admitting readers into such a level. The async read-write locks forget a hold whose backend release failed after the backend let go, and they free the memory of each acquire that times out or is canceled. :class:~filelock.AsyncFileLock returns from release() after a few hundred acquires gave up behind a waiting one. An exception from a signal handler delivered while an :class:~filelock.AsyncFileLock call joins its queue no longer blocks every later call on that lock. :pr:833
  • Fix :class:~filelock.ReadWriteLock acting on -journal, -wal or -shm files another process puts beside its database: a write could land in another file, a reader could get in beside a writer, and an acquire could fail. SQLite now opens the database by name only in a directory no other account can write, and through a private hard link elsewhere. On Windows the directory's access control list decides. Where hard links are unavailable, keep the database

... (truncated)

Commits
  • 6c0ecc2 Release 4.1.0
  • df06bbd 🐛 fix: close regressions since 4.0.12 (#815)
  • 0712045 🐛 fix(read-write): refuse a database moved mid-acquire (#808)
  • 73fefc1 📝 docs: point canonical and og:url at versioned pages (#813)
  • 181b36b 🧪 test(lease): give the age-out test a real-time margin (#814)
  • 2c19af4 🐛 fix(api): release thread holds, guard reentry (#810)
  • 367b111 🐛 fix(soft-rw): publish the head through gen/HEAD (#799)
  • 61582c5 🐛 fix(api): validate lock options up front (#803)
  • 20c4b5a 🐛 fix(descriptor): reject poll intervals above TIMEOUT_MAX (#802)
  • cf092c7 🧪 test: drop timing races from two runner-load flakes (#809)
  • Additional commits viewable in compare view

Updates openai from 2.49.0 to 3.31.0

Release notes

Sourced from openai's releases.

v3.31.0

3.31.0 (2026-10-14)

Features

v3.30.0

3.30.0 (2026-10-14)

Features

  • api: add beta session spending limits (#4058) (b570279)
  • api: add OCI external-storage provider support (#4060) (9eb83fe)
  • api: add organization Decisions usage reporting (#4062) (5e7a23e)
  • api: expose image tool error and moderation details (#4072) (c5452af)
  • api: support image URLs and detailed safety alert explanations (#4061) (3c50399)
  • api: support updating project API key expiry (#4066) (1f05e33)

Bug Fixes

  • streaming: restore async HTTP/1.1 connection reuse (#4041) (1f6cfe1)

Chores

  • api: clarify agent tool limits and environment pagination (#4065) (0f73f1d)

v3.29.0

3.29.0 (2026-10-11)

Features

  • api: add billing_not_active session error code (#4052) (c88b320)
  • api: add shida to named Live voices (#4053) (7352cf5)
  • api: add vault updates and metadata filters (#4047) (e72f493)
  • api: align beta pagination limits and non-null parameters (#4057) (800899e)

Chores

  • api: clarify decision creation documentation (#4054) (16d3d3b)
  • api: clarify Decisions question and answer descriptions (#4051) (895d617)
  • api: document 128-character safety identifiers (#4050) (2c1ae52)
  • api: document decision choice constraints (#4055) (b7a1990)
  • api: document Files API rate-limit responses (#4049) (f6a3459)

... (truncated)

Changelog

Sourced from openai's changelog.

3.31.0 (2026-10-14)

Features

3.30.0 (2026-10-14)

Features

  • api: add beta session spending limits (#4058) (b570279)
  • api: add OCI external-storage provider support (#4060) (9eb83fe)
  • api: add organization Decisions usage reporting (#4062) (5e7a23e)
  • api: expose image tool error and moderation details (#4072) (c5452af)
  • api: support image URLs and detailed safety alert explanations (#4061) (3c50399)
  • api: support updating project API key expiry (#4066) (1f05e33)

Bug Fixes

  • streaming: restore async HTTP/1.1 connection reuse (#4041) (1f6cfe1)

Chores

  • api: clarify agent tool limits and environment pagination (#4065) (0f73f1d)

3.29.0 (2026-10-11)

Description has been truncated

@dependabot
dependabot Bot requested a review from smonicas as a code owner October 21, 2026 22:56
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 21, 2026
Bumps the all group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [packaging](https://github.com/pypa/packaging) | `26.2` | `26.3` |
| [web3](https://github.com/ApeWorX/web3.py) | `7.16.0` | `8.0.0` |
| [eth-abi](https://github.com/ApeWorX/eth-abi) | `5.2.0` | `6.0.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.13` | `0.17.1` |
| [filelock](https://github.com/tox-dev/py-filelock) | `3.32.0` | `4.1.0` |
| [openai](https://github.com/openai/openai-python) | `2.49.0` | `3.31.0` |



Updates `packaging` from 26.2 to 26.3
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@26.2...26.3)

Updates `web3` from 7.16.0 to 8.0.0
- [Release notes](https://github.com/ApeWorX/web3.py/releases)
- [Changelog](https://github.com/ApeWorX/web3.py/blob/main/docs/release_notes.rst)
- [Commits](ApeWorX/web3.py@v7.16.0...v8.0.0)

Updates `eth-abi` from 5.2.0 to 6.0.0
- [Release notes](https://github.com/ApeWorX/eth-abi/releases)
- [Changelog](https://github.com/ApeWorX/eth-abi/blob/main/docs/release_notes.rst)
- [Commits](ApeWorX/eth-abi@v5.2.0...v6.0.0)

Updates `ruff` from 0.14.13 to 0.17.1
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.14.13...0.17.1)

Updates `filelock` from 3.32.0 to 4.1.0
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](tox-dev/filelock@3.32.0...4.1.0)

Updates `openai` from 2.49.0 to 3.31.0
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v2.49.0...v3.31.0)

---
updated-dependencies:
- dependency-name: eth-abi
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: filelock
  dependency-version: 4.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: openai
  dependency-version: 3.31.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: packaging
  dependency-version: '26.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: ruff
  dependency-version: 0.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: web3
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/all-ec6fb53cc5 branch from 0b6719c to d604d6a Compare October 23, 2026 00:17

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants