0.13.2
📦 ruffView on GitHub →
✨ 5 features🐛 7 fixes🔧 11 symbols
Summary
Ruff 0.13.2 adds several new preview linting rules, includes `.pyw` files by default, and fixes a range of bugs across multiple flake8 plugins and core checks.
Migration Steps
- Run the installer script: `curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.13.2/ruff-installer.sh | sh`
- On Windows, run the PowerShell installer: `powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.13.2/ruff-installer.ps1 | iex"`
- Alternatively, download the appropriate prebuilt binary for your platform from the release assets and verify its checksum
✨ New Features
- Implement `blocking-path-method` (`ASYNC240`) for flake8-async (PR #20264)
- Implement `map-without-explicit-strict` (`B912`) for flake8-bugbear (PR #20429)
- Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (`A003`) for flake8-bultins (PR #20178)
- Implement `logging-eager-conversion` (`RUF065`) for ruff (PR #19942)
- Include `.pyw` files by default when linting and formatting (PR #20458)
🐛 Bug Fixes
- Deduplicate input paths (PR #20105)
- Preserve trailing commas for single-element lists (`C409`) in flake8-comprehensions (PR #19571)
- Avoid syntax error from conflict with `PIE790` (`PYI021`) in flake8-pyi (PR #20010)
- Correct fix for positive `maxsplit` without separator (`SIM905`) in flake8-simplify (PR #20056)
- Fix `UP008` not to apply when `__class__` is a local variable in pyupgrade (PR #20497)
- Fix `B004` to skip invalid `hasattr`/`getattr` calls in ruff (PR #20486)
- Replace `-nan` with `nan` when using the value to construct a `Decimal` (`FURB164`) in ruff (PR #20391)
🔧 Affected Symbols
ASYNC240B912A003RUF065.pyw handlingC409PYI021SIM905UP008B004FURB164