GitHub
09/28/2026, 2:27 AM--config-file (#28573)
LSP server
• Filter string literal completions by typed text (#28612)
• Find member references across files (#28669)
• Find parameter references across files (#28670)
• Preserve valid LSP settings when configuration resolution fails (#28653)
• Reuse identifier matcher in LSP operations (#28663)
• Watch script dependencies in the language server (#28522)
Diagnostic improvements
• Add an autofix for unused awaitables (#28668)
• Add annotations for unreachable code caused by boolean operands (#28521)
• Add subdiagnostics to redundant-condition rules warning about reachability implications (#28263)
• Clarify diagnostics for unimplemented abstract members (#28538)
• Extend unreachable-code annotations to while, assert, and match statements (#28290)
Core type checking
• Allow experimental intersection syntax in PEP 695 aliases (#28513)
• Bound aliased intersection expansion during inference (#28546)
• Check declared variance against final method bindings (#28155)
• Fix recursive protocol checks for decorated methods (#28293)
• Freshen constructor-owned Self with class type variables (#28592)
• Improve disjointness of functools.partial types (#28660)
• Include constraint-set assignability in more checks (#28642)
• Infer conditional literals from peers in unspecialized contexts (#28633)
• Infer generic elements from gradual tuples (#28637)
• Introduce Recursive types and fully support recursive implicit type aliases (#28425)
• Narrow type context during tuple inference (#28658)
• Preserve field metadata after overload resolution (#28635)
• Preserve gradual class assignability in constraint-set checks (#28638)
• Preserve gradual tuple lengths during callable inference (#28588)
• Preserve tuple shapes during concatenation (#28617)
• Reject abstract class instantiation (#28167)
• Respect frozen=False overrides on Pydantic subclasses (#28515)
• Support type[A & B] (#27124)
• Sync vendored typeshed stubs (<https://redirect.github.com/astral-sh/ruff/pull/285…
meltano/sdkGitHub
09/28/2026, 3:28 AM