Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mypy 1.6 Release Planning #15919

Closed
koogoro opened this issue Aug 21, 2023 · 40 comments
Closed

Mypy 1.6 Release Planning #15919

koogoro opened this issue Aug 21, 2023 · 40 comments
Assignees
Labels
meta Issues tracking a broad area of work

Comments

@koogoro
Copy link
Collaborator

koogoro commented Aug 21, 2023

I'm planning to make the 1.6 release by the end of August.

Please post any issues you'd like to see fixed in the release here, or any PRs you'd like to have merged. I'll make the release branch release-1.6.

@koogoro koogoro added the meta Issues tracking a broad area of work label Aug 21, 2023
@koogoro koogoro self-assigned this Aug 21, 2023
@koogoro
Copy link
Collaborator Author

koogoro commented Aug 22, 2023

I've run into a regression: #15932.

@tyralla
Copy link
Contributor

tyralla commented Aug 22, 2023

If this is the right place to bring attention to old, so far undiscussed pull requests: #14440

@AlexWaygood
Copy link
Member

AlexWaygood commented Aug 27, 2023

It would be good to get #15960 (or an equivalent fix) in before the release. It fixes some recent stubtest regressions that I introduced.

(EDIT: Now merged! :)

@ilevkivskyi
Copy link
Member

@koogoro I have a suggestion on the blog post: Could you please mention there that --new-type-infernece will be on by default in 1.7?

@koogoro
Copy link
Collaborator Author

koogoro commented Aug 29, 2023

The branch has been created. The new functionality in the attrs plugin to cover fields might cause some errors to pop up for users of attrs but this isn't really a regression and I don't think the primer noticed anything, so I've marked this as a feature request: #15980.

@koogoro
Copy link
Collaborator Author

koogoro commented Aug 29, 2023

@AlexWaygood That commit didn't make it onto the branch, and it also doesn't cherry-pick cleanly. Does that mean that the change that introduced the issue didn't make it onto the branch, or would it be good to include multiple more commits on the release branch?

@cdce8p
Copy link
Collaborator

cdce8p commented Aug 29, 2023

@koogoro Thanks for creating the release branch. I noticed that it branched of over a week ago. Was that intentional? It's missing a lot of the recent PRs especially from @ilevkivskyi. If you're not too far along with testing it, might I suggest hard reseting the branch to the current master commit? 010da0b That would also include the stubtest fix @AlexWaygood mentioned.

https://github.com/python/mypy/commits/master
https://github.com/python/mypy/commits/release-1.6

@koogoro
Copy link
Collaborator Author

koogoro commented Aug 29, 2023

@cdce8p The wheels build failed for the latest commit, so I'll use the one before it, d7b2451. Let me quickly check if there are any large problems before hard resetting it.

@AlexWaygood
Copy link
Member

@AlexWaygood That commit didn't make it onto the branch, and it also doesn't cherry-pick cleanly. Does that mean that the change that introduced the issue didn't make it onto the branch, or would it be good to include multiple more commits on the release branch?

I was hoping 0b303b5 would make it into the release, and if it does, it's important d7b2451 does also, as it fixes some regressions introduced by 0b303b5. But if neither commit makes it in, that's also okay, it can wait :)

It would be pretty useful if 48835a3 could be included in the release, though — this one fixes a crash that's blocking some typeshed updates.

@koogoro
Copy link
Collaborator Author

koogoro commented Aug 29, 2023

I did find one regression in d7b2451: #15984. This regression's new in between that and the current release point, maybe due to some ParamSpec change between the two?

@hauntsaninja
Copy link
Collaborator

hauntsaninja commented Aug 31, 2023

It would be good to cherrypick #16004 (fix for #14740 which was highly requested config option). You may also need #15992 for CI to work

@hauntsaninja
Copy link
Collaborator

We should cherrypick #16013 in case we don't have a release before Python 3.12 is out

@koogoro
Copy link
Collaborator Author

koogoro commented Sep 2, 2023

Cherry-picked 0ae0c75 as a fix for #15984 and 379b52f as a fix for #15990. I'll cherry-pick #16004 and #16013 once they've been merged.

@Hnasar
Copy link
Contributor

Hnasar commented Sep 2, 2023

Can we please get 010da0b for #15975 ? (This bug was surfaced by a change in 1.5 4d394c1)

@hauntsaninja
Copy link
Collaborator

hauntsaninja commented Sep 2, 2023

Both #16004 and #16013 are merged and should be cherry picked.

Quick note about #16004: it's extremely commonly requested, so we do need to do it, but possibly it might be a little annoying to upgrade for projects that use type ignore with error codes and that use --warn-unused-ignore. If we're concerned about that, some options are #16004 (comment). If we want to figure it out in release 1.7, then we should maybe revert #16004, #15840, #14740 on the 1.6 branch.

