Release Notes
Preview features
- [
flake8-pyi
] ExpandOptional[A]
toA | None
(PYI016
) (#18572) - [
pyupgrade
] MarkUP008
fix safe if no comments are in range (#18683)
Bug fixes
- [
flake8-comprehensions
] FixC420
to prepend whitespace when needed (#18616) - [
perflint
] FixPERF403
panic on attribute or subscription loop variable (#19042) - [
pydocstyle
] FixD413
infinite loop for parenthesized docstring (#18930) - [
pylint
] FixPLW0108
autofix introducing a syntax error when the lambda's body contains an assignment expression (#18678) - [
refurb
] Fix false positive on empty tuples (FURB168
) (#19058) - [
ruff
] Allow morefield
calls fromattrs
(RUF009
) (#19021) - [
ruff
] Fix syntax error introduced for an empty string followed by a u-prefixed string (UP025
) (#18899)
Rule changes
- [
flake8-executable
] Allowuvx
in shebang line (EXE003
) (#18967) - [
pandas
] Avoid flaggingPD002
ifpandas
is not imported (#18963) - [
pyupgrade
] Avoid PEP-604 unions withtyping.NamedTuple
(UP007
,UP045
) (#18682)
Documentation
- Document link between
import-outside-top-level (PLC0415)
andlint.flake8-tidy-imports.banned-module-level-imports
(#18733) - Fix description of the
format.skip-magic-trailing-comma
example (#19095) - [
airflow
] MakeAIR302
example error out-of-the-box (#18988) - [
airflow
] MakeAIR312
example error out-of-the-box (#18989) - [
flake8-annotations
] MakeANN401
example error out-of-the-box (#18974) - [
flake8-async
] MakeASYNC100
example error out-of-the-box (#18993) - [
flake8-async
] MakeASYNC105
example error out-of-the-box (#19002) - [
flake8-async
] MakeASYNC110
example error out-of-the-box (#18975) - [
flake8-async
] MakeASYNC210
example error out-of-the-box (#18977) - [
flake8-async
] MakeASYNC220
,ASYNC221
, andASYNC222
examples error out-of-the-box (#18978) - [
flake8-async
] MakeASYNC251
example error out-of-the-box (#18990) - [
flake8-bandit
] MakeS201
example error out-of-the-box (#19017) - [
flake8-bandit
] MakeS604
andS609
examples error out-of-the-box (#19049) - [
flake8-bugbear
] MakeB028
example error out-of-the-box (#19054) - [
flake8-bugbear
] MakeB911
example error out-of-the-box (#19051) - [
flake8-datetimez
] MakeDTZ011
example error out-of-the-box (#19055) - [
flake8-datetimez
] MakeDTZ901
example error out-of-the-box (#19056) - [
flake8-pyi
] MakePYI032
example error out-of-the-box (#19061) - [
flake8-pyi
] Make example error out-of-the-box (PYI014
,PYI015
) (#19097) - [
flake8-pyi
] Make example error out-of-the-box (PYI042
) (#19101) - [
flake8-pyi
] Make example error out-of-the-box (PYI059
) (#19080) - [
flake8-pyi
] Make example error out-of-the-box (PYI062
) (#19079) - [
flake8-pytest-style
] Make example error out-of-the-box (PT023
) (#19104) - [
flake8-pytest-style
] Make example error out-of-the-box (PT030
) (#19105) - [
flake8-quotes
] Make example error out-of-the-box (Q003
) (#19106) - [
flake8-simplify
] Make example error out-of-the-box (SIM110
) (#19113) - [
flake8-simplify
] Make example error out-of-the-box (SIM113
) (#19109) - [
flake8-simplify
] Make example error out-of-the-box (SIM401
) (#19110) - [
pyflakes
] Fix backslash in docs (F621
) (#19098) - [
pylint
] FixPLC0415
example (#18970)
Contributors
- @AlexWaygood
- @Avasam
- @BurntSushi
- @CodeMan62
- @Gankra
- @InSyncWithFoo
- @LaBatata101
- @LeanderCS
- @MatthewMckee4
- @MeGaGiGaGon
- @MichaReiser
- @NamelessGO
- @adriencaccia
- @carljm
- @danparizher
- @dcreager
- @dhruvmanila
- @dylwil3
- @github-actions
- @ibraheemdev
- @jordyjwilliams
- @lubaskinc0de
- @med1844
- @mtshiba
- @ntBre
- @renovate
- @robsdedude
- @sharkdp
- @yairp03
- @zanieb
Install ruff 0.12.2
Install prebuilt binaries via shell script
:::sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.12.2/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
:::sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.12.2/ruff-installer.ps1 | iex"