You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+35-36Lines changed: 35 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,54 +7,55 @@
7
7
## Mypy 1.15 (Unreleased)
8
8
9
9
We’ve just uploaded mypy 1.15 to the Python Package Index ([PyPI](https://pypi.org/project/mypy/)).
10
-
Mypy is a static type checker for Python. This release includes new features and bug fixes.
11
-
You can install it as follows:
10
+
Mypy is a static type checker for Python. This release includes new features, performance
11
+
improvements and bug fixes. You can install it as follows:
12
12
13
13
python3 -m pip install -U mypy
14
14
15
15
You can read the full documentation for this release on [Read the Docs](http://mypy.readthedocs.io).
16
16
17
17
### Performance Improvements
18
18
19
-
Mypy may be 5-30% faster. This improvement comes largely from tuning the performance of the
20
-
garbage collector. Additionally, the release includes several micro-optimizations that may be
21
-
impactful for very large projects.
19
+
Mypy is up to 40% faster in some use cases. This improvement comes largely from tuning the performance
20
+
of the garbage collector. Additionally, the release includes several micro-optimizations that may
21
+
be impactful for large projects.
22
22
23
23
Contributed by Jukka Lehtosalo (PR [18306](https://github.com/python/mypy/pull/18306),
By default, mypy treats an annotation of ``bytes`` as permitting ``bytearray`` and ``memoryview``.
41
-
[PEP 688](https://peps.python.org/pep-0688) specified the removal of this special case.
42
-
Use this flag to disable this behavior. `--strict-bytes` will be enabled by default in **mypy 2.0**.
40
+
By default, mypy treats `bytearray` and `memoryview` values as assignable to the `bytes`
41
+
type, for historical reasons. Use the `--strict-bytes` flag to disable this
42
+
behavior. [PEP 688](https://peps.python.org/pep-0688) specified the removal of this
43
+
special case. The flag will be enabled by default in **mypy 2.0**.
43
44
44
45
Contributed by Ali Hamdan (PR [18263](https://github.com/python/mypy/pull/18263)) and
### Improvements to Reachability Analysis and Partial Type Handling in Loops
48
49
49
-
This change results in mypy better modelling control flow within loops and hence detecting several
50
-
issues it previously did not detect. In some cases, this change may require use of an additional
51
-
explicit annotation of a variable.
50
+
This change results in mypy better modelling control flow within loops and hence detecting
51
+
several previously ignored issues. In some cases, this change may require additional
52
+
explicit variable annotations.
52
53
53
54
Contributed by Christoph Tyralla (PR [18180](https://github.com/python/mypy/pull/18180),
@@ -89,13 +90,11 @@ Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/1749
89
90
* Report error for nested class instead of crashing (Valentin Stanciu, PR [18460](https://github.com/python/mypy/pull/18460))
90
91
* Fix `InitVar` for dataclasses (Advait Dixit, PR [18319](https://github.com/python/mypy/pull/18319))
*Get capsule pointer from module instead of `PyCapsule_Import` (Advait Dixit, PR [18286](https://github.com/python/mypy/pull/18286))
93
-
* Add lowered primitive for unsafe list get item op (Jukka Lehtosalo, PR [18136](https://github.com/python/mypy/pull/18136))
93
+
*Fix issues with relative imports (Advait Dixit, PR [18286](https://github.com/python/mypy/pull/18286))
94
+
* Add faster primitive for some list get item operations (Jukka Lehtosalo, PR [18136](https://github.com/python/mypy/pull/18136))
94
95
* Fix iteration over `NamedTuple` objects (Advait Dixit, PR [18254](https://github.com/python/mypy/pull/18254))
95
96
* Mark mypyc package with `py.typed` (bzoracler, PR [18253](https://github.com/python/mypy/pull/18253))
96
-
* Update docstrings of IR builder classes (Jukka Lehtosalo, PR [18246](https://github.com/python/mypy/pull/18246))
97
97
* Fix list index while checking for `Enum` class (Advait Dixit, PR [18426](https://github.com/python/mypy/pull/18426))
@@ -116,13 +115,14 @@ Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/1749
116
115
* Fix crash with `--cache-fine-grained --cache-dir=/dev/null` (Shantanu, PR [18457](https://github.com/python/mypy/pull/18457))
117
116
* Prevent crashing when `match` arms use name of existing callable (Stanislav Terliakov, PR [18449](https://github.com/python/mypy/pull/18449))
118
117
* Gracefully handle encoding errors when writing to stdout (Brian Schubert, PR [18292](https://github.com/python/mypy/pull/18292))
118
+
* Prevent crash on generic NamedTuple with unresolved typevar bound (Stanislav Terliakov, PR [18585](https://github.com/python/mypy/pull/18585))
* Add inline tabs to documentation (Marc Mueller, PR [18262](https://github.com/python/mypy/pull/18262))
123
123
* Document any `TYPE_CHECKING` name works (Shantanu, PR [18443](https://github.com/python/mypy/pull/18443))
124
-
* Update docs not to mention 3.8 where possible (sobolevn, PR [18455](https://github.com/python/mypy/pull/18455))
125
-
* Mention `ignore_errors` in exclude docs (Shantanu, PR [18412](https://github.com/python/mypy/pull/18412))
124
+
* Update documentation to not mention 3.8 where possible (sobolevn, PR [18455](https://github.com/python/mypy/pull/18455))
125
+
* Mention `ignore_errors` in exclude documentation (Shantanu, PR [18412](https://github.com/python/mypy/pull/18412))
126
126
* Add `Self` misuse to common issues (Shantanu, PR [18261](https://github.com/python/mypy/pull/18261))
127
127
128
128
### Other Notable Fixes and Improvements
@@ -132,28 +132,27 @@ Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/1749
132
132
* Bind `self` to the class being defined when checking multiple inheritance (Stanislav Terliakov, PR [18465](https://github.com/python/mypy/pull/18465))
133
133
* Fix attribute type resolution with multiple inheritance (Stanislav Terliakov, PR [18415](https://github.com/python/mypy/pull/18415))
134
134
* Improve security of our GitHub Actions (sobolevn, PR [18413](https://github.com/python/mypy/pull/18413))
* Unwrap `type[Union[...]]` when solving type variable constraints (Stanislav Terliakov, PR [18266](https://github.com/python/mypy/pull/18266))
136
136
* Allow `Any` to match sequence patterns in match/case (Stanislav Terliakov, PR [18448](https://github.com/python/mypy/pull/18448))
137
137
* Fix parent generics mapping when overriding generic attribute with property (Stanislav Terliakov, PR [18441](https://github.com/python/mypy/pull/18441))
138
-
*Dedicated error code for explicit `Any` (Shantanu, PR [18398](https://github.com/python/mypy/pull/18398))
138
+
*Add dedicated error code for explicit `Any` (Shantanu, PR [18398](https://github.com/python/mypy/pull/18398))
*Remove stubs no longer in typeshed (Shantanu, PR [18373](https://github.com/python/mypy/pull/18373))
140
+
*Stop suggesting stubs that have been removed from typeshed (Shantanu, PR [18373](https://github.com/python/mypy/pull/18373))
* Allow to use `Final` and `ClassVar` after Python 3.13 (정승원, PR [18358](https://github.com/python/mypy/pull/18358))
143
-
* Update to include latest stubs in typeshed (Shantanu, PR [18366](https://github.com/python/mypy/pull/18366))
143
+
* Update suggestions to include latest stubs in typeshed (Shantanu, PR [18366](https://github.com/python/mypy/pull/18366))
* Reject promotions when checking against protocols (Christoph Tyralla, PR [18360](https://github.com/python/mypy/pull/18360))
146
-
* Don't erase type object args in diagnostics (Shantanu, PR [18352](https://github.com/python/mypy/pull/18352))
146
+
* Don't erase type object arguments in diagnostics (Shantanu, PR [18352](https://github.com/python/mypy/pull/18352))
147
147
* Clarify status in `dmypy status` output (Kcornw, PR [18331](https://github.com/python/mypy/pull/18331))
148
-
* Disallow no-args generic aliases when using PEP 613 explicit aliases (Brian Schubert, PR [18173](https://github.com/python/mypy/pull/18173))
148
+
* Disallow no-argument generic aliases when using PEP 613 explicit aliases (Brian Schubert, PR [18173](https://github.com/python/mypy/pull/18173))
149
149
* Suppress errors for unreachable branches in conditional expressions (Brian Schubert, PR [18295](https://github.com/python/mypy/pull/18295))
150
150
* Do not allow `ClassVar` and `Final` in `TypedDict` and `NamedTuple` (sobolevn, PR [18281](https://github.com/python/mypy/pull/18281))
151
-
*Fail typecheck if not enough or too many types provided to `TypeAliasType` (bzoracler, PR [18308](https://github.com/python/mypy/pull/18308))
151
+
*Report error if not enough or too many types provided to `TypeAliasType` (bzoracler, PR [18308](https://github.com/python/mypy/pull/18308))
152
152
* Use more precise context for `TypedDict` plugin errors (Brian Schubert, PR [18293](https://github.com/python/mypy/pull/18293))
153
153
* Use more precise context for invalid type argument errors (Brian Schubert, PR [18290](https://github.com/python/mypy/pull/18290))
154
154
* Do not allow `type[]` to contain `Literal` types (sobolevn, PR [18276](https://github.com/python/mypy/pull/18276))
155
-
* Allow bytearray/bytes comparisons with --disable-bytearray-promotion (Jukka Lehtosalo, PR [18255](https://github.com/python/mypy/pull/18255))
156
-
* More LSP compatibility on arg names (Shantanu, PR [18363](https://github.com/python/mypy/pull/18363))
155
+
* Allow bytearray/bytes comparisons with `--strict-bytes` (Jukka Lehtosalo, PR [18255](https://github.com/python/mypy/pull/18255))
0 commit comments