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
I'm planning to make a 1.7 release around Nov 2 to Nov 6 (tentative timeline).
Please post here any issues you'd like to see fixed in the release, or PRs you'd like to have merged. I'll cut the release branch around Oct 30.
This release will be the first one where we create the release blog post in the repo (either in CHANGELOG.md or in a temporary file which we'll add to CHANGELOG.md at the time of the release).
Here are some other major changes I'm hoping to include:
Enable --new-type-inference by default (subject to no major known regressions).
You refer to PEP 692 in description of TypedDict unpack. I think it may be worth mentioning that there are some intentional deviations from the PEP. The author of the PEP actually agrees it should be amended, but PEP is already accepted, so I don't know how they will sort it out. The summary is that unlike in the current edition of the PEP mypy always treats signatures with Unpack[SomeTypedDict] as equivalent to their expanded forms.
test.py:3: error: Explicit "Any" is not allowed [misc]
class Foo(BaseModel):
^~~~~~~~~~~~~~~~~~~~
test.py:3: error: Type of decorated function contains type "Any"
("Callable[[DefaultNamedArg(dict[str, Any] | None, '__pydantic_extra__'), DefaultNamedArg(set[str], '__pydantic_fields_set__'), DefaultNamedArg(dict[str, Any] | None, '__pydantic_private__')], None]") [misc]
class Foo(BaseModel):
^~~~~~~~~~~~~~~~~~~~
Found 2 errors in 1 file (checked 1 source file)
I'd guess that this behavior is correct... there is, in fact, an explicit Any in the BaseModel type definition, but it's going to mean a lot of code has to be updated to ignore this behavior.
I'm planning to run some performance comparisons locally to get a better idea of whether there actually is a regression, since the automatically generated performance metrics are a bit noisy. The regression is small enough that even if it's real, we can probably proceed, but it seems worth it first check if there is some trivial fix.
Activity
JukkaL commentedon Oct 27, 2023
I've encountered these (minor) regressions or potential regressions so far:
KRRT7 commentedon Oct 27, 2023
i'm not sure if this the right place to mention this but, you might need to add setuptools as a dependency for python 3.12+
AlexWaygood commentedon Oct 27, 2023
Already done in ff7ac75
wRAR commentedon Oct 28, 2023
ilevkivskyi commentedon Oct 29, 2023
It would be great to have:
These are all fixes for
dmypy inspect, they should be all low-risk, as they don't touch "regular" daemon logic.JukkaL commentedon Oct 30, 2023
This was merged a while ago, so it will be included.
JukkaL commentedon Oct 30, 2023
I've now cut the release branch: https://github.com/python/mypy/tree/release-1.7
We can still cherry-pick important/low-risk fixes and documentation updates.
ilevkivskyi commentedon Oct 31, 2023
May be good to add #16381 (
Unpackcrash fix)JukkaL commentedon Nov 1, 2023
Cherry-picked these PRs:
hauntsaninja commentedon Nov 6, 2023
I wouldn't mind a cherry pick of #16407
JukkaL commentedon Nov 9, 2023
I wrote 1.7 release notes in the changelog, which will be copied to the release blog post: https://github.com/python/mypy/blob/master/CHANGELOG.md
Please review. I'll leave a comment here when I've copied it to the blog, after which we shouldn't make any major changes to the changelog.
The release will probably go out tomorrow, 10 Nov, if I don't get distracted.
ilevkivskyi commentedon Nov 10, 2023
@JukkaL Two comments on the blog post:
--enable-incomplete-feature=PreciseTupleTypes. And maybe also in general mention that from now on we will try to use--enable-incomplete-featureas a more systematic way to try new features. Note there are some docs https://mypy.readthedocs.io/en/latest/command_line.html#enabling-incomplete-experimental-features, feel free to edit them if you want.Unpack[SomeTypedDict]as equivalent to their expanded forms.ilevkivskyi commentedon Nov 10, 2023
Another thing is that there are two crashes with
TypeVarTuple(one came with a PR, I will merge it soon). Not sure what to do with this:4 remaining items
JukkaL commentedon Nov 10, 2023
Cherry-picked #16444.
JukkaL commentedon Nov 10, 2023
Changelog updates: #16446 (I will leave it open for a while but will merge it fairly soon)
JukkaL commentedon Nov 10, 2023
Mypy 1.7 is out: https://mypy-lang.blogspot.com/2023/11/mypy-17-released.html
DanielNoord commentedon Nov 10, 2023
Congrats with the release guys!
Sadly, I think I found a regression: #16451. Let me know if I can provide more details.
jessemyers-lettuce commentedon Nov 10, 2023
FYI, this release "regressed"
pydanticusage. This snippet:Now raises:
I'd guess that this behavior is correct... there is, in fact, an explicit
Anyin theBaseModeltype definition, but it's going to mean a lot of code has to be updated to ignore this behavior.hauntsaninja commentedon Nov 10, 2023
@jessemyers-lettuce could you open a new issue with more details? I can't reproduce.
jessemyers-lettuce commentedon Nov 11, 2023
@hauntsaninja Done. See #16454
ilevkivskyi commentedon Nov 11, 2023
Possible candidates for 1.7.1:
ilevkivskyi commentedon Nov 12, 2023
Two more potential candidates for 1.7.1:
ilevkivskyi commentedon Nov 13, 2023
Another candidate from me for 1.7.1:
JukkaL commentedon Nov 15, 2023
There may be a recent 1-2% perf regression, possibly related to some of the fixes that we are planning to include in 1.7.1. Perf data: https://github.com/mypyc/mypyc-benchmark-results/blob/master/reports/benchmarks/mypy_self_check.md
I'm planning to run some performance comparisons locally to get a better idea of whether there actually is a regression, since the automatically generated performance metrics are a bit noisy. The regression is small enough that even if it's real, we can probably proceed, but it seems worth it first check if there is some trivial fix.
mr-c commentedon Nov 16, 2023
I nominate #16484 for 1.7.1
JukkaL commentedon Nov 22, 2023
Cherry-picked these PRs for the point release:
Thank you @ilevkivskyi for all the fixes!
I'm planning to publish 1.7.1 soon (either later today or tomorrow).
JukkaL commentedon Nov 23, 2023
1.7.1 is out now.