Skip to content

Upgrading ruff 0.15 to 0.16

Breaking0.15.22 → 0.16.10Breaking3Security1New25Changed34Fixed49Other39

BreakingUpgrade verdict

3 breaking changes and a security fix.

  • Ruff now checks many more things out of the box, so upgrading may surface many new warnings. A few previously default checks are no longer on by default.
  • Running the formatter now also reformats Python snippets inside Markdown files unless you turn this off.
  • Tools that parse Ruff's JSON output may now receive null instead of empty strings or 1:1 positions for some fields.
  • The language server no longer runs uv format in workspaces it does not trust.
4 items need code or config changes
Breaking3
Enables 413 rules by default (up from 59), while removing 18 opinionated pycodestyle and pyflakes rules from the default set.
E401E402E701E702E703E711E712E713
Formats Python code blocks in Markdown files by default.
JSON output fields filename, location, end_location, and fix edit locations may now be null.
filenamelocationend_locationfix.edits[].locationfix.edits[].end_location
Security1
Avoids running uv format in untrusted workspaces.
uv format