github astral-sh/ty 0.0.1-alpha.28

pre-release2 hours ago

Release Notes

Released on 2025-11-25.

Bug fixes

  • Fix panic for unclosed string literal in type annotation position (#21592)

LSP server

  • Improve go-to-definition and add go-to-definition for inlay hints
    (#21545,
    #21546,
    #21544,
    #21616,
    #21548)
  • Implement go-to-type for inlay type hints (#21533)
  • Add "remove unused ignore comment" code action (#21582)
  • Don't suggest completions that aren't subclasses of BaseException after raise (#21571)
  • Implement double click to insert inlay hint (#21600)
  • Fix edge cases for autocomplete suppressions in variable bindings (#21576)
  • Implement docstring rendering to markdown (#21550)
  • Support string annotations (#21577)
  • Improve import detection for completions and support from ...<CURSOR> completions (#21547)
  • Improve handling of hover/goto on imports (#21572)
  • Don't allow edits of some more invalid syntax types in inlay hints (#21621)
  • Resolve applicable overloads for hover on an overloaded function call (#21417)
  • Consistently add the DEFINITION modifier when computing semantic tokens (#21521)
  • Suppress autocomplete suggestions during variable binding (#21549)

CLI

  • Exit with code 2 if there's any IO error (#21508)

Other changes

  • Add hint about resolved Python version when a user attempts to import a member added on a newer version (#21615)
  • Attach subdiagnostics to unresolved-import errors for relative imports as well as absolute imports (#21554)
  • Avoid expression re-inference for diagnostics (#21267)
  • Check method definitions on subclasses for Liskov violations (#21436)
  • Eagerly evaluate types.UnionType elements as type expressions (#21531)
  • Extend Liskov checks to also cover classmethods and staticmethods (#21598)
  • Fix rendering of unused suppression diagnostic (#21580)
  • Implement typing.override (#21627)
  • Improve concise diagnostics for invalid exceptions when a user catches a tuple of objects (#21578)
  • Improve debug messages when imports fail (#21555)
  • Improve diagnostics when NotImplemented is called (#21523)
  • Improve diagnostics when a submodule is not available as an attribute on a module-literal type (#21561)
  • Improve several "Did you mean?" suggestions (#21597)
  • Narrow type context during literal promotion in generic class constructors (#21574)
  • Retain the function-like-ness of Callable types when binding self (#21614)
  • Substitute for typing.Self when checking protocol members (#21569)
  • Switch the error code from unresolved-attribute to possibly-missing-attribute for submodules that may not be available (#21618)
  • Implement TypedDict structural assignment (#21467)
  • Make implicit submodule imports re-exported (#21573)
  • Support PEP 613 typing.TypeAlias type aliases (#21394)
  • Support generic aliases in type[...], like type[C[int]] (#21552)
  • Tighten up handling of subscripts in type expressions (#21503)

Contributors

Install ty 0.0.1-alpha.28

Install prebuilt binaries via shell script

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

Download ty 0.0.1-alpha.28

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.