|
2 | 2 |
|
3 | 3 | ## Next Release |
4 | 4 |
|
| 5 | +## Mypy 2.1 |
| 6 | + |
| 7 | +We’ve just uploaded mypy 2.1.0 to the Python Package Index ([PyPI](https://pypi.org/project/mypy/)). |
| 8 | +Mypy is a static type checker for Python. This release includes new features, performance |
| 9 | +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 | +### librt.vecs: Fast Growable Array Type for Mypyc |
| 16 | + |
| 17 | +The new `librt.vecs` module provides an efficient growable array type `vec` that is |
| 18 | +optimized for mypyc use. It provides fast, packed arrays with integer and floating point |
| 19 | +value types, which can be **several times faster** than `list`, and tens of times faster |
| 20 | +than `array.array` in code compiled using mypyc. It also supports nested `vec` objects and |
| 21 | +non-value-type items, such as ``vec[vec[str]]``. |
| 22 | + |
| 23 | +Refer to the [documentation](https://mypyc.readthedocs.io/en/latest/librt_vecs.html) for |
| 24 | +the details. |
| 25 | + |
| 26 | +Contributed by Jukka Lehtosalo. |
| 27 | + |
| 28 | +### librt.random: Fast Pseudo-Random Number Generation |
| 29 | + |
| 30 | +The new `librt.random` module provides fast pseudo-random number generation that is |
| 31 | +optimized for code compiled using mypyc. It can be 3x to 10x faster than the stdlib |
| 32 | +`random` module in compiled code. |
| 33 | + |
| 34 | +Refer to the [documentation](https://mypyc.readthedocs.io/en/latest/librt_random.html) for |
| 35 | +the details. |
| 36 | + |
| 37 | +Contributed by Jukka Lehtosalo (PR [21433](https://github.com/python/mypy/pull/21433)). |
| 38 | + |
| 39 | +### Mypyc Improvements |
| 40 | + |
| 41 | +- Make compilation order with multiple files consistent (Piotr Sawicki, PR [21419](https://github.com/python/mypy/pull/21419)) |
| 42 | +- Fix crash on accessing `StopAsyncIteration` (Piotr Sawicki, PR [21406](https://github.com/python/mypy/pull/21406)) |
| 43 | +- Fix incremental compilation with `separate` flag (Vaggelis Danias, PR [21299](https://github.com/python/mypy/pull/21299)) |
| 44 | + |
| 45 | +### Fixes to Crashes |
| 46 | + |
| 47 | +- Fix crash on partial type with `--allow-redefinition` and `global` declaration (Jukka Lehtosalo, PR [21428](https://github.com/python/mypy/pull/21428)) |
| 48 | +- Fix broken awaitable generator patching (Ivan Levkivskyi, PR [21435](https://github.com/python/mypy/pull/21435)) |
| 49 | + |
| 50 | +### Changes to Messages |
| 51 | + |
| 52 | +- Fix function call error message for small number of arguments (sobolevn, PR [21432](https://github.com/python/mypy/pull/21432)) |
| 53 | + |
| 54 | +### Other Notable Fixes and Improvements |
| 55 | + |
| 56 | +- Rely on typeshed stubs for `slice` typing (Ivan Levkivskyi, PR [21401](https://github.com/python/mypy/pull/21401)) |
| 57 | +- Improve negative narrowing for membership checks on tuples (Shantanu, PR [21456](https://github.com/python/mypy/pull/21456)) |
| 58 | +- Narrow match captures based on previous cases (Shantanu, PR [21405](https://github.com/python/mypy/pull/21405)) |
| 59 | +- Fix nondeterminism in overload resolution (Shantanu, PR [21455](https://github.com/python/mypy/pull/21455)) |
| 60 | +- Respect file config comments for stale modules (Adam Turner, PR [21444](https://github.com/python/mypy/pull/21444)) |
| 61 | +- Fix JSON output mode for syntax errors in parallel mode (Adam Turner, PR [21434](https://github.com/python/mypy/pull/21434)) |
| 62 | +- Fix type variable with values as a supertype (Ivan Levkivskyi, PR [21431](https://github.com/python/mypy/pull/21431)) |
| 63 | +- Add support for configuring `--num-workers` with an environment variable (Kevin Kannammalil, PR [21407](https://github.com/python/mypy/pull/21407)) |
| 64 | +- Respect JSON output mode for syntax errors (Adam Turner, PR [21386](https://github.com/python/mypy/pull/21386)) |
| 65 | +- Analyze `TypedDict` decorators (Pranav Manglik, PR [21267](https://github.com/python/mypy/pull/21267)) |
| 66 | + |
| 67 | +### Typeshed Updates |
| 68 | + |
| 69 | +Please see [git log](https://github.com/python/typeshed/commits/main?after=e4d32e01bee44241a5e7c33298c261175b9f1bdb+0&branch=main&path=stdlib) for full list of standard library typeshed stub changes. |
| 70 | + |
| 71 | +### Acknowledgements |
| 72 | + |
| 73 | +Thanks to all mypy contributors who contributed to this release: |
| 74 | + |
| 75 | +- Adam Turner |
| 76 | +- Ivan Levkivskyi |
| 77 | +- Jukka Lehtosalo |
| 78 | +- Kevin Kannammalil |
| 79 | +- Piotr Sawicki |
| 80 | +- Shantanu |
| 81 | +- sobolevn |
| 82 | +- Vaggelis Danias |
| 83 | + |
| 84 | +I’d also like to thank my employer, Dropbox, for supporting mypy development. |
| 85 | + |
5 | 86 | ## Mypy 2.0 |
6 | 87 |
|
7 | 88 | We’ve just uploaded mypy 2.0.0 to the Python Package Index ([PyPI](https://pypi.org/project/mypy/)). |
|
0 commit comments