Release Notes
Released on 2026-01-22.
Preview features
- Preserve required parentheses in lambda bodies (#22747)
- Combine range suppression code diagnostics (#22613)
- [
airflow] Second positional argument toAsset/Datasetshould not be a dictionary (AIR303) (#22453) - [
ruff] Detect duplicate entries in__all__(RUF068) (#22114)
Bug fixes
- [
pyupgrade] Allow shadowing non-builtin bindings (UP029) (#22749) - [
pyupgrade] ApplyUP045to string arguments oftyping.cast(#22320) - [
flake8-pie] Detect duplicated declared class fields inPIE794(#22717)
Rule changes
- [
flake8-pyi] Fix inconsistent handling of forward references for__new__,__enter__,__aenter__inPYI034(#22798) - [
flake8-pytest-style] Supportcheckparameter inPT011(#22725) - [
ruff] Add exception forctypes.Structure._fields_(RUF012) (#22559) - Many fixes are now marked unsafe if they would remove comments:
Documentation
- Add
--exit-non-zero-on-formatto formatter exit codes section (#22761) - Update contributing guide for adding a new rule (#22779)
- [
FastAPI] Document fix safety forFAST001(#22655) - [
flake8-async] Tweak explanation to focus on latency/efficiency tradeoff (ASYNC110) (#22715) - [
pandas-vet] Make example error out-of-the-box (PD002) (#22561) - [
refurb] Make the example work out of box (FURB101) (#22770) - [
refurb] Make the example work out of box (FURB103) (#22769)
Contributors
- @alejsdev
- @ntBre
- @caiquejjx
- @chirizxc
- @denyszhak
- @sjyangkevin
- @MeGaGiGaGon
- @leandrobbraga
- @MichaReiser
- @carljm
- @amyreese
- @zsol
- @harupy
Install ruff 0.14.14
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-installer.ps1 | iex"