github astral-sh/ty 0.0.1-alpha.34

pre-releaseone day ago

Release Notes

Released on 2025-12-12.

Bug fixes

  • Improve solving of a type variable with an upper bound when that type variable appears as one element in a union type (#21893)
  • Accurately emulate runtime semantics for kw_only=True dataclasses such that only fields declared in the immediate class body are understood as being keyword-only (#21820)
  • Avoid inferring types for invalid binary expressions in string annotations (#21911)
  • Fix logic used to determine whether two @final instance types are disjoint (#21769)
  • Fix logic used to determine whether two @final type[] types are disjoint (#21770)
  • Fix false-positive diagnostics that could arise when analysing cyclic types (#21910), (#21909)

LSP server

  • Fix outdated version in publish diagnostics after didChange (#21943)
  • Fix workspace symbols to return members too (#21926)
  • Adjust scope completions to use all reachable symbols (#21872)
  • Classify cls as class parameter for semantic highlighting (#21944)
  • Don't show on-hover tooltips for expressions with no inferred type (#21924)
  • Ignore __all__ for document and workspace symbol requests (#21928)
  • Recognize __all__ += submodule.__all__ in auto-import (#21918)
  • Stabilize rename (#21940)

Other changes

  • Support checking files without extensions (#21867)
  • Improve performance and semantics by deferring inference of all parameter and return-type annotations (#21906)
  • Improve resolution of absolute imports in tests (#21817)
  • Infer the implicit type of the cls parameter in @classmethod method bodies (#21685)
  • Support the implicit type of the cls parameter in signatures of @classmethod methods (#21771)
  • Uniformly use "not supported" in diagnostics (#21916)
  • Implement the equivalence relation for TypedDicts (#21784)
  • Ensure that the type of the class object C is always considered assignable to type[C[Unknown]] if C is a generic class (#21883)
  • Improve bad specialization results and error messages (#21840)
  • Support NewTypes of float and complex (#21886)

Contributors

Install ty 0.0.1-alpha.34

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ty 0.0.1-alpha.34

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

Don't miss a new ty release

NewReleases is sending notifications on new releases.