Skip to content

deps: keep Python 3.10 on filelock below the ReadWriteLock advisories - #284

Merged
qw-in merged 1 commit into
mainfrom
quinn/deps-2026-10-28-filelock
Oct 28, 2026
Merged

qw-in merged 1 commit into
mainfrom
quinn/deps-2026-10-28-filelock

Conversation

@qw-in

@qw-in qw-in commented Oct 28, 2026

Copy link
Copy Markdown
Member

filelock 4.2.1 fixes GHSA-v4x8-3wr5-3wq8 (high), GHSA-567q-5qvw-pf92 and GHSA-9vhv-jxww-xfm5 (low), but requires Python 3.11, so the Python 3.10 resolution stayed on an affected 3.29-4.0 release. The affected range starts at 3.20.4, so constrain Python 3.10 to filelock<3.20.4 (resolves 3.20.3) in the root project and every tracked example. Python 3.11+ keeps 4.2.4.

Nothing in the dependency tree uses filelock's ReadWriteLock, so the advisories were not reachable; this clears them without dropping 3.10.

filelock 4.2.1 fixes GHSA-v4x8-3wr5-3wq8 (high), GHSA-567q-5qvw-pf92 and
GHSA-9vhv-jxww-xfm5 (low), but requires Python 3.11, so the Python 3.10
resolution stayed on an affected 3.29-4.0 release. The affected range starts
at 3.20.4, so constrain Python 3.10 to filelock<3.20.4 (resolves 3.20.3) in
the root project and every tracked example. Python 3.11+ keeps 4.2.4.

Nothing in the dependency tree uses filelock's ReadWriteLock, so the
advisories were not reachable; this clears them without dropping 3.10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@qw-in qw-in self-assigned this Oct 28, 2026
@qw-in
qw-in enabled auto-merge October 28, 2026 18:26

@arcjet-review arcjet-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arcjet Review — 🟢 Normal Risk

Decision: Approved

Rationale: The conditional uv constraint excludes filelock 3.20.4 and newer only below Python 3.11, preserving the existing Python support floor without changing application security logic or published dependency requirements. The inspected Flask example lockfile confirms the described 3.20.3/4.2.4 split. No concrete correctness or security defect was found.

Summary of Changes

Adds a Python-version-specific filelock upper bound to the root project and eleven example projects, with comments explaining the advisory-related compatibility workaround.

Escalation Triggers

  • Dependency Changes: Twelve pyproject.toml files gain a conditional constraint on the existing transitive filelock dependency.

Review Steps

API Review

Relevancy Outcome
none ⏭️ Skipped

Data Flow Map

Relevancy Outcome
none ⏭️ Skipped

Dependency Audit

Relevancy Outcome
high ✅ Pass

Constrains an existing transitive dependency without adding dependencies or expanding their use.

Docs Review

Relevancy Outcome
none ⏭️ Skipped

Historical ADR Review

Relevancy Outcome
none ⏭️ Skipped

Migration Safety

Relevancy Outcome
none ⏭️ Skipped

Security Review

Relevancy Outcome
medium ✅ Pass

No secrets, new input-handling paths, or security-control changes; no concrete vulnerability introduced by the diff.

Test Coverage

Relevancy Outcome
medium ⚠️ Concerns

Root CI checks locking and tests Python 3.10–3.14, but does not check the independent example lockfiles.

Zero Data Retention

Relevancy Outcome
none ⏭️ Skipped

WorkOS Audit Logging

Relevancy Outcome
none ⏭️ Skipped

Notes

Static review only; dependency resolution and tests were not executed. The inspected example lockfile supports the stated version split, but advisory ranges and the third-party ReadWriteLock reachability claim were not independently verified. The tool.uv constraints apply to these uv projects, not downstream pip installations of the published SDK.

Path filtering: 12 files excluded by ignore paths. 12 of 24 files included in review.

Review: 1470f159 | Model: openai/gpt-6-astra | Powered by Arcjet Review

Comment thread examples/flask/pyproject.toml Resolved
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpypi/​filelock@​3.32.7 ⏵ 3.20.3100 +2100 +18100100100

View full report

@qw-in
qw-in added this pull request to the merge queue Oct 28, 2026
@arcjet-review arcjet-review Bot added ready Ready to merge labels Oct 28, 2026
Merged via the queue into main with commit d80ad17 Oct 28, 2026
34 of 62 checks passed
@qw-in
qw-in deleted the quinn/deps-2026-10-28-filelock branch October 28, 2026 18:36
@arcjet-review arcjet-review Bot removed the ready Ready to merge label Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant