|
1 | 1 | # Mypy Release Notes
|
2 | 2 |
|
| 3 | +## Next release |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +## Mypy 1.10 (Unreleased) |
| 8 | + |
| 9 | +We’ve just uploaded mypy 1.10 to the Python Package Index ([PyPI](https://pypi.org/project/mypy/)). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows: |
| 10 | + |
| 11 | + python3 -m pip install -U mypy |
| 12 | + |
| 13 | +You can read the full documentation for this release on [Read the Docs](http://mypy.readthedocs.io). |
| 14 | + |
| 15 | +**TODO** |
| 16 | +- Implement TypeIs (PEP 742) (Jelle Zijlstra, PR [16898](https://github.com/python/mypy/pull/16898)) |
| 17 | +- Error handling for recursive TypeVar defaults (PEP 696) (Marc Mueller, PR [16925](https://github.com/python/mypy/pull/16925)) |
| 18 | +- Add basic support for recursive TypeVar defaults (PEP 696) (Marc Mueller, PR [16878](https://github.com/python/mypy/pull/16878)) |
| 19 | + |
| 20 | +#### Other Notable Changes and Fixes |
| 21 | +- fix: incorrect returned type of access descriptors on unions of types (Matthieu Devlin, PR [16604](https://github.com/python/mypy/pull/16604)) |
| 22 | +- Fix crash when expanding invalid Unpack in a `Callable` alias (Ali Hamdan, PR [17028](https://github.com/python/mypy/pull/17028)) |
| 23 | +- Fix string formatting for string enums (roberfi, PR [16555](https://github.com/python/mypy/pull/16555)) |
| 24 | +- Narrow individual items when matching a tuple to a sequence pattern (Loïc Simon, PR [16905](https://github.com/python/mypy/pull/16905)) |
| 25 | +- Add TypeGuard and TypeIs traversing in TypeTraverserVisitor (Evgeniy Slobodkin, PR [17071](https://github.com/python/mypy/pull/17071)) |
| 26 | +- Improve error message for bound typevar in TypeAliasType (Ali Hamdan, PR [17053](https://github.com/python/mypy/pull/17053)) |
| 27 | +- Fix TypedDict init from Type with optional keys (Marc Mueller, PR [17068](https://github.com/python/mypy/pull/17068)) |
| 28 | +- Improve yield from inference for unions of generators (Shantanu, PR [16717](https://github.com/python/mypy/pull/16717)) |
| 29 | +- Support `TypeAliasType` in a class scope (Ali Hamdan, PR [17038](https://github.com/python/mypy/pull/17038)) |
| 30 | +- attrs: Fix emulating hash method logic (Hashem, PR [17016](https://github.com/python/mypy/pull/17016)) |
| 31 | +- Use lower-case generics more consistently in error messages (Jukka Lehtosalo, PR [17035](https://github.com/python/mypy/pull/17035)) |
| 32 | +- Revert "Revert use of `ParamSpec` for `functools.wraps`" (Tamir Duberstein, PR [16942](https://github.com/python/mypy/pull/16942)) |
| 33 | +- Support `TypeAliasType` (Ali Hamdan, PR [16926](https://github.com/python/mypy/pull/16926)) |
| 34 | +- Fix type narrowing for types.EllipsisType (Shantanu, PR [17003](https://github.com/python/mypy/pull/17003)) |
| 35 | +- Disallow all super calls to methods with trivial bodies (Shantanu, PR [16756](https://github.com/python/mypy/pull/16756)) |
| 36 | +- Fix single item enum match type exhaustion (Oskari Lehto, PR [16966](https://github.com/python/mypy/pull/16966)) |
| 37 | +- Fix inference with UninhabitedType (Marc Mueller, PR [16994](https://github.com/python/mypy/pull/16994)) |
| 38 | +- Allow TypedDict initialization from Type (Marc Mueller, PR [16963](https://github.com/python/mypy/pull/16963)) |
| 39 | +- Fix override checking for decorated property (Shantanu, PR [16856](https://github.com/python/mypy/pull/16856)) |
| 40 | +- Fix duplicate word in protocols.rst (hesam, PR [16950](https://github.com/python/mypy/pull/16950)) |
| 41 | +- Workaround parenthesised context manager issue (Shantanu, PR [16949](https://github.com/python/mypy/pull/16949)) |
| 42 | +- Fix narrowing on match with function subject (Edward Paget, PR [16503](https://github.com/python/mypy/pull/16503)) |
| 43 | +- Allow inferring +int to be a Literal (Spencer Brown, PR [16910](https://github.com/python/mypy/pull/16910)) |
| 44 | + |
| 45 | +#### Stubgen Improvements |
| 46 | +- stubgen: Preserve empty tuple annotation (Ali Hamdan, PR [16907](https://github.com/python/mypy/pull/16907)) |
| 47 | +- stubgen: Add support for PEP 570 positional-only parameters (Ali Hamdan, PR [16904](https://github.com/python/mypy/pull/16904)) |
| 48 | +- stubgen: Replace obsolete typing aliases with builtin containers (Ali Hamdan, PR [16780](https://github.com/python/mypy/pull/16780)) |
| 49 | +- stubgen: Fix generated dataclass `__init__` signature (Ali Hamdan, PR [16906](https://github.com/python/mypy/pull/16906)) |
| 50 | + |
| 51 | +#### Stubtest Improvements |
| 52 | +- stubtest: correct type annotations in _Arguments (Sam Xifaras, PR [16897](https://github.com/python/mypy/pull/16897)) |
| 53 | + |
| 54 | +#### Mypyc Improvements |
| 55 | +- [mypyc] Refactor: add two list primitive ops (Jukka Lehtosalo, PR [17058](https://github.com/python/mypy/pull/17058)) |
| 56 | +- [mypyc] Refactor: use primitive op for initializing list item (Jukka Lehtosalo, PR [17056](https://github.com/python/mypy/pull/17056)) |
| 57 | +- [mypyc] Refactor: move tagged int related code to mypyc.lower.int_ops (Jukka Lehtosalo, PR [17052](https://github.com/python/mypy/pull/17052)) |
| 58 | +- [mypyc] Implement lowering for remaining tagged integer comparisons (Jukka Lehtosalo, PR [17040](https://github.com/python/mypy/pull/17040)) |
| 59 | +- [mypyc] Implement lowering pass and add primitives for int (in)equality (Jukka Lehtosalo, PR [17027](https://github.com/python/mypy/pull/17027)) |
| 60 | +- [mypyc] Optimize away some bool/bit registers (Jukka Lehtosalo, PR [17022](https://github.com/python/mypy/pull/17022)) |
| 61 | +- [mypyc] Provide an easier way to define IR-to-IR transforms (Jukka Lehtosalo, PR [16998](https://github.com/python/mypy/pull/16998)) |
| 62 | +- [mypyc] Remangle redefined names produced by async with (Richard Si, PR [16408](https://github.com/python/mypy/pull/16408)) |
| 63 | +- [mypyc] Optimize TYPE_CHECKING to False at Runtime (Srinivas Lade, PR [16263](https://github.com/python/mypy/pull/16263)) |
| 64 | +- [mypyc] Fix compilation of unreachable comprehensions (Richard Si, PR [15721](https://github.com/python/mypy/pull/15721)) |
| 65 | +- [mypyc] Don't crash on non-inlinable final local reads (Richard Si, PR [15719](https://github.com/python/mypy/pull/15719)) |
| 66 | + |
| 67 | +#### Documentation Improvements |
| 68 | +- Update running_mypy.rst add closing bracket (Roman Solomatin, PR [17046](https://github.com/python/mypy/pull/17046)) |
| 69 | +- Docs: docstrings in checker.py, ast_helpers.py (Ihor, PR [16908](https://github.com/python/mypy/pull/16908)) |
| 70 | +- docs: Add missing ClassVar import (youkaichao, PR [16962](https://github.com/python/mypy/pull/16962)) |
| 71 | +- Docs: Update `TypedDict` import statements (Riccardo Di Maio, PR [16958](https://github.com/python/mypy/pull/16958)) |
| 72 | +- Docs: adding missing `mutable-override` to section title (James Braza, PR [16886](https://github.com/python/mypy/pull/16886)) |
| 73 | + |
| 74 | +#### Acknowledgements |
| 75 | +Thanks to all mypy contributors who contributed to this release: |
| 76 | + |
| 77 | +- Alex Waygood |
| 78 | +- Ali Hamdan |
| 79 | +- Edward Paget |
| 80 | +- Evgeniy Slobodkin |
| 81 | +- Hashem |
| 82 | +- hesam |
| 83 | +- Hugo van Kemenade |
| 84 | +- Ihor |
| 85 | +- James Braza |
| 86 | +- Jelle Zijlstra |
| 87 | +- jhance |
| 88 | +- Jukka Lehtosalo |
| 89 | +- Loïc Simon |
| 90 | +- Marc Mueller |
| 91 | +- Matthieu Devlin |
| 92 | +- Michael R. Crusoe |
| 93 | +- Nikita Sobolev |
| 94 | +- Oskari Lehto |
| 95 | +- Riccardo Di Maio |
| 96 | +- Richard Si |
| 97 | +- roberfi |
| 98 | +- Roman Solomatin |
| 99 | +- Sam Xifaras |
| 100 | +- Shantanu |
| 101 | +- Spencer Brown |
| 102 | +- Srinivas Lade |
| 103 | +- Tamir Duberstein |
| 104 | +- youkaichao |
| 105 | + |
| 106 | +I’d also like to thank my employer, Dropbox, for supporting mypy development. |
| 107 | + |
| 108 | + |
3 | 109 | ## Mypy 1.9
|
4 | 110 |
|
5 | 111 | We’ve just uploaded mypy 1.9 to the Python Package Index ([PyPI](https://pypi.org/project/mypy/)). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
|
|
0 commit comments