github astral-sh/ty 0.0.82

3 hours ago

Release Notes

Released on 2026-09-17.

Preview features

  • Ignore Python version from uv metadata (#28646)
  • Watch script dependencies in CLI watch mode (#28125)

CLI

  • Only skip uv workspace metadata for a single script (#28581)
  • Support dependency lints with --config-file (#28573)

LSP server

  • Filter string literal completions by typed text (#28612)
  • Find member references across files (#28669)
  • Find parameter references across files (#28670)
  • Preserve valid LSP settings when configuration resolution fails (#28653)
  • Reuse identifier matcher in LSP operations (#28663)
  • Watch script dependencies in the language server (#28522)

Diagnostic improvements

  • Add an autofix for unused awaitables (#28668)
  • Add annotations for unreachable code caused by boolean operands (#28521)
  • Add subdiagnostics to redundant-condition rules warning about reachability implications (#28263)
  • Clarify diagnostics for unimplemented abstract members (#28538)
  • Extend unreachable-code annotations to while, assert, and match statements (#28290)

Core type checking

  • Allow experimental intersection syntax in PEP 695 aliases (#28513)
  • Bound aliased intersection expansion during inference (#28546)
  • Check declared variance against final method bindings (#28155)
  • Fix recursive protocol checks for decorated methods (#28293)
  • Freshen constructor-owned Self with class type variables (#28592)
  • Improve disjointness of functools.partial types (#28660)
  • Include constraint-set assignability in more checks (#28642)
  • Infer conditional literals from peers in unspecialized contexts (#28633)
  • Infer generic elements from gradual tuples (#28637)
  • Introduce Recursive types and fully support recursive implicit type aliases (#28425)
  • Narrow type context during tuple inference (#28658)
  • Preserve field metadata after overload resolution (#28635)
  • Preserve gradual class assignability in constraint-set checks (#28638)
  • Preserve gradual tuple lengths during callable inference (#28588)
  • Preserve tuple shapes during concatenation (#28617)
  • Reject abstract class instantiation (#28167)
  • Respect frozen=False overrides on Pydantic subclasses (#28515)
  • Support type[A & B] (#27124)
  • Sync vendored typeshed stubs (#28597). Typeshed diff
  • Treat imports as bindings instead of declarations (#27325)

Performance

  • Compact reachable binding and declaration histories (#28349)
  • Compare bound-method receivers before signatures (#28384)
  • Deduplicate intermediate intersection branches (#28649)
  • Optimize fuel management in the constraint solver (#28568)
  • Skip inferring concrete methods during abstract-method discovery (#28613)
  • Skip legacy namespace parsing for __init__ files without pkg (#28665)

Memory usage improvements

  • Avoid storing constraint nodes twice (#28375)

Contributors

Install ty 0.0.82

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.82/ty-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ty/releases/download/0.0.82/ty-installer.ps1 | iex"

Download ty 0.0.82

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
ty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ty-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ty-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ty-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ty-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ty-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
ty-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ty-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ty-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ty-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ty-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ty-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ty-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ty-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

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/ty

You 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>

Don't miss a new ty release

NewReleases is sending notifications on new releases.