Change8

0.12.12

📦 ruffView on GitHub →
8 features🐛 5 fixes🔧 10 symbols

Summary

Ruff 0.12.12 introduces default display of fixes, several new and adjusted linting rules (including Airflow schedule conversion and a blocking‑input rule), and a collection of bug fixes and documentation updates.

✨ New Features

  • Show fixes by default.
  • Convert `DatasetOrTimeSchedule(datasets=…)` to `AssetOrTimeSchedule(assets=…)` (AIR311).
  • Improved `AIR002` error message.
  • Moved `airflow.operators.postgres_operator.Mapping` from `AIR302` to `AIR301`.
  • Implemented `blocking-input` rule (`ASYNC250`) for flake8-async.
  • Marked `PTH119` and `PTH120` fixes as unsafe because they can change behavior.
  • Added U+061C to `PLE2502` for pylint.
  • Preserve return type annotation for `ParamSpec` in `E731` rule.

🐛 Bug Fixes

  • Less confidently mark f-strings as empty when inferring truthiness.
  • Fixed false positive for FastAPI paths with spaces around parameters (`FAST003`).
  • Skipped `C417` when lambda contains `yield`/`yield from` in flake8-comprehensions.
  • Handled tuples in dictionary comprehensions for perflint (`PERF403`).
  • Fixed false negative for empty f-strings in `deque` calls (`RUF037`).

🔧 Affected Symbols

airflow.operators.postgres_operator.MappingDatasetOrTimeScheduleAssetOrTimeScheduleblocking-input rule (ASYNC250)PTH119PTH120PLE2502RUF037E731ParamSpec