Upgrading ruff 0.15 to 0.16
Breaking0.15.22 → 0.16.10Breaking3Security1New25Changed34Fixed49Other39
BreakingUpgrade verdict
3 breaking changes and a security fix.
In plain terms
- 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.
Must act 4 items need code or config changes
What you must change
Breaking3
Enables 413 rules by default (up from 59), while removing 18 opinionated pycodestyle and pyflakes rules from the default set.
E401E402E701E702E703E711E712E713Formats 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_locationSecurity1
Avoids running uv format in untrusted workspaces.
uv format