github astral-sh/ty 0.0.35

9 hours ago

Release Notes

Released on 2026-05-10.

Bug fixes

  • Allow ParamSpec specialization through unioned generic classes (#24826)
  • Fix cross-file find-references for keyword arguments (#25043)
  • Fix comparison between negative and positive literal integers (#25023)
  • Reject dataclass decorator parameters based on supported Python version (#25029)

LSP server

  • Adjust start of block folding range to preserve visible header for character-precise LSP clients. (#24917)
  • Emit folding ranges from the language server for multi-line block headers. (#24978)
  • Skip global search for references if identifier is not externally visible (#25033)
  • Speed-up find-references by using multithreading for cross-file searches (#25042)

CLI

  • Include severity in JUnit diagnostics (#25080)

Core type checking

  • Check non-generic overload implementations (#24936)
  • Expand support for narrowing within walruses (#24968)
  • Filter overloads based on return type for ParamSpec mapping (#24769)
  • Improve support for recursive types (#24773)
  • Include TypedDict type context when inferring mixed constructors (#25039)
  • Include TypedDict type context when inferring string keys (#25037)
  • Preserve NewType and TypeAliasType in implicit aliases (#25072)
  • Provide type cntext for generator expression yields (#25069)
  • Provide type context for boolean operands (#25070)
  • Selectively promote a union of homogeneous fixed-length tuples to a single variadic tuple (#24705)
  • Support narrowing on __class__ checks (#24997)
  • Use more precise exception types when catching a union (#25076)

Diagnostics

  • Include error context for overload consistency diagnostics (#24950)

Performance

  • Cache results in desperate module resolution (#24977)
  • Lazily initialize builder when transforming a union type (#24929)
  • Project reachability constraints before narrowing (#24982)
  • Skip parameter accumulation for object variadics (#24976)

Contributors

Install ty 0.0.35

Install prebuilt binaries via shell script

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

Download ty 0.0.35

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.