Ruff v0.16.0: Number of Default Rules Grows from 59 to 413
Astral
Astral has released version 0.16.0 of Ruff, a Python linting tool. The number of rules enabled by default has increased from 59 to 413, resulting in hundreds of new warnings in typical projects.
The company Astral has released version 0.16.0 of its Python linting tool Ruff. In the new version, 413 rules are enabled by default, compared to only 59 previously. The total number of rules in Ruff has grown from 708 to 968, and many of them are now active without additional configuration. The author of the note, Simon Willison, tested the new version on his projects (Datasette, sqlite-utils, LLM) and discovered hundreds of minor violations. To automatically fix most of the errors, he used the command `uvx ruff@latest check . --fix --unsafe-fixes`. In sqlite-utils, 1618 errors were found, of which 1538 were automatically fixed, leaving 80. Examples of remaining errors include calling `datetime.datetime.now()` without the `tz` argument, blind exception catching of `Exception`, and useless attribute access. To fix the remaining issues, the author used Codex (GPT-5.6 Sol high) and Claude Code (Opus 5).
Source: Simon Willison —
original