@cdce8p
Copy link
Collaborator

cdce8p commented Sep 6, 2023

Small change to better handle the --new-type-inference flag. It would make sense to cherry-pick that as well IMO.

@Dreamsorcerer
Copy link
Contributor

it might be a little annoying to upgrade for projects that use type ignore with error codes and that use --warn-unused-ignore

As a maintainer of 1 of the projects in the mypy primer diff, I'm fine with making these updates manually. More precise ignores seems like a good thing. We often have to make updates to remove ignores etc. as mypy gets better anyway.

@mr-c
Copy link
Contributor

mr-c commented Sep 16, 2023

Getting #16124 in for mypy 1.6 would fix a regression that prevents cwltool (59k downloads a month on PyPI, total 4M PyPI, 475k conda) from upgrading mypy since 1.4.0.

@hauntsaninja
Copy link
Collaborator

@koogoro let me know if there's something I can do to help the release!

@ilevkivskyi
Copy link
Member

@JukkaL @koogoro What is the situation with the release? What is currently the blocker?

@JukkaL
Copy link
Collaborator

JukkaL commented Oct 5, 2023

I will work on finishing the release. I hope to get it out by early next week. I'm planning to start working on the 1.7 release soon afterwards.

@JukkaL
Copy link
Collaborator

JukkaL commented Oct 9, 2023

I worked on the release blog post today, and hope to complete it tomorrow. After the blog post is done, we should be good to publish the release. If anybody has any other things needed before the release, please leave a comment.

@ilevkivskyi
Copy link
Member

ilevkivskyi commented Oct 9, 2023

Just one small reminder on the blog post:

I have a suggestion on the blog post: Could you please mention there that --new-type-inference will be on by default in 1.7?

@cdce8p
Copy link
Collaborator

cdce8p commented Oct 9, 2023

I mentioned it earlier but AFAICT it hasn't been cherry-picked yet. #15919 (comment)

Especially for the --new-type-inference flag, cherry-picking this PR would make sense IMO.

@mr-c
Copy link
Contributor

mr-c commented Oct 9, 2023

@JukkaL please also cherry pick #16124 as per #15919 (comment)

@ilevkivskyi
Copy link
Member

I think these two mentioned by @hauntsaninja are important

Both #16004 and #16013 are merged and should be cherry picked.

In particular, we must fail gracefully on Python 3.12 that was just released.

@JukkaL
Copy link
Collaborator

JukkaL commented Oct 10, 2023

Cherry-picked these PRs to the release branch:

@JukkaL
Copy link
Collaborator

JukkaL commented Oct 10, 2023

And the release is out: https://mypy-lang.blogspot.com/2023/10/mypy-16-released.html

@JukkaL
Copy link
Collaborator

JukkaL commented Oct 10, 2023

I will update the website tomorrow, since it's getting late here.

@AlexWaygood
Copy link
Member

A new crash with mypy 1.6, that I hit when trying to bump typeshed's mypy pin:

@intgr
Copy link
Contributor

intgr commented Oct 11, 2023

@ymyzk Can you please add mypy 1.6.0 to mypy-play.net?

@ymyzk
Copy link

ymyzk commented Oct 11, 2023

@intgr Yes, thanks for the reminder. I added mypy 1.6.0 and updated mypy-play.net ymyzk/mypy-playground#488

@ilevkivskyi
Copy link
Member

An obvious candidate for 1.6.1 #16251 (fixes two closely related crash regressions).

@AlexWaygood
Copy link
Member

Another new crash in mypy 1.6 (that still reproduces with mypy master and the latest version of the release-1.6 branch):

@AlexWaygood
Copy link
Member

#16258 fixes a regression of sorts, so might be worth including in a patch release? But the regression was a new in mypy 1.5 rather than mypy 1.6.

@ilevkivskyi
Copy link
Member

Also CP for 1.6.1 #16259

@intgr
Copy link
Contributor

intgr commented Oct 17, 2023

FYI mypy website https://mypy-lang.org/ does not display the 1.6 release in "What's new"

@hauntsaninja
Copy link
Collaborator

I cherrypicked these to release-1.6 branch and will cut the release later today:

6b6504eb8 Fix crash on ParamSpec unification (for real) (#16259)
eb81e63e9 Fix crash on ParamSpec unification (#16251)

@hauntsaninja
Copy link
Collaborator

https://pypi.org/project/mypy/1.6.1/ is now a thing

I also left some notes at https://github.com/python/mypy/wiki/Release-Process#making-a-patch-release so I don't have to grep through my shell history next time to see if I forgot something

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues tracking a broad area of work
Projects
None yet
Development

No branches or pull requests