Changes
Breaking changes
- Add site-packages to default exclusions (#9188)
Preview features
- Fix: Avoid parenthesizing subscript targets and values (#9209)
- [
pylint
] Implementtoo-many-locals
(PLR0914
) (#9163) - Implement
reimplemented_operator
(FURB118) (#9171) - Add a rule to detect string members in runtime-evaluated unions (#9143)
- Implement
no_blank_line_before_class_docstring
preview style (#9154)
Rule changes
CONSTANT_CASE
variables are improperly flagged for yoda violation (SIM300
) (#9164)- [
flake8-pyi
] Cover ParamSpecs and TypeVarTuples (PYI018
) (#9198) - [
flake8-bugbear
] Add fix forzip-without-explicit-strict
(B905
) (#9176) - Add fix to automatically remove
print
andpprint
statements (T201
,T203
) (#9208) - Prefer
Never
toNoReturn
in auto-typing in Python >= 3.11 (ANN201
) (#9213)
Formatter
can_omit_optional_parentheses
: Exit early for unparenthesized expressions (#9125)- Fix
dynamic
mode with doctests so that it doesn't exceed configured line width (#9129) - Fix
can_omit_optional_parentheses
for expressions with a right most fstring (#9124) - Add
target_version
to formatter options (#9220)
CLI
- Update
ruff format --check
to display message for already formatted files (#9153)
Bug fixes
- Reverse order of arguments for
operator.contains
(#9192) - Iterate over lambdas in deferred type annotations (#9175)
- Fix panic in
D208
with multibyte indent (#9147) - Add support for
NoReturn
in auto-return-typing (#9206) - Allow removal of
typing
fromexempt-modules
(#9214) - Avoid
mutable-class-default
violations for Pydantic subclasses (#9187) - Fix dropped union expressions for piped non-types in
PYI055
autofix (#9161) - Enable annotation quoting for multi-line expressions (#9142)
- Deduplicate edits when quoting annotations (#9140)
- Prevent invalid utf8 indexing in cell magic detection (#9146)
- Avoid nested quotations in auto-quoting fix (#9168)
- Add base-class inheritance detection to flake8-django rules (#9151)
- Avoid
asyncio-dangling-task
violations on shadowed bindings (#9215)
Documentation
- Fix blog post URL in changelog (#9119)
- Add error suppression hint for multi-line strings (#9205)
- Fix typo in SemanticModel.parent_expression docstring (#9167)
- Document link between import sorting and formatter (#9117)