Skip to content

Update dependency ty to v0.0.30#475

Merged
Tenzer merged 1 commit intomainfrom
renovate/ty-0.x
Apr 14, 2026
Merged

Update dependency ty to v0.0.30#475
Tenzer merged 1 commit intomainfrom
renovate/ty-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Apr 14, 2026

This PR contains the following updates:

Package Change Age Confidence
ty (changelog) ==0.0.29==0.0.30 age confidence

Release Notes

astral-sh/ty (ty)

v0.0.30

Compare Source

Released on 2026-04-13.

As of v0.0.30, ty no longer unions Unknown into most inferred types of unannotated attributes. For example:

class Foo:
    def __init__(self) -> None:
        self.value = 1

reveal_type(Foo().value)  # revealed: int
Foo().value = "x"  # error: [invalid-assignment]

In previous versions, reveal_type(Foo().value) would have included Unknown, so the assignment to "x" would not have been flagged. Since this can affect inferred attribute types throughout a codebase, upgrading may lead to both new and resolved diagnostics. Initializers of None and other non-literal singleton types remain exceptions. See #​24531 for details.

Bug fixes
  • Disallow bare ParamSpec in Concatenate prefixes (#​24474)
  • Ensure '/' parameter appears before '*' when rendering Callable types (#​24497)
  • Ensure nested conditional blocks inherit TYPE_CHECKING state from outer blocks (#​24470)
  • Fix bad diagnostic range for incorrect implicit __init_subclass__ calls (#​24541)
  • Fix incorrect assignability of type[T] to a metaclass (#​24515)
  • Fix stack overflows from recursive types (#​24413)
  • Server: fix signature help for ParamSpec-specialized class calls (#​24399)
  • Use TypedDict field types as type context to inform the inference of arguments passed to TypedDict constructors (#​24422)
LSP server
  • Adjust semantic tokens implementation to ensure that type alias values have "type form" syntax highlighting in IDEs (#​24478)
  • Completions: rank symbols from typing and collections higher than third party re-exports (#​23643)
  • Ignore unsupported editor-selected Python versions (#​24498)
  • Improve TypedDict constructor support in the LSP by synthesizing __init__ (#​24476, #​24522, #​24535)
  • Return all attribute definitions for goto definition, rather than just the last definition in the given scope (#​24332)
  • Show info subdiagnostics in LSP diagnostic messages (#​24328)
  • Use the context of the kind of object a parameter is expected to receive to inform syntax highlighting of arguments passed to call expressions (#​23949)
Diagnostics
  • Hide "Rule xyz is enabled"-style hints unless verbose mode was specified (#​24469)
  • Improve consistency of pedantic lints complaining about badly named types (#​24575)
  • Point to the first reachable declaration, rather than the first declaration, in declaration-based diagnostics (#​24564)
Core type checking
  • Add support for functional Enum(...) syntax (#​23602, #​24570, #​24571)
  • Allow Final variable assignments in __post_init__ (#​24529)
  • Allow partially stringified type[...] annotations, e.g. type["MyClass"] (#​24518)
  • Emit a diagnostic when attempting to inherit from a class with __init_subclass__ = None (#​24543)
  • Fix TypeGuard and TypeIs narrowing for unbound method calls (#​24612)
  • Fix assignability of intersections with bounded TypeVars (#​24502)
  • Fix excess subscript argument inference for non-generic types so that list[int][0] leads to 1 diagnostic, rather than 2 (#​24354)
  • Inherit dataclass_transform metadata from metaclass bases (#​24615)
  • Lazily evaluate declaration reachability in field and enum filters (#​24451)
  • Normalize explicit None accessors in manual property construction (#​24492)
  • Reject deleting Final attributes (#​24508)
  • Respect non-required keys in TypedDict unpacking (#​24446)
  • Respect property deleters in attribute deletion checks (#​24500)
  • Stop special-casing str constructor (#​24514)
  • Stop unioning Unknown into types of un-annotated attributes (#​24531)
  • Support super() in metaclass methods (#​24483)
  • Tighten up a few edge cases in Concatenate type-expression parsing (#​24172)
  • Use basic blocks for determining if a node is in an if TYPE_CHECKING block (#​24394)
Contributors

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@Tenzer Tenzer merged commit 2b9c973 into main Apr 14, 2026
17 checks passed
@Tenzer Tenzer deleted the renovate/ty-0.x branch April 14, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant