Change8

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