|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 0.15.14 |
| 4 | + |
| 5 | +Released on 2026-05-21. |
| 6 | + |
| 7 | +### Preview features |
| 8 | + |
| 9 | +- \[`airflow`\] Implement `airflow-task-implicit-multiple-outputs` (`AIR202`) ([#25152](https://github.com/astral-sh/ruff/pull/25152)) |
| 10 | +- \[`flake8-use-pathlib`\] Mark `PTH101` fix as unsafe when first argument is a class attribute annotated as `int` ([#25086](https://github.com/astral-sh/ruff/pull/25086)) |
| 11 | +- \[`pylint`\] Implement `too-many-try-statements` (`W0717`) ([#23970](https://github.com/astral-sh/ruff/pull/23970)) |
| 12 | +- \[`ruff`\] Add `incorrect-decorator-order` (`RUF074`) ([#23461](https://github.com/astral-sh/ruff/pull/23461)) |
| 13 | +- \[`ruff`\] Add `fallible-context-manager` (`RUF075`) ([#22844](https://github.com/astral-sh/ruff/pull/22844)) |
| 14 | + |
| 15 | +### Bug fixes |
| 16 | + |
| 17 | +- Fix lambda formatting in interpolated string expressions ([#25144](https://github.com/astral-sh/ruff/pull/25144)) |
| 18 | +- Treat generic `frozenset` annotations as immutable ([#25251](https://github.com/astral-sh/ruff/pull/25251)) |
| 19 | +- \[`flake8-type-checking`\] Avoid `strict` behavior when `future-annotations` are enabled (`TC001`, `TC002`, `TC003`) ([#25035](https://github.com/astral-sh/ruff/pull/25035)) |
| 20 | +- \[`pylint`\] Avoid false positives in `else` clause (`PLR1733`) ([#25177](https://github.com/astral-sh/ruff/pull/25177)) |
| 21 | + |
| 22 | +### Rule changes |
| 23 | + |
| 24 | +- \[`flake8-comprehensions`\] Skip `C417` for lambdas with positional-only parameters ([#25272](https://github.com/astral-sh/ruff/pull/25272)) |
| 25 | +- \[`flake8-simplify`\] Preserve f-string source verbatim in `SIM101` fix ([#25061](https://github.com/astral-sh/ruff/pull/25061)) |
| 26 | + |
| 27 | +### Performance |
| 28 | + |
| 29 | +- Avoid unnecessary parser lookahead for operators ([#25290](https://github.com/astral-sh/ruff/pull/25290)) |
| 30 | + |
| 31 | +### Documentation |
| 32 | + |
| 33 | +- Update code example setting Neovim LSP log level ([#25284](https://github.com/astral-sh/ruff/pull/25284)) |
| 34 | + |
| 35 | +### Other changes |
| 36 | + |
| 37 | +- Add full PEP 798 support ([#25104](https://github.com/astral-sh/ruff/pull/25104)) |
| 38 | +- Add a parser recursion limit ([#24810](https://github.com/astral-sh/ruff/pull/24810)) |
| 39 | +- Update various `ruff_python_stdlib` APIs ([#25273](https://github.com/astral-sh/ruff/pull/25273)) |
| 40 | + |
| 41 | +### Contributors |
| 42 | + |
| 43 | +- [@ocaballeror](https://github.com/ocaballeror) |
| 44 | +- [@lerebear](https://github.com/lerebear) |
| 45 | +- [@samuelcolvin](https://github.com/samuelcolvin) |
| 46 | +- [@baltasarblanco](https://github.com/baltasarblanco) |
| 47 | +- [@aconal-com](https://github.com/aconal-com) |
| 48 | +- [@anishgirianish](https://github.com/anishgirianish) |
| 49 | +- [@JelleZijlstra](https://github.com/JelleZijlstra) |
| 50 | +- [@AlexWaygood](https://github.com/AlexWaygood) |
| 51 | +- [@ntBre](https://github.com/ntBre) |
| 52 | +- [@adityasingh2400](https://github.com/adityasingh2400) |
| 53 | +- [@charliermarsh](https://github.com/charliermarsh) |
| 54 | +- [@Dev-iL](https://github.com/Dev-iL) |
| 55 | +- [@neutrinoceros](https://github.com/neutrinoceros) |
| 56 | +- [@shivamtiwari3](https://github.com/shivamtiwari3) |
| 57 | +- [@Dev-X25874](https://github.com/Dev-X25874) |
| 58 | + |
3 | 59 | ## 0.15.13 |
4 | 60 |
|
5 | 61 | Released on 2026-05-14. |
|
0 commit comments