github astral-sh/ty 0.0.17

5 hours ago

Release Notes

Released on 2026-02-13.

Bug fixes

  • Avoid Literal promotion for constrained TypeVars with Literal bounds (#23209)
  • Fix false positives in TypeVar shadowing checks (#23222)

Core type checking

  • Support generic protocols (#21902)
  • Perform control-flow analysis in loops (#22794)
  • Support typing.Self in attribute annotations (#23108)
  • Support type narrowing in situations with calls to NoReturn functions (#23109)
  • Support type narrowing and reachability analysis based on os.name checks (#23230)
  • Detect overrides of Final class variables in subclasses (#23180)
  • Fix bound method access on None (#23246)
  • Fix method calls on subclasses of Any (#23248)
  • Disallow type variables within PEP-695 type variable bounds and constraints (#22982)
  • Emit error for attribute access on union where some elements lack the attribute (#23042)
  • Emit error for invalid typevar defaults (#23194)
  • Improve display of ParamSpecs in some situations (#23211)

LSP server

  • Add hover and go-to-declaration support for subscript literals (#22837)
  • Assign lower completion ranking to deprecated names in auto import (#23188)
  • Improve spans of references to submodules imported in an __init__.py (#21795)
  • Include conditional symbols (like datetime.UTC) in auto-import in more cases (#23249)
  • Support auto-import for symbols in inlay hints (#22111)
  • Include overload declarations in find-references (#23215)

Performance

  • Avoid UnionBuilder overhead when creating a new union from the filtered elements of an existing union (#22352)

Other changes

  • Allow discovering dependencies in system Python environments (#22994)
  • Apply workspace settings to virtual files (#23228)
  • Add support for --output-format=junit (#22125)
  • Use a smaller diagnostic range for inconsistent-mro diagnostics (#23213)

Contributors

Install ty 0.0.17

Install prebuilt binaries via shell script

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

Download ty 0.0.17

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.