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 0.990 Release Planning #13871

Closed
svalentin opened this issue Oct 11, 2022 · 43 comments
Closed

Mypy 0.990 Release Planning #13871

svalentin opened this issue Oct 11, 2022 · 43 comments

Comments

@svalentin
Copy link
Collaborator

I am planning to make a 0.990 release around late October.

Please post here any issues you'd like to see fixed in the release, or PRs you'd like to have merged. There is no release branch yet - I will update the issue once it exists.

@cdce8p
Copy link
Collaborator

cdce8p commented Oct 12, 2022

It would be awesome if these PRs could be included. The first one is already approved

@ilevkivskyi
Copy link
Member

@sobolevn IIUC you are working on LiteralString, right? Will you have time to finish it in time for 0.990?

@sobolevn
Copy link
Member

Yes, I will :)

@svalentin
Copy link
Collaborator Author

How are we doing on the potential things to fix for next release list? Do all of them have someone working on them?
I'm thinking of cutting a release branch tomorrow. (We can of course add more stuff after)

@svalentin
Copy link
Collaborator Author

Sorry got carried away. Will make the release branch today!
Looking to release this around Tuesday unless there's any pressing issues.

@svalentin
Copy link
Collaborator Author

Created origin/release-0.990 at ec6d9d9

@hauntsaninja
Copy link
Collaborator

hauntsaninja commented Oct 27, 2022

Cherry picked 2d70ac0 (useful for typeshed, no user visible changes)

@hauntsaninja
Copy link
Collaborator

