Release Notes
Released on 2025-10-16.
Preview features
- [formatter] Remove parentheses around multiple exception types on Python 3.14+ (#20768)
- [
flake8-bugbear
] Omit annotation in preview fix forB006
(#20877) - [
flake8-logging-format
] Avoid dropping implicitly concatenated pieces in theG004
fix (#20793) - [
pydoclint
] Implementdocstring-extraneous-parameter
(DOC102
) (#20376) - [
pyupgrade
] ExtendUP019
to detecttyping_extensions.Text
(UP019
) (#20825) - [
pyupgrade
] Fix false negative forTypeVar
with default argument innon-pep695-generic-class
(UP046
) (#20660)
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
] Fix false positives for path parameters that FastAPI doesn't recognize (FAST003
) (#20687) - [
flake8-pyi
] Fix operator precedence by adding parentheses when needed (PYI061
) (#20508) - [
ruff
] Suppress diagnostic for f-string interpolations with debug text (RUF010
) (#20525)
Rule changes
- [
airflow
] Add warning toairflow.datasets.DatasetEvent
usage (AIR301
) (#20551) - [
flake8-bugbear
] MarkB905
andB912
fixes as unsafe (#20695) - 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
] Clarify docs for several rules (#20778) - 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
- @ntBre
- @Paillat-dev
- @terror
- @pieterh-oai
- @MichaReiser
- @TaKO8Ki
- @ageorgou
- @danparizher
- @mgaitan
- @augustelalande
- @dylwil3
- @Lee-W
- @injust
- @CarrotManMatt
Install ruff 0.14.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.1/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.1/ruff-installer.ps1 | iex"