Skip to content

Commit 1a26502

Browse files
Prepare changelog for 1.15 release (#18583)
Co-authored-by: Shantanu <[email protected]>
1 parent d4515e4 commit 1a26502

File tree

1 file changed

+122
-8
lines changed

1 file changed

+122
-8
lines changed

CHANGELOG.md

+122-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,30 @@
11
# Mypy Release Notes
22

3-
## Next release
3+
## Next Release
44

5-
### Performance improvements
5+
...
6+
7+
## Mypy 1.15 (Unreleased)
8+
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:
12+
13+
python3 -m pip install -U mypy
14+
15+
You can read the full documentation for this release on [Read the Docs](http://mypy.readthedocs.io).
16+
17+
### Performance Improvements
618

719
Mypy may be 5-30% faster. This improvement comes largely from tuning the performance of the
8-
garbage collector.
20+
garbage collector. Additionally, the release includes several micro-optimizations that may be
21+
impactful for very large projects.
922

10-
Contributed by Jukka Lehtosalo (PR [18306](https://github.com/python/mypy/pull/18306)).
23+
Contributed by Jukka Lehtosalo (PR [18306](https://github.com/python/mypy/pull/18306),
24+
PR [18302](https://github.com/python/mypy/pull/18302, PR [18298](https://github.com/python/mypy/pull/18298,
25+
PR [18299](https://github.com/python/mypy/pull/18299).
1126

12-
### Mypyc accelerated mypy wheels for aarch64
27+
### Mypyc Accelerated Mypy Wheels for `aarch64`
1328

1429
Mypy can compile itself to C extension modules using mypyc. This makes mypy 3-5x faster
1530
than if mypy is interpreted with pure Python. We now build and upload mypyc accelerated
@@ -29,7 +44,7 @@ Use this flag to disable this behavior. `--strict-bytes` will be enabled by defa
2944
Contributed by Ali Hamdan (PR [18263](https://github.com/python/mypy/pull/18263)) and
3045
Shantanu Jain (PR [13952](https://github.com/python/mypy/pull/13952)).
3146

32-
### Improvements to reachability analysis and partial type handling in loops
47+
### Improvements to Reachability Analysis and Partial Type Handling in Loops
3348

3449
This change results in mypy better modelling control flow within loops and hence detecting several
3550
issues it previously did not detect. In some cases, this change may require use of an additional
@@ -41,7 +56,7 @@ PR [18433](https://github.com/python/mypy/pull/18433)).
4156
(Speaking of partial types, another reminder that mypy plans on enabling `--local-partial-types`
4257
by default in **mypy 2.0**).
4358

44-
### Better discovery of configuration files
59+
### Better Discovery of Configuration Files
4560

4661
Mypy will now walk up the filesystem (up until a repository or file system root) to discover
4762
configuration files. See the
@@ -51,7 +66,7 @@ for more details.
5166
Contributed by Mikhail Shiryaev and Shantanu Jain
5267
(PR [16965](https://github.com/python/mypy/pull/16965), PR [18482](https://github.com/python/mypy/pull/18482))
5368

54-
### Better line numbers for decorators and slice expressions
69+
### Better Line Numbers for Decorators and Slice Expressions
5570

5671
Mypy now uses more correct line numbers for decorators and slice expressions. In some cases, this
5772
may necessitate changing the location of a `# type: ignore` comment.
@@ -68,6 +83,105 @@ Support for this will be dropped in the first half of 2025!
6883

6984
Contributed by Marc Mueller (PR [17492](https://github.com/python/mypy/pull/17492)).
7085

86+
### Mypyc Improvements
87+
88+
* Fix `__init__` for classes with `@attr.s(slots=True)` (Advait Dixit, PR [18447](https://github.com/python/mypy/pull/18447))
89+
* Report error for nested class instead of crashing (Valentin Stanciu, PR [18460](https://github.com/python/mypy/pull/18460))
90+
* Fix `InitVar` for dataclasses (Advait Dixit, PR [18319](https://github.com/python/mypy/pull/18319))
91+
* 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))
94+
* Fix iteration over `NamedTuple` objects (Advait Dixit, PR [18254](https://github.com/python/mypy/pull/18254))
95+
* 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+
* 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))
99+
100+
### Stubgen Improvements
101+
102+
* Improve dataclass init signatures (Marc Mueller, PR [18430](https://github.com/python/mypy/pull/18430))
103+
* Preserve `dataclass_transform` decorator (Marc Mueller, PR [18418](https://github.com/python/mypy/pull/18418))
104+
* Fix `UnpackType` for 3.11+ (Marc Mueller, PR [18421](https://github.com/python/mypy/pull/18421))
105+
* Improve `self` annotations (Marc Mueller, PR [18420](https://github.com/python/mypy/pull/18420))
106+
* Print `InspectError` traceback in stubgen `walk_packages` when verbose is specified (Gareth, PR [18224](https://github.com/python/mypy/pull/18224))
107+
108+
### Stubtest Improvements
109+
110+
* Fix crash with numpy array default values (Ali Hamdan, PR [18353](https://github.com/python/mypy/pull/18353))
111+
* Distinguish metaclass attributes from class attributes (Stephen Morton, PR [18314](https://github.com/python/mypy/pull/18314))
112+
113+
### Fixes to Crashes
114+
115+
* Prevent crash with `Unpack` of a fixed tuple in PEP695 type alias (Stanislav Terliakov, PR [18451](https://github.com/python/mypy/pull/18451))
116+
* Fix crash with `--cache-fine-grained --cache-dir=/dev/null` (Shantanu, PR [18457](https://github.com/python/mypy/pull/18457))
117+
* Prevent crashing when `match` arms use name of existing callable (Stanislav Terliakov, PR [18449](https://github.com/python/mypy/pull/18449))
118+
* Gracefully handle encoding errors when writing to stdout (Brian Schubert, PR [18292](https://github.com/python/mypy/pull/18292))
119+
120+
### Documentation Updates
121+
122+
* Add `sphinx_inline_tabs` to docs (Marc Mueller, PR [18262](https://github.com/python/mypy/pull/18262))
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))
126+
* Add `Self` misuse to common issues (Shantanu, PR [18261](https://github.com/python/mypy/pull/18261))
127+
128+
### Other Notable Fixes and Improvements
129+
130+
* Fix literal context for ternary expressions (Ivan Levkivskyi, PR [18545](https://github.com/python/mypy/pull/18545))
131+
* Ignore `dataclass.__replace__` LSP violations (Marc Mueller, PR [18464](https://github.com/python/mypy/pull/18464))
132+
* Bind `self` to the class being defined when checking multiple inheritance (Stanislav Terliakov, PR [18465](https://github.com/python/mypy/pull/18465))
133+
* Fix attribute type resolution with multiple inheritance (Stanislav Terliakov, PR [18415](https://github.com/python/mypy/pull/18415))
134+
* 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))
136+
* Allow `Any` to match sequence patterns in match/case (Stanislav Terliakov, PR [18448](https://github.com/python/mypy/pull/18448))
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))
139+
* 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))
141+
* Allow inverting `--local-partial-types` (Shantanu, PR [18377](https://github.com/python/mypy/pull/18377))
142+
* 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))
144+
* Fix `--install-types` masking failure details (wyattscarpenter, PR [17485](https://github.com/python/mypy/pull/17485))
145+
* 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))
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))
149+
* Suppress errors for unreachable branches in conditional expressions (Brian Schubert, PR [18295](https://github.com/python/mypy/pull/18295))
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))
152+
* Use more precise context for `TypedDict` plugin errors (Brian Schubert, PR [18293](https://github.com/python/mypy/pull/18293))
153+
* Use more precise context for invalid type argument errors (Brian Schubert, PR [18290](https://github.com/python/mypy/pull/18290))
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))
157+
158+
### Acknowledgements
159+
160+
Thanks to all mypy contributors who contributed to this release:
161+
162+
- Advait Dixit
163+
- Ali Hamdan
164+
- Brian Schubert
165+
- bzoracler
166+
- Cameron Matsui
167+
- Christoph Tyralla
168+
- Gareth
169+
- Ivan Levkivskyi
170+
- Jukka Lehtosalo
171+
- Kcornw
172+
- Marc Mueller
173+
- Mikhail f. Shiryaev
174+
- Shantanu
175+
- sobolevn
176+
- Stanislav Terliakov
177+
- Stephen Morton
178+
- Valentin Stanciu
179+
- Viktor Szépe
180+
- wyattscarpenter
181+
- 정승원
182+
183+
I’d also like to thank my employer, Dropbox, for supporting mypy development.
184+
71185
## Mypy 1.14
72186

73187
We’ve just uploaded mypy 1.14 to the Python Package Index ([PyPI](https://pypi.org/project/mypy/)).

0 commit comments

Comments
 (0)