Release Notes
Released on 2026-08-22.
Bug fixes
- Avoid duplicate bindings in multi-target assignments (#27938)
- Avoid panic on unpacked kwargs in string annotations (#27963)
- Fix stack overflow in recursive
TypedDictdictionary compatibility (#27951) - Handle assignment expressions in string annotations (#27921)
- Handle dynamic classes in string annotations (#27883)
- Preserve string annotation context in lambda defaults and
TypedDicttypes (#27914) - Skip invalid subscript arguments in string annotations (#27917)
- Skip invalid subscript operands in string annotations (#27882)
LSP server
- Add
untrustedWorkspaceoption to the LSP (#27828) - Add executable discovery to the server command (#27806)
- Handle file-valued workspace folders from Zed (#27836)
- Skip scripts with an invalid PEP 723 configuration (#27505)
- Support pull diagnostics for notebook cells (#27778)
Documentation
- Update mypy/pyright comparison table (#4165)
Diagnostics
- Add an opt-in
unsound-assignmentrule for variables (#27874) - Fix variadic signature display (#27869)
- Highlight declarations in invalid-assignment diagnostics (#27872)
- Improve
LiteralStringsuggestions in string annotations (#27931) - Use
invalid-type-formfor non-generic class annotations (#27889)
Core type checking
- Add bounded constraint solution projections (#27949)
- Fix invariant gradual tuple materialization ranges (#27946)
- Guard recursive constructor bindings by receiver (#27958)
- Preserve all alternatives in bounded intersections (#27898)
- Preserve keyword safety for unpacked callables (#27517)
- Preserve source protocol members and classify finite aliases (#27772)
- Preserve type-variable order when reloading constraints (#27904)
- Propagate narrowing through statically known branches (#27752)
- Recognize ABC metaclass methods on protocols (#27897)
- Support
__slots__(#27730)
Performance
- Lazily infer function parameter default types (#27857)
- Optimize inherited recursive protocol comparisons (#27922)
- Traverse shared constraint source-order nodes once (#27947)
Contributors
Install ty 0.0.74
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.74/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.74/ty-installer.ps1 | iex"Download ty 0.0.74
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>