Sourced from filelock's releases.
4.0.3
What's Changed
- 🐛 fix(api): skip the fork audit hook on CPython <3.12 by
@gaborbernatin tox-dev/filelock#747Full Changelog: https://github.com/tox-dev/filelock/compare/4.0.2...4.0.3
4.0.2
What's Changed
- docs: create the data directory in the async cache example by
@agammannin tox-dev/filelock#740- fix: ignore broken sphinx-llm release by
@gaborbernatin tox-dev/filelock#742- 🐛 fix(api): serialize concurrent transitions on shared locks by
@gaborbernatin tox-dev/filelock#745- 🐛 fix(async-rw): give each task its own hold by
@gaborbernatin tox-dev/filelock#746New Contributors
@agammannmade their first contribution in tox-dev/filelock#740Full Changelog: https://github.com/tox-dev/filelock/compare/4.0.1...4.0.2
4.0.1
What's Changed
- fix: reject invalid poll_interval before sleep by
@Pitchfork-and-Torchin tox-dev/filelock#739New Contributors
@Pitchfork-and-Torchmade their first contribution in tox-dev/filelock#739Full Changelog: https://github.com/tox-dev/filelock/compare/4.0.0...4.0.1
4.0.0
What's Changed
- 🐛 fix(soft-rw): replace the state mutex with a generation log by
@gaborbernatin tox-dev/filelock#738Full Changelog: https://github.com/tox-dev/filelock/compare/3.32.7...4.0.0
Sourced from filelock's changelog.
########### Changelog ###########
.. towncrier-draft-entries:: Unreleased
.. towncrier release notes start
4.0.6 (2026-09-28)
- Reject negative blocking timeouts other than
-1before reentrantReadWriteLockandSoftReadWriteLockacquisition. Preserve unlimited waits and nonblocking acquisition. :pr:756
4.0.5 (2026-09-28)
- Fix
MarkerSoftFileLockacquisition and prevent contenders from evicting live protocol-2 owners after two seconds. Reclaim recognized records after owner death; preserve unknown contracts. :pr:749- Honor instance
timeoutandblockingsettings in sync and asyncReadWriteLockacquisition, including waits between tasks on one instance. Preserve explicit per-call overrides. :pr:750- Skip access-denial checks when the process can read mode-
0o000files. Keep mode-bit checks enabled for privileged processes on filesystems that support POSIX permissions. :pr:753- Skip vanished
StrictSoftFileLockclaims after a read-permission retry expires. Recheck the directory before raising a protocol error so concurrent removal does not turn a stale claim listing into an acquisition failure. :pr:754- Reject negative timeouts other than
-1in blockingAsyncReadWriteLockandAsyncSoftReadWriteLockacquisitions. Keep-1as an unlimited wait and ignore timeouts whenblocking=False. :pr:755
4.0.4 (2026-09-26)
- Hostnames that still differ after their first 253 escaped characters now publish distinct owners, so a soft lock no longer takes another such host's live holder for its own and reclaims its marker. :pr:
748
4.0.3 (2026-09-23)
- Importing filelock on CPython 3.10 or 3.11 no longer makes new threads fail with
RuntimeError: Cannot install a trace function while another trace function is being installedunder coverage or a debugger. filelock skips its fork-safety audit hook there, so forking from inside a thread's own lock-state transition no longer raises immediately on those versions. :pr:747
4.0.2 (2026-09-23)
... (truncated)
5283806
Release 4.0.3fd10e07
🐛 fix(api): skip the fork audit hook on CPython <3.12 (#747)2d4530f
Release 4.0.26c46312
🐛 fix(async-rw): give each task its own hold (#746)fe0e99d
🐛 fix(api): serialize concurrent transitions on shared locks (#745)b26beda
build(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 in the
github-acti...10572ec
fix: ignore broken sphinx-llm release (#742)6c10af3
[pre-commit.ci] pre-commit autoupdate (#741)9380408
docs: create the data directory in the async cache example (#740)b5016c4
Release 4.0.1Sourced from platformdirs's releases.
4.11.15
What's Changed
- 🐛 fix(android): detect Android builds without ANDROID_* variables by
@gaborbernatin tox-dev/platformdirs#581- 🐛 fix(android): use the current user's shared storage by
@gaborbernatin tox-dev/platformdirs#582- 🐛 fix(android): return shared folders apps can create by
@gaborbernatin tox-dev/platformdirs#583- 🐛 fix(android): read directories through a real Context by
@gaborbernatin tox-dev/platformdirs#580Full Changelog: https://github.com/tox-dev/platformdirs/compare/4.11.14...4.11.15
Sourced from platformdirs's changelog.
########### Changelog ###########
.. towncrier-draft-entries:: Unreleased
.. towncrier release notes start
4.12.1 (2026-09-28)
- Avoid
PytestAssertRewriteWarningwhen importingplatformdirsbefore invoking pytest. :pr:601
4.12.0 (2026-09-26)
- Add
place_*_filemethods that return a file path under a user directory and create its missing parents with mode0o700. :pr:585- Add
find_<kind>_fileandfind_<kind>_filesto look up an existing file across the user and site directories of each kind that has aniter_<kind>_pathsmethod. :pr:586- Add :func:
platformdirs.testing.isolated_dirsand theplatformdirs_isolatedpytest fixture to resolve every directory under one test root. :pr:590- Emit :class:
~platformdirs.RuntimeDirWarningwhen the Unix :func:~platformdirs.user_runtime_dirfalls back fromXDG_RUNTIME_DIR. :pr:599- Read
user_templates_dir,user_publicshare_diranduser_bin_diron Windows from their known folders. :pr:587- Create missing user app directories and their parents with mode
0700underensure_existson POSIX platforms. :pr:588- Raise
RuntimeErrorfor a Unix or macOS directory under the home when no home resolves, and read the password database for an emptyHOME. :pr:589- Skip an
XDG_RUNTIME_DIRor/run/user/<uid>that is not a private directory of the user, and reject a symlink or file as theruntime-<uid>fallback. :pr:599- Use the app container layout on iOS, such as
~/Library/Application Supportfor data. :pr:600- Document that a Homebrew Python puts the Homebrew prefix first in the macOS shared directories, with or without
multipath. :pr:591- Document that the macOS media directories honor the
XDG_*_DIRvariables. :pr:592- Document the
WIN_PD_OVERRIDE_COMMON_PROGRAMSvariable. :pr:593- Document
/usr/local/share/applicationsas the Linuxsite_applications_dirdefault. :pr:594- Correct the BSD
user_runtime_dirdefaults and describe the temporary directory fallback. :pr:595- Describe how platformdirs detects Android, finds the app folder and places the shared folders. :pr:
596- Document that Microsoft Store Python redirects only new files and folders under
AppData. :pr:597- Show how to load a font on Windows after copying it into
user_fonts_dir. :pr:598
4.11.15 (2026-09-26)
- Fix the pyjnius lookup of the Android app folder and media directories, which always failed. :pr:
580
... (truncated)
205aab7
Release 4.11.15bd5d0e6
🐛 fix(android): read directories through a real Context (#580)3853267
🐛 fix(android): return shared folders apps can create (#583)c2f3a16
🐛 fix(android): use the current user's shared storage (#582)09efe26
🐛 fix(android): detect Android builds without ANDROID_* variables (#581)