0.0.15
Release Notes
Released on 2026-02-04.
Bug fixes
- Add support for resolving imports of packages installed into Debian/Ubuntu
dist-packagesdirectories (#22466) - Avoid
not-iterablefalse positives when iterating over an instance of an intersection type with only negated elements (#22089) - Fix support for stringized annotations in very large files (#22913)
- Don't emit Liskov diagnostics for methods with mangled names (#23062)
- Enforce that a
Finalsymbol cannot be reassigned even after a conditional binding (#22986) - Fix TypedDict construction from existing TypedDict values (#22904)
- Fix
Selfresolution for classes nested within methods (#22964) - Fix bidirectional inference with PEP 695 union type aliases (#22988)
- Fix edge-case bugs when narrowing tagged unions in
matchstatements (#22870) - Fix false-positive diagnostics when iterating over an instance of an intersection that includes a TypeVar of which the upper bound is a union where the union includes a non-iterable type (#22117)
- Fix lookup of
__contains__to respect descriptors (#23056) - Fix narrowing of
nonlocalvariables with conditional assignments (#22966) - Fix several bugs that could affect
NewTypes ofNewTypes offloat(#22997) - Fix several type narrowing bugs involving PEP-695 type aliases (#22894)
- Fix spurious query cycles in decorated functions with parameter defaults, for improved performance and improved determinism (#23014)
- Fix unary and comparison operators for TypeVars with union bounds (#22925)
- Understand functions as method descriptors even if they are decorated with a decorator annotated as returning a PEP-695 alias to a
Callabletype (#22902) dataclass_transform: Fix visibility of field specifiers when models are nested inside methods (#23069)
LSP server
- Fix hover showing
Unknownfor bareFinalinstance attributes (#23003) - Improve support for goto-type, goto-declaration, hover, and highlighting of string annotations (#22878)
- Include setters and deleters when renaming properties (#22999)
- Show type qualifiers like
Finalin on-hover hints (#23005)
Configuration
- Add new
unused-type-ignore-commentrule (#22790) - Add a mechanism to ignore/warn/select all rules (#22832)
- Support multiple workspace folders in a single ty LSP server instance (#22953)
- Only add
./srcas a search path if./src/__init__.py(i)does not exist (#22851)
Type checking
- Add a diagnostic detecting if a variable is declared as
Finalbut never has any bindings (#23001) - Add a diagnostic detecting overridden comparison dunder methods on
order=Truedataclasses (#22689) - Add a hint to
invalid-argument-typeandinvalid-assignmentdiagnostics if a variable is annotated with a type from thenumbersmodule (#22931, #22938) - Add diagnostic hint on
unresolved-referenceto suggest using "list" instead of "List" (#22827) - Add new diagnostic for invalid dataclass field orders (#19825)
- Allow a subclass method with a positional-only parameter to override a superclass method without that parameter if the parameter in the subclass method has a default value (#23037)
- Allow self-referential imports outside the global scope (#22963)
Contributors
- @charliermarsh
- @stefanvanburen
- @ibraheemdev
- @abhijeetbodas2001
- @MichaReiser
- @dcreager
- @PrettyWood
- @sharkdp
- @oconnor663
- @Feiyang472
- @denyszhak
Install ty 0.0.15
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.15/ty-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ty/releases/download/0.0.15/ty-installer.ps1 | iex"
Download ty 0.0.15
| File | Platform | Checksum | |--------|----------|----------| | ty-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum | | ty-x86_64-apple-darwin.tar.gz | Intel macOS | checksum | | ty-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum | | ty-i686-pc-windows-msvc.zip | x86 Windows | checksum | | | x64 Windows | | | | ARM64 Linux | | | | x86 Linux | | | | PPC64 Linux | | | | PPC64LE Linux | | | | S390x Linux | | | | x64 Linux | | | | ARMv7 Linux | | | | ARM64 MUSL Linux | | | | x86 MUSL Linux | | | | x64 MUSL Linux | | | | ARMv6 MUSL Linux (Hardfloat) | | | | ARMv7 MUSL Linux | |