Release Notes
Released on 2026-05-22.
This release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has "full" support for
Python 3.10 and later, but will still report version-specific syntax errors and other diagnostics when --python-version 3.9
is provided via the CLI.
Bug fixes
- Avoid panicking on
__new__assignments to classes (#25282) - Preserve declaration order when synthesizing class fields (#25249)
- Respect
dict-compatible fallbacks in TypedDict unions (#25242) - Retain recursively-defined state in binary expressions (#25277)
LSP server
- Add Quick Fix to remove redundant cast (#25211)
- Classify property declaration semantic tokens (#25322)
- Escape HTML syntax in docstring rendering (#25247)
- Prefer symbols from standard library over those of the same name from third party libraries for import completions. (#25108)
- Support type aliases in document symbols (#25302)
Diagnostics
- Add error context for extra callable parameters (#25269)
Performance
- Avoid exponential blow-up in fall-through narrowing (#25278)
- Speed up include filtering for projects with many literal include patterns (#25266)
Core type checking
- Allow enum member accesses on
self(#25077) - Emit a diagnostic for subclassing with
order=True(#21704) - Full-scope bidirectional inference for unconstrained container literals (#25279)
- Infer
dict(TypedDict)asdict[str, object](#24852) - Refine Callable class-decorator fallback for unknown results (#25250)
- Reject incompatible explicit variance in generic base classes (#25327)
- Support multi-inference through type aliases (#25245)
- Sync vendored typeshed stubs (#25271, #25172)
Contributors
Install ty 0.0.39
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.39/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.39/ty-installer.ps1 | iex"Download ty 0.0.39
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>