Changes
Preview features
- [
flake8-bandit
]: ImplementS610
rule (#10316) - [
pycodestyle
] Implementblank-line-at-end-of-file
(W391
) (#10243) - [
pycodestyle
] Implementredundant-backslash
(E502
) (#10292) - [
pylint
] - implementredeclared-assigned-name
(W0128
) (#9268)
Rule changes
- [
flake8_comprehensions
] Handled special case forC400
which also matchesC416
(#10419) - [
flake8-bandit
] Implement upstream updates forS311
,S324
andS605
(#10313) - [
pyflakes
] RemoveF401
fix for__init__
imports by default and allow opt-in to unsafe fix (#10365) - [
pylint
] Implementinvalid-bool-return-type
(E304
) (#10377) - [
pylint
] Include builtin warnings in useless-exception-statement (PLW0133
) (#10394)
CLI
- Add message on success to
ruff check
(#8631)
Bug fixes
- [
PIE970
] Allow trailing ellipsis intyping.TYPE_CHECKING
(#10413) - Avoid
TRIO115
if the argument is a variable (#10376) - [
F811
] Avoid removing shadowed imports that point to different symbols (#10387) - Fix
F821
andF822
false positives in.pyi
files (#10341) - Fix
F821
false negatives in.py
files whenfrom __future__ import annotations
is active (#10362) - Fix case where
Indexer
fails to identify continuation preceded by newline #10351 (#10354) - Sort hash maps in
Settings
display (#10370) - Track conditional deletions in the semantic model (#10415)
- [
C413
] Wrap expressions in parentheses when negating (#10346) - [
pycodestyle
] Do not ignore lines before the first logical line in blank lines rules. (#10382) - [
pycodestyle
] Do not triggerE225
andE275
when the next token is a ')' (#10315) - [
pylint
] Avoid false-positive slot non-assignment for__dict__
(PLE0237
) (#10348) - Gate f-string struct size test for Rustc < 1.76 (#10371)
Documentation
- Use
ruff.toml
format in README (#10393) - [
RUF008
] Make it clearer that a mutable default in a dataclass is only valid if it is typed as a ClassVar (#10395) - [
pylint
] Extend docs and test ininvalid-str-return-type
(E307
) (#10400) - Remove
.
fromcheck
andformat
commands (#10217)