Skip to content

chore(deps): update dependency ruff to >=0.15.4#340

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to >=0.15.4#340
renovate[bot] wants to merge 1 commit intomainfrom
renovate/ruff-0.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 13, 2026

This PR contains the following updates:

Package Change Age Confidence
ruff (source, changelog) >=0.15.0>=0.15.4 age confidence

Warning

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


Release Notes

astral-sh/ruff (ruff)

v0.15.4

Compare Source

Released on 2026-02-26.

This is a follow-up release to 0.15.3 that resolves a panic when the new rule PLR1712 was enabled with any rule that analyzes definitions, such as many of the ANN or D rules.

Bug fixes
  • Fix panic on access to definitions after analyzing definitions (#​23588)
  • [pyflakes] Suppress false positive in F821 for names used before del in stub files (#​23550)
Documentation
  • Clarify first-party import detection in Ruff (#​23591)
  • Fix incorrect import-heading example (#​23568)
Contributors

v0.15.3

Compare Source

Released on 2026-02-26.

Preview features
  • Drop explicit support for .qmd file extension (#​23572)

    This can now be enabled instead by setting the extension option:

    # ruff.toml
    extension = { qmd = "markdown" }
    
    # pyproject.toml
    [tool.ruff]
    extension = { qmd = "markdown" }
  • Include configured extensions in file discovery (#​23400)

  • [flake8-bandit] Allow suspicious imports in TYPE_CHECKING blocks (S401-S415) (#​23441)

  • [flake8-bugbear] Allow B901 in pytest hook wrappers (#​21931)

  • [flake8-import-conventions] Add missing conventions from upstream (ICN001, ICN002) (#​21373)

  • [pydocstyle] Add rule to enforce docstring section ordering (D420) (#​23537)

  • [pylint] Implement swap-with-temporary-variable (PLR1712) (#​22205)

  • [ruff] Add unnecessary-assign-before-yield (RUF070) (#​23300)

  • [ruff] Support file-level noqa in RUF102 (#​23535)

  • [ruff] Suppress diagnostic for invalid f-strings before Python 3.12 (RUF027) (#​23480)

  • [flake8-bandit] Don't flag BaseLoader/CBaseLoader as unsafe (S506) (#​23510)

Bug fixes
  • Avoid infinite loop between I002 and PYI025 (#​23352)
  • [pyflakes] Fix false positive for @overload from lint.typing-modules (F811) (#​23357)
  • [pyupgrade] Fix false positive for TypeVar default before Python 3.12 (UP046) (#​23540)
  • [pyupgrade] Fix handling of \N in raw strings (UP032) (#​22149)
Rule changes
  • Render sub-diagnostics in the GitHub output format (#​23455)

  • [flake8-bugbear] Tag certain B007 diagnostics as unnecessary (#​23453)

  • [ruff] Ignore unknown rule codes in RUF100 (#​23531)

    These are now flagged by RUF102 instead.

Documentation
  • Fix missing settings links for several linters (#​23519)
  • Update isort action comments heading (#​23515)
  • [pydocstyle] Fix double comma in description of D404 (#​23440)
Other changes
  • Update the Python module (notably find_ruff_bin) for parity with uv (#​23406)
Contributors

v0.15.2

Compare Source

Released on 2026-02-19.

Preview features
Bug fixes
  • [flake8-async] Fix in_async_context logic (#​23426)
  • [ruff] Fix for RUF102 should delete entire comment (#​23380)
  • [ruff] Suppress diagnostic for strings with backslashes in interpolations before Python 3.12 (RUF027) (#​21069)
  • [flake8-bugbear] Fix B023 false positive for immediately-invoked lambdas (#​23294)
  • [parser] Fix false syntax error for match-like annotated assignments (#​23297)
  • [parser] Fix indentation tracking after line continuations (#​23417)
Rule changes
  • [flake8-executable] Allow global flags in uv shebangs (EXE003) (#​22582)
  • [pyupgrade] Fix handling of typing.{io,re} (UP035) (#​23131)
  • [ruff] Detect PLC0207 on chained str.split() calls (#​23275)
CLI
  • Remove invalid inline noqa warning (#​23270)
Configuration
  • Add extension mapping to configuration file options (#​23384)
Documentation
  • Add Q004 to the list of conflicting rules (#​23340)
  • [ruff] Expand lint.external docs and add sub-diagnostic (RUF100, RUF102) (#​23268)
Contributors

v0.15.1

Compare Source

Released on 2026-02-12.

Preview features
  • [airflow] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (AIR321) (#​22376)
  • [airflow] Third positional parameter not named ti_key should be flagged for BaseOperatorLink.get_link (AIR303) (#​22828)
  • [flake8-gettext] Fix false negatives for plural argument of ngettext (INT001, INT002, INT003) (#​21078)
  • [pyflakes] Fix infinite loop in preview fix for unused-import (F401) (#​23038)
  • [pygrep-hooks] Detect non-existent mock methods in standalone expressions (PGH005) (#​22830)
  • [pylint] Allow dunder submodules and improve diagnostic range (PLC2701) (#​22804)
  • [pyupgrade] Improve diagnostic range for tuples (UP024) (#​23013)
  • [refurb] Check subscripts in tuple do not use lambda parameters in reimplemented-operator (FURB118) (#​23079)
  • [ruff] Detect mutable defaults in field calls (RUF008) (#​23046)
  • [ruff] Ignore std cmath.inf (RUF069) (#​23120)
  • [ruff] New rule float-equality-comparison (RUF069) (#​20585)
  • Don't format unlabeled Markdown code blocks (#​23106)
  • Markdown formatting support in LSP (#​23063)
  • Support Quarto Markdown language markers (#​22947)
  • Support formatting pycon Markdown code blocks (#​23112)
  • Use extension mapping to select Markdown code block language (#​22934)
Bug fixes
  • Avoid false positive for undefined variables in FAST001 (#​23224)
  • Avoid introducing syntax errors for FAST003 autofix (#​23227)
  • Avoid suggesting InitVar for __post_init__ that references PEP 695 type parameters (#​23226)
  • Deduplicate type variables in generic functions (#​23225)
  • Fix exception handler parenthesis removal for Python 3.14+ (#​23126)
  • Fix f-string middle panic when parsing t-strings (#​23232)
  • Wrap RUF020 target for multiline fixes (#​23210)
  • Wrap UP007 target for multiline fixes (#​23208)
  • Fix missing diagnostics for last range suppression in file (#​23242)
  • [pyupgrade] Fix syntax error on string with newline escape and comment (UP037) (#​22968)
Rule changes
  • Use ruff instead of Ruff as the program name in GitHub output format (#​23240)
  • [PT006] Fix syntax error when unpacking nested tuples in parametrize fixes (#​22441) (#​22464)
  • [airflow] Catch deprecated attribute access from context key for Airflow 3.0 (AIR301) (#​22850)
  • [airflow] Capture deprecated arguments and a decorator (AIR301) (#​23170)
  • [flake8-boolean-trap] Add multiprocessing.Value to excluded functions for FBT003 (#​23010)
  • [flake8-bugbear] Add a secondary annotation showing the previous occurrence (B033) (#​22634)
  • [flake8-type-checking] Add sub-diagnostic showing the runtime use of an annotation (TC004) (#​23091)
  • [isort] Support configurable import section heading comments (#​23151)
  • [ruff] Improve the diagnostic for RUF012 (#​23202)
Formatter
  • Suppress diagnostic output for format --check --silent (#​17736)
Documentation
  • Add tabbed shell completion documentation (#​23169)
  • Explain how to enable Markdown formatting for pre-commit hook (#​23077)
  • Fixed import in runtime-evaluated-decorators example (#​23187)
  • Update ruff server contributing guide (#​23060)
Other changes
  • Exclude WASM artifacts from GitHub releases (#​23221)
Contributors

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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 was generated by Mend Renovate. View the repository job log.

@claude
Copy link

claude bot commented Feb 13, 2026

PR Review ✅

This is a straightforward patch version update for ruff (0.15.0 → 0.15.1) from Renovate.

Summary: Safe to merge - bug fixes and improvements only, no breaking changes.

Changes:

  • Updated ruff dependency constraint in pyproject.toml
  • Lockfile updated with new wheel distributions

Release highlights (0.15.1):

  • Bug fixes for syntax errors in various rules
  • Improved diagnostics and error messages
  • Formatter improvements
  • No breaking changes or regressions

Risk level: Very low - standard patch release

No issues identified. The update aligns with the project's dependency management practices.

@renovate renovate bot changed the title chore(deps): update dependency ruff to >=0.15.1 chore(deps): update dependency ruff to >=0.15.2 Feb 20, 2026
@renovate renovate bot force-pushed the renovate/ruff-0.x branch from 0d25520 to 5d1021c Compare February 20, 2026 01:39
@renovate renovate bot changed the title chore(deps): update dependency ruff to >=0.15.2 chore(deps): update dependency ruff to >=0.15.3 Feb 26, 2026
@renovate renovate bot force-pushed the renovate/ruff-0.x branch from 5d1021c to e54157f Compare February 26, 2026 17:41
@renovate renovate bot force-pushed the renovate/ruff-0.x branch from e54157f to 8520bcd Compare February 26, 2026 22:40
@renovate renovate bot changed the title chore(deps): update dependency ruff to >=0.15.3 chore(deps): update dependency ruff to >=0.15.4 Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants