Changes
Preview features
- [
flake8-bugbear
] Add fix forduplicate-value
(B033
) (#9510) - [
flake8-simplify
] Implementenumerate-for-loop
(SIM113
) (#7777) - [
pygrep_hooks
] Add fix fordeprecated-log-warn
(PGH002
) (#9519) - [
pylint
] Implementimport-private-name
(C2701
) (#5920) - [
refurb
] Implementregex-flag-alias
with fix (FURB167
) (#9516) - [
ruff
] Add rule and fix to sort contents of__all__
(RUF022
) (#9474) - [
tryceratops
] Add fix forerror-instead-of-exception
(TRY400
) (#9520)
Rule changes
- [
flake8-pyi
] FixPYI047
false negatives on PEP-695 type aliases (#9566) - [
flake8-pyi
] FixPYI049
false negatives on call-basedTypedDict
s (#9567) - [
pylint
] Excludeself
andcls
when counting method arguments (PLR0917
) (#9563)
CLI
--show-settings
displays active settings in a far more readable format (#9464)- Add
--extension
support to the formatter (#9483)
Configuration
- Ignore preview status for fixable and unfixable selectors (#9538)
- [
pycodestyle
] Use the configured tab size when expanding indents (#9506)
Bug fixes
- Recursively visit deferred AST nodes (#9541)
- Visit deferred lambdas before type definitions (#9540)
- [
flake8-simplify
] Avoid some moreenumerate-for-loop
false positives (SIM113
) (#9515) - [
pandas-vet
] Limit inplace diagnostics to methods that accept inplace (#9495) - [
pylint
] Add the__prepare__
method to the list of recognized dunder method (#9529) - [
pylint
] Ignore unnecessary dunder calls within dunder definitions (#9496) - [
refurb
] Avoid bailing whenreimplemented-operator
is called on function (FURB118
) (#9556) - [
ruff
] Avoid treating named expressions as static keys (RUF011
) (#9494)
Documentation
- Add instructions on using
noqa
with isort rules (#9555) - Documentation update for URL giving 'page not found' (#9565)
- Fix admonition in dark mode (#9502)
- Update contributing docs to use
cargo bench -p ruff_benchmark
(#9535) - Update emacs integration section to include
emacs-ruff-format
(#9403) - [
flake8-blind-except
] Document exceptions toblind-except
rule (#9580)