Astral lanzó Ruff v0.16.0 el 23 de julio, aumentando el conjunto de reglas habilitadas por defecto de 59 a 413 — un salto de 7× que no había cambiado desde v0.1.0. La biblioteca total de reglas también creció de 708 a 968. Los equipos con dependencias ruff dev sin fijar ya están viendo pipelines de CI fallar en problemas previamente ignorados: Simon Willison reportó 1.618 violaciones solo en sqlite-utils en la primera ejecución, cubriendo categorías como capturas bare-except, llamadas datetime sin zona horaria y accesos de atributo inútiles.
La expansión es deliberadamente amigable con agentes. Astral — ahora operando bajo OpenAI — estructura cada diagnóstico con contexto suficiente (código de regla, ruta del archivo, rango de líneas, sugerencia de corrección en lenguaje natural) para que las herramientas de codificación IA puedan consumir y remediar la salida directamente. Willison utilizó OpenAI Codex (GPT-5.6 Sol) en LLM y sqlite-utils y Claude Code (Opus 5) en Datasette para aplicar correcciones en masa, con el comando `uvx ruff@latest check . --fix --unsafe-fixes` manejando la mayoría de los cambios mecánicos automáticamente.
Otras adiciones notables en v0.16: Ruff ahora puede formatear bloques de código Python incrustados en archivos Markdown (relevante para ejemplos de README y cuadernos Quarto); una nueva sintaxis de comentario `ruff: ignore` complementa el estilo más antiguo `# noqa` con supresión a nivel de rango y archivo; y los comandos `check` y `format --check` ahora representan diffs de correcciones en línea en lugar de requerir una bandera `--diff` separada. Los equipos que deseen preservar el comportamiento antiguo pueden fijar con `select = ["E4", "E7", "E9", "F"]` en su configuración de Ruff.