Release Notes
Released on 2026-01-26.
Bug fixes
- Consider keyword arguments when unpacking a variadic argument (#22796)
- Fix binary operator false-positive for constrained TypeVars (#22782)
- Fix docstring rendering for literal blocks after doctests (#22676)
- Fix false-positive
unsupported-operatorfor "symmetric" TypeVars (#22756) - Fix panic when overriding a final method using an assignment (#22831)
- Fix unary operator false-positive for constrained TypeVars (#22783)
- Fix generic functions with a generic (ParamSpec) decorator (#22544)
- Fix
memo.changed_atassertion panics (#22498)
LSP server
- Look up attributes on metaclasses for Go to Definition (#22758)
- Suppress type inlay hints for leading-underscore assignments (#22855)
Configuration
- Add
allowed-unresolved-importssetting (#22800)
Other changes
- Add
assert-type-unspellable-subtypediagnostic, for failedassert_type()where the actual type is a subtype of the named type that can't be spelled in a type expression (#22815) - Add a new
empty-bodyreturn code for functions with stub bodies that have non-Nonereturn annotations (#22846) - Add diagnostic disambiguation for different type aliases with the same name (#22852)
- Add support for dict literals and dict() calls as default values for parameters with TypedDict types (#22161)
- Add support for subscripts on intersections (#22654)
- Avoid duplicate syntax errors for
awaitoutside functions (#22826) - Emit an error if the same type parameter appears more than once in a
Generic[]subscript (#22738) - Emit diagnostic for unimplemented abstract method on @Final class (#22753)
- Fix GitLab Code Quality output format for empty diagnostics (#22833)
- Fix assignment in decorated method causing
Unknownfallback (#22778) - Fix false negative when using a non-runtime-checkable protocol in a
matchclass pattern (#22836) - Improve completion rankings for raise-from/except contexts (#22775)
- Improve invalid assignment diagnostics with type context (#22643)
- Improve support for kwarg splats in dictionary literals (#22781)
- Infer
TypedDicttypes with >=1 required key as being always truthy (#22808) - Point to an overload with an invalid
@finaldecoator when emittinginvalid-overloaderrors for invalid@finaldecorators (#22812) - Require both
*argsand**kwargswhen calling aParamSpeccallable (#22820) - Stricter validation of
TypedDictdefinitions (#22811) - Support recursive and stringified annotations in functional
typing.NamedTuples (#22718) - Support solving generics involving PEP 695 type aliases (#22678)
- Use a more lenient fallback type for failed
namedtuple()andNamedTuplecalls (#22765) - Use type context from augmented assignment dunder calls (#22540)
- Check that starred arguments in function calls are iterable (#22805)
Contributors
- @AlexWaygood
- @maifeeulasad
- @RasmusNygren
- @ntBre
- @Imbuzi
- @dhruvmanila
- @ibraheemdev
- @carljm
- @Hugo-Polloli
- @charliermarsh
- @MichaReiser
- @bxff
- @felixscherz
- @denyszhak
Install ty 0.0.14
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.14/ty-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ty/releases/download/0.0.14/ty-installer.ps1 | iex"