Skip to content

Commit eda1e71

Browse files
authored
Bump version to 0.0.22 (#3031)
1 parent b4abf2b commit eda1e71

8 files changed

Lines changed: 189 additions & 86 deletions

File tree

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,56 @@
11
# Changelog
22

3+
## 0.0.22
4+
5+
Released on 2026-03-12.
6+
7+
### Bug fixes
8+
9+
- Fix issue where variables could be inferred as `Divergent` if they were assigned using tuple unpacking in loops ([#23812](https://github.com/astral-sh/ruff/pull/23812))
10+
- Allow `error = "all"` in a root `pyproject.toml` file to be overridden using `tool.ty.overrides` in a subdirectory's `pyproject.toml` file ([#23712](https://github.com/astral-sh/ruff/pull/23712))
11+
- Only unsoundly upcast `type[]` types to their constructor `Callable` type during assignability checks, not during redundancy/subtyping checks ([#23834](https://github.com/astral-sh/ruff/pull/23834), [#23901](https://github.com/astral-sh/ruff/pull/23901))
12+
- Fix stack overflow that could occur with certain recursive protocols ([#23870](https://github.com/astral-sh/ruff/pull/23870))
13+
14+
### LSP server
15+
16+
- Improve syntax highlighting by fixing [semantic token](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens) classification for generic class members in annotations ([#23811](https://github.com/astral-sh/ruff/pull/23811))
17+
18+
### CLI
19+
20+
- Add `ty explain <RULE>` CLI command ([#23766](https://github.com/astral-sh/ruff/pull/23766))
21+
22+
### Core type checking
23+
24+
- Add validation for type parameters with defaults after `TypeVarTuple` parameters ([#23807](https://github.com/astral-sh/ruff/pull/23807))
25+
- Allow subtypes of `LiteralString` to be narrowed using equality checks ([#23794](https://github.com/astral-sh/ruff/pull/23794))
26+
- Detect invalid partially stringified PEP-604 unions ([#23285](https://github.com/astral-sh/ruff/pull/23285))
27+
- Disambiguate duplicate-looking overloaded callables in union display ([#23907](https://github.com/astral-sh/ruff/pull/23907))
28+
- Don't promote module-literal types to `types.ModuleType` ([#23786](https://github.com/astral-sh/ruff/pull/23786))
29+
- Improve type context support for `__setitem__` dunder calls ([#23800](https://github.com/astral-sh/ruff/pull/23800))
30+
- Infer `t | {"foo": int}` as `TD` if `t` is an instance of a TypedDict `td` with a `foo: int` key ([#23806](https://github.com/astral-sh/ruff/pull/23806))
31+
- Narrow `T` to `T & str` rather than `str` if `T` is a constrained TypeVar with `str` as one of its constraints ([#23850](https://github.com/astral-sh/ruff/pull/23850))
32+
- Promote `None` to `None | Unknown` in invariant contexts ([#23790](https://github.com/astral-sh/ruff/pull/23790))
33+
- Reject `type[Callable]` in type annotations ([#23753](https://github.com/astral-sh/ruff/pull/23753))
34+
- Support enum member access through enum instances and members ([#23772](https://github.com/astral-sh/ruff/pull/23772))
35+
- Eagerly narrow the type associated with keys of heterogeneous dict literals even when a dict literal appears as a subexpression inside a list or tuple literals ([#23569](https://github.com/astral-sh/ruff/pull/23569))
36+
- Ensure that `T & ~S` is always inferred as a subtype of `U` during generic inference if `T` is understood as a subtype of `U` ([#23728](https://github.com/astral-sh/ruff/pull/23728))
37+
- Optimize and improve cycle recovery by preventing "tainted" unions in cycle normalization ([#23563](https://github.com/astral-sh/ruff/pull/23563))
38+
39+
### Installer
40+
41+
- Prefer downloading releases from Astral's mirror over GitHub ([#2980](https://github.com/astral-sh/ty/pull/2980))
42+
43+
### Contributors
44+
45+
- [@charliermarsh](https://github.com/charliermarsh)
46+
- [@MichaReiser](https://github.com/MichaReiser)
47+
- [@mtshiba](https://github.com/mtshiba)
48+
- [@AlexWaygood](https://github.com/AlexWaygood)
49+
- [@ibraheemdev](https://github.com/ibraheemdev)
50+
- [@ntBre](https://github.com/ntBre)
51+
- [@oconnor663](https://github.com/oconnor663)
52+
- [@zsol](https://github.com/zsol)
53+
354
## 0.0.21
455

556
Released on 2026-03-05.

dist-workspace.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[workspace]
22
members = ["cargo:./ruff"]
33
packages = ["ty"]
4-
version = "0.0.21"
4+
version = "0.0.22"
55

66
# Config for 'dist'
77
[dist]

docs/installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ ty includes a standalone installer.
7171
Request a specific version by including it in the URL:
7272

7373
```console
74-
$ curl -LsSf https://astral.sh/ty/0.0.21/install.sh | sh
74+
$ curl -LsSf https://astral.sh/ty/0.0.22/install.sh | sh
7575
```
7676

7777
=== "Windows"
@@ -87,7 +87,7 @@ ty includes a standalone installer.
8787
Request a specific version by including it in the URL:
8888

8989
```pwsh-session
90-
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/ty/0.0.21/install.ps1 | iex"
90+
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/ty/0.0.22/install.ps1 | iex"
9191
```
9292

9393
!!! tip
@@ -163,7 +163,7 @@ COPY --from=ghcr.io/astral-sh/ty:latest /ty /bin/
163163
The following tags are available:
164164

165165
- `ghcr.io/astral-sh/ty:latest`
166-
- `ghcr.io/astral-sh/ty:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/ty:0.0.21`
166+
- `ghcr.io/astral-sh/ty:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/ty:0.0.22`
167167
- `ghcr.io/astral-sh/ty:{major}.{minor}`, e.g., `ghcr.io/astral-sh/ty:0.0` (the latest patch
168168
version)
169169

docs/reference/cli.md

Lines changed: 53 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)