1.16 Release Planning
I am planning to release 1.16 in the coming weeks.
If there are any PRs you would like to ensure are included, please mention here.
This issue will be updated once the release branch is cut.
Note there's a crash on mypy master we may want to address https://github.com/python/mypy/issues/18764
Update: fixed by Ivan
FWIW worth including two low-risk crash fixes in the release:
- https://github.com/python/mypy/pull/18858
- https://github.com/python/mypy/pull/18857
What's the current status here? Has the release branch been cut already?
If not, I'd suggest to do it after the current typeshed sync #18880. This is the last commit with support for type checking Python 3.8. For the next typeshed sync, we'll need to drop support for --python-version 3.8 completely. Might be great to get one last release out before that.
If possible, we should include https://github.com/python/mypy/pull/18906 in the new release. It fixes high pri daemon bug
If not, I'd suggest to do it after the current typeshed sync #18880. This is the last commit with support for type checking Python 3.8. For the next typeshed sync, we'll need to drop support for
--python-version 3.8completely. Might be great to get one last release out before that.
Why not just drop 3.8? It has been EOL for over 6 months now
Why not just drop 3.8? It has been EOL for over 6 months now
We already dropped 3.8. It's just that mypy still supports checking 3.8 code with --python-version 3.8 for now. This will become impossible with the next typeshed update #18930.
Hmm that's too bad. Because #18930 contains ctypes improvements (python/typeshed#13777 and python/typeshed#13760) that matter to numpy.
Hmm that's too bad. Because #18930 contains
ctypesimprovements (python/typeshed#13777 and python/typeshed#13760) that matter to numpy.
I'd be fine with dropping it now as well. The idea just was to do one last release before then. The release branch could have even been cut already. I just don't know.
Will it be possible to have https://github.com/python/mypy/pull/15043 in 1.16? If not, can I please ask for some feedback on the issue as to what else is required before it's merged?
For NumPy #18997 is a big problem. We won't be able to release numpy/numtype (a rework of numpy's typing stubs with new (backwards-incompatible) features like shape-typing).
The plan is to publish an the initial NumType release in one or two months. So if this isn't fixed in mypy 1.16, our only option would be to drop support for mypy. I really don't want that.
@meshy There was a recent change that likely will make ancestors included in seen modules, so I think your PR can likely be simplified. That said however, realistically I think it likely won't make it into 1.16, but I promise I will get back to it as soon as I am done with other 1.16-related work (I was bothered by this issue myself, so I am interested in it being fixed).
@jorenham I strongly suggest you drop this "or otherwise" attitude. If you think it will persuade someone, then I can tell you it will be the opposite.
I strongly suggest you drop this "or otherwise" attitude. If you think it will persuade someone, then I can tell you it will be the opposite.
Oh woops I see how it can be interpreted that way, and I did not mean it as a threat or something. I was just trying to say that I consider it to be very important that we keep on supporting mypy, and that I'm therefore willing to help in any way I can in solving this issue.
I opened #19001 to address #18997. Hopefully we can include it in 1.16.
OK, thanks for the PR, I see Jelle already left some comments there. I don't have any opinions on precedence myself, but I would like @emmatyping to look at it as well.
I'll take a look later today.
If a release is planned soon, #19020 would get Python 3.14 in typeshed over the finish line.
If a release is planned soon, #19020 would get Python 3.14 in typeshed over the finish line.
Note: mypyc compilation for 3.14 doesn't work yet but #19020 would help to at least be able to run mypy. Would be great if it could be cherry picked.
Looks like the release branch was cut from b1ac0280f1175e81e90eb9d1650f0ebac85daa11. https://github.com/python/mypy/tree/release-1.16
This release is going to be late. Note that that release branch is just to get wheels generated as it needs the proper name, in order to do an internal pin move, and then we are going to do a second internal pin move (probably merging master into the release branch of some sort to move the commit we are releasing up). The reason for this is because there were multiple changes that resulted in hundreds of errors in our codebase.
This release is going to be late. Note that that release branch is just to get wheels generated as it needs the proper name, in order to do an internal pin move, and then we are going to do a second internal pin move (probably merging master into the release branch of some sort to move the commit we are releasing up). The reason for this is because there were multiple changes that resulted in hundreds of errors in our codebase.
Thanks for the update!
Looks like the release branch was cut from b1ac028.
release-1.16
Maybe I'm missing something, but since this was branched from a commit at 2025-03-03, does this mean that #18756, #18764, #18814, and #19001 won't be included in the 1.16 release?
No. The branch is going to get either re-cut or merge from master after we move the pin to the 2025-03-03, to avoid releasing something 2 months stale. The current release branch commit is for doing an internal pin move. Although I am not 100% sure what the final release branch will be cut from. Current cherry picks on release branch are purely to resolve regressions that blocked the internal pin move.
Creating wheels that we need for the internal pin move requires a release branch so it had to be named like that.
Updated the release branch to use a more recent commit as a base (9e45dadcf6d8dbab36f83d9df94a706c0b4f9207 from May 13).
The current ETA for the release is around Tue May 27. PyCon US delayed the release further, but we are back on track to get it out soon.
Changelog PR:
- https://github.com/python/mypy/pull/19138
I'm planning to merge these documentation updates to the release branch:
- #19153
- #19154
The release was delayed to Wednesday because of a few missing bits of documentation (see above).
Wednesday
Europe Wednesday or US Wednesday?
Likely Europe afternoon / US morning
Some regressions have been reported, even before the release is out (which is better than after the release!). It's possible some of them are release blockers:
- #19139
- #19146
- #19151
- #19159
For #19139 we have the option of reverting the PR and re-applying it afterwards once there's a fix to the issue. However there were merge conflicts so it's not entirely trivial.
#19160 fixes #19151.
Prepared a revert of #19139 which we can merge if the regression is tricky or slow to fix:
- #19161