Skip to content

chore(deps): update dependency pipx:ruff to v0.15.11#2036

Merged
renovate[bot] merged 1 commit intomainfrom
renovate/pipx-ruff-0.x
Apr 23, 2026
Merged

chore(deps): update dependency pipx:ruff to v0.15.11#2036
renovate[bot] merged 1 commit intomainfrom
renovate/pipx-ruff-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 22, 2026

This PR contains the following updates:

Package Change Age Confidence
pipx:ruff (source, changelog) 0.15.00.15.11 age confidence

Release Notes

astral-sh/ruff (pipx:ruff)

v0.15.11

Compare Source

Released on 2026-04-16.

Preview features
  • [ruff] Ignore RUF029 when function is decorated with asynccontextmanager (#​24642)
  • [airflow] Implement airflow-xcom-pull-in-template-string (AIR201) (#​23583)
  • [flake8-bandit] Fix S103 false positives and negatives in mask analysis (#​24424)
Bug fixes
  • [flake8-async] Omit overridden methods for ASYNC109 (#​24648)
Documentation
  • [flake8-async] Add override mention to ASYNC109 docs (#​24666)
  • Update Neovim config examples to use vim.lsp.config (#​24577)
Contributors

v0.15.10

Compare Source

Released on 2026-04-09.

Preview features
  • [flake8-logging] Allow closures in except handlers (LOG004) (#​24464)
  • [flake8-self] Make SLF diagnostics robust to non-self-named variables (#​24281)
  • [flake8-simplify] Make the fix for collapsible-if safe in preview (SIM102) (#​24371)
Bug fixes
  • Avoid emitting multi-line f-string elements before Python 3.12 (#​24377)
  • Avoid syntax error from E502 fixes in f-strings and t-strings (#​24410)
  • Strip form feeds from indent passed to dedent_to (#​24381)
  • [pyupgrade] Fix panic caused by handling of octals (UP012) (#​24390)
  • Reject multi-line f-string elements before Python 3.12 (#​24355)
Rule changes
  • [ruff] Treat f-string interpolation as potential side effect (RUF019) (#​24426)
Server
  • Add support for custom file extensions (#​24463)
Documentation
  • Document adding fixes in CONTRIBUTING.md (#​24393)
  • Fix JSON typo in settings example (#​24517)
Contributors

v0.15.9

Compare Source

Released on 2026-04-02.

Preview features
  • [pyflakes] Flag annotated variable redeclarations as F811 in preview mode (#​24244)
  • [ruff] Allow dunder-named assignments in non-strict mode for RUF067 (#​24089)
Bug fixes
  • [flake8-errmsg] Avoid shadowing existing msg in fix for EM101 (#​24363)
  • [flake8-simplify] Ignore pre-initialization references in SIM113 (#​24235)
  • [pycodestyle] Fix W391 fixes for consecutive empty notebook cells (#​24236)
  • [pyupgrade] Fix UP008 nested class matching (#​24273)
  • [pyupgrade] Ignore strings with string-only escapes (UP012) (#​16058)
  • [ruff] RUF072: skip formfeeds on dedent (#​24308)
  • [ruff] Avoid re-using symbol in RUF024 fix (#​24316)
  • [ruff] Parenthesize expression in RUF050 fix (#​24234)
  • Disallow starred expressions as values of starred expressions (#​24280)
Rule changes
  • [flake8-simplify] Suppress SIM105 for except* before Python 3.12 (#​23869)
  • [pyflakes] Extend F507 to flag %-format strings with zero placeholders (#​24215)
  • [pyupgrade] UP018 should detect more unnecessarily wrapped literals (UP018) (#​24093)
  • [pyupgrade] Fix UP008 callable scope handling to support lambdas (#​24274)
  • [ruff] RUF010: Mark fix as unsafe when it deletes a comment (#​24270)
Formatter
  • Add nested-string-quote-style formatting option (#​24312)
Documentation
  • [flake8-bugbear] Clarify RUF071 fix safety for non-path string comparisons (#​24149)
  • [flake8-type-checking] Clarify import cycle wording for TC001/TC002/TC003 (#​24322)
Other changes
  • Avoid rendering fix lines with trailing whitespace after | (#​24343)
Contributors

v0.15.8

Compare Source

Released on 2026-03-26.

Preview features
  • [ruff] New rule unnecessary-if (RUF050) (#​24114)
  • [ruff] New rule useless-finally (RUF072) (#​24165)
  • [ruff] New rule f-string-percent-format (RUF073): warn when using % operator on an f-string (#​24162)
  • [pyflakes] Recognize frozendict as a builtin for Python 3.15+ (#​24100)
Bug fixes
  • [flake8-async] Use fully-qualified anyio.lowlevel import in autofix (ASYNC115) (#​24166)
  • [flake8-bandit] Check tuple arguments for partial paths in S607 (#​24080)
  • [pyflakes] Skip undefined-name (F821) for conditionally deleted variables (#​24088)
  • E501/W505/formatter: Exclude nested pragma comments from line width calculation (#​24071)
  • Fix %foo? parsing in IPython assignment expressions (#​24152)
  • analyze graph: resolve string imports that reference attributes, not just modules (#​24058)
Rule changes
  • [eradicate] ignore ty: ignore comments in ERA001 (#​24192)
  • [flake8-bandit] Treat sys.executable as trusted input in S603 (#​24106)
  • [flake8-self] Recognize Self annotation and self assignment in SLF001 (#​24144)
  • [pyflakes] F507: Fix false negative for non-tuple RHS in %-formatting (#​24142)
  • [refurb] Parenthesize generator arguments in FURB142 fixer (#​24200)
Performance
Server
  • Warn when Markdown files are skipped due to preview being disabled (#​24150)
Documentation
  • Clarify extend-ignore and extend-select settings documentation (#​24064)
  • Mention AI policy in PR template (#​24198)
Other changes
  • Use trusted publishing for NPM packages (#​24171)
Contributors

v0.15.7

Compare Source

Released on 2026-03-19.

Preview features
  • Display output severity in preview (#​23845)
  • Don't show noqa hover for non-Python documents (#​24040)
Rule changes
  • [pycodestyle] Recognize pyrefly: as a pragma comment (E501) (#​24019)
Server
  • Don't return code actions for non-Python documents (#​23905)
Documentation
  • Add company AI policy to contributing guide (#​24021)
  • Document editor features for Markdown code formatting (#​23924)
  • [pylint] Improve phrasing (PLC0208) (#​24033)
Other changes
  • Use PEP 639 license information (#​19661)
Contributors

v0.15.6

Compare Source

Released on 2026-03-12.

Preview features
  • Add support for lazy import parsing (#​23755)
  • Add support for star-unpacking of comprehensions (PEP 798) (#​23788)
  • Reject semantic syntax errors for lazy imports (#​23757)
  • Drop a few rules from the preview default set (#​23879)
  • [airflow] Flag Variable.get() calls outside of task execution context (AIR003) (#​23584)
  • [airflow] Flag runtime-varying values in DAG/task constructor arguments (AIR304) (#​23631)
  • [flake8-bugbear] Implement delattr-with-constant (B043) (#​23737)
  • [flake8-tidy-imports] Add TID254 to enforce lazy imports (#​23777)
  • [flake8-tidy-imports] Allow users to ban lazy imports with TID254 (#​23847)
  • [isort] Retain lazy keyword when sorting imports (#​23762)
  • [pyupgrade] Add from __future__ import annotations automatically (UP006) (#​23260)
  • [refurb] Support newline parameter in FURB101 for Python 3.13+ (#​23754)
  • [ruff] Add os-path-commonprefix (RUF071) (#​23814)
  • [ruff] Add unsafe fix for os-path-commonprefix (RUF071) (#​23852)
  • [ruff] Limit RUF036 to typing contexts; make it unsafe for non-typing-only (#​23765)
  • [ruff] Use starred unpacking for RUF017 in Python 3.15+ (#​23789)
Bug fixes
  • Fix --add-noqa creating unwanted leading whitespace (#​23773)
  • Fix --add-noqa breaking shebangs (#​23577)
  • [formatter] Fix lambda body formatting for multiline calls and subscripts (#​23866)
  • [formatter] Preserve required annotation parentheses in annotated assignments (#​23865)
  • [formatter] Preserve type-expression parentheses in the formatter (#​23867)
  • [flake8-annotations] Fix stack overflow in ANN401 on quoted annotations with escape sequences (#​23912)
  • [pep8-naming] Check naming conventions in match pattern bindings (N806, N815, N816) (#​23899)
  • [perflint] Fix comment duplication in fixes (PERF401, PERF403) (#​23729)
  • [pyupgrade] Properly trigger super change in nested class (UP008) (#​22677)
  • [ruff] Avoid syntax errors in RUF036 fixes (#​23764)
Rule changes
  • [flake8-bandit] Flag S501 with requests.request (#​23873)
  • [flake8-executable] Fix WSL detection in non-Docker containers (#​22879)
  • [flake8-print] Ignore pprint calls with stream= (#​23787)
Documentation
  • Update docs for Markdown code block formatting (#​23871)
  • [flake8-bugbear] Fix misleading description for B904 (#​23731)
Contributors

v0.15.5

Compare Source

Released on 2026-03-05.

Preview features
  • Discover Markdown files by default in preview mode (#​23434)
  • [perflint] Extend PERF102 to comprehensions and generators (#​23473)
  • [refurb] Fix FURB101 and FURB103 false positives when I/O variable is used later (#​23542)
  • [ruff] Add fix for none-not-at-end-of-union (RUF036) (#​22829)
  • [ruff] Fix false positive for re.split with empty string pattern (RUF055) (#​23634)
Bug fixes
  • [fastapi] Handle callable class dependencies with __call__ method (FAST003) (#​23553)
  • [pydocstyle] Fix numpy section ordering (D420) (#​23685)
  • [pyflakes] Fix false positive for names shadowing re-exports (F811) (#​23356)
  • [pyupgrade] Avoid inserting redundant None elements in UP045 (#​23459)
Documentation
  • Document extension mapping for Markdown code formatting (#​23574)
  • Update default Python version examples (#​23605)
Other changes
  • Publish releases to Astral mirror (#​23616)
Contributors

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: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Apr 22, 2026
@renovate renovate Bot enabled auto-merge (squash) April 22, 2026 20:38
@renovate renovate Bot force-pushed the renovate/pipx-ruff-0.x branch 2 times, most recently from b9a2106 to a5d7fd8 Compare April 23, 2026 06:00
@renovate renovate Bot force-pushed the renovate/pipx-ruff-0.x branch from a5d7fd8 to edb2497 Compare April 23, 2026 07:41
@renovate renovate Bot merged commit 355429f into main Apr 23, 2026
9 checks passed
@renovate renovate Bot deleted the renovate/pipx-ruff-0.x branch April 23, 2026 08:02
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