mypy icon indicating copy to clipboard operation
mypy copied to clipboard

1.16 Release Planning

Open jhance opened this issue 9 months ago • 40 comments

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.

jhance avatar Feb 25 '25 21:02 jhance

Note there's a crash on mypy master we may want to address https://github.com/python/mypy/issues/18764

Update: fixed by Ivan

hauntsaninja avatar Mar 07 '25 00:03 hauntsaninja

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

ilevkivskyi avatar Mar 31 '25 00:03 ilevkivskyi

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.

cdce8p avatar Apr 04 '25 12:04 cdce8p

If possible, we should include https://github.com/python/mypy/pull/18906 in the new release. It fixes high pri daemon bug

svalentin avatar Apr 16 '25 13:04 svalentin

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.

Why not just drop 3.8? It has been EOL for over 6 months now

jorenham avatar Apr 16 '25 14:04 jorenham

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.

cdce8p avatar Apr 16 '25 14:04 cdce8p

Hmm that's too bad. Because #18930 contains ctypes improvements (python/typeshed#13777 and python/typeshed#13760) that matter to numpy.

jorenham avatar Apr 16 '25 14:04 jorenham

Hmm that's too bad. Because #18930 contains ctypes improvements (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.

cdce8p avatar Apr 16 '25 14:04 cdce8p

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?

meshy avatar Apr 28 '25 10:04 meshy

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.

jorenham avatar Apr 29 '25 15:04 jorenham

@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.

ilevkivskyi avatar Apr 29 '25 16:04 ilevkivskyi

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.

jorenham avatar Apr 29 '25 17:04 jorenham

I opened #19001 to address #18997. Hopefully we can include it in 1.16.

jorenham avatar Apr 29 '25 22:04 jorenham

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.

ilevkivskyi avatar Apr 30 '25 15:04 ilevkivskyi

I'll take a look later today.

emmatyping avatar Apr 30 '25 16:04 emmatyping

If a release is planned soon, #19020 would get Python 3.14 in typeshed over the finish line.

srittau avatar May 09 '25 19:05 srittau

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.

cdce8p avatar May 09 '25 22:05 cdce8p

Looks like the release branch was cut from b1ac0280f1175e81e90eb9d1650f0ebac85daa11. https://github.com/python/mypy/tree/release-1.16

cdce8p avatar May 10 '25 11:05 cdce8p

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.

jhance avatar May 10 '25 14:05 jhance

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!

jorenham avatar May 10 '25 14:05 jorenham

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?

jorenham avatar May 11 '25 01:05 jorenham

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.

jhance avatar May 11 '25 02:05 jhance

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.

JukkaL avatar May 23 '25 15:05 JukkaL

Changelog PR:

  • https://github.com/python/mypy/pull/19138

I'm planning to merge these documentation updates to the release branch:

  • #19153
  • #19154

JukkaL avatar May 27 '25 15:05 JukkaL

The release was delayed to Wednesday because of a few missing bits of documentation (see above).

JukkaL avatar May 27 '25 17:05 JukkaL

Wednesday

Europe Wednesday or US Wednesday?

jorenham avatar May 27 '25 17:05 jorenham

Likely Europe afternoon / US morning

JukkaL avatar May 27 '25 21:05 JukkaL

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

JukkaL avatar May 28 '25 10:05 JukkaL

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.

JukkaL avatar May 28 '25 12:05 JukkaL

Prepared a revert of #19139 which we can merge if the regression is tricky or slow to fix:

  • #19161

JukkaL avatar May 28 '25 13:05 JukkaL