Mypy 0.750 was released. This release has better support for self-types, improved stub generator, experimental static inference of annotations, and other improvements and bug fixes. Read the blog post for more details.
Mypy 0.720 was released. This release uses the new semantic analyzer by
default, adds a flag to warn about unreachable code, and has other improvements
and bug fixes.
0.711:
The following two issues in mypy 0.710 were fixed:
Revert typeshed (“Define functools.partial as overloaded function instead of its own class”). This caused too many false positive errors in real-world code.
Fix MYPYC_BLACKLIST on Windows. This broke running dmypy on Windows.
Mypy 0.670:
New Feature: Variable Redefinition
Stubgen Improvements
Other Improvements
- Expand getting started docs to discuss type hints in more detail
- Always infer in operator as returning bool
- Allow star args in ctypes.Array constructor
- Fix plugin invocation for __call__ methods
- Implement the XDG directory spec for config files: $XDG_CONFIG_HOME/mypy/config is now included in the search path for config files
- When using the --junit-xml flag, the Python version and platform in the junit.xml file are now formatted as mypy-py3_6-windows — previously this was mypy-py3.6-windows but the dot was misinterpreted by some tools
- Update the typed_ast dependency to version 1.3.1; this means we now officially support Python 3.7
- Temporarily delete pyproject.toml from the repo in order to work around a pip bu g
- Include mypy_bootstrap.ini in PyPI packages
0.660:
- Literal Types
- Quick Mode Removed
- Plugin Improvements
* Add documentation for plugin system
* Make name lookup available to all plugin hooks
* Add more information to FunctionContext and MethodContext
- Other Improvements and Notable Bugs Fixed
* Introduce an optional sqlite backed incremental cache, enabled with --sqlite-cache
* Fix a daemon crash when there is a decode error
* Allow setting python_executable from config file
* Short-circuit if expression for always true/always false variables and MYPY/TYPE_CHECKING
* Don't map actual kwargs to formal *args
* Disable cache when producing reports
* Fix issues with pointer arrays in the ctypes plugin
* Support kw_only=True in the attrs plugin
* Fix some daemon crash bugs
* Better error messages when __eq__ has unexpected signature
* Collect additional timing stats and allow reporting them from the daemon
* Fix dmypy run when bad options passed to mypy
* Improve error messages from multiple inheritance compatibility checks
* Fix an incremental mode crash that can occur in situations with import cycles and star imports
Add type annotations to your Python programs, and use mypy to type check them.
Mypy is essentially a Python linter on steroids, and it can catch many
programming errors by analyzing your program, without actually having to run
it. Mypy has a powerful type system with features such as type inference,
gradual typing, generics and union types.