Release Notes
Released on 2025-12-12.
Bug fixes
- Improve solving of a type variable with an upper bound when that type variable appears as one element in a union type (#21893)
- Accurately emulate runtime semantics for
kw_only=Truedataclasses such that only fields declared in the immediate class body are understood as being keyword-only (#21820) - Avoid inferring types for invalid binary expressions in string annotations (#21911)
- Fix logic used to determine whether two
@finalinstance types are disjoint (#21769) - Fix logic used to determine whether two
@finaltype[]types are disjoint (#21770) - Fix false-positive diagnostics that could arise when analysing cyclic types (#21910), (#21909)
LSP server
- Fix outdated version in publish diagnostics after
didChange(#21943) - Fix workspace symbols to return members too (#21926)
- Adjust scope completions to use all reachable symbols (#21872)
- Classify
clsas class parameter for semantic highlighting (#21944) - Don't show on-hover tooltips for expressions with no inferred type (#21924)
- Ignore
__all__for document and workspace symbol requests (#21928) - Recognize
__all__ += submodule.__all__in auto-import (#21918) - Stabilize rename (#21940)
Other changes
- Support checking files without extensions (#21867)
- Improve performance and semantics by deferring inference of all parameter and return-type annotations (#21906)
- Improve resolution of absolute imports in tests (#21817)
- Infer the implicit type of the
clsparameter in@classmethodmethod bodies (#21685) - Support the implicit type of the
clsparameter in signatures of@classmethodmethods (#21771) - Uniformly use "not supported" in diagnostics (#21916)
- Implement the equivalence relation for
TypedDicts (#21784) - Ensure that the type of the class object
Cis always considered assignable totype[C[Unknown]]ifCis a generic class (#21883) - Improve bad specialization results and error messages (#21840)
- Support
NewTypes offloatandcomplex(#21886)
Contributors
- @charliermarsh
- @oconnor663
- @MichaReiser
- @BurntSushi
- @lucach
- @ibraheemdev
- @mtshiba
- @dcreager
- @sharkdp
- @carljm
- @Gankra
Install ty 0.0.1-alpha.34
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.34/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.34/ty-installer.ps1 | iex"