Change8

0.12.7

📦 ruffView on GitHub →
5 features🐛 7 fixes🔧 12 symbols

Summary

Ruff 0.12.7 republishes 0.12.6 with corrected package metadata and includes preview features, numerous bug fixes, a rule change, and a small performance enhancement.

Migration Steps

  1. Uninstall any existing 0.12.6 installation (e.g., `pip uninstall ruff`).
  2. Install the corrected 0.12.7 release via pip (`pip install ruff==0.12.7`) or using the provided installer scripts.
  3. Verify the installation by running `ruff --version`.

✨ New Features

  • Add support for trailing comma checks in type parameter lists (`COM812`, `COM819`) for flake8-commas.
  • Implement auto-fix for `missing-maxsplit-arg` (`PLC0207`) in pylint.
  • Offer fixes for `RUF039` in more cases for ruff.
  • Add support for specifying minimum dots in detected string imports (performance improvement).
  • Change `BLE001` to permit `logging.critical(..., exc_info=True)` in flake8-blind-except.

🐛 Bug Fixes

  • Support `.pyi` files in ruff analyze graph.
  • Preserve inline comment in ellipsis removal (`PYI013`) for flake8-pyi.
  • Ignore rule if target is `global` or `nonlocal` (`PERF401`) for perflint.
  • Fix `UP030` to avoid modifying double curly braces in format strings for pyupgrade.
  • Ignore decorated functions for `FURB118` in refurb.
  • Mark `int` and `bool` cases for `Decimal.from_float` as safe fixes (`FURB164`) in refurb.
  • Fix `RUF033` for named default expressions in ruff.

🔧 Affected Symbols

COM812COM819PLC0207RUF039RUF033BLE001PERF401PYI013UP030FURB118FURB164ruff.analyze.graph