Skip to content

Conversation

@smartway-bot
Copy link
Contributor

@smartway-bot smartway-bot bot commented Oct 20, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ruff (source, changelog) ^0.13.1 -> ^0.14.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

astral-sh/ruff (ruff)

v0.14.10

Compare Source

Released on 2025-12-18.

Preview features
  • [formatter] Fluent formatting of method chains (#​21369)
  • [formatter] Keep lambda parameters on one line and parenthesize the body if it expands (#​21385)
  • [flake8-implicit-str-concat] New rule to prevent implicit string concatenation in collections (ISC004) (#​21972)
  • [flake8-use-pathlib] Make fixes unsafe when types change in compound statements (PTH104, PTH105, PTH109, PTH115) (#​22009)
  • [refurb] Extend support for Path.open (FURB101, FURB103) (#​21080)
Bug fixes
  • [pyupgrade] Fix parsing named Unicode escape sequences (UP032) (#​21901)
Rule changes
  • [eradicate] Ignore ruff:disable and ruff:enable comments in ERA001 (#​22038)
  • [flake8-pytest-style] Allow match and check keyword arguments without an expected exception type (PT010) (#​21964)
  • [syntax-errors] Annotated name cannot be global (#​20868)
Documentation
  • Add uv and ty to the Ruff README (#​21996)
  • Document known lambda formatting deviations from Black (#​21954)
  • Update setup.md (#​22024)
  • [flake8-bandit] Fix broken link (S704) (#​22039)
Other changes
  • Fix playground Share button showing "Copied!" before clipboard copy completes (#​21942)
Contributors

v0.14.9

Compare Source

Released on 2025-12-11.

Preview features
  • [ruff] New RUF100 diagnostics for unused range suppressions (#​21783)
  • [pylint] Detect subclasses of builtin exceptions (PLW0133) (#​21382)
Bug fixes
  • Fix comment placement in lambda parameters (#​21868)
  • Skip over trivia tokens after re-lexing (#​21895)
  • [flake8-bandit] Fix false positive when using non-standard CSafeLoader path (S506). (#​21830)
  • [flake8-bugbear] Accept immutable slice default arguments (B008) (#​21823)
Rule changes
  • [pydocstyle] Suppress D417 for parameters with Unpack annotations (#​21816)
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

v0.14.8

Compare Source

Released on 2025-12-04.

Preview features
  • [flake8-bugbear] Catch yield expressions within other statements (B901) (#​21200)
  • [flake8-use-pathlib] Mark fixes unsafe for return type changes (PTH104, PTH105, PTH109, PTH115) (#​21440)
Bug fixes
  • Fix syntax error false positives for await outside functions (#​21763)
  • [flake8-simplify] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (SIM222, SIM223) (#​21479)
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

v0.14.7

Compare Source

Released on 2025-11-28.

Preview features
  • [flake8-bandit] Handle string literal bindings in suspicious-url-open-usage (S310) (#​21469)
  • [pylint] Fix PLR1708 false positives on nested functions (#​21177)
  • [pylint] Fix suppression for empty dict without tuple key annotation (PLE1141) (#​21290)
  • [ruff] Add rule RUF066 to detect unnecessary class properties (#​21535)
  • [ruff] Catch more dummy variable uses (RUF052) (#​19799)
Bug fixes
  • [server] Set severity for non-rule diagnostics (#​21559)
  • [flake8-implicit-str-concat] Avoid invalid fix in (ISC003) (#​21517)
  • [parser] Fix panic when parsing IPython escape command expressions (#​21480)
CLI
  • Show partial fixability indicator in statistics output (#​21513)
Contributors

v0.14.6

Compare Source

Released on 2025-11-21.

Preview features
  • [flake8-bandit] Support new PySNMP API paths (S508, S509) (#​21374)
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] Fix FURB103 autofix (#​21454)
  • [ruff] Fix false positive for complex conversion specifiers in logging-eager-conversion (RUF065) (#​21464)
Rule changes
  • [ruff] Avoid false positive on ClassVar reassignment (RUF012) (#​21478)
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

v0.14.5

Compare Source

Released on 2025-11-13.

Preview features
  • [flake8-simplify] Apply SIM113 when index variable is of type int (#​21395)
  • [pydoclint] Fix false positive when Sphinx directives follow a "Raises" section (DOC502) (#​20535)
  • [pydoclint] Support NumPy-style comma-separated parameters (DOC102) (#​20972)
  • [refurb] Auto-fix annotated assignments (FURB101) (#​21278)
  • [ruff] Ignore str() when not used for simple conversion (RUF065) (#​21330)
Bug fixes
  • Fix syntax error false positive on alternative match patterns (#​21362)
  • [flake8-simplify] Fix false positive for iterable initializers with generator arguments (SIM222) (#​21187)
  • [pyupgrade] Fix false positive on relative imports from local .builtins module (UP029) (#​21309)
  • [pyupgrade] Consistently set the deprecated tag (UP035) (#​21396)
Rule changes
  • [refurb] Detect empty f-strings (FURB105) (#​21348)
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] Add link to allow-star-arg-any option (ANN401) (#​21326)
Other changes
  • [configuration] Improve error message when line-length exceeds u16::MAX (#​21329)
Contributors

v0.14.4

Compare Source

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] Expand fix safety for keyword arguments and Decimals (FURB164) (#​21259)
  • [refurb] Preserve argument ordering in autofix (FURB103) (#​20790)
Bug fixes
  • [server] Fix missing diagnostics for notebooks (#​21156)
  • [flake8-bugbear] Ignore non-NFKC attribute names in B009 and B010 (#​21131)
  • [refurb] Fix false negative for underscores before sign in Decimal constructor (FURB157) (#​21190)
  • [ruff] Fix false positives on starred arguments (RUF057) (#​21256)
Rule changes
  • [airflow] extend deprecated argument concurrency in airflow..DAG (AIR301) (#​21220)
Documentation
  • Improve extend docs (#​21135)
  • [flake8-comprehensions] Fix typo in C416 documentation (#​21184)
  • Revise Ruff setup instructions for Zed editor (#​20935)
Other changes
  • Make ruff analyze graph work with jupyter notebooks (#​21161)
Contributors

v0.14.3

Compare Source

Released on 2025-10-30.

Preview features
  • Respect --output-format with --watch (#​21097)
  • [pydoclint] Fix false positive on explicit exception re-raising (DOC501, DOC502) (#​21011)
  • [pyflakes] Revert to stable behavior if imports for module lie in alternate branches for F401 (#​20878)
  • [pylint] Implement stop-iteration-return (PLR1708) (#​20733)
  • [ruff] Add support for additional eager conversion patterns (RUF065) (#​20657)
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] Fix panic when string literals are unclosed (#​21034)
  • [flake8-django] Apply DJ001 to annotated fields (#​20907)
  • [flake8-pyi] Fix PYI034 to not trigger on metaclasses (PYI034) (#​20881)
  • [flake8-type-checking] Fix TC003 false positive with future-annotations (#​21125)
  • [pyflakes] Fix false positive for __class__ in lambda expressions within class definitions (F821) (#​20564)
  • [pyupgrade] Fix false positive for TypeVar with default on Python <3.13 (UP046,UP047) (#​21045)
Rule changes
  • Add missing docstring sections to the numpy list (#​20931)
  • [airflow] Extend airflow.models..Param check (AIR311) (#​21043)
  • [airflow] Warn that airflow....DAG.create_dagrun has been removed (AIR301) (#​21093)
  • [refurb] Preserve digit separators in Decimal constructor (FURB157) (#​20588)
Server
  • Avoid sending an unnecessary "clear diagnostics" message for clients supporting pull diagnostics (#​21105)
Documentation
  • [flake8-bandit] Fix correct example for S308 (#​21128)
Other changes
  • Clearer error message when line-length goes beyond threshold (#​21072)
Contributors

v0.14.2

Compare Source

Released on 2025-10-23.

Preview features
  • [flake8-gettext] Resolve qualified names and built-in bindings (INT001, INT002, INT003) (#​19045)
Bug fixes
  • Avoid reusing nested, interpolated quotes before Python 3.12 (#​20930)
  • Catch syntax errors in nested interpolations before Python 3.12 (#​20949)
  • [fastapi] Handle ellipsis defaults in FAST002 autofix (#​20810)
  • [flake8-simplify] Skip SIM911 when unknown arguments are present (#​20697)
  • [pyupgrade] Always parenthesize assignment expressions in fix for f-string (UP032) (#​21003)
  • [pyupgrade] Fix UP032 conversion for decimal ints with underscores (#​21022)
  • [fastapi] Skip autofix for keyword and __debug__ path params (FAST003) (#​20960)
Rule changes
  • [flake8-bugbear] Skip B905 and B912 for fewer than two iterables and no starred arguments (#​20998)
  • [ruff] Use DiagnosticTag for more pyflakes and pandas rules (#​20801)
CLI
  • Improve JSON output from ruff rule (#​20168)
Documentation
Other changes
  • [syntax-errors] Name is parameter and global (#​20426)
  • [syntax-errors] Alternative match patterns bind different names (#​20682)
Contributors

v0.14.1

Compare Source

Released on 2025-12-18.

Preview features
  • [formatter] Fluent formatting of method chains (#​21369)
  • [formatter] Keep lambda parameters on one line and parenthesize the body if it expands (#​21385)
  • [flake8-implicit-str-concat] New rule to prevent implicit string concatenation in collections (ISC004) (#​21972)
  • [flake8-use-pathlib] Make fixes unsafe when types change in compound statements (PTH104, PTH105, PTH109, PTH115) (#​22009)
  • [refurb] Extend support for Path.open (FURB101, FURB103) (#​21080)
Bug fixes
  • [pyupgrade] Fix parsing named Unicode escape sequences (UP032) (#​21901)
Rule changes
  • [eradicate] Ignore ruff:disable and ruff:enable comments in ERA001 (#​22038)
  • [flake8-pytest-style] Allow match and check keyword arguments without an expected exception type (PT010) (#​21964)
  • [syntax-errors] Annotated name cannot be global (#​20868)
Documentation
  • Add uv and ty to the Ruff README (#​21996)
  • Document known lambda formatting deviations from Black (#​21954)
  • Update setup.md (#​22024)
  • [flake8-bandit] Fix broken link (S704) (#​22039)
Other changes
  • Fix playground Share button showing "Copied!" before clipboard copy completes (#​21942)
Contributors

v0.14.0

Compare Source

Released on 2025-10-07.

Breaking changes
  • Update default and latest Python versions for 3.14 (#​20725)
Preview features
  • [flake8-bugbear] Include certain guaranteed-mutable expressions: tuples, generators, and assignment expressions (B006) (#​20024)
  • [refurb] Add fixes for FURB101 and FURB103 (#​20520)
  • [ruff] Extend FA102 with listed PEP 585-compatible APIs (#​20659)
Bug fixes
  • [flake8-annotations] Fix return type annotations to handle shadowed builtin symbols (ANN201, ANN202, ANN204, ANN205, ANN206) (#​20612)
  • [flynt] Fix f-string quoting for mixed quote joiners (FLY002) (#​20662)
  • [isort] Fix inserting required imports before future imports (I002) (#​20676)
  • [ruff] Handle argfile expansion errors gracefully (#​20691)
  • [ruff] Skip RUF051 if else/elif block is present (#​20705)
  • [ruff] Improve handling of intermixed comments inside from-imports (#​20561)
Documentation
  • [flake8-comprehensions] Clarify fix safety documentation (C413) (#​20640)
Contributors

v0.13.3

Compare Source

Release Notes

Released on 2025-10-02.

Preview features
  • Display diffs for ruff format --check and add support for different output formats (#​20443)
  • [pyflakes] Handle some common submodule import situations for unused-import (F401) (#​20200)
  • [ruff] Do not flag %r + repr() combinations (RUF065) (#​20600)
Bug fixes
  • [cli] Add conflict between --add-noqa and --diff options (#​20642)
  • [pylint] Exempt required imports from PLR0402 (#​20381)
  • [pylint] Fix missing max-nested-blocks in settings display (#​20574)
  • [pyupgrade] Prevent infinite loop with I002 and UP026 (#​20634)
Rule changes
  • [flake8-simplify] Improve help message clarity (SIM105) (#​20548)
Documentation
  • Add the The Basics title back to CONTRIBUTING.md (#​20624)
  • Fixed documentation for try_consider_else (#​20587)
  • [isort] Clarify dependency between order-by-type and case-sensitive settings (#​20559)
  • [pylint] Clarify fix safety to include left-hand hashability (PLR6201) (#​20518)
Other changes
  • [playground] Fix quick fixes for empty ranges in playground (#​20599)
Contributors

Install ruff 0.13.3

Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-installer.ps1 | iex"

Download ruff 0.13.3

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ruff-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ruff-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ruff-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ruff-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ruff-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ruff-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ruff-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

v0.13.2

Compare Source

Release Notes

Released on 2025-09-25.

Preview features
  • [flake8-async] Implement blocking-path-method (ASYNC240) (#​20264)
  • [flake8-bugbear] Implement map-without-explicit-strict (B912) (#​20429)
  • [flake8-bultins] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (A003) (#​20178)
  • [ruff] Implement logging-eager-conversion (RUF065) (#​19942)
  • Include .pyw files by default when linting and formatting (#​20458)
Bug fixes
  • Deduplicate input paths (#​20105)
  • [flake8-comprehensions] Preserve trailing commas for single-element lists (C409) (#​19571)
  • [flake8-pyi] Avoid syntax error from conflict with PIE790 (PYI021) (#​20010)
  • [flake8-simplify] Correct fix for positive maxsplit without separator (SIM905) (#​20056)
  • [pyupgrade] Fix UP008 not to apply when __class__ is a local variable (#​20497)
  • [ruff] Fix B004 to skip invalid hasattr/getattr calls (#​20486)
  • [ruff] Replace -nan with nan when using the value to construct a Decimal (FURB164 ) (#​20391)
Documentation
  • Add 'Finding ways to help' to CONTRIBUTING.md (#​20567)
  • Update import path to ruff-wasm-web (#​20539)
  • [flake8-bandit] Clarify the supported hashing functions (S324) (#​20534)
Other changes
  • [playground] Allow hover quick fixes to appear for overlapping diagnostics (#​20527)
  • [playground] Fix non‑BMP code point handling in quick fixes and markers (#​20526)
Contributors

Install ruff 0.13.2

Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.13.2/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.13.2/ruff-installer.ps1 | iex"

Download ruff 0.13.2

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ruff-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ruff-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ruff-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ruff-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ruff-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ruff-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ruff-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 06:59 AM, only on Monday ( * 0-6 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@smartway-bot smartway-bot bot requested a review from a team as a code owner October 20, 2025 01:05
@smartway-bot smartway-bot bot added the dependencies Pull requests that update a dependency file label Oct 20, 2025
@github-actions
Copy link
Contributor

🛡️ The security scan result : Repo and Config

@smartway-bot smartway-bot bot force-pushed the renovate/ruff-0.x branch from 47af54e to 2ab4581 Compare October 30, 2025 20:05
@smartway-bot smartway-bot bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from 45c11b6 to 93a6ec9 Compare November 13, 2025 23:05
@smartway-bot smartway-bot bot force-pushed the renovate/ruff-0.x branch from d4c3728 to f4f8687 Compare December 5, 2025 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant