Skip to content

Upgrading ruff 0.12 to 0.13

Breaking0.12.12 → 0.13.3Breaking6Platform1New23Changed16Fixed24Other13

BreakingUpgrade verdict

6 breaking changes and a platform requirement change.

  • If you enable rules by prefix, deprecated rules will no longer be turned on that way.
  • On macOS, Ruff no longer reads a user config file from the old Application Support location; use the XDG path instead.
  • The PD901 lint rule is gone, so enabling it will no longer work.
  • The UP038 lint rule is gone, so enabling it will no longer work.
Top 4 of 7 that need code or config changes
Breaking6
Deprecated rules must now be selected by exact rule code; group names and prefixes no longer activate them.
Removes the deprecated macOS fallback config location ~/Library/Application Support/ruff/ruff.toml.
~/Library/Application Support/ruff/ruff.toml~/.config/ruff/ruff.toml
Removes the pandas-df-variable-name rule (PD901).
PD901pandas-df-variable-name
Removes the non-pep604-isinstance rule (UP038).
UP038non-pep604-isinstance
TC001, TC002, TC003, RUF013, and UP037 now add from __future__ import annotations in their fixes when lint.future-annotations is enabled.
TC001TC002TC003RUF013UP037lint.future-annotationsTYPE_CHECKING
Ruff now verifies the full module path exists on disk before categorizing an import as first-party.
Platform1
Bumps the minimum supported Rust version (MSRV) to Rust 1.88.