<#9973 chore(deps-dev): Bump ty from 0.0.29 to 0.0...
# meltano-repo-activity
g
#9973 chore(deps-dev): Bump ty from 0.0.29 to 0.0.30 in the development-dependencies group Pull request opened by dependabot[bot] Bumps the development-dependencies group with 1 update: ty. Updates
ty
from 0.0.29 to 0.0.30 Release notes Sourced from ty's releases.
0.0.30
Release Notes
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)
... (truncated) Changelog Sourced from ty's changelog.
0.0.30
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 en…
meltano/meltano