Sourced from mypy's changelog.
Mypy Release Notes
Next release
Mypy 1.8
We’ve just uploaded mypy 1.8 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Type-checking Improvements
- Do not intersect types in isinstance checks if at least one is final (Christoph Tyralla, PR 16330)
- Detect that
@final
class without__bool__
cannot have falsey instances (Ilya Priven, PR 16566)- Do not allow
TypedDict
classes with extra keywords (Nikita Sobolev, PR 16438)- Do not allow class-level keywords for
NamedTuple
(Nikita Sobolev, PR 16526)- Make imprecise constraints handling more robust (Ivan Levkivskyi, PR 16502)
- Fix strict-optional in extending generic TypedDict (Ivan Levkivskyi, PR 16398)
- Allow type ignores of PEP 695 constructs (Shantanu, PR 16608)
- Enable
type_check_only
support forTypedDict
andNamedTuple
(Nikita Sobolev, PR 16469)Performance Improvements
- Add fast path to analyzing special form assignments (Jukka Lehtosalo, PR 16561)
Improvements to Error Reporting
- Don't show documentation links for plugin error codes (Ivan Levkivskyi, PR 16383)
- Improve error messages for
super
checks and add more tests (Nikita Sobolev, PR 16393)- Add error code for mutable covariant override (Ivan Levkivskyi, PR 16399)
Stubgen Improvements
- Preserve simple defaults in function signatures (Ali Hamdan, PR 15355)
- Include
__all__
in output (Jelle Zijlstra, PR 16356)- Fix stubgen regressions with pybind11 and mypy 1.7 (Chad Dombrova, PR 16504)
Stubtest Improvements
- Improve handling of unrepresentable defaults (Jelle Zijlstra, PR 16433)
- Print more helpful errors if a function is missing from stub (Alex Waygood, PR 16517)
- Support
@type_check_only
decorator (Nikita Sobolev, PR 16422)- Warn about missing
__del__
(Shantanu, PR 16456)- Fix crashes with some uses of
final
anddeprecated
(Shantanu, PR 16457)Fixes to Crashes
- Fix crash with type alias to
Callable[[Unpack[Tuple[Any, ...]]], Any]
(Alex Waygood, PR 16541)- Fix crash on TypeGuard in
__call__
(Ivan Levkivskyi, PR 16516)- Fix crash on invalid enum in method (Ivan Levkivskyi, PR 16511)
- Fix crash on unimported Any in TypedDict (Ivan Levkivskyi, PR 16510)
Documentation Updates
- Update soft-error-limit default value to -1 (Sveinung Gundersen, PR 16542)
... (truncated)
3b46750
remove +dev suffix from versionc9bc833
Fix tests broken by hatchling (#16655)60d30e3
Fix crash with type alias to Callable[[Unpack[Tuple[Any, ...]]],
Any]
(#16541)f53f422
Allow type ignores of PEP 695 constructs (#16608)7c33e7c
@final
class
without bool cannot have falsey instances (#16566)c224da5
Do not intersect types in isinstance checks if at least one is final (#16330)d54cc35
Change example in test cases with no stubs available (#16513)eb1ee97
Update hashes in sync-typeshed.py
following recent typeshed
sync (#16600)344298e
Revert use of ParamSpec
for
functools.wraps
3e5d813
Revert typeshed ctypes change