Skip to content

Commit cb4b243

Browse files
JukkaLwesleywright
andcommitted
Various small updates to 1.15 changelog (#18599)
Co-authored-by: Wesley Collin Wright <[email protected]>
1 parent 1a26502 commit cb4b243

File tree

1 file changed

+35
-36
lines changed

1 file changed

+35
-36
lines changed

CHANGELOG.md

+35-36
Original file line numberDiff line numberDiff line change
@@ -7,54 +7,55 @@
77
## Mypy 1.15 (Unreleased)
88

99
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:
1212

1313
python3 -m pip install -U mypy
1414

1515
You can read the full documentation for this release on [Read the Docs](http://mypy.readthedocs.io).
1616

1717
### Performance Improvements
1818

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.
2222

2323
Contributed by Jukka Lehtosalo (PR [18306](https://github.com/python/mypy/pull/18306),
2424
PR [18302](https://github.com/python/mypy/pull/18302, PR [18298](https://github.com/python/mypy/pull/18298,
2525
PR [18299](https://github.com/python/mypy/pull/18299).
2626

27-
### Mypyc Accelerated Mypy Wheels for `aarch64`
27+
### Mypyc Accelerated Mypy Wheels for ARM Linux
2828

29-
Mypy can compile itself to C extension modules using mypyc. This makes mypy 3-5x faster
30-
than if mypy is interpreted with pure Python. We now build and upload mypyc accelerated
31-
mypy wheels for `manylinux_aarch64` to PyPI, making it easy for users on such platforms
32-
to realise this speedup.
29+
For best performance, mypy can be compiled to C extension modules using mypyc. This makes
30+
mypy 3-5x faster than when interpreted with pure Python. We now build and upload mypyc
31+
accelerated mypy wheels for `manylinux_aarch64` to PyPI, making it easy for Linux users on
32+
ARM platforms to realise this speedup -- just `pip install` the latest mypy.
3333

3434
Contributed by Christian Bundy and Marc Mueller
3535
(PR [mypy_mypyc-wheels#76](https://github.com/mypyc/mypy_mypyc-wheels/pull/76),
3636
PR [mypy_mypyc-wheels#89](https://github.com/mypyc/mypy_mypyc-wheels/pull/89)).
3737

3838
### `--strict-bytes`
3939

40-
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**.
4344

4445
Contributed by Ali Hamdan (PR [18263](https://github.com/python/mypy/pull/18263)) and
4546
Shantanu Jain (PR [13952](https://github.com/python/mypy/pull/13952)).
4647

4748
### Improvements to Reachability Analysis and Partial Type Handling in Loops
4849

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.
5253

5354
Contributed by Christoph Tyralla (PR [18180](https://github.com/python/mypy/pull/18180),
5455
PR [18433](https://github.com/python/mypy/pull/18433)).
5556

56-
(Speaking of partial types, another reminder that mypy plans on enabling `--local-partial-types`
57-
by default in **mypy 2.0**).
57+
(Speaking of partial types, remember that we plan to enable `--local-partial-types`
58+
by default in **mypy 2.0**.)
5859

5960
### Better Discovery of Configuration Files
6061

@@ -68,8 +69,8 @@ Contributed by Mikhail Shiryaev and Shantanu Jain
6869

6970
### Better Line Numbers for Decorators and Slice Expressions
7071

71-
Mypy now uses more correct line numbers for decorators and slice expressions. In some cases, this
72-
may necessitate changing the location of a `# type: ignore` comment.
72+
Mypy now uses more correct line numbers for decorators and slice expressions. In some cases,
73+
you may have to change the location of a `# type: ignore` comment.
7374

7475
Contributed by Shantanu Jain (PR [18392](https://github.com/python/mypy/pull/18392),
7576
PR [18397](https://github.com/python/mypy/pull/18397)).
@@ -89,13 +90,11 @@ Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/1749
8990
* Report error for nested class instead of crashing (Valentin Stanciu, PR [18460](https://github.com/python/mypy/pull/18460))
9091
* Fix `InitVar` for dataclasses (Advait Dixit, PR [18319](https://github.com/python/mypy/pull/18319))
9192
* Remove unnecessary mypyc files from wheels (Marc Mueller, PR [18416](https://github.com/python/mypy/pull/18416))
92-
* 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))
9495
* Fix iteration over `NamedTuple` objects (Advait Dixit, PR [18254](https://github.com/python/mypy/pull/18254))
9596
* 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))
9797
* Fix list index while checking for `Enum` class (Advait Dixit, PR [18426](https://github.com/python/mypy/pull/18426))
98-
* Update `pythoncapi_compat.h` (Marc Mueller, PR [18340](https://github.com/python/mypy/pull/18340))
9998

10099
### Stubgen Improvements
101100

@@ -116,13 +115,14 @@ Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/1749
116115
* Fix crash with `--cache-fine-grained --cache-dir=/dev/null` (Shantanu, PR [18457](https://github.com/python/mypy/pull/18457))
117116
* Prevent crashing when `match` arms use name of existing callable (Stanislav Terliakov, PR [18449](https://github.com/python/mypy/pull/18449))
118117
* 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))
119119

120120
### Documentation Updates
121121

122-
* Add `sphinx_inline_tabs` to docs (Marc Mueller, PR [18262](https://github.com/python/mypy/pull/18262))
122+
* Add inline tabs to documentation (Marc Mueller, PR [18262](https://github.com/python/mypy/pull/18262))
123123
* 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))
126126
* Add `Self` misuse to common issues (Shantanu, PR [18261](https://github.com/python/mypy/pull/18261))
127127

128128
### Other Notable Fixes and Improvements
@@ -132,28 +132,27 @@ Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/1749
132132
* Bind `self` to the class being defined when checking multiple inheritance (Stanislav Terliakov, PR [18465](https://github.com/python/mypy/pull/18465))
133133
* Fix attribute type resolution with multiple inheritance (Stanislav Terliakov, PR [18415](https://github.com/python/mypy/pull/18415))
134134
* Improve security of our GitHub Actions (sobolevn, PR [18413](https://github.com/python/mypy/pull/18413))
135-
* Unwrap `type[Union[...]]` when solving typevar constraints (Stanislav Terliakov, PR [18266](https://github.com/python/mypy/pull/18266))
135+
* Unwrap `type[Union[...]]` when solving type variable constraints (Stanislav Terliakov, PR [18266](https://github.com/python/mypy/pull/18266))
136136
* Allow `Any` to match sequence patterns in match/case (Stanislav Terliakov, PR [18448](https://github.com/python/mypy/pull/18448))
137137
* 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))
139139
* Reject invalid `ParamSpec` locations (Stanislav Terliakov, PR [18278](https://github.com/python/mypy/pull/18278))
140-
* 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))
141141
* Allow inverting `--local-partial-types` (Shantanu, PR [18377](https://github.com/python/mypy/pull/18377))
142142
* 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))
144144
* Fix `--install-types` masking failure details (wyattscarpenter, PR [17485](https://github.com/python/mypy/pull/17485))
145145
* 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))
147147
* 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))
149149
* Suppress errors for unreachable branches in conditional expressions (Brian Schubert, PR [18295](https://github.com/python/mypy/pull/18295))
150150
* 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))
152152
* Use more precise context for `TypedDict` plugin errors (Brian Schubert, PR [18293](https://github.com/python/mypy/pull/18293))
153153
* Use more precise context for invalid type argument errors (Brian Schubert, PR [18290](https://github.com/python/mypy/pull/18290))
154154
* 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))
157156

158157
### Acknowledgements
159158

0 commit comments

Comments
 (0)