Skip to content

Require Python 3.11 and release it as 1.2.0 - #547

Merged
JE-Chen merged 2 commits into
devfrom
chore/drop-python-3.10
Nov 2, 2026
Merged

JE-Chen merged 2 commits into
devfrom
chore/drop-python-3.10

Conversation

@JE-Chen

@JE-Chen JE-Chen commented Nov 2, 2026

Copy link
Copy Markdown
Member

Drops Python 3.10. Every package in the workspace moves its floor to Python 3.11 together.

  • Why: every package in the workspace moves its floor to Python 3.11 together. Security releases such as Pillow 13.0.0 need 3.11, and supporting 3.10 kept older, vulnerable versions in the locks.
  • What: requires-python is >=3.11 and the 3.10 classifier is gone; the CI matrices start at 3.11; the docs that gave 3.10 as the floor now give 3.11.
  • Locks:
    • uv.lock: the 3.10-only branches are gone; removed: exceptiongroup, tomli; one version left instead of a 3.10 one beside it: dnspython, numpy, pillow.
  • Also: The Pillow dependency is a single pillow==13.0.0, and the dnspython constraint applies on every interpreter. The Pillow and dnspython Dependabot alerts were open only because of the 3.10 entries. The CI cells that ran 3.10 to cover Windows, Ubuntu and macOS now run 3.11, and mypy targets 3.11. The version is declared as 1.2.0, and CHANGELOG.md says what changed.
  • Open items: none.

Checked locally: typing_contract_verify.py with mypy targeting 3.11: 0 failing modules on win32, linux and darwin. The CI matrix on this PR runs the suite on 3.11 and 3.14.

Pillow 13.0.0 and dnspython 2.9.0, the releases that fix the advisories
Dependabot reports, need Python 3.11. While 3.10 was supported the package
pinned Pillow 12.3.0 for it and the lock kept dnspython 2.8.0, so those alerts
could not close. requires-python is >=3.11, Pillow is a single 13.0.0, the
dnspython constraint applies everywhere, the CI cells that ran 3.10 for OS
coverage run 3.11, mypy targets 3.11, and the docs give 3.11 as the floor.
Dropping an interpreter is a compatibility change, so the version is 1.2.0.
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

# Conflicts:
#	docs/updates/2026-11.md
#	docs/updates/README.md
@sonarqubecloud

sonarqubecloud Bot commented Nov 2, 2026

Copy link
Copy Markdown

@JE-Chen
JE-Chen merged commit c48defa into dev Nov 2, 2026
7 checks passed
@JE-Chen JE-Chen mentioned this pull request Nov 2, 2026
@JE-Chen
JE-Chen deleted the chore/drop-python-3.10 branch November 2, 2026 20:10
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