Cherry picked 5319fa3 (likely addresses performance regression in #13821, no mypy_primer hits, maybe should be solved within mypy rather than in typeshed)

@hauntsaninja
Copy link
Collaborator

hauntsaninja commented Oct 30, 2022

I think it would be very good (but not necessarily blocking) to get in #13892 cc @JukkaL @sobolevn

False negatives related to #13890 / #13472 show up pretty often (e.g. we just got another report in #13966, where things would silently not work)

Edit: I've now merged this in and cherry picked to release branch

@sobolevn
Copy link
Member

Yes, reporing invalid ParamSpec usage seems quite important.

@hauntsaninja
Copy link
Collaborator

Okay, I've gone ahead and merged #13892 and cherry picked it to release branch. There are probably still some improvements we can make, but the basic checks should catch many user errors and it seems important we include it in the release.

@svalentin
Copy link
Collaborator Author

Unfortunately we'll have to postpone the release by 2-3 days. Jukka found that mypy crashes if except* is used in python 3.11 (https://peps.python.org/pep-0654/). The thinking is to make it at least not crash so we can announce the start of (basic) support for 3.11 in this release. This way maybe we can get some testing until 1.0.0 version.

@sobolevn
Copy link
Member

sobolevn commented Nov 2, 2022

Ok, I think I won't be able to finish LiteralString support in this release, there's a lot going on right now.

And I don't want to rush it.

Looks like we will have to move it to the next release. Sorry!

@hauntsaninja
Copy link
Collaborator

@svalentin I think treating except* exactly like except is pretty viable for "make it not crash". Opened #13991 for this

#12840 contains two other language changes that we should add tests for to make sure mypy can handle (but they're not headline features, so it's not as important and they likely won't crash mypy)

@ilevkivskyi
Copy link
Member

FWIW I was going to work on proper except* support this and/or next weekend. But I don't want to postpone release for this, so please go ahead with a minimal no-crash support.

@svalentin
Copy link
Collaborator Author

svalentin commented Nov 7, 2022

v0.990 wheels should be on pypi now! Please test it out!
Will publish blog post later today or tomorrow morning if there's no problems.

@svalentin
Copy link
Collaborator Author

Blog post is out: https://mypy-lang.blogspot.com/2022/11/mypy-0990-released.html

@svalentin
Copy link
Collaborator Author

http://mypy-lang.org/ is updated with the link to the new version and blog post!

@sobolevn
Copy link
Member

sobolevn commented Nov 8, 2022

@svalentin thank you for your hard work!

@sobolevn
Copy link
Member

sobolevn commented Nov 8, 2022

And congrats on the release 🎉

@svalentin
Copy link
Collaborator Author

Thank you!
Though it looks like we might need a point release: #14027

@svalentin
Copy link
Collaborator Author

Reopening this for a point release to fix some of the reported issues!

@svalentin svalentin reopened this Nov 8, 2022
@svalentin
Copy link
Collaborator Author

Will cherry pick fa22a49 for the 0.991 point release.
#14027 is probably something we want to CP as well once we have fix.
If there's anything else, please let me know!

@svalentin
Copy link
Collaborator Author

Not strictly related to this release, but we got to do it now too, with @JukkaL:
mypy blog site mypy-lang.blogspot.com will now redirect HTTP to HTTPS. No more HTTP! This should hopefully improve Google search ranking too.

@intgr
Copy link
Contributor

intgr commented Nov 8, 2022

If #14042 isn't just a fluke, it seems like a pretty important thing to fix.

UPDATE: Fix landed on master.

@intgr
Copy link
Contributor

intgr commented Nov 10, 2022

By the way, https://mypy-play.net still doesn't have mypy 0.990 (and not even 0.982).

@hauntsaninja
Copy link
Collaborator

Want to ask over at https://github.com/ymyzk/mypy-playground/issues ? (no one here has control over mypy-play.net)

@hauntsaninja
Copy link
Collaborator

hauntsaninja commented Nov 10, 2022

Fixes to cherry pick:
#14060 (this one is bad enough that we should make a release sometime in the next couple of days regardless of state of other issues)
#14038

Things worth cherry picking once fixed:
#14027 (PR for this at #14064)
#14046 (PR for this at #14063 )
#14048 (docs, PR for this at #14065)

(feel free to edit this message)

@svalentin
Copy link
Collaborator Author

Yes! #14060 and #14038 are already CPed in the release-0.990 branch. Waiting for the other 3.

@hauntsaninja
Copy link
Collaborator

Made PRs for the other three issues!

@ilevkivskyi
Copy link
Member

Merged two out of three, and left feedback for the third one.

@hauntsaninja
Copy link
Collaborator

Thanks! All are merged now, just cherry picked to release-0.990 branch

@svalentin
Copy link
Collaborator Author

Thanks! I'll go through the release formalities on Monday

@AlexWaygood
Copy link
Member

Is there any chance of getting a patch release with #14077 included? #14030 was experienced as quite a bad regression for heavy users of the stdlib ast module (though typeshed is at least partly to blame for the regression 🙂)

@ilevkivskyi
Copy link
Member

I don't like this idea. It is not a regression, some people may actually like semantics in 0.990. Point releases are for bad obvious bugs (and crashes).

@AlexWaygood
Copy link
Member

I don't like this idea. It is not a regression, some people may actually like semantics in 0.990. Point releases are for bad obvious bugs (and crashes).

If we merged the changes to the ast stubs as suggested in python/typeshed#9130, would you be open to cherry-picking those changes into the patch release?

@ilevkivskyi
Copy link
Member

Yes, this is a safer option, unless someone else is against.

@AlexWaygood
Copy link
Member

AlexWaygood commented Nov 14, 2022

Okay, I merged the typeshed change. It would be great if python/typeshed@f9cd5ee could be cherry-picked to the patch release :)

@svalentin
Copy link
Collaborator Author

I manually included python/typeshed@f9cd5ee into the release branch - the commit 6077d19

@AlexWaygood
Copy link
Member

Thanks so much @svalentin!

@svalentin
Copy link
Collaborator Author

v0.991 wheels should be on pypi now!

@svalentin
Copy link
Collaborator Author

Marking this as Done!
Will reopen if we need another point release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants