0.12.8
📦 ruffView on GitHub →
✨ 1 features🐛 15 fixes🔧 12 symbols
Summary
Ruff 0.12.8 adds a preview expansion of PTH201 for all PurePath subclasses, introduces several rule updates, and fixes numerous bugs across flake8, isort, pylint, pyupgrade, and Ruff itself.
✨ New Features
- Expand `PTH201` to check all `PurePath` subclasses (preview feature).
🐛 Bug Fixes
- `BLE001` now correctly parses exception tuples.
- `EM101` excludes `typing.cast`.
- `SIM905` fixed raw string handling for embedded quotes.
- `ICN001` avoids false positives for NFKC-normalized `__debug__` import aliases.
- `I002` syntax error after docstring ending with backslash fixed.
- `PLC0207` marked as unsafe when `*args` unpacking is present.
- `UP010` and `UP035` infinite loop prevented with `I002`.
- `RUF010` generator expressions in f-strings are now parenthesized.
- `ERA001` no longer flags `pyrefly` pragmas as unused code.
- `RUF036` documentation corrected from "associative" to "commutative".
- Copy and line separator colors fixed in dark mode.
- Link to `typing` documentation fixed.
- Column numbers added to GitLab output format.
- Tabs always expanded to four spaces in diagnostics.
- Pre-commit `ruff` ID updated.
🔧 Affected Symbols
PTH201BLE001EM101SIM905ICN001I002PLC0207UP010UP035RUF010ERA001RUF036