Sourced from ruff's releases.
0.8.1
Release Notes
Preview features
- Formatter: Avoid invalid syntax for format-spec with quotes for all Python versions (#14625)
- Formatter: Consider quotes inside format-specs when choosing the quotes for an f-string (#14493)
- Formatter: Do not consider f-strings with escaped newlines as multiline (#14624)
- Formatter: Fix f-string formatting in assignment statement (#14454)
- Formatter: Fix unnecessary space around power operator (
**
) in overlong f-string expressions (#14489)- [
airflow
] Avoid implicitschedule
argument toDAG
and@dag
(AIR301
) (#14581)- [
flake8-builtins
] Exempt private built-in modules (A005
) (#14505)- [
flake8-pytest-style
] Fixpytest.mark.parametrize
rules to check calls instead of decorators (#14515)- [
flake8-type-checking
] Implementruntime-cast-value
(TC006
) (#14511)- [
flake8-type-checking
] Implementunquoted-type-alias
(TC007
) andquoted-type-alias
(TC008
) (#12927)- [
flake8-use-pathlib
] RecommendPath.iterdir()
overos.listdir()
(PTH208
) (#14509)- [
pylint
] Extendinvalid-envvar-default
to detectos.environ.get
(PLW1508
) (#14512)- [
pylint
] Implementlen-test
(PLC1802
) (#14309)- [
refurb
] Fix bug where methods defined using lambdas were flagged byFURB118
(#14639)- [
ruff
] Auto-addr
prefix when string has no backslashes forunraw-re-pattern
(RUF039
) (#14536)- [
ruff
] Implementinvalid-assert-message-literal-argument
(RUF040
) (#14488)- [
ruff
] Implementunnecessary-nested-literal
(RUF041
) (#14323)- [
ruff
] Implementunnecessary-regular-expression
(RUF055
) (#14659)Rule changes
- Ignore more rules for stub files (#14541)
- [
pep8-naming
] Eliminate false positives for single-letter names (N811
,N814
) (#14584)- [
pyflakes
] Avoid false positives in@no_type_check
contexts (F821
,F722
) (#14615)- [
ruff
] Detect redirected-noqa in file-level comments (RUF101
) (#14635)- [
ruff
] Mark fixes forunsorted-dunder-all
andunsorted-dunder-slots
as unsafe when there are complex comments in the sequence (RUF022
,RUF023
) (#14560)Bug fixes
- Avoid fixing code to
None | None
forredundant-none-literal
(PYI061
) andnever-union
(RUF020
) (#14583, #14589)- [
flake8-bugbear
] Fixmutable-contextvar-default
to resolve annotated function calls properly (B039
) (#14532)- [
flake8-pyi
,ruff
] Fix traversal of nested literals and unions (PYI016
,PYI051
,PYI055
,PYI062
,RUF041
) (#14641)- [
flake8-pyi
] Avoid rewriting invalid type expressions inunnecessary-type-union
(PYI055
) (#14660)- [
flake8-type-checking
] Avoid syntax errors and type checking problem for quoted annotations autofix (TC003
,TC006
) (#14634)- [
pylint
] Do not wrap function calls in parentheses in the fix for unnecessary-dunder-call (PLC2801
) (#14601)- [
ruff
] Handleattrs
'sauto_attribs
correctly (RUF009
) (#14520)Contributors
... (truncated)
Sourced from ruff's changelog.
0.8.1
Preview features
- Formatter: Avoid invalid syntax for format-spec with quotes for all Python versions (#14625)
- Formatter: Consider quotes inside format-specs when choosing the quotes for an f-string (#14493)
- Formatter: Do not consider f-strings with escaped newlines as multiline (#14624)
- Formatter: Fix f-string formatting in assignment statement (#14454)
- Formatter: Fix unnecessary space around power operator (
**
) in overlong f-string expressions (#14489)- [
airflow
] Avoid implicitschedule
argument toDAG
and@dag
(AIR301
) (#14581)- [
flake8-builtins
] Exempt private built-in modules (A005
) (#14505)- [
flake8-pytest-style
] Fixpytest.mark.parametrize
rules to check calls instead of decorators (#14515)- [
flake8-type-checking
] Implementruntime-cast-value
(TC006
) (#14511)- [
flake8-type-checking
] Implementunquoted-type-alias
(TC007
) andquoted-type-alias
(TC008
) (#12927)- [
flake8-use-pathlib
] RecommendPath.iterdir()
overos.listdir()
(PTH208
) (#14509)- [
pylint
] Extendinvalid-envvar-default
to detectos.environ.get
(PLW1508
) (#14512)- [
pylint
] Implementlen-test
(PLC1802
) (#14309)- [
refurb
] Fix bug where methods defined using lambdas were flagged byFURB118
(#14639)- [
ruff
] Auto-addr
prefix when string has no backslashes forunraw-re-pattern
(RUF039
) (#14536)- [
ruff
] Implementinvalid-assert-message-literal-argument
(RUF040
) (#14488)- [
ruff
] Implementunnecessary-nested-literal
(RUF041
) (#14323)- [
ruff
] Implementunnecessary-regular-expression
(RUF055
) (#14659)Rule changes
- Ignore more rules for stub files (#14541)
- [
pep8-naming
] Eliminate false positives for single-letter names (N811
,N814
) (#14584)- [
pyflakes
] Avoid false positives in@no_type_check
contexts (F821
,F722
) (#14615)- [
ruff
] Detect redirected-noqa in file-level comments (RUF101
) (#14635)- [
ruff
] Mark fixes forunsorted-dunder-all
andunsorted-dunder-slots
as unsafe when there are complex comments in the sequence (RUF022
,RUF023
) (#14560)Bug fixes
- Avoid fixing code to
None | None
forredundant-none-literal
(PYI061
) andnever-union
(RUF020
) (#14583, #14589)- [
flake8-bugbear
] Fixmutable-contextvar-default
to resolve annotated function calls properly (B039
) (#14532)- [
flake8-pyi
,ruff
] Fix traversal of nested literals and unions (PYI016
,PYI051
,PYI055
,PYI062
,RUF041
) (#14641)- [
flake8-pyi
] Avoid rewriting invalid type expressions inunnecessary-type-union
(PYI055
) (#14660)- [
flake8-type-checking
] Avoid syntax errors and type checking problem for quoted annotations autofix (TC003
,TC006
) (#14634)- [
pylint
] Do not wrap function calls in parentheses in the fix for unnecessary-dunder-call (PLC2801
) (#14601)- [
ruff
] Handleattrs
'sauto_attribs
correctly (RUF009
) (#14520)
b3b2c98
Update CHANGELOG.md with the new commits for 0.8.1 (#14664)abb3c6e
[flake8-pyi
] Avoid rewriting invalid type expressions in
`unnecessary-type-...224fe75
[ruff
] Implement
unnecessary-regular-expression
(RUF055
) (#14659)dc29f52
[flake8-pyi
, ruff
] Fix traversal of nested
literals and unions (PYI016
,...d9cbf2f
Avoids unnecessary overhead for TC004
, when
TC001-003
are disabled (#14657)3f6c65e
[red-knot] Fix merged type after if-else without explicit else branch
(#14621)976c37a
Bump version to 0.8.1 (#14655)a378ff3
[red-knot] Fix Boolean flags in mdtests (#14654)d8bca0d
Fix bug where methods defined using lambdas were flagged by FURB118 (#14639)6f1cf5b
[red-knot] Minor fix in MRO tests (#14652)