Release Notes
Preview features
- [
airflow
] Apply auto fixes to cases where the names have changed in Airflow 3 (AIR302
,AIR311
) (#17553, #17570, #17571) - [
airflow
] ExtendAIR301
rule (#17598) - [
airflow
] Update existingAIR302
rules with better suggestions (#17542) - [
refurb
] Mark fix as safe forreadlines-in-for
(FURB129
) (#17644) - [syntax-errors]
nonlocal
declaration at module level (#17559) - [syntax-errors] Detect single starred expression assignment
x = *y
(#17624)
Bug fixes
- [
flake8-pyi
] EnsureLiteral[None,] | Literal[None,]
is not autofixed toNone | None
(PYI061
) (#17659) - [
flake8-use-pathlib
] Avoid suggestingPath.iterdir()
foros.listdir
with file descriptor (PTH208
) (#17715) - [
flake8-use-pathlib
] FixPTH104
false positive whenrename
is passed a file descriptor (#17712) - [
flake8-use-pathlib
] FixPTH116
false positive whenstat
is passed a file descriptor (#17709) - [
flake8-use-pathlib
] FixPTH123
false positive whenopen
is passed a file descriptor from a function call (#17705) - [
pycodestyle
] Fix duplicated diagnostic inE712
(#17651) - [
pylint
] Detectglobal
declarations in module scope (PLE0118
) (#17411) - [syntax-errors] Make
async-comprehension-in-sync-comprehension
more specific (#17460)
Configuration
- Add option to disable
typing_extensions
imports (#17611)
Documentation
- Fix example syntax for the
lint.pydocstyle.ignore-var-parameters
option (#17740) - Add fix safety sections (
ASYNC116
,FLY002
,D200
,RUF005
,RUF017
,RUF027
,RUF028
,RUF057
) (#17497, #17496, #17502, #17484, #17480, #17485, #17722, #17483)
Other changes
- Add Python 3.14 to configuration options (#17647)
- Make syntax error for unparenthesized except tuples version specific to before 3.14 (#17660)
Contributors
- @AlexWaygood
- @BurntSushi
- @Jie211
- @Kalmaegi
- @LaBatata101
- @Lee-W
- @MichaReiser
- @VascoSch92
- @abhijeetbodas2001
- @brendancooley
- @carljm
- @dcreager
- @dhruvmanila
- @dylwil3
- @github-actions
- @maxmynter
- @ntBre
- @renovate
- @sharkdp
- @thejchap
Install ruff 0.11.8
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.11.8/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.11.8/ruff-installer.ps1 | iex"