Skip to content

Drop 3.13t support#1326

Merged
webknjaz merged 9 commits into
aio-libs:masterfrom
ngoldbaum:rm-3.13t-builds
May 11, 2026
Merged

Drop 3.13t support#1326
webknjaz merged 9 commits into
aio-libs:masterfrom
ngoldbaum:rm-3.13t-builds

Conversation

@ngoldbaum

Copy link
Copy Markdown
Contributor

What do these changes do?

See the note at https://cibuildwheel.pypa.io/en/stable/changelog/#v341 and pypa/cibuildwheel#2787.

The cpython-freethreading option will be removed in the next release of cibuildwheel.

I'm going through repositories on GitHub that enable this option and sending in PRs to disable it. Happy to answer questions about this. I also took the opportunity to drop 3.13t CI.

If you're curious why 3.13t support is going away so soon, see https://py-free-threading.github.io/ci/#building-free-threaded-wheels-with-cibuildwheel for further guidance.

Are there changes in behavior for the user?

The next release will not include cp313t wheel builds.

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes

@ngoldbaum ngoldbaum requested a review from asvetlov as a code owner April 22, 2026 20:51
@ngoldbaum ngoldbaum requested a review from webknjaz as a code owner April 22, 2026 20:51
@psf-chronographer psf-chronographer Bot added the bot:chronographer:provided There is a change note present in this PR label Apr 22, 2026
@codspeed-hq

codspeed-hq Bot commented Apr 22, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 245 untouched benchmarks


Comparing ngoldbaum:rm-3.13t-builds (760de41) with master (026e744)

Open in CodSpeed

@Vizonex

Vizonex commented Apr 23, 2026

Copy link
Copy Markdown
Member

@ngoldbaum Glad to see you here, seems some other people might be busy so I'll help you with the reviewing process.

@Vizonex Vizonex left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

All of this looks good might need to add a comment or two about why 3.13t is being removed but other than that I approve of this pull request.

@Vizonex Vizonex left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

That should be good enough now.

@Vizonex Vizonex self-requested a review April 24, 2026 21:30

@Vizonex Vizonex left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Waiting for feedback about the changes I let everyone on the matrix know that a workflow was left hanging.

@webknjaz webknjaz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Apart from the change note, looks good. I'll wait for Nick and Sam to take a look before proceeding.

Comment thread CHANGES/1326.breaking.rst

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could you symlink think to packaging? Also, I'm not sure if this counts as breaking.

cc @Dreamsorcerer @bdraco WDYT?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@ngoldbaum have you missed the symlink request?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks - I misunderstood what you were referring to with the symlink. See latest push.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Except it looks like towncrier doesn't like symlinks, so I just removed the breaking note and called it packaging.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@ngoldbaum Towncrier works with symlinks just fine. This replaces having two text files with exactly the same contents 🤷‍♂️

The failure in your previous commit was caused by an HTTP 500 when uploading MyPy type preciseness coverage to Coveralls: https://github.com/aio-libs/multidict/actions/runs/25672626609/job/75361690773?pr=1326#step:8:232

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm sure restarting that job will make it green..

Comment thread CHANGES/1326.breaking.rst Outdated

@bdraco bdraco left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM once other comments are addressed. clearly 3.13t was not ready for production use so removing wheels is reasonable

Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
@ngoldbaum

Copy link
Copy Markdown
Contributor Author

Sorry for taking two weeks to click the button! I think this is ready now.

@codecov

codecov Bot commented May 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.86%. Comparing base (026e744) to head (760de41).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1326   +/-   ##
=======================================
  Coverage   99.86%   99.86%           
=======================================
  Files          28       28           
  Lines        3602     3602           
  Branches      265      265           
=======================================
  Hits         3597     3597           
  Misses          3        3           
  Partials        2        2           
Flag Coverage Δ
CI-GHA 99.86% <ø> (ø)
pytest 99.86% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Vizonex

Vizonex commented May 9, 2026

Copy link
Copy Markdown
Member

Sorry for taking two weeks to click the button! I think this is ready now.

Good because we were worried that you just left on an hiatus, if I don't see anything new needing to be changed I'll request for this PR to be merged.

Comment thread CHANGES/1326.packaging.rst Outdated
@@ -0,0 +1 @@
CHANGES/1326.breaking.rst No newline at end of file

@webknjaz webknjaz May 11, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@ngoldbaum the problem here was that you've added a symlink relative to the repo root and so any tooling resolving it, would search for CHANGES/CHANGES/1326.packaging.rst. The correct way would be running ln -s in the CHANGES/ dir so that the relative link points to just 1326.packaging.rst w/o the dir prefix...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks for explaining, see latest commit.

@webknjaz webknjaz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not sure if we need to also have this filed under “breaking changes” (see the old symlink discussion threads inline), but this looks good to me regardless.

@webknjaz webknjaz enabled auto-merge (squash) May 11, 2026 21:58
@webknjaz webknjaz merged commit c4a5cae into aio-libs:master May 11, 2026
68 checks passed
bdraco added a commit to Vizonex/propcache that referenced this pull request May 17, 2026
- Remove `enable = ["cpython-freethreading"]` from `[tool.cibuildwheel]`
  in pyproject.toml (cibuildwheel 3.4 deprecated the option).
- Replace the `- 3.13t` test matrix entry with an explanatory comment
  instead of silently dropping it.
- Restructure the change note: real text lives in
  `CHANGES/223.packaging.rst`; `CHANGES/223.breaking.rst` is a symlink
  to it, mirroring the structure used in aio-libs/multidict#1326.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:chronographer:provided There is a change note present in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants