Release Notes
Released on 2026-01-14.
Bug fixes
- Avoid panic that could occur when
casting an object to a TypedDict or union of TypedDicts (#22509) - Fix incorrect narrowing for
if type(x) == y(#22531) - Fix stack overflow with recursive type aliases containing tuple types (#22543)
functools.total_ordering: ensure the signatures of generated methods reflect the signature of the user-provided method (#22496)- Support
dataclass_transformas a function call (#22378) - Use the top materialization of classes for
if type(x) is ynarrowing. For example,if type(x) is tuplewill cause the type ofxto be intersected withtuple[object, ...]rather thantuple[Unknown, ...]. (#22553) - Avoid emitting Liskov violations with respect to a grandparent class if such violations could not be fixed without introducing Liskov violations with respect to a parent class (#22484)
- Fix interaction between classmethod, contextmanager, and Self (#22407)
- Check contravariant type variable bounds contravariantly in specialization inference (#22488)
- Fix false positive for bounded type parameters with NewType (#22542)
Type checking
- Add support for dynamic
type()classes (#22291, #22499, #22537, #22480) - Add support for functional
namedtuplecreation (#22327, #22573, #22575, #22574) - Add a diagnostic for non-decorator uses of
final(#22555) - Add diagnostic to catch generic enums (#22482)
- Add diagnostics for
__init_subclass__argument mismatch (#22185) - Add diagnostics to validate
TypeIsandTypeGuarddefinitions (#22300) - Apply type narrowing to walrus targets (#22369)
- Detect invalid
@total_orderingapplications in non-decorator contexts (#22486) - Fix
@Todotype for starred expressions (#22503) - Improve disambiguation of types in diagnostics (#22547)
- Include type parameters in the display for generic
Callabletypes (#22435) - Infer
type[Unknown]for calls totype()when overload evaluation is ambiguous (#22569) - Support assignment to unions of
TypedDicts (#22294) - Use the key and value parameter types as type context for
__setitem__dunder calls (#22148) - Narrow the right-hand side of
==,!=,isandis notconditions when the left-hand side is not narrowable (#22511)
LSP server
- Fix
__file__type in completions to showstrinstead ofstr | Nonewhen the inferred type isstr(#22510) - Improve rendering of ReST directives in docstrings (#22512)
Contributors
Install ty 0.0.12
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.12/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ty/releases/download/0.0.12/ty-installer.ps1 | iex"