July 26, 2026

Lint roller? More like lint police

Ruff v0.16.0 – Significant new updates – 413 default rules up from 59

Python’s favorite cleanup tool just got way stricter — and the comments are loving it

TLDR: Ruff’s new release now catches far more Python mistakes by default, jumping from 59 checks to 413, while also adding handy formatting upgrades. The community is mostly thrilled, but some are joking that the tool has become a strict hall monitor — and asking why it still isn’t version 1.0.

The big headline is simple: Ruff, the ultra-fast tool people use to clean up and check Python code, just cranked its default warnings from 59 to 413. In plain English, that means it now catches way more mistakes out of the box, with far less setup. And the community reaction? A mix of cheering, panic, and nerdy side-eye. One happy user basically said this is exactly what the age of AI-generated code needs: stronger guardrails before bots and humans dump messy code into production. Another celebrated that “most projects get useful linting without touching the config at all,” which is basically the software equivalent of buying furniture that arrives already assembled.

But of course, no update thread is complete without a little drama. One commenter ran the new version on a file with no custom settings and immediately got called out for unsorted imports and using “except Exception” — a catch-all error handler many developers treat like a guilty secret. Meanwhile, another commenter was having a full-on existential crisis over version numbers, joking, “Why must my poor semver be hurt so!” because Ruff is still technically below version 1.0 despite acting like a grown-up app that already replaced a whole drawer full of older tools.

There was also a side plot: people are relieved Ruff’s sibling tools are still being updated even after Astral’s OpenAI acquisition. Add in new tricks like formatting Python snippets inside Markdown files, and the vibe is clear: Ruff got louder, stricter, and somehow even more popular.

Key Points

  • Ruff v0.16.0 has been released and is available through PyPI and package managers.
  • The release raises Ruff’s default enabled lint rules from 59 to 413.
  • Ruff’s total rule count has grown to 968, and the article says many newly defaulted rules catch severe issues such as syntax and immediate runtime errors.
  • Ruff v0.16 can now format Python code blocks embedded in Markdown files, including several Python-related fenced code block types.
  • The release adds `ruff: ignore` suppression comments and builds on the `ruff: disable` / `ruff: enable` range suppression introduced in v0.15.

Hottest takes

"Why. Why must my poor semver be hurt so!" — bbor
"enabling 413 rules by default means most projects get useful linting without touching the config at all!" — hyeongjun
"it flags unsorted imports and `except Exception` by default now" — vanyaland
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.
Ruff v0.16.0 – Significant new updates – 413 default rules up from 59 - Weaving News | Weaving News