Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
9d18ee9
Hard code workflow name and `cancel-in-progress` only for PRs (#23431)
dylwil3 Feb 19, 2026
333ad91
[`pylint`] Implement `swap-with-temporary-variable` (`PLR1712`) (#22205)
Bnyro Feb 19, 2026
d537f03
Update the Python module (notably `find_ruff_bin`) for parity with uv…
zanieb Feb 20, 2026
735b511
[ty] Fix incorrect types inferred when unpacking mixed tuples (#23437)
charliermarsh Feb 20, 2026
3ffd763
[ty] Flag illegal special form types in PEP 613 type aliases (#23444)
sharkdp Feb 20, 2026
72a878c
[`pydocstyle`] Fix double comma in description of `D404` (#23440)
jaap3 Feb 20, 2026
beda157
[`ruff`] Add `unnecessary-assign-before-yield` (`RUF070`) (#23300)
anishgirianish Feb 20, 2026
1d94f26
[`pyupgrade`] Fix handling of `\N` in raw strings (`UP032`) (#22149)
denyszhak Feb 20, 2026
b9e29dd
[`flake8-bugbear`] Allow `B901` in pytest hook wrappers (#21931)
assadyousuf Feb 20, 2026
f80f6b7
[ty] Fix bug where diagnostics could disappear after opening an exter…
BurntSushi Feb 20, 2026
c91d29f
[ty] Reachability analysis for generic function calls (#23419)
sharkdp Feb 20, 2026
9719e17
[ty] Diagnostic when combining `Final` and `ClassVar` (#23365)
sharkdp Feb 20, 2026
2d1bfe4
[ty] Bump typing conformance SHA (#23451)
sharkdp Feb 20, 2026
ba95d94
[ty] Infer `LiteralString` for `f"{literal_str_a} {literal_str_b}"` (…
sharkdp Feb 20, 2026
66defe9
[`flake8-bugbear`] Tag certain `B007` diagnostics as unnecessary (#23…
denyszhak Feb 20, 2026
630aa3a
Update dependency ruff to v0.15.2 (#23485)
renovate[bot] Feb 23, 2026
e7a7ef3
Update cargo-bins/cargo-binstall action to v1.17.5 (#23482)
renovate[bot] Feb 23, 2026
42a48c2
Update prek dependencies (#23486)
renovate[bot] Feb 23, 2026
0538e45
Update dependency astral-sh/uv to v0.10.4 (#23484)
renovate[bot] Feb 23, 2026
d4b28c5
Update Rust crate arc-swap to v1.8.2 (#23487)
renovate[bot] Feb 23, 2026
43b39a8
Update Rust crate ctrlc to v3.5.2 (#23489)
renovate[bot] Feb 23, 2026
e88e930
Update Rust crate libc to v0.2.182 (#23492)
renovate[bot] Feb 23, 2026
65faa14
Update Rust crate syn to v2.0.116 (#23493)
renovate[bot] Feb 23, 2026
074384e
Update Rust crate bitflags to v2.11.0 (#23497)
renovate[bot] Feb 23, 2026
61d2629
Update CodSpeedHQ/action action to v4.10.6 (#23483)
renovate[bot] Feb 23, 2026
e306d01
Update Rust crate jiff to v0.2.20 (#23491)
renovate[bot] Feb 23, 2026
9cb61dd
Update Rust crate clap to v4.5.58 (#23488)
renovate[bot] Feb 23, 2026
8f2bfc3
Update Rust crate indicatif to v0.18.4 (#23490)
renovate[bot] Feb 23, 2026
250de6d
Update Rust crate quickcheck to v1.1.0 (#23498)
renovate[bot] Feb 23, 2026
e49d5ac
Update Rust crate uuid to v1.21.0 (#23501)
renovate[bot] Feb 23, 2026
0cb0d41
Update taiki-e/install-action action to v2.67.30 (#23494)
renovate[bot] Feb 23, 2026
1da1429
Update actions/attest-build-provenance action to v3.2.0 (#23495)
renovate[bot] Feb 23, 2026
32cced4
Fix libc version conflict (#23508)
mtshiba Feb 23, 2026
26a0258
Update Rust crate quickcheck_macros to v1.2.0 (#23499)
renovate[bot] Feb 23, 2026
a005042
Update docker/build-push-action action to v6.19.2 (#23496)
renovate[bot] Feb 23, 2026
ba330db
Update Rust crate toml to v1 (#23505)
renovate[bot] Feb 23, 2026
b4cf6e0
Update Rust crate tryfn to v1 (#23506)
renovate[bot] Feb 23, 2026
4001d2a
Update Rust crate tempfile to v3.25.0 (#23500)
renovate[bot] Feb 23, 2026
a2231e7
Update Rust crate argfile to v1 (#23503)
renovate[bot] Feb 23, 2026
cadb3c4
Update Rust crate anstream to v1 (#23502)
renovate[bot] Feb 23, 2026
4d468eb
[ty] Bump typing conformance SHA (#23511)
sharkdp Feb 23, 2026
fc1081a
[ty] Detect terminal `await` calls to `async` functions (#23479)
charliermarsh Feb 23, 2026
7778f65
[ty] Fix upcasting `type[T]` types to `Callable` types (#23472)
AlexWaygood Feb 23, 2026
e5ca9dd
Update isort action comments heading (#23515)
ntBre Feb 23, 2026
f8d1dd2
Render sub-diagnostics in the GitHub output format (#23455)
ntBre Feb 23, 2026
e462c03
Fix F811 false positive for overloaded functions from typing-modules …
kar-ganap Feb 23, 2026
fe09504
`[flake8-bandit]` Don't flag `BaseLoader`/`CBaseLoader` as unsafe in …
o1x3 Feb 23, 2026
8591a38
Fix missing settings links for several linters (#23519)
ntBre Feb 23, 2026
1e33c4e
[ty]: special-case comparisons of `Generator` prior to Python 3.13 (#…
oconnor663 Feb 23, 2026
32a59c2
Include configured extensions in file discovery (#23400)
amyreese Feb 23, 2026
7e041f2
[ty] expanded/corrected comments for the Python <3.13 `Generator` spe…
oconnor663 Feb 23, 2026
9063168
[ty] fix protocol generic inference with literal integers (#23534)
carljm Feb 24, 2026
dec65ad
[ty] Fixup some tests added in #23472 (#23529)
AlexWaygood Feb 24, 2026
fe0a1d1
[ty] Isolate loop header reachability evaluation in tracked function …
mtshiba Feb 24, 2026
8dab7e4
[ty] Improve diagnostics for subscriptions of non-generic types (#23516)
AlexWaygood Feb 24, 2026
5a86c87
[ty] Refactor SpecialFormType to use nested enums for type qualifiers…
AlexWaygood Feb 24, 2026
058da17
[ty] Fix inlay hints for starred unpacking targets (#23454)
charliermarsh Feb 24, 2026
f267aed
[ty] Fix panic for annotation pointing at leading whitespace (#23458)
charliermarsh Feb 24, 2026
06f98ee
[ty] Narrow mapping patterns in `match` like `isinstance(Mapping)` (#…
Hugo-Polloli Feb 24, 2026
ac33b19
[ty] Avoid dictionary key narrowing for multi-target assignments (#23…
ibraheemdev Feb 24, 2026
5849e54
[`pyupgrade`] Fix false positive for `TypeVar` default before 3.12 (`…
ntBre Feb 24, 2026
784c518
[ty] add reviewbot config (#23533)
carljm Feb 24, 2026
8710af0
[ty] lower `MAX_RECURSIVE_UNION_LITERALS` (#23521)
mtshiba Feb 24, 2026
b2d856f
[`flake8-bandit`] Allow suspicious imports in `TYPE_CHECKING` blocks …
gcomneno Feb 24, 2026
df313c2
Avoid infinite loop between `I002` and `PYI025` (#23352)
kar-ganap Feb 24, 2026
46f71fb
[`flake8-import-conventions`] Add missing conventions from upstream (…
danparizher Feb 24, 2026
85a6a44
[ty] fix equality and contains narrowing with PEP 695 type aliases (#…
carljm Feb 25, 2026
1e88391
[ty] Add micro benchmarks to review-bot pool (#23549)
sharkdp Feb 25, 2026
ab26ad1
[ty] add benchmark for large union type narrowing (#23546)
mtshiba Feb 25, 2026
cb4b794
[ty] cache the intersection of two types as a tracked function (#23547)
mtshiba Feb 25, 2026
a4e8c92
[ty] Add tests for pydantic validators (#23556)
sharkdp Feb 25, 2026
ab23217
[ty] Fix panic where we would incorrectly consider overloads in anoth…
AlexWaygood Feb 25, 2026
a83276d
[ty] add benchmark for large `isinstance` narrowing chain (#23559)
mtshiba Feb 25, 2026
57a1eb2
[`ruff`] Support file level noqa in `RUF102` (#23535)
amyreese Feb 25, 2026
85dac63
[`pydocstyle`] Add rule `D420` to enforce docstring section ordering …
o1x3 Feb 25, 2026
093a88f
[ty] Fix infinite hang on mutually recursive TypeAliasType definition…
knutwannheden Feb 25, 2026
f94b1c1
Cache the union of two types as a tracked function (#23565)
AlexWaygood Feb 25, 2026
9a4be59
Temporarily remove AlexWaygood from reviewbot config (#23567)
AlexWaygood Feb 25, 2026
728609a
[`ruff`] Suppress diagnostic for invalid f-strings before Python 3.12…
stakeswky Feb 25, 2026
09de8ef
[ty] Reimplement equivalence as mutual redundancy (#23428)
AlexWaygood Feb 25, 2026
85bb026
Try out assigned reviewers for ruff (#23571)
amyreese Feb 25, 2026
db48804
[`ruff`] Ignore "unknown" rule codes in `RUF100` when `RUF102` is ena…
amyreese Feb 25, 2026
c2eb311
Drop explicit support for `.qmd` file extension (#23572)
amyreese Feb 25, 2026
6ff4da4
[ty] Remove many `PartialOrd`/`Ord` implementations (#23573)
AlexWaygood Feb 26, 2026
14bd2b2
[ty] support enum `_value_` annotation (#22228)
silamon Feb 26, 2026
0e19fc9
[ty] defer calculating conjunctions in narrowing constraints (#23552)
mtshiba Feb 26, 2026
e5f2f36
Bump 0.15.3 (#23585)
ntBre Feb 26, 2026
a62ba8c
[ty] Fix overloaded callable assignability for unary Callable targets…
Hugo-Polloli Feb 26, 2026
5bc49a9
Increase the ruleset size to 16 bits (#23586)
Dev-iL Feb 26, 2026
fbb9fa7
docs: fix incorrect import-heading example (#23568)
GeObts Feb 26, 2026
60facfa
one word typo fix in a `while_loop.md` test case (#23589)
oconnor663 Feb 26, 2026
625b4f5
[ruff] docs: Clarify first-party import detection in Ruff (#23591)
thejcannon Feb 26, 2026
81d655f
[`pyflakes`] suppress false positive in `F821` for names used before …
stakeswky Feb 26, 2026
fd09d37
Fix panic on access to definitions after analyzing definitions (#23588)
ntBre Feb 26, 2026
f14edd8
Bump 0.15.4 (#23595)
ntBre Feb 26, 2026
9982ad3
Document extension mapping for markdown code formatting (#23574)
amyreese Feb 26, 2026
13b983c
[ty] disallow negative narrowing on SubclassOf types (#23598)
carljm Feb 27, 2026
90fa4fd
[ty] Add snapshot tests for advanced `invalid-assignment` scenarios (…
sharkdp Feb 27, 2026
d0a231c
[ty] Dataclass transform: neither frozen nor non-frozen (#23366)
sharkdp Feb 27, 2026
bf60289
[ty] Refactor to support building constraint sets differently (#23600)
dcreager Feb 27, 2026
b90d412
[ty] Bump version of `lsp-types`
BurntSushi Feb 25, 2026
e2d879a
[ty] Move some module name helper routines to methods on `ModuleName`
BurntSushi Feb 25, 2026
781e105
[ty] Add some helper methods on `ClassLiteral`
BurntSushi Feb 25, 2026
4a75d30
[ty] Implement internal routines for providing the LSP "type hierarch…
BurntSushi Feb 25, 2026
43ca082
[ty] Add routine for mapping from system path to vendored path
BurntSushi Feb 25, 2026
fa951ea
[ty] Wire up the type hierarchy implementation with the LSP
BurntSushi Feb 25, 2026
e45f226
[ty] Move the type hierarchy request handlers to individual modules
BurntSushi Feb 27, 2026
619a5ac
[ty] Detect invalid uses of `@final` on non-methods (#23604)
AlexWaygood Feb 27, 2026
e30a40e
Update typing conformance suite commit (#23606)
AlexWaygood Feb 27, 2026
6ad151a
[ty] Recurse into tuples and nested tuples when applying special-case…
AlexWaygood Feb 27, 2026
df7e826
[`fastapi`] Handle callable class dependencies with `__call__` method…
stakeswky Feb 27, 2026
8d956e0
[`pyflakes`] Fix false positive for names shadowing re-exports (`F811…
kar-ganap Feb 27, 2026
76906cc
Bump cargo dist to 0.31 (#23614)
zsol Feb 27, 2026
b02cdac
[`ruff`] Add fix for `none-not-at-end-of-union` (`RUF036`) (#22829)
anishgirianish Feb 27, 2026
9afd1eb
[ty] Fix bug where ty would think that a `Callable` with a variadic p…
AlexWaygood Feb 27, 2026
dcab6f2
[ty] Take myself out of the reviewer pool for the next few days (#23618)
sharkdp Feb 27, 2026
2104d0a
[ty] hash-cons `UseDefMap` fields (#23283)
mtshiba Feb 27, 2026
03af8b2
[ty] Reject ellipsis literals in odd places in type/annotation expres…
AlexWaygood Feb 27, 2026
555792d
[ty] Reject functions with PEP-695 type parameters that shadow type p…
AlexWaygood Feb 27, 2026
cb2035a
fix binops with NewType of float and Unknown (#23620)
carljm Feb 27, 2026
bc12fbb
Update default Python version examples (#23605)
ntBre Feb 27, 2026
f1a9a70
[ty] Reject generic metaclasses parameterized by type variables (#23628)
AlexWaygood Feb 28, 2026
aa13ddf
[ty] Ban nested `Required`/`NotRequired`, and ban them both outside o…
AlexWaygood Feb 28, 2026
7015ea7
[ty] Validate type variable defaults don't reference later type param…
AlexWaygood Feb 28, 2026
63e0d0d
[ty] Detect inconsistent generic base class specializations (#23615)
AlexWaygood Feb 28, 2026
329b713
[ty] Fix inference of `t.__mro__` if `t` is an instance of `type[Any]…
AlexWaygood Feb 28, 2026
fb70de6
[ty] Sync vendored typeshed stubs (#23642)
github-actions[bot] Mar 1, 2026
033a4fb
[ty] Add more ParamSpec validation for `P.args` and `P.kwargs` (#23640)
AlexWaygood Mar 1, 2026
808b521
Avoid inserting redundant `None` elements in UP045 (#23459)
charliermarsh Mar 1, 2026
d3b9e60
[ty] Move comparison logic out of `builder.rs` (#23646)
charliermarsh Mar 1, 2026
4bd2cdc
[ty] Limit recursion depth when displaying self-referential function …
charliermarsh Mar 1, 2026
63b7ee8
[ty] Move binary expression logic out of `builder.rs` (#23649)
charliermarsh Mar 1, 2026
c8f8f5e
Update dependency ruff to v0.15.4 (#23660)
renovate[bot] Mar 2, 2026
75301bb
Update astral-sh/setup-uv action to v7.3.1 (#23657)
renovate[bot] Mar 2, 2026
5261968
Update dependency astral-sh/uv to v0.10.7 (#23658)
renovate[bot] Mar 2, 2026
ee27746
Update Rust crate jiff to v0.2.21 (#23665)
renovate[bot] Mar 2, 2026
2296c36
Publish releases to Astral mirror (#23616)
zsol Mar 2, 2026
9566f3b
Update Rust crate syn to v2.0.117 (#23667)
renovate[bot] Mar 2, 2026
3add026
Update taiki-e/install-action action to v2.68.8 (#23672)
renovate[bot] Mar 2, 2026
1fc3aff
Update dependency mkdocs-material to v9.7.2 (#23659)
renovate[bot] Mar 2, 2026
8f0607a
Update extractions/setup-just action to v3.1.0 (#23669)
renovate[bot] Mar 2, 2026
f33eb3f
Update Rust crate strum to 0.28.0 (#23670)
renovate[bot] Mar 2, 2026
843c710
Update Rust crate pyproject-toml to v0.13.7 (#23666)
renovate[bot] Mar 2, 2026
de67f50
Update Rust crate anyhow to v1.0.102 (#23662)
renovate[bot] Mar 2, 2026
db07bc9
Update Rust crate unicode-ident to v1.0.24 (#23668)
renovate[bot] Mar 2, 2026
38d082a
Update Rust crate clap to v4.5.60 (#23663)
renovate[bot] Mar 2, 2026
50035e8
fix renovate `actions/*-artifact` updates (#23675)
AlexWaygood Mar 2, 2026
04ed24b
Update Rust crate clearscreen to v4.0.5 (#23664)
renovate[bot] Mar 2, 2026
af3c21b
Update actions/attest-build-provenance to 4.1.0 (#23654)
renovate[bot] Mar 2, 2026
080644e
Update Artifact GitHub Actions dependencies (#23676)
renovate[bot] Mar 2, 2026
c20cb8f
[ty] Move subscript logic out of `builder.rs` (#23653)
charliermarsh Mar 2, 2026
f18d2ca
Improvements to CLAUDE.md (#23633)
AlexWaygood Mar 2, 2026
7f434ca
[ty] make `StaticClassLiteral::explicit_bases` converge better in cyc…
oconnor663 Mar 2, 2026
7cd738a
Update prek dependencies (#23661)
renovate[bot] Mar 2, 2026
313336b
[ty] Add partial support and validation for `Unpack` when used with t…
sinon Mar 2, 2026
aa341f5
[ty] Remove `specialize_constrained` from constraint set module (#23677)
dcreager Mar 2, 2026
968a555
[ty] Add unbound type variable detection in annotations (#23641)
AlexWaygood Mar 2, 2026
347452f
[ty] Move `UnionType` and `IntersectionType` to a new `types::set_the…
AlexWaygood Mar 2, 2026
e891d6c
[`ruff`] Fix false positive for `re.split` with empty string pattern …
bxff Mar 2, 2026
cd8e8d5
[ty] Add `invalid-enum-member-annotation` lint rule (#23648)
AlexWaygood Mar 2, 2026
d98b514
[ty] Move `KnownInstanceType`, and related types, to a new `known_ins…
AlexWaygood Mar 2, 2026
48cf24d
[ty] Introduce `types::bool`, `types::context_manager` and `types::it…
AlexWaygood Mar 2, 2026
f8b0b0f
[ty] Hand-roll memoization caches for constraint sets (#23538)
dcreager Mar 2, 2026
0c88d7f
[ty] filter out pre-loop bindings from loop headers (#23536)
oconnor663 Mar 3, 2026
a91591e
[ty] Add mdtest suite for `typing.Concatenate` (#23554)
dhruvmanila Mar 3, 2026
4c360c6
Update conformance suite commit hash (#23693)
AlexWaygood Mar 3, 2026
9e69010
[ty] Move `Type::subtyping_is_always_reflexive` to `types::relation` …
AlexWaygood Mar 3, 2026
bb80aff
[ty] Avoid the mandatory "ecosystem-analyzer workflow run cancelled" …
AlexWaygood Mar 3, 2026
7750704
[ty] Move method-related types to a submodule (#23691)
AlexWaygood Mar 3, 2026
189361e
[`pydocstyle`] Fix numpy section ordering (`D420`) (#23685)
amyreese Mar 3, 2026
7e477c2
[ty] Reduce the number of potentially-flaky projects (#23698)
charliermarsh Mar 3, 2026
747ce69
[ty] Fix GitHub-annotations mdtest output format (#23694)
AlexWaygood Mar 3, 2026
c7db398
[`perflint`] Extend `PERF102` to comprehensions and generators (#23473)
anishgirianish Mar 3, 2026
b017564
[ty] Apply narrowing to walrus values (#23687)
charliermarsh Mar 3, 2026
f8d1d29
[`airflow`] Extract common utilities for use in new rules (#23630)
Dev-iL Mar 3, 2026
72742e7
[ty] Improve folding for decorators (#23543)
iksuddle Mar 3, 2026
429aa7b
[ty] Fix type checking for multi-member enums within in a function bl…
rizzip Mar 3, 2026
d740e84
[`refurb`] Fix `FURB101` and `FURB103` false positives when I/O varia…
chirizxc Mar 4, 2026
7eb47ac
[ty] Fix union `*args` binding for optional positional parameters (#2…
charliermarsh Mar 4, 2026
a546a11
[ty] Add a diagnostic for an unused awaitable (#23650)
charliermarsh Mar 4, 2026
1d123a8
[ty] Avoid stack overflow with recursive typevar (#23652)
charliermarsh Mar 4, 2026
04023a2
[ty] Move `CallableType`, and related methods/types, to a new `types:…
AlexWaygood Mar 4, 2026
b910e7d
[ty] Fix handling of non-Python text documents
BurntSushi Mar 4, 2026
d7efaf4
Fail CI on new linter ecosystem panics (#23597)
ntBre Mar 4, 2026
a9b2876
[ty] Move TypeVar-related code to a `types::typevar` submodule (#23710)
AlexWaygood Mar 4, 2026
38c273a
[ty] Move tests and type-alias-related code out of `types.rs` (#23711)
AlexWaygood Mar 4, 2026
149c578
[ty] Rework module resolution to be breadth-first instead of depth-fi…
Gankra Mar 4, 2026
34cee06
[ty] Split up `types/class.rs` (#23714)
AlexWaygood Mar 4, 2026
015217e
Update conformance suite commit hash (#23719)
AlexWaygood Mar 4, 2026
b1f43cb
[ty] Fix panic on incomplete except handlers (#23708)
charliermarsh Mar 5, 2026
50f8602
[ty] Add quotes to related issues links (#23720)
MeGaGiGaGon Mar 5, 2026
1afb169
[ty] Add `all` selector to ty.json's `schema` (#23721)
charliermarsh Mar 5, 2026
da13d62
[ty] Validate bare ParamSpec usage in type annotations, and support s…
AlexWaygood Mar 5, 2026
5f0fd91
[ty] More type-variable default validation (#23639)
AlexWaygood Mar 5, 2026
db28490
[ty] Override home directory in ty tests (#23724)
charliermarsh Mar 5, 2026
db77d7b
[ty] Add a diagnostic if a `TypeVar` is used to specialize a `ParamSp…
AlexWaygood Mar 5, 2026
2a5384b
[ty] Make `all` selector case sensitive (#23713)
MichaReiser Mar 5, 2026
a6a5e8d
[ty] Fix precedence of `all` selector in TOML configurations (#23723)
charliermarsh Mar 5, 2026
3dc78b0
[ty] Use `HasOptionalDefinition` for `except` handlers (#23739)
charliermarsh Mar 5, 2026
9a70f5e
Discover markdown files by default in preview mode (#23434)
amyreese Mar 5, 2026
4926bd5
[ty] Split deferred checks out of `types/infer/builder.rs` (#23740)
AlexWaygood Mar 5, 2026
69c23cc
[ty] Render all changed diagnostics in conformance.py (#23613)
WillDuke Mar 5, 2026
5e4a3d9
Bump 0.15.5 (#23743)
amyreese Mar 5, 2026
a33be00
[ty] Make inferred specializations line up with source types more bet…
dcreager Mar 5, 2026
74b0553
conformance.py: Collapse the summary paragraph when nothing changed (…
AlexWaygood Mar 5, 2026
f9324a5
Update conformance suite commit hash (#23746)
AlexWaygood Mar 5, 2026
d247905
[ty] Materialize only substituted typevars during specialization (#23…
charliermarsh Mar 5, 2026
29cce18
[ty] Support narrowing in ternary expressions (#23726)
charliermarsh Mar 5, 2026
3880c50
docs: Fix misleading description for B904 rule (#23731)
sososonia-cyber Mar 5, 2026
7d8c642
[ty] do not union Unknown into unannotated container types (#23718)
carljm Mar 5, 2026
94c0a20
[ty] eliminate negative intersection elements in promotion (#23750)
carljm Mar 6, 2026
07286ef
[ty] Reject `type[Callable]` special form (#23753)
charliermarsh Mar 6, 2026
6920ea9
[ty] Support place narrowing for dictionaries contained within list/t…
ibraheemdev Mar 6, 2026
546d3b2
[ty] Fix overriding `all` selector (#23712)
MichaReiser Mar 6, 2026
c6418d2
conformance.py: stop escaping `|` characters (#23758)
AlexWaygood Mar 6, 2026
9b372a5
installers: Download releases from Astral's mirror first (#23617)
zsol Mar 6, 2026
d9daf6d
[ty] Detect invalid partially stringified PEP-604 unions (#23285)
AlexWaygood Mar 6, 2026
8a10b67
Add support for `lazy` import parsing (#23755)
charliermarsh Mar 6, 2026
735da8b
Reject semantic syntax errors for lazy imports (#23757)
charliermarsh Mar 6, 2026
7365268
Support `newline` parameter in FURB101 for Python 3.13+ (#23754)
xvchris Mar 6, 2026
46507b8
[`perflint`] Fix comment duplication in fixes (`PERF401`, `PERF403`) …
anishgirianish Mar 6, 2026
69279a5
[ruff] Fix `--add-noqa` breaking shebangs (#23577)
getehen Mar 6, 2026
0b05e45
Avoid syntax errors in RUF036 fixes (#23764)
charliermarsh Mar 6, 2026
724d3b7
Limit RUF036 to typing contexts; make it unsafe for non-typing-only (…
charliermarsh Mar 6, 2026
a355003
[ty] Fix release version for `duplicate-kw-only` (#23769)
charliermarsh Mar 6, 2026
2185bec
[ty] Fixup restoration of multi-inference state in `type_expression.r…
AlexWaygood Mar 6, 2026
f8df8ea
[ty] Support enum member access through enum instances and members (#…
charliermarsh Mar 7, 2026
edac24b
[ty] Don't promote module-literal types (#23786)
AlexWaygood Mar 7, 2026
5cdd2fe
More minor improvements to `conformance.py` (#23792)
AlexWaygood Mar 7, 2026
359981b
CLAUDE.md -> AGENTS.md (#23791)
carljm Mar 7, 2026
53ad26f
[ty] Split out more submodules from `types/infer/builder.rs` (#23801)
AlexWaygood Mar 8, 2026
4e7c8db
Retain `lazy` keyword when sorting imports (#23762)
charliermarsh Mar 8, 2026
0d84a06
[ty] Add validation for type parameters with defaults after TypeVarTu…
AlexWaygood Mar 8, 2026
880d191
Update cargo-bins/cargo-binstall action to v1.17.6 (#23816)
renovate[bot] Mar 9, 2026
5abba5f
Update dependency astral-sh/uv to v0.10.9 (#23817)
renovate[bot] Mar 9, 2026
b6b861c
Update dependency mkdocs-material to v9.7.3 (#23818)
renovate[bot] Mar 9, 2026
413d605
Update dependency ruff to v0.15.5 (#23819)
renovate[bot] Mar 9, 2026
f131f43
Update PyO3/maturin-action action to v1.50.1 (#23821)
renovate[bot] Mar 9, 2026
3d310e0
Update Rust crate jiff to v0.2.22 (#23822)
renovate[bot] Mar 9, 2026
2538f69
Update Rust crate regex-syntax to v0.8.10 (#23823)
renovate[bot] Mar 9, 2026
f92156b
Update Rust crate shellexpand to v3.1.2 (#23824)
renovate[bot] Mar 9, 2026
275e28c
Update taiki-e/install-action action to v2.68.16 (#23825)
renovate[bot] Mar 9, 2026
10c0e05
Update CodSpeedHQ/action action to v4.11.0 (#23826)
renovate[bot] Mar 9, 2026
680b6f3
Update Rust crate serde_with to v3.17.0 (#23827)
renovate[bot] Mar 9, 2026
85bbb3a
Update actions/attest-build-provenance action to v4 (#23828)
renovate[bot] Mar 9, 2026
f7f5453
Update prek dependencies (#23820)
renovate[bot] Mar 9, 2026
5c863c9
Update Artifact GitHub Actions dependencies (#23829)
renovate[bot] Mar 9, 2026
92a77f2
[ty] Simplify `which` integration (#23690)
MichaReiser Mar 9, 2026
a162c19
Add widen_ty_visibility.sh script
knutwannheden Mar 9, 2026
f74e983
Widen ty_python_semantic visibility to pub
knutwannheden Mar 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
44 changes: 44 additions & 0 deletions .github/pr-assignee-pools.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[[pools]]
name = "ruff"
paths = [
"/crates/ruff/**",
"/crates/ruff_linter/**",
]
reviewers = ["amyreese", "ntBre"]

[[pools]]
name = "ty-semantic"
paths = ["/crates/ty_python_semantic/**"]
reviewers = ["carljm", "dcreager", "ibraheemdev", "oconnor663"]

[[pools]]
name = "ty-module-resolver"
paths = ["/crates/ty_module_resolver/**", "/crates/ty_site_packages/**"]
reviewers = ["carljm", "MichaReiser", "BurntSushi"]

[[pools]]
name = "ty-infra"
paths = [
"/crates/ruff_db/**",
"/crates/ty_combine/**",
"/crates/ty_project/**",
"/crates/ty/**",
"/crates/ty_benchmark/**",
"/crates/ruff_benchmark/benches/ty*",
]
reviewers = ["carljm", "MichaReiser", "BurntSushi"]

[[pools]]
name = "ty-wasm"
paths = ["/crates/ty_wasm/**"]
reviewers = ["MichaReiser", "BurntSushi"]

[[pools]]
name = "ty-ide"
paths = ["/crates/ty_ide/**"]
reviewers = ["MichaReiser", "BurntSushi", "dhruvmanila"]

[[pools]]
name = "ty-server"
paths = ["/crates/ty_server/**"]
reviewers = ["MichaReiser", "BurntSushi", "dhruvmanila"]
4 changes: 2 additions & 2 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
groupName: "Artifact GitHub Actions dependencies",
matchManagers: ["github-actions"],
matchDatasources: ["gitea-tags", "github-tags"],
matchPackageNames: ["actions/.*-artifact"],
matchPackageNames: ["actions/upload-artifact", "actions/download-artifact"],
description: "Weekly update of artifact-related GitHub Actions dependencies",
},
{
Expand Down Expand Up @@ -95,7 +95,7 @@
{
groupName: "strum",
matchManagers: ["cargo"],
matchPackageNames: ["strum"],
matchPackageNames: ["strum", "strum_macros"],
description: "Weekly update of strum dependencies",
}
],
Expand Down
50 changes: 25 additions & 25 deletions .github/workflows/build-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ on:
- .github/workflows/build-binaries.yml

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
group: build-binaries-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions: {}

Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build sdist"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
command: sdist
Expand All @@ -60,7 +60,7 @@ jobs:
"${MODULE_NAME}" --help
python -m "${MODULE_NAME}" --help
- name: "Upload sdist"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-sdist
path: dist
Expand All @@ -80,13 +80,13 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels - x86_64"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: x86_64
args: --release --locked --out dist --compatibility pypi
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-macos-x86_64
path: dist
Expand All @@ -101,7 +101,7 @@ jobs:
tar czvf $ARCHIVE_FILE $ARCHIVE_NAME
shasum -a 256 $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-macos-x86_64
path: |
Expand All @@ -123,7 +123,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels - aarch64"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: aarch64
Expand All @@ -134,7 +134,7 @@ jobs:
ruff --help
python -m ruff --help
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-aarch64-apple-darwin
path: dist
Expand All @@ -149,7 +149,7 @@ jobs:
tar czvf $ARCHIVE_FILE $ARCHIVE_NAME
shasum -a 256 $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-aarch64-apple-darwin
path: |
Expand Down Expand Up @@ -180,7 +180,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: ${{ matrix.platform.target }}
Expand All @@ -196,7 +196,7 @@ jobs:
"${MODULE_NAME}" --help
python -m "${MODULE_NAME}" --help
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-${{ matrix.platform.target }}
path: dist
Expand All @@ -207,7 +207,7 @@ jobs:
7z a $ARCHIVE_FILE ./target/${{ matrix.platform.target }}/release/ruff.exe
sha256sum $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-${{ matrix.platform.target }}
path: |
Expand All @@ -234,7 +234,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: ${{ matrix.target }}
Expand All @@ -247,7 +247,7 @@ jobs:
"${MODULE_NAME}" --help
python -m "${MODULE_NAME}" --help
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-${{ matrix.target }}
path: dist
Expand All @@ -265,7 +265,7 @@ jobs:
tar czvf $ARCHIVE_FILE $ARCHIVE_NAME
shasum -a 256 $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-${{ matrix.target }}
path: |
Expand Down Expand Up @@ -315,7 +315,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: ${{ matrix.platform.target }}
Expand All @@ -337,7 +337,7 @@ jobs:
pip3 install ${{ env.PACKAGE_NAME }} --no-index --find-links dist/ --force-reinstall
ruff --help
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-${{ matrix.platform.target }}
path: dist
Expand All @@ -355,7 +355,7 @@ jobs:
tar czvf $ARCHIVE_FILE $ARCHIVE_NAME
shasum -a 256 $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-${{ matrix.platform.target }}
path: |
Expand All @@ -382,7 +382,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: ${{ matrix.target }}
Expand All @@ -398,7 +398,7 @@ jobs:
.venv/bin/${MODULE_NAME} --help;
"
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-${{ matrix.target }}
path: dist
Expand All @@ -416,7 +416,7 @@ jobs:
tar czvf $ARCHIVE_FILE $ARCHIVE_NAME
shasum -a 256 $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-${{ matrix.target }}
path: |
Expand Down Expand Up @@ -446,7 +446,7 @@ jobs:
- name: "Prep README.md"
run: python scripts/transform_readme.py --target pypi
- name: "Build wheels"
uses: PyO3/maturin-action@b1bd829e37fef14c63f19162034228a2f3dc1021 # v1.50.0
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
with:
maturin-version: v1.11.5
target: ${{ matrix.platform.target }}
Expand All @@ -466,7 +466,7 @@ jobs:
.venv/bin/pip3 install ${{ env.PACKAGE_NAME }} --no-index --find-links dist/ --force-reinstall
.venv/bin/${{ env.MODULE_NAME }} --help
- name: "Upload wheels"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: wheels-${{ matrix.platform.target }}
path: dist
Expand All @@ -484,7 +484,7 @@ jobs:
tar czvf $ARCHIVE_FILE $ARCHIVE_NAME
shasum -a 256 $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: artifacts-${{ matrix.platform.target }}
path: |
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
# Adapted from https://docs.docker.com/build/ci/github-actions/multi-platform/
- name: Build and push by digest
id: build
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
platforms: ${{ matrix.platform }}
Expand All @@ -102,7 +102,7 @@ jobs:
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digests
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: digests-${{ env.PLATFORM_TUPLE }}
path: /tmp/digests/*
Expand All @@ -123,7 +123,7 @@ jobs:
packages: write
steps:
- name: Download digests
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
path: /tmp/digests
pattern: digests-*
Expand Down Expand Up @@ -174,7 +174,7 @@ jobs:
echo "digest=${digest}" >> "$GITHUB_OUTPUT"

- name: Generate artifact attestation
uses: actions/attest-build-provenance@00014ed6ed5efc5b1ab7f7f34a39eb55d41aa4f8 # v3.1.0
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-name: ${{ env.RUFF_BASE_IMG }}
subject-digest: ${{ steps.manifest-digest.outputs.digest }}
Expand Down Expand Up @@ -266,7 +266,7 @@ jobs:

- name: Build and push
id: build-and-push
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
platforms: linux/amd64,linux/arm64
Expand All @@ -279,7 +279,7 @@ jobs:
annotations: ${{ steps.meta.outputs.annotations }}

- name: Generate artifact attestation
uses: actions/attest-build-provenance@00014ed6ed5efc5b1ab7f7f34a39eb55d41aa4f8 # v3.1.0
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-name: ${{ env.RUFF_BASE_IMG }}
subject-digest: ${{ steps.build-and-push.outputs.digest }}
Expand All @@ -301,7 +301,7 @@ jobs:
packages: write
steps:
- name: Download digests
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
path: /tmp/digests
pattern: digests-*
Expand Down Expand Up @@ -358,7 +358,7 @@ jobs:
echo "digest=${digest}" >> "$GITHUB_OUTPUT"

- name: Generate artifact attestation
uses: actions/attest-build-provenance@00014ed6ed5efc5b1ab7f7f34a39eb55d41aa4f8 # v3.1.0
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-name: ${{ env.RUFF_BASE_IMG }}
subject-digest: ${{ steps.manifest-digest.outputs.digest }}
6 changes: 3 additions & 3 deletions .github/workflows/build-wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ on:
- .github/workflows/build-wasm.yml

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
group: build-wasm-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions: {}

Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
mv /tmp/package.json crates/ruff_wasm/pkg
- run: cp LICENSE crates/ruff_wasm/pkg # wasm-pack does not put the LICENSE file in the pkg
- name: "Upload wasm artifact"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
# Avoid prefixing the name with `artifacts-` here to exclude it from the GitHub release.
name: wasm-npm-${{ matrix.target }}
Expand Down
Loading
Loading