Ruff is an extremely fast Python linter and code formatter, written in Rust, used to check code style and run automated fixes. It can lint and format Python code from the command line, and it supports configuration via pyproject.toml and editor integrations (for example, VS Code).
Project status
- Ruff appears actively maintained, with an upstream push on 2026-06-08 and multiple recent version updates in the 0.15.x line.
- The apparent update cadence is fairly steady, moving from 0.15.14 (2026-05-21) to 0.15.15 (2026-05-28) and then to 0.15.16 (2026-06-04), suggesting about weekly updates.
AI summary generated Today
Recent updates
0.15.16
4 days agoRuff 0.15.16 adds new preview linting for flake8-async ASYNC119 (yield inside a context manager within an async generator) and a new preview change for flake8-async terminal-loop behavior. It also includes a set of targeted bug fixes across eradicate, pyflakes, pylint, and pyupgrade, plus some parsing performance improvements.
Features0.15.15
1 week agoRuff 0.15.15 primarily focuses on a set of preview and bug fix updates, along with formatter and server improvements. The release notes also call out several performance and memory optimizations in the lexer and AST, plus documentation adjustments for linting rule edge cases.
Features0.15.14
2 weeks agoRuff 0.15.14 primarily delivers new preview linter rules (notably RUF075 and AIR202) plus a set of rule fixes and configuration-related bug fixes. The release notes also mention broader infrastructure work like full PEP 798 support and adding a parser recursion limit, alongside some performance and documentation updates.
Features0.15.13
3 weeks agoRuff 0.15.13 adds preview linting for catching lazy imports that are eagerly evaluated, along with several targeted bug fixes and improved diagnostics output. It also updates CLI messaging and configuration behavior, including increasing the maximum allowed `line-length` value. The diff shows additional internal API and output-format changes that are not mentioned in the release notes.
Features0.15.12
1 month agoRuff 0.15.12 adds new preview-mode Airflow rule AIR004 (task-branch-as-short-circuit), plus several preview improvements around suppression directives. It also updates cache file handling so cache files respect default Unix permissions. Most other changes in the release notes are rule behavior tweaks and documentation/accessibility updates.
Features0.15.11
1 month agoruff 0.15.11 primarily adds and refines rule behavior behind preview features, including a new Airflow rule (AIR201) and improved flake8-bandit mask analysis. It also includes a flake8-async bug fix for ASYNC109 plus some documentation updates. While the release notes focus on lint-rule behavior, the code diff shows several significant internal API and behavior changes that are not mentioned.
Features0.15.10
2 months agoRuff 0.15.10 rolls out several preview and rule-related changes, mainly around the flake8-logging and flake8-self rule sets, plus a server enhancement. The release notes also include multiple formatting and linting bug fixes (especially around f-strings and indentation handling) and one rule change (RUF019) treating f-string interpolation as a potential side effect.
Features0.15.9
2 months agoRuff 0.15.9 primarily contains lint rule fixes, some preview feature behavior tweaks, and a new formatter option for nested string quote styling. It also includes a small rendering change to avoid trailing whitespace in diff-style fix output. However, the code diff shows at least one significant internal API removal that is not mentioned in the release notes.
Features0.15.8
2 months agoRuff 0.15.8 adds several new preview lint rules (unnecessary-if, useless-finally, f-string-percent-format), plus a bug fix to graph analysis that resolves string imports that reference attributes. It also includes a performance improvement for diagnostic rendering and a server-side warning when Markdown files are skipped due to preview being disabled.
Features0.15.7
2 months agoRuff 0.15.7 focuses on preview behavior and a few rule and server behavior tweaks, plus some documentation updates. The release notes mention preview severity display, suppressing certain UI elements for non-Python documents, and recognizing the `pyrefly:` pragma form.
Features