Release Notes
Preview features
- [
airflow
] Add external_task.{ExternalTaskMarker, ExternalTaskSensor}
for AIR302
(#16014)
- [
flake8-builtins
] Make strict module name comparison optional (A005
) (#15951)
- [
flake8-pyi
] Extend fix to Python <= 3.9 for redundant-none-literal
(PYI061
) (#16044)
- [
pylint
] Also report when the object isn't a literal (PLE1310
) (#15985)
- [
ruff
] Implement indented-form-feed
(RUF054
) (#16049)
- [
ruff
] Skip type definitions for missing-f-string-syntax
(RUF027
) (#16054)
Rule changes
- [
flake8-annotations
] Correct syntax for typing.Union
in suggested return type fixes for ANN20x
rules (#16025)
- [
flake8-builtins
] Match upstream module name comparison (A005
) (#16006)
- [
flake8-comprehensions
] Detect overshadowed list
/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 trigger SIM401
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
] Update RUF009
to behave similar to B008
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
] Avoid TC004
false positive where the runtime definition is provided by __getattr__
(#16052)
Documentation
- Improve
ruff-lsp
migration document (#16072)
- Undeprecate
ruff.nativeServer
(#16039)
Contributors
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"
Download ruff 0.9.6