Repository navigation
build: drop Python 3.10 and require filelock 4.2.1 - #322
Conversation
filelock 4.2.1 fixes the 17 advisories Dependabot reports on 4.1.0. filelock 4.2 needs Python 3.11, and Python 3.10 reached end of life in October 2026, so the hooks now need Python 3.11 too. uv.lock now pins filelock 4.2.4, the newest release older than the 7-day Dependabot cooldown.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #322 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 4
Lines 611 611
=========================================
Hits 611 611 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
No actionable comments were generated in the recent review. WalkthroughThe project now requires Python 3.11 or newer, and its test matrix starts at Python 3.11. The minimum ChangesCompatibility updates
Estimated code review effort: 2 (Simple) | ~5 minutes Possibly related PRs
Merge Risk:
|
Merging this PR will not alter performance1 warning
Comparing Footnotes
|



Why
Dependabot reports 17 advisories on filelock 4.1.0 in
uv.lock(1 high, 12 medium, 4 low). All are fixed in filelock 4.2.1.filelock 4.1.1 and later need Python 3.11, so as long as the hooks support Python 3.10,
uv.lockhas to keep filelock 4.1.0 for 3.10 and the alerts stay open. Python 3.10 reached end of life in October 2026.What changes
requires-python = ">=3.11"; the 3.10 classifier and the 3.10 CI job are removed.filelock>=4.2.1instead of>=3.16.uv.lockpins filelock 4.2.4, the newest release older than the 7-day Dependabot cooldown. tomli, exceptiongroup and typing-extensions drop out (3.10 only)._install_lockdocstring no longer mention Python 3.10 or filelock 3.x.Impact
The hooks only use
FileLockto serialize installs. Most of the advisories are inReadWriteLock,SoftReadWriteLockandStrictSoftFileLock, which the hooks do not use. The rest need another local user with write access to the pre-commit environment directory. Users on Python 3.11+ already got a fixed filelock, because the dependency was not capped.Users still on Python 3.10 can keep using the current release.
Testing
uv.lockfinds no known vulnerabilities.Summary by CodeRabbit