Sourced from ruff's releases.
0.6.4
Release Notes
Preview features
- [
flake8-builtins
] Use dynamic builtins list based on Python version (#13172)- [
pydoclint
] Permit yieldingNone
inDOC402
andDOC403
(#13148)- [
pylint
] Update diagnostic message forPLW3201
(#13194)- [
ruff
] Implementpost-init-default
(RUF033
) (#13192)- [
ruff
] Implement useless if-else (RUF034
) (#13218)Rule changes
- [
flake8-pyi
] Respectpep8_naming.classmethod-decorators
settings when determining if a method is a classmethod incustom-type-var-return-type
(PYI019
) (#13162)- [
flake8-pyi
] Teach various rules that annotations might be stringized (#12951)- [
pylint
] Avoidno-self-use
forattrs
-style validators (#13166)- [
pylint
] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733
,PLR1736
) (#13186)- [
pyupgrade
] Detectaiofiles.open
calls inUP015
(#13173)- [
pyupgrade
] Marksys.version_info[0] < 3
and similar comparisons as outdated (UP036
) (#13175)CLI
- Enrich messages of SARIF results (#13180)
- Handle singular case for incompatible rules warning in
ruff format
output (#13212)Bug fixes
- [
pydocstyle
] Improve heuristics for detecting Google-style docstrings (#13142)- [
refurb
] Treatsep
arguments with effects as unsafe removals (FURB105
) (#13165)Contributors
@AlexWaygood
@Jinior
@MichaReiser
@RubenVanEldik
@RussellLuo
@Slyces
@carljm
@charliermarsh
@chriskrycho
@dhruvmanila
@dylwil3
@github-actions
@iamlucasvieira
@jamesbraza
@renovate
@tjkuson
@zhoufanjin
Install ruff 0.6.4
... (truncated)
Sourced from ruff's changelog.
0.6.4
Preview features
- [
flake8-builtins
] Use dynamic builtins list based on Python version (#13172)- [
pydoclint
] Permit yieldingNone
inDOC402
andDOC403
(#13148)- [
pylint
] Update diagnostic message forPLW3201
(#13194)- [
ruff
] Implementpost-init-default
(RUF033
) (#13192)- [
ruff
] Implement useless if-else (RUF034
) (#13218)Rule changes
- [
flake8-pyi
] Respectpep8_naming.classmethod-decorators
settings when determining if a method is a classmethod incustom-type-var-return-type
(PYI019
) (#13162)- [
flake8-pyi
] Teach various rules that annotations might be stringized (#12951)- [
pylint
] Avoidno-self-use
forattrs
-style validators (#13166)- [
pylint
] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733
,PLR1736
) (#13186)- [
pyupgrade
] Detectaiofiles.open
calls inUP015
(#13173)- [
pyupgrade
] Marksys.version_info[0] < 3
and similar comparisons as outdated (UP036
) (#13175)CLI
- Enrich messages of SARIF results (#13180)
- Handle singular case for incompatible rules warning in
ruff format
output (#13212)Bug fixes
65cc6ec
Bump version to 0.6.4 (#13253)66fe226
[red-knot] fix lookup of nonlocal names in deferred annotations (#13236)e965f9c
[red-knot] Infer Unknown
for the loop var in async
for
loops (#13243)0512428
[red-knot] Emit a diagnostic if the value of a starred expression or a
`yield...46a4573
[red-knot] Add type inference for basic for
loops (#13195)5728909
Make mypy pass on black in knot_benchmark
(#13235)9d1bd7a
[pylint] removed dunder methods in Python 3 (PLW3201) (#13194)e37bde4
[ruff] implement useless if-else (RUF034) (#13218)862bd0c
[red-knot] Add debug assert to check for duplicate definitions (#13214)e1e9143
[red-knot] Handle multiple comprehension targets (#13213)