Release Notes
Preview features
- [
airflow
] Addexternal_task.{ExternalTaskMarker, ExternalTaskSensor}
forAIR302
(#16014) - [
flake8-builtins
] Make strict module name comparison optional (A005
) (#15951) - [
flake8-pyi
] Extend fix to Python <= 3.9 forredundant-none-literal
(PYI061
) (#16044) - [
pylint
] Also report when the object isn't a literal (PLE1310
) (#15985) - [
ruff
] Implementindented-form-feed
(RUF054
) (#16049) - [
ruff
] Skip type definitions formissing-f-string-syntax
(RUF027
) (#16054)
Rule changes
- [
flake8-annotations
] Correct syntax fortyping.Union
in suggested return type fixes forANN20x
rules (#16025) - [
flake8-builtins
] Match upstream module name comparison (A005
) (#16006) - [
flake8-comprehensions
] Detect overshadowedlist
/set
/dict
, ignore variadics and named expressions (C417
) (#15955) - [
flake8-pie
] Remove following comma correctly when the unpacked dictionary is empty (PIE800
) (#16008) - [
flake8-simplify
] Only triggerSIM401
on known dictionaries (#15995) - [
pylint
] Do not report calls when object type and argument type mismatch, remove custom escape handling logic (PLE1310
) (#15984) - [
pyupgrade
] Comments within parenthesized value ranges should not affect applicability (UP040
) (#16027) - [
pyupgrade
] Don't introduce invalid syntax when upgrading old-style type aliases with parenthesized multiline values (UP040
) (#16026) - [
pyupgrade
] Ensure we do not rename two type parameters to the same name (UP049
) (#16038) - [
pyupgrade
] [ruff
] Don't apply renamings if the new name is shadowed in a scope of one of the references to the binding (UP049
,RUF052
) (#16032) - [
ruff
] UpdateRUF009
to behave similar toB008
and ignore attributes with immutable types (#16048)
Server
- Root exclusions in the server to project root (#16043)
Bug fixes
- [
flake8-datetime
] Ignore.replace()
calls while looking for.astimezone
(#16050) - [
flake8-type-checking
] AvoidTC004
false positive where the runtime definition is provided by__getattr__
(#16052)
Documentation
Contributors
- @AlexWaygood
- @Daverball
- @InSyncWithFoo
- @Lee-W
- @MichaReiser
- @carlosgmartin
- @dhruvmanila
- @dylwil3
- @junhsonjb
- @ntBre
- @renovate
- @sharkdp
- @smokyabdulrahman
Install ruff 0.9.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.9.6/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/ruff/releases/download/0.9.6/ruff-installer.ps1 | iex"