Skip to content

deps(deps): bump filelock from 4.2.4 to 4.2.7 - #755

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/filelock-4.2.7
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/filelock-4.2.7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Bumps filelock from 4.2.4 to 4.2.7.

Release notes

Sourced from filelock's releases.

4.2.7

Bug fixes

  • A SoftFileLease reclaims a dead holder's lease marker even when that holder published another lease_duration. It used to raise LeaseSettingsMismatch on every attempt instead, so after a holder crashed and its peers restarted with a changed duration the lock stayed wedged until force_break(). A live holder with another duration still raises (#900) by @​dxbjavid and @​gaborbernat.

PyPI release

Full Changelog

4.2.6

Bug fixes

  • Fix a race in SoftFileLock, MarkerSoftFileLock and SoftFileLease when three or more contenders reclaim a dead marker. The race could strand a live holder's marker under a break name, leaving the lock unusable or admitting a second holder. Contenders now recheck the marker before exchanging names and unwind nested exchanges in order. If the filesystem refuses a return exchange, the contender leaves its marker at the lock path for later recovery (#899) by @​dxbjavid and @​gaborbernat.

PyPI release

Full Changelog

4.2.5

Bug fixes

  • acquire and acquire raise TypeError for a blocking that is not a bool, as the constructor and the blocking setter already do. A truthy value such as the string "false" used to count as True, so a call meant as a single attempt waited for the instance's timeout, and without a limit at the default -1 (#870) by @​simpleqt and @​gaborbernat.
  • A SoftFileLock acquisition whose first read of its new marker's identity failed reads it again before rolling back. On Windows the rollback could otherwise not recognize the marker it had created, and the empty marker it left blocked the path for every later acquisition, since no contender breaks an empty marker (#869) by @​simpleqt and @​gaborbernat.
  • A fork() child of a process holding a SoftFileLease starts from an unheld claim. It used to inherit the parent's token, last compromise and heartbeat, so token and compromise reported a claim the child never held while is_locked reported it unheld (#868) by @​dxbjavid and @​gaborbernat.
  • A nested acquire of a held FileLock or SoftFileLock no longer creates the lock file's parent directory. After a rename of that directory during the hold, the nested acquire recreated the old name, and when a file had taken the name it raised FileExistsError and left the hold's recursion count incremented (#878) by @​0x5t4l1n and @​gaborbernat.
  • Fix ReadWriteLock failing every acquire with "link directory ... was replaced while opening" in a group-writable directory whose inherited ACL, such as an NFSv4 one on ZFS, opens the link directory to the group. The lock now closes the empty link directory to its owner, and where the filesystem refuses that, such as ZFS with aclmode=restricted, it names the directory to make writable by its owner only (#898) by @​gaborbernat.
  • Fix SoftFileLock, MarkerSoftFileLock and SoftFileLease raising OverflowError out of acquire(), or never reclaiming a dead holder's lock, when a stranded restore claim beside the lock names a process number outside 1..2**31-1 or spells it in non-ASCII digits. Such a claim is now ignored, as no filelock writes one (#871) by @​dxbjavid and @​gaborbernat.
  • Fix soft locks on Windows keeping the marker of a holder that has exited while another process still holds a handle to it, such as a parent's subprocess.Popen after wait() or multiprocessing.Process after join(). Acquiring such a lock with the default timeout=-1 waited forever (#874) by @​nk-batman21.
  • Fix the read-only reopen of a lock file this account cannot write resolving a relative path against the working directory of the moment. A chdir between the refused O_RDWR open and the reopen made the acquisition wait on a file that is not there, or probe one in another directory. The reopen now uses the path the acquisition pinned (#889) by @​dxbjavid and @​gaborbernat.
  • Handle EMLINK, the error FreeBSD reports when a no-follow open refuses a symlink, in a soft reader/writer lock's protocol tree, so heartbeat reports lost ownership there rather than a transient refresh error (#866) by @​pacocartones and @​gaborbernat.
  • Resolving ReadWriteLock or AsyncReadWriteLock raises the ImportError when a module other than Python's sqlite3 is missing, as in a frozen application that left out a filelock submodule. The names are None only without SQLite (#880) by @​pintu544 and @​gaborbernat.

Documentation

Packaging

  • Releases now run on the shared tox-dev/github-workflows pipeline, with a locked release toolchain and generated GitHub Release notes (#885) by @​gaborbernat.

... (truncated)

Changelog

Sourced from filelock's changelog.

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

.. towncrier-draft-entries:: Unreleased

.. towncrier release notes start

.. _release-4-2-9:


4.2.9 (2026-11-04)


.. _release-4-2-9-fixed:

Fixed

  • :class:~filelock.ReadWriteLock, :class:~filelock.SoftReadWriteLock and their async wrappers now raise :class:TypeError for a blocking that is not a :class:bool, in the constructor and on acquire, as :class:~filelock.FileLock already does. Before, blocking=0 waited out the full timeout on a contended :class:~filelock.ReadWriteLock while blocking=False failed at once, and a truthy value such as "false" turned a single attempt into a blocking wait (:pr:908) by :user:abhishekcpp007 and :user:gaborbernat.

.. _release-4-2-8:


4.2.8 (2026-11-04)


.. _release-4-2-8-documentation:

Documentation

  • Clarify the platform-specific locking primitive and range used by descriptor locks, and correct the guidance on interoperating with byte-range lock protocols such as conda's repodata lock (:pr:905) by :user:boyfeiyu.

.. _release-4-2-7:


4.2.7 (2026-11-02)


.. _release-4-2-7-fixed:

Fixed

... (truncated)

Commits
  • 5fd486b release 4.2.7
  • ff84735 🐛 fix(lease): reclaim dead holders after duration changes (#900)
  • f71acb1 release 4.2.6
  • 77eb01a 🐛 fix(soft): restore raced stale markers (#899)
  • b0cc007 release 4.2.5
  • 21bc250 🐛 fix(rw): close a link directory an ACL opened (#898)
  • 715a8de 📝 docs(security): add a threat model and align the policy (#896)
  • b0f1b73 🧪 test: tolerate a preloaded sqlite3 (#894)
  • a2e26ac 🧪 test: count descriptors behind an incomplete /dev/fd (#877)
  • 160141c 🐛 fix(import): raise for a missing read-write module (#880)
  • Additional commits viewable in compare view

@dependabot
dependabot Bot requested a review from ksteffe as a code owner November 6, 2026 05:35
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Nov 6, 2026
@dependabot
dependabot Bot force-pushed the dependabot/uv/filelock-4.2.7 branch from e31df8f to a0f5d85 Compare November 7, 2026 07:15
Bumps [filelock](https://github.com/tox-dev/filelock) from 4.2.4 to 4.2.7.
- [Release notes](https://github.com/tox-dev/filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](tox-dev/filelock@4.2.4...4.2.7)

---
updated-dependencies:
- dependency-name: filelock
  dependency-version: 4.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/filelock-4.2.7 branch from a0f5d85 to 2400876 Compare November 7, 2026 07:24

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants