Skip to content

⬆ Bump ty from 0.0.29 to 0.0.30#366

Merged
svlandeg merged 1 commit intomainfrom
dependabot/uv/ty-0.0.30
Apr 15, 2026
Merged

⬆ Bump ty from 0.0.29 to 0.0.30#366
svlandeg merged 1 commit intomainfrom
dependabot/uv/ty-0.0.30

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Apr 15, 2026

Bumps 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 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)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ty](https://github.com/astral-sh/ty) from 0.0.29 to 0.0.30.
- [Release notes](https://github.com/astral-sh/ty/releases)
- [Changelog](https://github.com/astral-sh/ty/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ty@0.0.29...0.0.30)

---
updated-dependencies:
- dependency-name: ty
  dependency-version: 0.0.30
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Apr 15, 2026
@svlandeg svlandeg merged commit 9285003 into main Apr 15, 2026
31 checks passed
@svlandeg svlandeg deleted the dependabot/uv/ty-0.0.30 branch April 15, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file internal python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants