Change8

0.9.2

📦 ruffView on GitHub →
13 features🐛 9 fixes🔧 21 symbols

Summary

Ruff 0.9.2 introduces numerous preview features, rule enhancements, formatter and server improvements, and a collection of bug fixes, while removing the deprecated "flatten" configuration option.

Migration Steps

  1. Remove any usage of the "flatten" configuration option, as it has been eliminated.

✨ New Features

  • Fix typo "security_managr" to "security_manager" in the airflow plugin (AIR303).
  • Extend and fix AIR302 rules for the airflow plugin.
  • FastAPI plugin now correctly handles parameters with Depends (FAST003).
  • flake8-pytest-style now implements pytest.warns diagnostics (PT029, PT030, PT031).
  • flake8-pytest-style now supports test function parameters with default arguments (PT028).
  • flake8-type-checking avoids false positives for the "|" operator in TC008.
  • flake8-todos now allows VSCode GitHub PR extension style links in missing-todo-link (TD003).
  • pyflakes now shows a syntax error message for F722.
  • Formatter now correctly spaces curly brackets around f-string expressions containing curly braces.
  • Formatter now correctly joins f-strings with different quotes when using the Preserve quote style.
  • Server avoids indexing the same workspace multiple times.
  • Server now displays context for ruff.configuration errors.
  • Configuration option "flatten" removed to improve deserialization error messages.

🐛 Bug Fixes

  • Formatter fixed curly bracket spacing around f-string expressions containing curly braces.
  • Formatter fixed joining of f-strings with different quotes when using quote style Preserve.
  • Server fixed indexing the same workspace multiple times.
  • Server fixed display of context for ruff.configuration errors.
  • Parser now treats triple-quoted string annotations as if they were parenthesized.
  • FastAPI plugin updated Annotated handling (FAST002).
  • flake8-bandit now checks for "builtins" instead of "builtin" (S102, PTH123).
  • flake8-pathlib fixed --select handling for os-path-dirname (PTH120).
  • Ruff fixed false positive detection of the global keyword (RUF052).

🔧 Affected Symbols

airflow.security_managerairflow.AIR302fastapi.FAST003fastapi.FAST002flake8_pytest_style.PT028flake8_pytest_style.PT029flake8_pytest_style.PT030flake8_pytest_style.PT031flake8_type_checking.TC008flake8_todos.TD003pyflakes.F722ruff.formatter.f_string_spacingruff.formatter.f_string_joinruff.server.workspace_indexingruff.server.configuration_contextruff.configuration.flattenruff.triple_quoted_annotation_parsingflake8_bandit.S102flake8_bandit.PTH123flake8_pathlib.PTH120ruff.RUF052