A Astral lançou o Ruff v0.16.0 em 23 de julho, aumentando o conjunto de regras ativadas por padrão de 59 para 413 — um salto de 7× que não havia mudado desde a v0.1.0. A biblioteca total de regras também cresceu de 708 para 968. Times com dependências ruff dev não fixadas já estão vendo pipelines de CI falharem em problemas previamente ignorados: Simon Willison relatou 1.618 violações apenas no sqlite-utils na primeira execução, cobrindo categorias como capturas bare-except, chamadas datetime sem fuso horário e acessos de atributo inúteis.
A expansão é deliberadamente amigável a agentes. A Astral — agora operando sob a OpenAI — estrutura cada diagnóstico com contexto suficiente (código da regra, caminho do arquivo, intervalo de linhas, dica de correção em linguagem clara) para que ferramentas de codificação IA possam consumir e remediar a saída diretamente. Willison usou o OpenAI Codex (GPT-5.6 Sol) no LLM e sqlite-utils e Claude Code (Opus 5) no Datasette para aplicar correções em massa, com o comando `uvx ruff@latest check . --fix --unsafe-fixes` lidando com a maioria das mudanças mecânicas automaticamente.
Outras adições notáveis na v0.16: o Ruff agora pode formatar blocos de código Python incorporados em arquivos Markdown (relevante para exemplos de README e cadernos Quarto); uma nova sintaxe de comentário `ruff: ignore` complementa o estilo mais antigo `# noqa` com supressão em nível de intervalo e arquivo; e os comandos `check` e `format --check` agora renderizam diffs de correção inline em vez de exigir uma flag `--diff` separada. Times que desejam preservar o comportamento antigo podem fixar novamente com `select = ["E4", "E7", "E9", "F"]` em sua configuração do Ruff.