feat!: require Python 3.13 - #154
Conversation
1877dcb to
b2deea3
Compare
Downstream Python 3.13 validation status
PSA dependency compatibility findingLatest PSA PR #962 requires both A local Python 3.13 compatibility experiment with UCC ranges
MSCS/O365 also need their direct dependency pins aligned with PSA and PSA restricted to the Python 3.13 branch of their dual Python range. Their SmartX dependency still pins urllib3 1.x; SmartX PR #465 already contains the compatible Status captured 2026-08-13; active run results will be followed up separately. |
Sequencing clarificationPSA's final dependency change will be handled separately and may differ from the current PSA PR head inspected above. For ADDON-89516, keep this PR UCC-first and scoped to demonstrating Python 3.13 compatibility, including compatibility with urllib3 2.x while retaining urllib3 1.x support where required. The pytest 9 resolver experiment above is informational and should not be treated as a requirement for this PR unless the final PSA dependency contract requires it. |
urllib3 2.x compatibility update pushedThe UCC dependency range is now Local Python 3.13 validation:
Fresh CI runs pinned to
The three downstream PRs now pin the exact updated UCC commit. |
87903d3 to
9497856
Compare
BREAKING CHANGE: Python 3.7 through 3.12 are no longer supported. The minimum supported Python version is now 3.13.
9497856 to
47df4d3
Compare
What
Adds official Python 3.13 support and makes Python 3.13 the minimum supported runtime.
Breaking change
Python 3.7 through 3.12 are no longer supported. Consumers must run Python 3.13 or newer.
The package metadata now declares
python = "^3.13", and all build, test, documentation, and release jobs run on Python 3.13.Why
Supporting urllib3's security-fixed 2.7 release requires a newer Python runtime. Removing the legacy runtime constraint also allows stale direct and transitive dependencies to be refreshed to versions without the vulnerabilities reported by FOSSA.
Changes
urllib3 >=2.7.0,<3pytest >=9.0.3,<10poetry.lockwith Poetry 1.5.1fossa analyzeso PR reports do not fall back tomasterSecurity result
The refreshed project dependency environment reports no known vulnerable packages in an independent audit. The environment's standalone
pipexecutable is not part of the package dependency graph orpoetry.lock.Notable resolved versions include:
Verification
Python 3.13:
pip checkpassedpoetry checkpassedpoetry lock --checkpassedpoetry buildpassedBREAKING CHANGE: Python 3.7 through 3.12 are no longer supported.