NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #480 most downloaded on PyPI
An extremely fast Python type checker, written in Rust.
Last release 10 days ago
24 Sep 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
1 years old
125 releases · first in 2025
One column per month.
This release addresses GHSA-vxvm-j4xq-q7m4 , a use-after-free vulnerability during incremental type checking that can result in arbitrary code executi…
Released on 2026-09-24.
This release addresses GHSA-vxvm-j4xq-q7m4, a use-after-free vulnerability during incremental type checking that can result in arbitrary code execution when analyzing a specially crafted Python project. Users who run ty on untrusted code should upgrade to 0.0.84 or newer.
showSyntaxErrors (#28759)TypeIs materializations (#28817)"foo" in ["foo"] is now inferred as Literal[True]) (#28676)invalid-legacy-positional-parameter by default (#28834)redundant-condition(-strict) due to the condition being defined relative to sys.version_info, sys.platform, os.name or typing.TYPE_CHECKING (#28788)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.84/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.84/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Fix hangs from repeated partial application
Released on 2026-09-21.
redundant-condition(-strict) diagnostics (#28666)Callable, Iterable, Iterator or Generator types in a boolean context (#28554)Unknown from unconstrained collection use-sites (#28659)Self receivers (#28662)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.83/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.83/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Ignore Python version from uv metadata
Released on 2026-09-17.
--config-file (#28573)redundant-condition rules warning about reachability implications (#28263)while, assert, and match statements (#28290)functools.partial types (#28660)Recursive types and fully support recursive implicit type aliases (#28425)frozen=False overrides on Pydantic subclasses (#28515)type[A & B] (#27124)__init__ files without pkg (#28665)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.82/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.82/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Escape glob characters in anchored directory paths
Released on 2026-09-14.
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.81/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.81/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Fix --force-exclude for directories with an excluded ancestor
Released on 2026-09-09.
--force-exclude for directories with an excluded ancestor (#28451)functools.partial relations (#28460)__set__ itself (#28408)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.80/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.80/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Preserve deprecations on decorated callables
Released on 2026-09-07.
Literal fixes for diagnostics flagging invalid type annotations (#28185)await fixes for redundant conditions (#28169)assert_never fixes for redundant final elif branches (#28178)elif fixes (#28179)reveal_type backport fixes (#28177)TypeIs and isinstance narrowing (#28193)Unknown when collecting type context constraints (#28297)f is identity(f) evaluates to Literal[True] (#28360)ParamSpec (#28085)ParamSpec inference (#28306)type[] aliases (#28267)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.79/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.79/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Report deprecated property accessors on intersections
Released on 2026-09-02.
disjoint-cast rule (#28129)ParamSpec bindings inferred against type context (#28084)lambda functions are always truthy (#28254)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.78/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.78/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Bound recursive protocol traversal in generic intersections
Released on 2026-08-31.
__init_subclass__ calls (#28138)TypedDict methods (#28111)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.77/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.77/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Add a missing-direct-dependency rule
Released on 2026-08-31.
Self through generic type aliases (#28117)== and match (#28103)Final variance in stubs (#28119)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.76/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.76/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Initialize PEP 723 script environments in the CLI
Released on 2026-08-26.
Self bounds of inherited methods (#27990)ParamSpec signatures inferred from bound receivers (#28020)Self binding in ParamSpec protocols (#28016)TypedDict variance inference (#28052)yield from send/return types from the iterator returned by __iter__ (#27987)TypeVarTuples in tuple annotations (#27950)TypeVarTuples (#27943)TypeVarTuple (#27957)typing.Union as a class on Python 3.14+ (#28003)collections.abc.Callable is an instance of type (#27991)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.75/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.75/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Avoid duplicate bindings in multi-target assignments
Released on 2026-08-22.
TypedDict dictionary compatibility (#27951)TypedDict types (#27914)untrustedWorkspace option to the LSP (#27828)unsound-assignment rule for variables (#27874)LiteralString suggestions in string annotations (#27931)invalid-type-form for non-generic class annotations (#27889)__slots__ (#27730)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.74/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.74/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Do not prefer unsafe fixes in the language server
Released on 2026-08-18.
functools.partial (#27774)TypedDict or callable (#27740)TypeAliasType runtime origin (#27813)py.typed contents (#27805)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.73/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.73/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Report deprecated unary operations
Released on 2026-08-14.
TypedDict types (#27717)__getattr__ calls (#27507)TypedDict aliases (#27760)Never (#27580)TypeVarTuple in call binding (#26886)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.72/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.72/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Respect third-party keyword-only fields before Python 3.10
Released on 2026-08-12.
__getattribute__ calls (#27506)type[...] parameters (#27689)TypeVar types when slicing (#27645)Self and bounded type variables (#27644)_missing_ methods (#27700)type[] (#27663)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.71/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.71/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Enable and downrank auto-import completions from stub-only modules
Released on 2026-08-10.
TYPE_CHECKING blocks (#27549)unsound-return-statement lint (#27561)unsound-yield lint (#27593)__getattr__ calls (#27502)__get__ calls (#27400)Generator aliases when evaluating return, send, and yield types (#27577)TypedDict key-membership truthiness (#27579)type[T] (#27534)NewType types and their underlying values (#27522)ClassVar declarations for protocol members (#27530)Annotated inside type[...] (#27629)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.70/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.70/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>isinstance narrowing for generic classes is now more gradual by default
Released on 2026-08-06.
isinstance narrowing for generic classes is now more gradual by default (#27308)
This new behavior is more similar to what other major type checkers do. For example:
def f(xs: object):
if isinstance(xs, list):
reveal_type(xs) # now: `list[Unknown]`, before: `Top[list[Unknown]]`Note: you might consider enabling analysis.strict-generic-narrowing
if you prefer the strictly correct behavior.
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.69/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.69/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Preserve property getter call errors
Released on 2026-08-05.
float over int | float) (#27406)TypedDict types for Mapping compatibility (#27512)Unpack operands in Union (#27525)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.68/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.68/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Remove deprecated src.root setting in favor of environment.root
Released on 2026-08-05.
unimported-reveal diagnostics in stub files and if TYPE_CHECKING blocks (#27508)src.root setting in favor of environment.root (#27456)dataclass_transform parameters (#27458)is_dataclass type guard (#27455)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.67/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.67/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Index with -statement targets as symbols
Released on 2026-08-03.
with-statement targets as symbols (#27256)__aenter__ and __aexit__ that do not return awaitables (#27414)TypeIs return types (#26864)Unknown out of the experimental ty_extensions API (#27430)TypeVarTuple context during Generic recovery (#27381)ClassVar and Final qualifiers in NamedTuple fields (#27380)ParamSpec components (#27378)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.66/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.66/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Support comprehension walruses in IDE features
Released on 2026-07-29.
__replace__ for models (#27220)ParamSpec forwarded-argument diagnostic locations (#27263)functools.partial diagnostic sources (#27265)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.65/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.65/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Fix identity narrowing for NewTypes
Released on 2026-07-27.
textDocument/implementation request (#25410)--add-ignore to add space after the colon for ty: ignore (#27120)missing-override-decorator suggestion before Python 3.12 (#27166)Self in __new__ calls (#27003)ModuleType globals (#27182)TypedDict unions (#27108)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.64/ty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.64/ty-installer.ps1 | iex"The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/tyYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Handle generic stringified PEP 613 (typing.TypeAlias) type aliases
Released on 2026-07-23.
typing.TypeAlias) type aliases (#27092)str (#27104)type and TypeForm (#27099)match statement leads a variable x to be inferred as A & B, infer the type of x.attr as <type of A.attr> & <type of B.attr> (#27103)BaseSettings models (#27098)match subjects (#27100)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.63/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.63/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Guard recursive Protocol and TypedDict relations
Released on 2026-07-21.
Protocol and TypedDict relations (#26990)--add-ignore (#26925)rules and analysis in PEP 723 script metadata configurations (#26671)__setattr__ assignments (#27015)Callable isinstance reachability (#26970)Just[float] protocol matching (#27053)Self binding for classmethod __new__ constructors (#27030)TypedDict PEP 728 parameters by Python version (#26968)match reachability inference around value-pattern branches (#26979)__setattr__ for class attributes (#27000)Self binding (#26997)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.62/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.62/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Avoid recursive protocol structural comparisons
Released on 2026-07-17.
Annotated aliases (#26885)--add-ignore (#26808)isinstance results for aliases and type variables (#26961)isinstance results for fixed class tuples (#26935)to_instance (#26892)TypeVarTuple and Unpack (#25240)ignore crate (#26933)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.61/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.61/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Expand transparent callable workaround with overloads and Awaitable[T]
Released on 2026-07-15.
Awaitable[T] (#26761)populate_by_name and custom initializers (#26764)invalid-type-guard-call (#26809)match cases (#26807)type[Protocol] (#26649)PathBounds fast-path to support both upper and lower bounds (#26782)Self type scans for non-generic instances (#26703)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.60/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.60/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Guard descriptor classification cycles
Released on 2026-07-12.
init=False in dataclass field-order checks (#26749)__init__ methods (#26699)Annotated (#26650)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.59/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.59/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Fix protocol matching for class variables
Released on 2026-07-09.
validate_by_{name,alias} (#26598)validation_alias (#26629)BaseSettings fields optional by default (#26628)RootModel fields (#26634)__contains__ semantics (#25964)ModuleType.__doc__ as str in the presence of a docstring (#26505)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.58/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.58/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Detect async generator expressions containing await
Released on 2026-07-07.
__slots__ string when renaming an attribute (#26438)@property protocol members (#25332)isinstance against intersections containing invalid member (#26545)functools.partial signatures (#24583)CompactString (#26546)is_subclass_of (#26585)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.57/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.57/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Avoid MRO cycle when collecting NamedTuple fields
Released on 2026-07-01.
int and str enum value normalization (#26349)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.56/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.56/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Render full diagnostics in color
Released on 2026-06-26.
__match_args__ (#26195)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.55/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.55/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Avoid duplicate configuration error output
Released on 2026-06-25.
TypeOf cycle recovery (#26339)__class__ closure cells in methods (#26329)typing.TypedDict from typing_extensions.TypedDict (#25843)type[...] in attribute lookup (#26146)match statements: make class-pattern fallthrough member-aware (#26283)match statements: prove TypedDict structural patterns exhaustive (#26285)match statements: resolve positional class-pattern exhaustiveness (#26284)enum.Flags) (#26277)builtins.sentinel (#26341)range calls as non-empty for reachability (#25220)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.54/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.54/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Avoid bypassing lazy constraints for Divergent
Released on 2026-06-23.
Divergent (#26288)TypeOf cycle recovery monotonic (#26275)ty_extensions (#26263)is_never_satisfied results (#26261)Any specializations (#26127)curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.53/ty-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.53/ty-installer.ps1 | iex"
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Your coding agent can read these notes before it upgrades. Set up the MCP server →