Drop support for Python 3.9
Python 3.9 is reaching the end of its life tomorrow. We should also drop support from mypy at some point, though not necessarily immediately.
Concrete issue: https://github.com/python/mypy/blob/72131392483c19a6b8db812f4d4acfdb50a769dd/.github/workflows/test.yml#L84-L85 currently uses a macos-13 runner, which GitHub is working to deprecate. Therefore, this job may start failing in the next month or so. We could drop this one job and still keep best-effort 3.9 support for some time, or we could just use this as a reason to drop 3.9 for now. (Thanks @hugovk for pointing me to this.)
Please write here if support for Python 3.9 is still important to you.
I propose we make 1.19 the last version to support 3.9. We can include that in the blog post in case users want more time before support being dropped.
Also to expand on the runner issue, GitHub sent in an email
The macOS 13 runner image will be retired by December 4th, 2025. To raise awareness of the upcoming removal, jobs using macOS 13 will temporarily fail during the scheduled brownout time periods defined below: November 4, 14:00 UTC - November 5, 00:00 UTC November 11, 14:00 UTC - November 12, 00:00 UTC November 18, 14:00 UTC - November 19, 00:00 UTC November 25, 14:00 UTC - November 26, 00:00 UTC
So I think we should try to remove this pipeline or set it to allow fail soon.
Yeah, let's remove the pipeline: https://github.com/python/mypy/pull/20155
Tbh, fine dropping support for 3.9 earlier if 1.19 is slow to materialise, I think usage is around or less than where 3.8 and 3.7 were when we dropped them
I think 1.19 should definitely support 3.9, even if 1.19 will take another couple weeks. There are still twice more 3.9 downloads than 3.14 downloads. cc @JukkaL
Yes, I think 1.19 should still support 3.9, at least if it isn't delayed for many additional weeks.
Now that the release is out I merged https://github.com/python/mypy/pull/20156. @cdce8p IIRC you wanted to make some follow-ups to that PR, please go ahead.
We still need to drop support for --python-version 3.9 after support for it is dropped in typeshed. Reopening the issue.
Oh right, I clean forgot. Thank you :-)