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