Release Notes
Released on 2026-08-18.
LSP server
- Do not prefer unsafe fixes in the language server (#27822)
- Fix signature help in trailing whitespace (#27784)
Library support
- Preserve variadic generics in
functools.partial(#27774)
Diagnostics
- Add an opt-in rule flagging function decorators that transform a non-dynamic type into a dynamic type (#27829)
- Disambiguate same-named types in several diagnostics (#27814)
- Show error spans for errors originating in script metadata (#26693)
Core type checking
- Avoid bypassing solver during literal promotion (#27763)
- Expand nested union aliases when finding a
TypedDictor callable (#27740) - Implement intersection meta-type projection (#27660)
- Infer generic protocols from class objects (#27812)
- Model exception-suppressing context managers (#27219)
- Preserve
TypeAliasTyperuntime origin (#27813) - Preserve class objects in lazy protocol checks (#27815)
- Preserve declared types in exception handlers (#27817)
- Preserve explicit globals after conditional rebinding (#27786)
- Preserve property subclass types and accessors (#27833)
- Preserve required stub fields in generated constructors (#27765)
- Preserve static upper bounds of gradual solutions (#27664)
- Prevent unrelated quantified constraints from destabilizing recursive queries (#27737)
- Separate generic constraint accumulation from legacy projection (#27743)
- Simplify generic protocol inference (#27819)
- Specialize inherited members of unspecialized generic classes (#27658)
- Specialize type variables determined by bound receivers (#27732)
- Support unpacking tuple type aliases (#27825)
- Sync vendored typeshed stubs (#27771). Typeshed diff
Performance
- Cache
py.typedcontents (#27805) - Deduplicate exception checkpoints across equivalent branches (#27703)
Contributors
- @charliermarsh
- @AlexWaygood
- @MichaReiser
- @augustelalande
- @carljm
- @woodruffw
- @dhruvmanila
- @ibraheemdev
- @zaniebot
Install ty 0.0.73
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.73/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.73/ty-installer.ps1 | iex"Download ty 0.0.73
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>