|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 0.15.1 |
| 4 | + |
| 5 | +Released on 2026-02-12. |
| 6 | + |
| 7 | +### Preview features |
| 8 | + |
| 9 | +- \[`airflow`\] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (`AIR321`) ([#22376](https://github.com/astral-sh/ruff/pull/22376)) |
| 10 | +- \[`airflow`\] Third positional parameter not named `ti_key` should be flagged for `BaseOperatorLink.get_link` (`AIR303`) ([#22828](https://github.com/astral-sh/ruff/pull/22828)) |
| 11 | +- \[`flake8-gettext`\] Fix false negatives for plural argument of `ngettext` (`INT001`, `INT002`, `INT003`) ([#21078](https://github.com/astral-sh/ruff/pull/21078)) |
| 12 | +- \[`pyflakes`\] Fix infinite loop in preview fix for `unused-import` (`F401`) ([#23038](https://github.com/astral-sh/ruff/pull/23038)) |
| 13 | +- \[`pygrep-hooks`\] Detect non-existent mock methods in standalone expressions (`PGH005`) ([#22830](https://github.com/astral-sh/ruff/pull/22830)) |
| 14 | +- \[`pylint`\] Allow dunder submodules and improve diagnostic range (`PLC2701`) ([#22804](https://github.com/astral-sh/ruff/pull/22804)) |
| 15 | +- \[`pyupgrade`\] Improve diagnostic range for tuples (`UP024`) ([#23013](https://github.com/astral-sh/ruff/pull/23013)) |
| 16 | +- \[`refurb`\] Check subscripts in tuple do not use lambda parameters in `reimplemented-operator` (`FURB118`) ([#23079](https://github.com/astral-sh/ruff/pull/23079)) |
| 17 | +- \[`ruff`\] Detect mutable defaults in `field` calls (`RUF008`) ([#23046](https://github.com/astral-sh/ruff/pull/23046)) |
| 18 | +- \[`ruff`\] Ignore std `cmath.inf` (`RUF069`) ([#23120](https://github.com/astral-sh/ruff/pull/23120)) |
| 19 | +- \[`ruff`\] New rule `float-equality-comparison` (`RUF069`) ([#20585](https://github.com/astral-sh/ruff/pull/20585)) |
| 20 | +- Don't format unlabeled Markdown code blocks ([#23106](https://github.com/astral-sh/ruff/pull/23106)) |
| 21 | +- Markdown formatting support in LSP ([#23063](https://github.com/astral-sh/ruff/pull/23063)) |
| 22 | +- Support Quarto Markdown language markers ([#22947](https://github.com/astral-sh/ruff/pull/22947)) |
| 23 | +- Support formatting `pycon` Markdown code blocks ([#23112](https://github.com/astral-sh/ruff/pull/23112)) |
| 24 | +- Use extension mapping to select Markdown code block language ([#22934](https://github.com/astral-sh/ruff/pull/22934)) |
| 25 | + |
| 26 | +### Bug fixes |
| 27 | + |
| 28 | +- Avoid false positive for undefined variables in `FAST001` ([#23224](https://github.com/astral-sh/ruff/pull/23224)) |
| 29 | +- Avoid introducing syntax errors for `FAST003` autofix ([#23227](https://github.com/astral-sh/ruff/pull/23227)) |
| 30 | +- Avoid suggesting `InitVar` for `__post_init__` that references PEP 695 type parameters ([#23226](https://github.com/astral-sh/ruff/pull/23226)) |
| 31 | +- Deduplicate type variables in generic functions ([#23225](https://github.com/astral-sh/ruff/pull/23225)) |
| 32 | +- Fix exception handler parenthesis removal for Python 3.14+ ([#23126](https://github.com/astral-sh/ruff/pull/23126)) |
| 33 | +- Fix f-string middle panic when parsing t-strings ([#23232](https://github.com/astral-sh/ruff/pull/23232)) |
| 34 | +- Wrap `RUF020` target for multiline fixes ([#23210](https://github.com/astral-sh/ruff/pull/23210)) |
| 35 | +- Wrap `UP007` target for multiline fixes ([#23208](https://github.com/astral-sh/ruff/pull/23208)) |
| 36 | +- Fix missing diagnostics for last range suppression in file ([#23242](https://github.com/astral-sh/ruff/pull/23242)) |
| 37 | +- \[`pyupgrade`\] Fix syntax error on string with newline escape and comment (`UP037`) ([#22968](https://github.com/astral-sh/ruff/pull/22968)) |
| 38 | + |
| 39 | +### Rule changes |
| 40 | + |
| 41 | +- Use `ruff` instead of `Ruff` as the program name in GitHub output format ([#23240](https://github.com/astral-sh/ruff/pull/23240)) |
| 42 | +- \[`PT006`\] Fix syntax error when unpacking nested tuples in `parametrize` fixes (#22441) ([#22464](https://github.com/astral-sh/ruff/pull/22464)) |
| 43 | +- \[`airflow`\] Catch deprecated attribute access from context key for Airflow 3.0 (`AIR301`) ([#22850](https://github.com/astral-sh/ruff/pull/22850)) |
| 44 | +- \[`airflow`\] Capture deprecated arguments and a decorator (`AIR301`) ([#23170](https://github.com/astral-sh/ruff/pull/23170)) |
| 45 | +- \[`flake8-boolean-trap`\] Add `multiprocessing.Value` to excluded functions for `FBT003` ([#23010](https://github.com/astral-sh/ruff/pull/23010)) |
| 46 | +- \[`flake8-bugbear`\] Add a secondary annotation showing the previous occurrence (`B033`) ([#22634](https://github.com/astral-sh/ruff/pull/22634)) |
| 47 | +- \[`flake8-type-checking`\] Add sub-diagnostic showing the runtime use of an annotation (`TC004`) ([#23091](https://github.com/astral-sh/ruff/pull/23091)) |
| 48 | +- \[`isort`\] Support configurable import section heading comments ([#23151](https://github.com/astral-sh/ruff/pull/23151)) |
| 49 | +- \[`ruff`\] Improve the diagnostic for `RUF012` ([#23202](https://github.com/astral-sh/ruff/pull/23202)) |
| 50 | + |
| 51 | +### Formatter |
| 52 | + |
| 53 | +- Suppress diagnostic output for `format --check --silent` ([#17736](https://github.com/astral-sh/ruff/pull/17736)) |
| 54 | + |
| 55 | +### Documentation |
| 56 | + |
| 57 | +- Add tabbed shell completion documentation ([#23169](https://github.com/astral-sh/ruff/pull/23169)) |
| 58 | +- Explain how to enable Markdown formatting for pre-commit hook ([#23077](https://github.com/astral-sh/ruff/pull/23077)) |
| 59 | +- Fixed import in `runtime-evaluated-decorators` example ([#23187](https://github.com/astral-sh/ruff/pull/23187)) |
| 60 | +- Update ruff server contributing guide ([#23060](https://github.com/astral-sh/ruff/pull/23060)) |
| 61 | + |
| 62 | +### Other changes |
| 63 | + |
| 64 | +- Exclude WASM artifacts from GitHub releases ([#23221](https://github.com/astral-sh/ruff/pull/23221)) |
| 65 | + |
| 66 | +### Contributors |
| 67 | + |
| 68 | +- [@mkniewallner](https://github.com/mkniewallner) |
| 69 | +- [@bxff](https://github.com/bxff) |
| 70 | +- [@dylwil3](https://github.com/dylwil3) |
| 71 | +- [@Avasam](https://github.com/Avasam) |
| 72 | +- [@amyreese](https://github.com/amyreese) |
| 73 | +- [@charliermarsh](https://github.com/charliermarsh) |
| 74 | +- [@Alex-ley-scrub](https://github.com/Alex-ley-scrub) |
| 75 | +- [@Kalmaegi](https://github.com/Kalmaegi) |
| 76 | +- [@danparizher](https://github.com/danparizher) |
| 77 | +- [@AiyionPrime](https://github.com/AiyionPrime) |
| 78 | +- [@eureka928](https://github.com/eureka928) |
| 79 | +- [@11happy](https://github.com/11happy) |
| 80 | +- [@Jkhall81](https://github.com/Jkhall81) |
| 81 | +- [@chirizxc](https://github.com/chirizxc) |
| 82 | +- [@leandrobbraga](https://github.com/leandrobbraga) |
| 83 | +- [@tvatter](https://github.com/tvatter) |
| 84 | +- [@anishgirianish](https://github.com/anishgirianish) |
| 85 | +- [@shaanmajid](https://github.com/shaanmajid) |
| 86 | +- [@ntBre](https://github.com/ntBre) |
| 87 | +- [@sjyangkevin](https://github.com/sjyangkevin) |
| 88 | + |
3 | 89 | ## 0.15.0 |
4 | 90 |
|
5 | 91 | Released on 2026-02-03. |
|
0 commit comments