Initial Changelog for Mypy 2.4 - #22071
Conversation
JukkaL
left a comment
There was a problem hiding this comment.
Left some suggestions about new sections and moving some changes to a different section.
|
|
||
| - Add basic support for PEP 798 (Ivan Levkivskyi, PR [21976](https://github.com/python/mypy/pull/21976)) | ||
| - Generalise PEP 798 support to `SupportsKeysAndGetItem` (Shantanu, PR [22021](https://github.com/python/mypy/pull/22021)) | ||
| - Use two-phase type checking in sequential mode (Ivan Levkivskyi, PR [21973](https://github.com/python/mypy/pull/21973)) |
There was a problem hiding this comment.
This is a significant change. It could be added under a section such as "Stable Parallel Checking" (it's no longer experimental).
| - Use two-phase type checking in sequential mode (Ivan Levkivskyi, PR [21973](https://github.com/python/mypy/pull/21973)) | ||
| - Lenient handling of `*tuple[Any, ...]` (part 1) (Ivan Levkivskyi, PR [22001](https://github.com/python/mypy/pull/22001)) | ||
| - Lenient handling of `*tuple[Any, ...]` (part 2) (Ivan Levkivskyi, PR [22006](https://github.com/python/mypy/pull/22006)) | ||
| - Lenient handling of `*tuple[Any, ...]` (part 3) (Ivan Levkivskyi, PR [22014](https://github.com/python/mypy/pull/22014)) |
There was a problem hiding this comment.
This is also a pretty significant semantic change for some use cases (the above 3 PRs).
| - Lenient handling of `*tuple[Any, ...]` (part 1) (Ivan Levkivskyi, PR [22001](https://github.com/python/mypy/pull/22001)) | ||
| - Lenient handling of `*tuple[Any, ...]` (part 2) (Ivan Levkivskyi, PR [22006](https://github.com/python/mypy/pull/22006)) | ||
| - Lenient handling of `*tuple[Any, ...]` (part 3) (Ivan Levkivskyi, PR [22014](https://github.com/python/mypy/pull/22014)) | ||
| - Use a shared value for a `Final` attribute initialized in a class body (Jukka Lehtosalo, PR [21932](https://github.com/python/mypy/pull/21932)) |
There was a problem hiding this comment.
This is a mypyc change, so it should be under the mypyc section.
| - Handle edge case in overload subtyping (Ivan Levkivskyi, PRs [22007](https://github.com/python/mypy/pull/22007) and [22030](https://github.com/python/mypy/pull/22030)) | ||
| - Unify type alias deferral logic (Ivan Levkivskyi, PR [22015](https://github.com/python/mypy/pull/22015)) | ||
| - Try adding a simple retry on worker startup (Ivan Levkivskyi, PR [21980](https://github.com/python/mypy/pull/21980)) | ||
| - Use a more thorough cleanup of parallel workers (Ivan Levkivskyi, PR [21981](https://github.com/python/mypy/pull/21981)) |
There was a problem hiding this comment.
Move this to the non-experimental parallel checking section.
| - Don't error unnecessarily about new syntax in dependencies where errors are ignored (A5rocks, PR [21883](https://github.com/python/mypy/pull/21883)) | ||
| - Handle edge case in overload subtyping (Ivan Levkivskyi, PRs [22007](https://github.com/python/mypy/pull/22007) and [22030](https://github.com/python/mypy/pull/22030)) | ||
| - Unify type alias deferral logic (Ivan Levkivskyi, PR [22015](https://github.com/python/mypy/pull/22015)) | ||
| - Try adding a simple retry on worker startup (Ivan Levkivskyi, PR [21980](https://github.com/python/mypy/pull/21980)) |
There was a problem hiding this comment.
Move this to the non-experimental parallel checking section.
| - Use a more thorough cleanup of parallel workers (Ivan Levkivskyi, PR [21981](https://github.com/python/mypy/pull/21981)) | ||
| - Increase `riscv64` worker startup timeout (Michael R. Crusoe, PR [21988](https://github.com/python/mypy/pull/21988)) | ||
| - Fix errors with multi-process workers on Windows (Chad Dombrova, PR [22016](https://github.com/python/mypy/pull/22016)) | ||
| - Increase worker connection timeout on macOS (Ivan Levkivskyi, PR [22029](https://github.com/python/mypy/pull/22029)) |
There was a problem hiding this comment.
Move this to the non-experimental parallel checking section.
| - Specialize `bytearray(bytes_value[i:j])` (Shantanu, PR [21901](https://github.com/python/mypy/pull/21901)) | ||
| - Fix error handling when unboxing tuples (Jukka Lehtosalo, PR [21952](https://github.com/python/mypy/pull/21952)) | ||
| - Error on Unicode surrogates in mypyc (Ivan Levkivskyi, PR [21936](https://github.com/python/mypy/pull/21936)) | ||
| - Treat callable environment links as final (Jukka Lehtosalo, PR [21956](https://github.com/python/mypy/pull/21956)) |
There was a problem hiding this comment.
This can be moved to the generator and coroutine section.
| - Fix error handling when unboxing tuples (Jukka Lehtosalo, PR [21952](https://github.com/python/mypy/pull/21952)) | ||
| - Error on Unicode surrogates in mypyc (Ivan Levkivskyi, PR [21936](https://github.com/python/mypy/pull/21936)) | ||
| - Treat callable environment links as final (Jukka Lehtosalo, PR [21956](https://github.com/python/mypy/pull/21956)) | ||
| - Borrow callable environment links (Jukka Lehtosalo, PR [21957](https://github.com/python/mypy/pull/21957)) |
There was a problem hiding this comment.
This can also be moved to the generator and coroutine section.
|
|
||
| ### Performance Improvements | ||
|
|
||
| - Support automatic worker selection (Kevin Kannammalil, PR [21983](https://github.com/python/mypy/pull/21983)) |
There was a problem hiding this comment.
Move this to the new section about parallel checking not being experimental.
|
|
||
| You can read the full documentation for this release on [Read the Docs](http://mypy.readthedocs.io). | ||
|
|
||
| ### Native Parser Enabled by Default |
There was a problem hiding this comment.
Also add short section about Python 3.15 support (only a few features are still unsupported, mostly TypedDict extra_items).
|
Thanks for the feedback Jukka! I've updated it to reflect them. |
Initial changelog for the latest mypy release