ruff/CHANGELOG.md

23 KiB

Changelog

0.14.9

Released on 2025-12-11.

Preview features

  • `ruff`
  • `pylint`

Bug fixes

  • Fix comment placement in lambda parameters (#21868)
  • Skip over trivia tokens after re-lexing (#21895)
  • `flake8-bandit`
  • `flake8-bugbear`

Rule changes

  • `pydocstyle`

Performance

  • Use memchr for computing line indexes (#21838)

Documentation

  • Document *.pyw is included by default in preview (#21885)
  • Document range suppressions, reorganize suppression docs (#21884)
  • Update mkdocs-material to 9.7.0 (Insiders now free) (#21797)

Contributors

0.14.8

Released on 2025-12-04.

Preview features

  • `flake8-bugbear`
  • `flake8-use-pathlib`

Bug fixes

  • Fix syntax error false positives for await outside functions (#21763)
  • `flake8-simplify`

Documentation

  • Suggest using --output-file option in GitLab integration (#21706)

Other changes

  • [syntax-error] Default type parameter followed by non-default type parameter (#21657)

Contributors

0.14.7

Released on 2025-11-28.

Preview features

  • `flake8-bandit`
  • `pylint`
  • `pylint`
  • `ruff`
  • `ruff`

Bug fixes

  • [server] Set severity for non-rule diagnostics (#21559)
  • `flake8-implicit-str-concat`
  • `parser`

CLI

  • Show partial fixability indicator in statistics output (#21513)

Contributors

0.14.6

Released on 2025-11-21.

Preview features

  • `flake8-bandit`

Bug fixes

  • Adjust own-line comment placement between branches (#21185)
  • Avoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (#20418)
  • Fix panic when formatting comments in unary expressions (#21501)
  • Respect fmt: skip for compound statements on a single line (#20633)
  • `refurb`
  • `ruff`

Rule changes

  • `ruff`

CLI

  • Render hyperlinks for lint errors (#21514)
  • Add a ruff analyze option to skip over imports in TYPE_CHECKING blocks (#21472)

Documentation

  • Limit eglot-format hook to eglot-managed Python buffers (#21459)
  • Mention force-exclude in "Configuration > Python file discovery" (#21500)

Contributors

0.14.5

Released on 2025-11-13.

Preview features

  • `flake8-simplify`
  • `pydoclint`
  • `pydoclint`
  • `refurb`
  • `ruff`

Bug fixes

  • Fix syntax error false positive on alternative match patterns (#21362)
  • `flake8-simplify`
  • `pyupgrade`
  • `pyupgrade`

Rule changes

  • `refurb`

CLI

  • Add option to provide a reason to --add-noqa (#21294)
  • Add upstream linter URL to ruff linter --output-format=json (#21316)
  • Add color to --help (#21337)

Documentation

  • Add a new "Opening a PR" section to the contribution guide (#21298)
  • Added the PyScripter IDE to the list of "Who is using Ruff?" (#21402)
  • Update PyCharm setup instructions (#21409)
  • `flake8-annotations`

Other changes

  • `configuration`

Contributors

0.14.4

Released on 2025-11-06.

Preview features

  • [formatter] Allow newlines after function headers without docstrings (#21110)
  • [formatter] Avoid extra parentheses for long match patterns with as captures (#21176)
  • `refurb`
  • `refurb`

Bug fixes

  • [server] Fix missing diagnostics for notebooks (#21156)
  • `flake8-bugbear`
  • `refurb`
  • `ruff`

Rule changes

  • `airflow`

Documentation

  • Improve extend docs (#21135)
  • `flake8-comprehensions`
  • Revise Ruff setup instructions for Zed editor (#20935)

Other changes

  • Make ruff analyze graph work with jupyter notebooks (#21161)

Contributors

0.14.3

Released on 2025-10-30.

Preview features

  • Respect --output-format with --watch (#21097)
  • `pydoclint`
  • `pyflakes`
  • `pylint`
  • `ruff`

Bug fixes

  • Fix finding keyword range for clause header after statement ending with semicolon (#21067)
  • Fix syntax error false positive on nested alternative patterns (#21104)
  • `ISC001`
  • `flake8-django`
  • `flake8-pyi`
  • `flake8-type-checking`
  • `pyflakes`
  • `pyupgrade`

Rule changes

  • Add missing docstring sections to the numpy list (#20931)
  • `airflow`
  • `airflow`
  • `refurb`

Server

  • Avoid sending an unnecessary "clear diagnostics" message for clients supporting pull diagnostics (#21105)

Documentation

  • `flake8-bandit`

Other changes

  • Clearer error message when line-length goes beyond threshold (#21072)

Contributors

0.14.2

Released on 2025-10-23.

Preview features

  • `flake8-gettext`

Bug fixes

  • Avoid reusing nested, interpolated quotes before Python 3.12 (#20930)
  • Catch syntax errors in nested interpolations before Python 3.12 (#20949)
  • `fastapi`
  • `flake8-simplify`
  • `pyupgrade`
  • `pyupgrade`
  • `fastapi`

Rule changes

  • `flake8-bugbear`
  • `ruff`

CLI

  • Improve JSON output from ruff rule (#20168)

Documentation

  • Add source to testimonial (#20971)
  • Document when a rule was added (#21035)

Other changes

  • [syntax-errors] Name is parameter and global (#20426)
  • [syntax-errors] Alternative match patterns bind different names (#20682)

Contributors

0.14.1

Released on 2025-10-16.

Preview features

  • [formatter] Remove parentheses around multiple exception types on Python 3.14+ (#20768)
  • `flake8-bugbear`
  • `flake8-logging-format`
  • `pydoclint`
  • `pyupgrade`
  • `pyupgrade`

Bug fixes

  • Fix false negatives in Truthiness::from_expr for lambdas, generators, and f-strings (#20704)
  • Fix syntax error false positives for escapes and quotes in f-strings (#20867)
  • Fix syntax error false positives on parenthesized context managers (#20846)
  • `fastapi`
  • `flake8-pyi`
  • `ruff`

Rule changes

  • `airflow`
  • `flake8-bugbear`
  • Use DiagnosticTag for more rules - changes display in editors (#20758,#20734)

Documentation

  • Update Python compatibility from 3.13 to 3.14 in README.md (#20852)
  • Update lint.flake8-type-checking.quoted-annotations docs (#20765)
  • Update setup instructions for Zed 0.208.0+ (#20902)
  • `flake8-datetimez`
  • Fix typo in RUF015 description (#20873)

Other changes

  • Reduce binary size (#20863)
  • Improved error recovery for unclosed strings (including f- and t-strings) (#20848)

Contributors

0.14.0

Released on 2025-10-07.

Breaking changes

  • Update default and latest Python versions for 3.14 (#20725)

Preview features

  • `flake8-bugbear`
  • `refurb`
  • `ruff`

Bug fixes

  • `flake8-annotations`
  • `flynt`
  • `isort`
  • `ruff`
  • `ruff`
  • `ruff`

Documentation

  • `flake8-comprehensions`

Contributors

0.13.x

See changelogs/0.13.x

0.12.x

See changelogs/0.12.x

0.11.x

See changelogs/0.11.x

0.10.x

See changelogs/0.10.x

0.9.x

See changelogs/0.9.x

0.8.x

See changelogs/0.8.x

0.7.x

See changelogs/0.7.x

0.6.x

See changelogs/0.6.x

0.5.x

See changelogs/0.5.x

0.4.x

See changelogs/0.4.x

0.3.x

See changelogs/0.3.x

0.2.x

See changelogs/0.2.x

0.1.x

See changelogs/0.1.x