-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Updates to 1.18 changelog #19826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates to 1.18 changelog #19826
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG, some minor comments
CHANGELOG.md
Outdated
### `--allow-redefinition-new` | ||
### Mypy Performance Improvements | ||
|
||
Mypy 1.18 includes numerous performance improvements, resulting in about 38% speedup |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO this is unnecessarily precise, saying ~40%
may be better.
Mypy 1.18 includes numerous performance improvements, resulting in about 38% speedup | ||
compared to 1.17 when type checking mypy itself. In extreme cases, the improvement | ||
can be 10x or higher. The list below is an overview of the various mypy optimizations. | ||
Many mypyc improvements (discussed in a separate section below) also improve performance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we mention --disable-expression-cache
just in case, or only advise it when people report bugs?
CHANGELOG.md
Outdated
convert fixed-format cache files to JSON, but details of the output JSON may be | ||
different from the current JSON format. If you rely on being able to inspect | ||
mypy cache files, we recommend creating a GitHub issue and explaining your use | ||
case, so that we can more likely provide support for it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe also mention using MypyFile.read(data)
to inspect cache, which may be sufficient for some users?
CHANGELOG.md
Outdated
|
||
Mypy 1.18 includes numerous performance improvements, resulting in a 38% overall speedup compared to 1.17 | ||
- Add `--strict-equality-for-none` to flag non-overlapping comparisons involving None (Christoph Tyralla, PR [19718](https://github.com/python/mypy/pull/19718)) | ||
- Don’t show import‑related errors after a module‑level `assert False` (Stanislav Terliakov, PR [19347](https://github.com/python/mypy/pull/19347)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if it makes sense to clarify that this is for cases like assert sys.platform == "linux"
at top of file.
CHANGELOG.md
Outdated
|
||
### Experimental Free-threading Support for Mypyc | ||
|
||
All mypyc tests now pass on free-threading 3.14 release candidate builds. The performance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All mypyc tests now pass on free-threading 3.14 release candidate builds. The performance | |
All mypyc tests now pass on free-threading Python 3.14 release candidate builds. The performance |
CHANGELOG.md
Outdated
|
||
### Mypyc: Support `__new__` | ||
|
||
Mypyc now has rudimentary support for `__new__` methods. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mypyc now has rudimentary support for `__new__` methods. | |
Mypyc now has rudimentary support for user-defined `__new__` methods. |
CHANGELOG.md
Outdated
- Avoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR [19515](https://github.com/python/mypy/pull/19515)) | ||
- Optimize generic inference passes (Ivan Levkivskyi, PR [19501](https://github.com/python/mypy/pull/19501)) | ||
- Speed up the default plugin (Jukka Lehtosalo, PR [19462](https://github.com/python/mypy/pull/19462)) | ||
- Speed up the default plugin (Jukka Lehtosalo, PR [19385](https://github.com/python/mypy/pull/19385)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe merge these two PR into single line, like few lines above?
Did various edits, added a few additional sections, and reordered some sections. (cherry picked from commit 73fa69e)
Did various edits, added a few additional sections, and reordered some sections.