Description
It is decided to release mypy 1.0 in ~two months, as mypy is mature enough for such a milestone. We need to plan this well in advance, so I am already opening this issue.
The result of some preliminary discussions is captured in this doc (please let me know if you have access issues). I would propose to have a Zoom call on Monday Sep 26 afternoon Dublin time (unless there are objections) to discuss the release plans in more details.
If you have any comments, questions, ideas, please leave them here (note we will still have 0.990 release between 0.980 and 1.0).
cc @JukkaL @jhance @JelleZijlstra @hauntsaninja @AlexWaygood @Michael0x2a @sobolevn @ethanhs @ilinum @svalentin (also please tag anyone I forgot here)
Tasks
More important things (in arbitrary order):
- Fix more crash bugs (everyone)
- Give an error if annotated variable appears in un-annotated function (with an error code to opt-out)
- Safe handling of empty bodies (with a flag to opt-out, + new error codes) @ilevkivskyi
- Split
--enable-incomplete-features
- Implement as much of
Unpack
andTypeVarTuple
as possible @jhance - Enable recursive types by default @ilevkivskyi
- Make
implicit_optional
off by default (with a code transform tool to fix existing annotations) @hauntsaninja - Detect unbound variables @ilinum
- Use unions for ternary joins @JelleZijlstra
- Full support for non-typing 3.11 features, see Python 3.11 tracking issue #12840
- Support as many typing 3.11 features as we can (including
Enum
) - Make
--namespace-packages
the default @hauntsaninja - Allow/disallow PEP 561 packages @ethanhs
Less important things:
- Support default value of generic parameter
- Always narrow types (see Types not added to binder on initial assignment #2008)
- Fix lost narrowing in inner functions
- Make
--local-partial-types
enabled by default (if fallout is not bad)