github astral-sh/ty 0.0.64

5 hours ago

Release Notes

Released on 2026-07-27.

Bug fixes

  • Fix identity narrowing for NewTypes (#26439)
  • Make reachability analysis idempotent (#27163)

LSP server

  • Fix ParamSpec declaration hover and type navigation (#27183)
  • Implement LSP textDocument/implementation request (#25410)
  • Introduce shared primitives for parsing backticks in docstrings (#26928)
  • Render NumPy docstrings as structured Markdown (#25925)

CLI

  • Add --exclude-scripts and --include-scripts (#27169)
  • Discover uv workspace roots (#25551)

Diagnostics

  • Add a lint rule for combined abstract and final decorators (#26932)
  • Change --add-ignore to add space after the colon for ty: ignore (#27120)
  • Fix missing-override-decorator suggestion before Python 3.12 (#27166)
  • Reuse full call diagnostics for implicit setter calls (#27115)

Configuration

  • Allow unresolved unused venv home paths (#27162)
  • Simplify script metadata query (#27121)

Core type checking

  • Decorate only overload implementation signatures (#27147)
  • Don't consider known-instance types, generic aliases or non-singleton special-form types to be single-valued (#27137)
  • Improve identity comparison inference for singleton types (#27126)
  • Improve tuple membership and rich comparison inference (#27164)
  • Model walrus bindings from comprehensions (#26466)
  • Narrow tagged unions using identity comparisons (#27130)
  • Preserve Self in __new__ calls (#27003)
  • Preserve receiver constraints when binding overloaded methods (#27038)
  • Support generic manual PEP 695 type aliases (#27083)
  • Treat bivariance as covariant (#24319)

Performance

  • Avoid cycles when resolving ModuleType globals (#27182)
  • Avoid expanding optional enum comparisons (#27105)
  • Avoid repeated inference when copying mixed TypedDict unions (#27108)
  • Improve importer performance (#27159)
  • Improve union and intersection builder performance (#27167)

Contributors

Install ty 0.0.64

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.64/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.64/ty-installer.ps1 | iex"

Download ty 0.0.64

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.