Changes
0.1.6
Preview features
- [
flake8-boolean-trap
] Extendboolean-type-hint-positional-argument
(FBT001
) to include booleans in unions (#7501) - [
flake8-pie
] Extendreimplemented-list-builtin
(PIE807
) todict
reimplementations (#8608) - [
flake8-pie
] Extendunnecessary-pass
(PIE790
) to include ellipses (...
) (#8641) - [
flake8-pie
] Implement fix forunnecessary-spread
(PIE800
) (#8668) - [
flake8-quotes
] Implementunnecessary-escaped-quote
(Q004
) (#8630) - [
pycodestyle
] Implement fix formultiple-spaces-after-keyword
(E271
) andmultiple-spaces-before-keyword
(E272
) (#8622) - [
pycodestyle
] Implement fix formultiple-spaces-after-operator
(E222
) andmultiple-spaces-before-operator
(E221
) (#8623) - [
pyflakes
] Extendis-literal
(F632
) to include comparisons against mutable initializers (#8607) - [
pylint
] Implementredefined-argument-from-local
(PLR1704
) (#8159) - [
pylint
] Implement fix forunnecessary-lambda
(PLW0108
) (#8621) - [
refurb
] Implementif-expr-min-max
(FURB136
) (#8664) - [
refurb
] Implementmath-constant
(FURB152
) (#8727)
Rule changes
- [
flake8-annotations
] Add autotyping-like return type inference for annotation rules (#8643) - [
flake8-future-annotations
] Implement fix forfuture-required-type-annotation
(FA102
) (#8711) - [
flake8-implicit-namespace-package
] Avoid missing namespace violations in scripts with shebangs (#8710) - [
pydocstyle
] Updateover-indentation
(D208
) to preserve indentation offsets when fixing overindented lines (#8699) - [
pyupgrade
] Refinetimeout-error-alias
(UP041
) to remove false positives (#8587)
Formatter
- Fix instability in
await
formatting with fluent style (#8676) - Compare formatted and unformatted ASTs during formatter tests (#8624)
- Preserve trailing semicolon for Notebooks (#8590)
CLI
- Improve debug printing for resolving origin of config settings (#8729)
- Write unchanged, excluded files to stdout when read via stdin (#8596)
Configuration
- [
isort
] Support disabling sections withno-sections = true
(#8657) - [
pep8-naming
] Support local and dynamic class- and static-method decorators (#8592) - [
pydocstyle
] Allow overriding pydocstyle convention rules (#8586)
Bug fixes
- Avoid syntax error via importing
trio.lowlevel
(#8730) - Omit unrolled augmented assignments in
PIE794
(#8634) - Slice source code instead of generating it for
EM
fixes (#7746) - Allow whitespace around colon in slices for
whitespace-before-punctuation
(E203
) (#8654) - Use function range for
no-self-use
(#8637) - F-strings doesn't contain bytes literal for
PLW0129
(#8675) - Improve detection of
TYPE_CHECKING
blocks imported fromtyping_extensions
or_typeshed
(#8429) - Treat display as a builtin in IPython (#8707)
- Avoid
FURB113
autofix if comments are present (#8494) - Consider the new f-string tokens for
flake8-commas
(#8582) - Remove erroneous bad-dunder-name reference (#8742)
- Avoid recommending Self usages in metaclasses (#8639)
- Detect runtime-evaluated base classes defined in the current file (#8572)
- Avoid inserting trailing commas within f-strings (#8574)
- Remove incorrect deprecation label for stdout and stderr (#8743)
- Fix unnecessary parentheses in UP007 fix (#8610)
- Remove repeated and erroneous scoped settings headers in docs (#8670)
- Trim trailing empty strings when converting to f-strings (#8712)
- Fix ordering for
force-sort-within-sections
(#8665) - Run unicode prefix rule over tokens (#8709)
- Update UP032 to unescape curly braces in literal parts of converted strings (#8697)
- List all ipython builtins (#8719)
Documentation
- Document conventions in the FAQ (#8638)
- Redirect from rule codes to rule pages in docs (#8636)
- Fix permalink to convention setting (#8575)