Immutable
release. Only release title and notes can be modified.
Release Notes
Released on 2026-08-31.
Preview features
- Add a missing-direct-dependency rule (#28001)
- Cancel superseded queued uv requests (#28108)
- Check direct dependencies in PEP 723 scripts (#28136)
- Fix Goto definition in script dependencies (#27747)
- Move script environment initialization to the CLI and LSP (#28038)
- Refresh uv project metadata in the background (#27933)
- Synchronize PEP 723 script environments in the language server (#27619)
- Warn when uv metadata cannot support dependency checks (#28133)
Bug fixes
- Avoid panics on incomplete protocol type parameter lists (#28088)
- Fix auto-completion panic involving bare declarations (#28191)
- Guard recursive meta-type expansion (#28143)
- Preserve parentheses when removing redundant casts (#28092)
LSP server
- Add "Find references" support for pytest fixtures (#28075)
- Highlight PEP 723 script metadata as TOML (#27746)
- Synchronize saved script metadata on open (#27873)
Core type checking
- Apply mixin specialization when validating enum members (#28101)
- Bind
Selfthrough generic type aliases (#28117) - Infer lambda parameters through callable type aliases (#28109)
- Intersection simplifications with subtype-related generic specializations (#26880)
- Invalidate member narrowing across loop iterations (#28009)
- Narrow functional enum members in
==andmatch(#28103) - Only treat recursive types with unbounded specializations as fallback cycles (#27538)
- Preserve
Finalvariance in stubs (#28119) - Preserve inferred types for unknown class-decorator results (#28067)
- Preserve list literal positions in starred unpacking (#28061)
- Preserve short-circuit reachability for direct conditions (#28082)
- Preserve type variables in bounded generic defaults (#28122)
- Reject circular type alias definitions (#28140)
- Reject class access to generic instance attributes (#28123)
- Use the subclass receiver when checking method overrides (#28124)
- Validate declared variance in method signatures (#28116)
Performance
- Avoid cubic narrowing with repeated assignments and context managers (#27787)
- Avoid repeated traversal of shared alias arguments (#28147)
- Reject impossible eager protocol comparisons early (#28081)
Contributors
- @AlexWaygood
- @MichaReiser
- @charliermarsh
- @BitWeaverDev
- @gorewilliams
- @zsol
- @malkin0xb8
- @sharkdp
- @mtshiba
- @carljm
- @lerebear
- @jamtat
Install ty 0.0.76
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.76/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.76/ty-installer.ps1 | iex"Download ty 0.0.76
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>