What's Changed
Breaking Changes
Rules
- [
flake8-pyi
]PYI019
: Detects if a type variable is used instead ofSelf
in return annotations by @qdegraaf in #6204 - [
flake8-pyi
]PYI051
: Detects unions ofLiteral
types by @LaBatata101 in #6215 - [
flake8-pyi
]PYI055
: Detects unions oftype
s by @LaBatata101 in #6316 - [
pylint
]E1300
: Detects invalid string format characters by @silvanocerza in #6171 - [
pyupgrade
]UP040
: Upgrades type alias annotations to use PEP-695 syntax by @zanieb in #6289
Rule Changes
- [
flake8-boolean-trap
]FBT003
: Addis_
andis_not
to excluded functions by @zanieb in #6307 - [
flake8-logging-format
] Allow capitalized names for logger candidate heuristic match by @charliermarsh in #6356 - [
flake8-pyi
] Applicable rules are now checked non-stub code by @andersk in #6297PYI013
:ellipsis-in-non-empty-class-body
PYI016
:duplicate-union-member
PYI018
:unused-private-type-var
PYI019
:custom-type-var-return-type
PYI024
:collections-named-tuple
PYI025
:unaliased-collections-abc-set-import
PYI030
:unnecessary-literal-union
PYI032
:any-eq-ne-annotation
PYI034
:non-self-return-type
PYI036
:bad-exit-annotation
PYI041
:redundant-numeric-union
PYI042
:snake-case-type-alias
PYI043
:t-suffixed-type-alias
PYI045
:iter-method-return-iterable
PYI046
:unused-private-protocol
PYI047
:unused-private-type-alias
PYI049
:unused-private-typed-dict
PYI050
:no-return-argument-annotation-in-stub
(Python ≥ 3.11)PYI051
:redundant-literal-union
PYI056
:unsupported-method-call-on-all
- [
flake8-pyi
]PYI027
is being replaced byPYI022
/UP035
by @LaBatata101 in #6354 - [
pydocstyle
]D103
: Don't require docstrings in.pyi
files by @charliermarsh in #6239 - [
pydocstyle
]D203
: Ignore same-line docstrings for lines-before and lines-after rules by @charliermarsh in #6344 - [
pylint
]PLE0605
: Allow generic tuple and list calls in__all__
by @charliermarsh in #6247 - [
pylint
]PLR0124
: Add detection of comparisons with built-in calls by @charliermarsh in #6324 - [
pyupgrade
]UP032
: Add support forawait
expressions in f-strings by @harupy in #6304 - [
pyupgrade
]UP032
: Add support for implicitly concatenated strings by @harupy in #6263 - [
pyupgrade
]UP032
: Add support for repeated format fields by @harupy in #6266 - [
ruff
]RUF012
: PermitClassVar
andFinal
without subscript by @bluetech in #6273
Bug Fixes
- [
flake8-bugbear
]B006
: Respecttyping_extensions
imports ofAnnotated
by @PIG208 in #6361 - [
flake8-pyi
]PYI019
: Fix panic with positional-only arguments by @charliermarsh in #6350 - [
flake8-use-pathlib
] Avoid raisingPTH206
withmaxsplit
by @charliermarsh in #6283 - [
flake8
]F841
: Update autofix to not remove Jupyer magic expressions by @dhruvmanila in #6141 - [
pycodestyle
]E721
: Include comparisons to builtin types by @charliermarsh in #6325 - [
pycodestyle
]E721
: Match left-hand sidetypes()
call intypes-comparison
by @charliermarsh in #6326 - [
pyupgrade
]UP031
: Avoid auto-fixing if there are comments within the right-hand side by @harupy in #6364 - [
pyupgrade
]UP032
: Avoid auto-fixing if comments are present around format call arguments by @harupy in #6342 - [
pyupgrade
]UP032
: Improve invalid expression check by @harupy in #6308 - Avoid attempting to fix
.format(...)
calls with too-few-arguments by @charliermarsh in #6401 - Fix bug where
.gitignore
files in parent directories were incorrectly used by @charliermarsh in #6368 - Fix duplicate violations raised on nested bitwise or
Union
expressions by @charliermarsh in #6399
Playground
- Add a simple tooltip to the sidebar by @charliermarsh in #6295
- Add an icon for FIR by @charliermarsh in #6292
- Increase icon opacity on-hover by @charliermarsh in #6291
- Tweak background on theme button by @charliermarsh in #6290
Other Changes
- Improve handling of violations around Jupyter magic expressions by @dhruvmanila in #5552
- Reduce memory usage by boxing type params and arguments fields on the class definition node by @charliermarsh in #6275
- Upgrade Rust to 1.71 by @zanieb in #6323
New Contributors
- @silvanocerza made their first contribution in #6171
- @PIG208 made their first contribution in #6361
Full Changelog: v0.0.282...v0.0.283