Skip to content

Upgrading ruff 0.7 to 0.8

Breaking0.7.4 → 0.8.6Breaking6New41Changed44Fixed50Other5

BreakingUpgrade verdict

6 breaking changes.

  • If you don't tell Ruff which Python version you use, it now assumes Python 3.9 rather than 3.8.
  • Warnings about docstrings now point at the start of the docstring, so any inline suppression comments may need to move.
  • If you install Ruff with the shell or PowerShell script, it now goes into ~/.local/bin (or another XDG location) instead of ~/.cargo/bin.
  • Lines containing certain Unicode characters may now be measured differently, so some may be reformatted or flagged as too long.
Top 3 of 6 that need code or config changes
Breaking6
Ruff now defaults to Python 3.9 instead of 3.8 when no target version is configured.
ruff.target-versionproject.requires-python
pydoclint diagnostics now point to the first line of the problematic docstring instead of the previous location.
pydoclintnoqa
The standalone installer now installs into XDG directories such as ~/.local/bin instead of the Cargo home directory.
$CARGO_HOME$XDG_BIN_HOME$XDG_DATA_HOME
A new unicode-width crate version changes line width calculation, which may reformat lines with Unicode characters or trigger E501.
E501
Removes the deprecated rules missing-type-self (ANN101), missing-type-cls (ANN102), syntax-error (E999), pytest-missing-fixture-name-underscore (PT004), pytest-incorrect-fixture-name-underscore…
missing-type-selfANN101missing-type-clsANN102syntax-errorE999pytest-missing-fixture-name-underscorePT004
Remaps the flake8-type-checking rules from the TCH prefix to TC.
flake8-type-checkingTCHTC