github astral-sh/ty 0.0.25

7 hours ago

Release Notes

Released on 2026-03-24.

Breaking changes

  • Support type:ignore[ty:code] suppressions (#24096)

Bug fixes

  • Avoid eager TypedDict diagnostics in TypedDict | dict unions (#24151)
  • Fix Salsa panic propagation (#24141)
  • Fix folding ranges of comments separated by statements (#24132)
  • Fix loop-header reachability cycles in conditional unpacking (#24006)
  • Fix subtyping of intersections containing NewTypes of unions vs. unions (#24087)
  • Fix untracked reads in Salsa queries that can lead to backdating panics (#24051)
  • Prevent tainted loop bindings in cycle normalization (#24143)
  • Simplify an intersection of N & ~T to Never if B & ~T would simplify to Never, where B is the concrete base type of a NewType N (#24086)

LSP

  • Preserve blank lines between comments and imports in add-import action (#24066)

Type checking

  • Add diagnostic hint for invalid assignments involving invariant generics (#24032)
  • Add precisely-typed overloads for TypedDict update (#24101)
  • Disallow read-only fields in TypedDict updates (#24128)
  • Expand bounded typevars to their upper bounds when evaluating truthiness comparisons between intersections and literal types (#24082)
  • Emit reveal_type diagnostics in unreachable code (#24070)
  • Improve isinstance() reachability analysis (#24077)
  • Improve keyword argument narrowing for nested dictionaries (#24010)
  • Infer yield expression types (#23796)
  • Reduce diagnostic range for invalid-metaclass (#24145)
  • Support narrowing for extended walrus targets (#24129)
  • Unions/intersections of gradual types should be assignable to Never (#24056)

Contributors

Install ty 0.0.25

Install prebuilt binaries via shell script

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

Download ty 0.0.25

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