Release Notes
Released on 2026-06-25.
Bug fixes
- Avoid duplicate configuration error output (#26375)
- Avoid stack overflows in reachability analysis (#26272)
- Fix divergent recursive tuple cycle handling in ty (#26316)
- Fix panic from relation queries during cycle recovery (#26335)
- Fix panics by reverting recursive
TypeOfcycle recovery (#26339) - Support basic usages of
__class__closure cells in methods (#26329)
LSP server
- Fix typealias token classification inconsistency (#26255)
- Implement rust-analyzer's "Click for full compiler diagnostic" feature (#26269)
Performance
- Co-locate retained definition usage state (#26019)
- Use never-change durability for immutable file inputs (#26353)
Diagnostics
- Reject undeclared protocol instance attributes (#26336)
Core type checking
- Allow replacing ordinary methods with compatible functions (#26158)
- Distinguish
typing.TypedDictfromtyping_extensions.TypedDict(#25843) - Don't treat non-empty ranges as single-valued (#26351)
- Handle TypeVar bounds over
type[...]in attribute lookup (#26146) - Infer definite equality comparison results (#26337)
- Infer mismatched literal comparisons (#26313)
matchstatements: make class-pattern fallthrough member-aware (#26283)matchstatements: prove TypedDict structural patterns exhaustive (#26285)matchstatements: resolve positional class-pattern exhaustiveness (#26284)- Model non-exhaustive enum member sets (
enum.Flags) (#26277) - Reduce retained definition map storage (#26348)
- Reuse equality semantics for membership compatibility (#25955)
- Sync vendored typeshed stubs to support
builtins.sentinel(#26341) - Treat non-empty
rangecalls as non-empty for reachability (#25220) - Use assignability for divergent constraints (#26334)
- Widen inferred class-valued instance attributes (#26338)
Contributors
Install ty 0.0.54
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.54/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.54/ty-installer.ps1 | iex"Download ty 0.0.54
Verifying GitHub Artifact Attestations
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>