Skip to content

Commit 355429f

Browse files
chore(deps): update dependency pipx:ruff to v0.15.11 (#2036)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [pipx:ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `0.15.0` → `0.15.11` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.15.11?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.15.0/0.15.11?slim=true) | --- ### Release Notes <details> <summary>astral-sh/ruff (pipx:ruff)</summary> ### [`v0.15.11`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01511) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.10...0.15.11) Released on 2026-04-16. ##### Preview features - \[`ruff`] Ignore `RUF029` when function is decorated with `asynccontextmanager` ([#&#8203;24642](https://redirect.github.com/astral-sh/ruff/pull/24642)) - \[`airflow`] Implement `airflow-xcom-pull-in-template-string` (`AIR201`) ([#&#8203;23583](https://redirect.github.com/astral-sh/ruff/pull/23583)) - \[`flake8-bandit`] Fix `S103` false positives and negatives in mask analysis ([#&#8203;24424](https://redirect.github.com/astral-sh/ruff/pull/24424)) ##### Bug fixes - \[`flake8-async`] Omit overridden methods for `ASYNC109` ([#&#8203;24648](https://redirect.github.com/astral-sh/ruff/pull/24648)) ##### Documentation - \[`flake8-async`] Add override mention to `ASYNC109` docs ([#&#8203;24666](https://redirect.github.com/astral-sh/ruff/pull/24666)) - Update Neovim config examples to use `vim.lsp.config` ([#&#8203;24577](https://redirect.github.com/astral-sh/ruff/pull/24577)) ##### Contributors - [@&#8203;augustelalande](https://redirect.github.com/augustelalande) - [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish) - [@&#8203;benberryallwood](https://redirect.github.com/benberryallwood) - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;Dev-iL](https://redirect.github.com/Dev-iL) ### [`v0.15.10`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01510) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.9...0.15.10) Released on 2026-04-09. ##### Preview features - \[`flake8-logging`] Allow closures in except handlers (`LOG004`) ([#&#8203;24464](https://redirect.github.com/astral-sh/ruff/pull/24464)) - \[`flake8-self`] Make `SLF` diagnostics robust to non-self-named variables ([#&#8203;24281](https://redirect.github.com/astral-sh/ruff/pull/24281)) - \[`flake8-simplify`] Make the fix for `collapsible-if` safe in `preview` (`SIM102`) ([#&#8203;24371](https://redirect.github.com/astral-sh/ruff/pull/24371)) ##### Bug fixes - Avoid emitting multi-line f-string elements before Python 3.12 ([#&#8203;24377](https://redirect.github.com/astral-sh/ruff/pull/24377)) - Avoid syntax error from `E502` fixes in f-strings and t-strings ([#&#8203;24410](https://redirect.github.com/astral-sh/ruff/pull/24410)) - Strip form feeds from indent passed to `dedent_to` ([#&#8203;24381](https://redirect.github.com/astral-sh/ruff/pull/24381)) - \[`pyupgrade`] Fix panic caused by handling of octals (`UP012`) ([#&#8203;24390](https://redirect.github.com/astral-sh/ruff/pull/24390)) - Reject multi-line f-string elements before Python 3.12 ([#&#8203;24355](https://redirect.github.com/astral-sh/ruff/pull/24355)) ##### Rule changes - \[`ruff`] Treat f-string interpolation as potential side effect (`RUF019`) ([#&#8203;24426](https://redirect.github.com/astral-sh/ruff/pull/24426)) ##### Server - Add support for custom file extensions ([#&#8203;24463](https://redirect.github.com/astral-sh/ruff/pull/24463)) ##### Documentation - Document adding fixes in CONTRIBUTING.md ([#&#8203;24393](https://redirect.github.com/astral-sh/ruff/pull/24393)) - Fix JSON typo in settings example ([#&#8203;24517](https://redirect.github.com/astral-sh/ruff/pull/24517)) ##### Contributors - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;dylwil3](https://redirect.github.com/dylwil3) - [@&#8203;silverstein](https://redirect.github.com/silverstein) - [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish) - [@&#8203;shizukushq](https://redirect.github.com/shizukushq) - [@&#8203;zanieb](https://redirect.github.com/zanieb) - [@&#8203;AlexWaygood](https://redirect.github.com/AlexWaygood) ### [`v0.15.9`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0159) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.8...0.15.9) Released on 2026-04-02. ##### Preview features - \[`pyflakes`] Flag annotated variable redeclarations as `F811` in preview mode ([#&#8203;24244](https://redirect.github.com/astral-sh/ruff/pull/24244)) - \[`ruff`] Allow dunder-named assignments in non-strict mode for `RUF067` ([#&#8203;24089](https://redirect.github.com/astral-sh/ruff/pull/24089)) ##### Bug fixes - \[`flake8-errmsg`] Avoid shadowing existing `msg` in fix for `EM101` ([#&#8203;24363](https://redirect.github.com/astral-sh/ruff/pull/24363)) - \[`flake8-simplify`] Ignore pre-initialization references in `SIM113` ([#&#8203;24235](https://redirect.github.com/astral-sh/ruff/pull/24235)) - \[`pycodestyle`] Fix `W391` fixes for consecutive empty notebook cells ([#&#8203;24236](https://redirect.github.com/astral-sh/ruff/pull/24236)) - \[`pyupgrade`] Fix `UP008` nested class matching ([#&#8203;24273](https://redirect.github.com/astral-sh/ruff/pull/24273)) - \[`pyupgrade`] Ignore strings with string-only escapes (`UP012`) ([#&#8203;16058](https://redirect.github.com/astral-sh/ruff/pull/16058)) - \[`ruff`] `RUF072`: skip formfeeds on dedent ([#&#8203;24308](https://redirect.github.com/astral-sh/ruff/pull/24308)) - \[`ruff`] Avoid re-using symbol in `RUF024` fix ([#&#8203;24316](https://redirect.github.com/astral-sh/ruff/pull/24316)) - \[`ruff`] Parenthesize expression in `RUF050` fix ([#&#8203;24234](https://redirect.github.com/astral-sh/ruff/pull/24234)) - Disallow starred expressions as values of starred expressions ([#&#8203;24280](https://redirect.github.com/astral-sh/ruff/pull/24280)) ##### Rule changes - \[`flake8-simplify`] Suppress `SIM105` for `except*` before Python 3.12 ([#&#8203;23869](https://redirect.github.com/astral-sh/ruff/pull/23869)) - \[`pyflakes`] Extend `F507` to flag `%`-format strings with zero placeholders ([#&#8203;24215](https://redirect.github.com/astral-sh/ruff/pull/24215)) - \[`pyupgrade`] `UP018` should detect more unnecessarily wrapped literals (UP018) ([#&#8203;24093](https://redirect.github.com/astral-sh/ruff/pull/24093)) - \[`pyupgrade`] Fix `UP008` callable scope handling to support lambdas ([#&#8203;24274](https://redirect.github.com/astral-sh/ruff/pull/24274)) - \[`ruff`] `RUF010`: Mark fix as unsafe when it deletes a comment ([#&#8203;24270](https://redirect.github.com/astral-sh/ruff/pull/24270)) ##### Formatter - Add `nested-string-quote-style` formatting option ([#&#8203;24312](https://redirect.github.com/astral-sh/ruff/pull/24312)) ##### Documentation - \[`flake8-bugbear`] Clarify RUF071 fix safety for non-path string comparisons ([#&#8203;24149](https://redirect.github.com/astral-sh/ruff/pull/24149)) - \[`flake8-type-checking`] Clarify import cycle wording for `TC001`/`TC002`/`TC003` ([#&#8203;24322](https://redirect.github.com/astral-sh/ruff/pull/24322)) ##### Other changes - Avoid rendering fix lines with trailing whitespace after `|` ([#&#8203;24343](https://redirect.github.com/astral-sh/ruff/pull/24343)) ##### Contributors - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;MichaReiser](https://redirect.github.com/MichaReiser) - [@&#8203;tranhoangtu-it](https://redirect.github.com/tranhoangtu-it) - [@&#8203;dylwil3](https://redirect.github.com/dylwil3) - [@&#8203;zsol](https://redirect.github.com/zsol) - [@&#8203;renovate](https://redirect.github.com/renovate) - [@&#8203;bitloi](https://redirect.github.com/bitloi) - [@&#8203;danparizher](https://redirect.github.com/danparizher) - [@&#8203;chinar-amrutkar](https://redirect.github.com/chinar-amrutkar) - [@&#8203;second-ed](https://redirect.github.com/second-ed) - [@&#8203;getehen](https://redirect.github.com/getehen) - [@&#8203;Redovo1](https://redirect.github.com/Redovo1) - [@&#8203;matthewlloyd](https://redirect.github.com/matthewlloyd) - [@&#8203;zanieb](https://redirect.github.com/zanieb) - [@&#8203;InSyncWithFoo](https://redirect.github.com/InSyncWithFoo) - [@&#8203;RenzoMXD](https://redirect.github.com/RenzoMXD) ### [`v0.15.8`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0158) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.7...0.15.8) Released on 2026-03-26. ##### Preview features - \[`ruff`] New rule `unnecessary-if` (`RUF050`) ([#&#8203;24114](https://redirect.github.com/astral-sh/ruff/pull/24114)) - \[`ruff`] New rule `useless-finally` (`RUF072`) ([#&#8203;24165](https://redirect.github.com/astral-sh/ruff/pull/24165)) - \[`ruff`] New rule `f-string-percent-format` (`RUF073`): warn when using `%` operator on an f-string ([#&#8203;24162](https://redirect.github.com/astral-sh/ruff/pull/24162)) - \[`pyflakes`] Recognize `frozendict` as a builtin for Python 3.15+ ([#&#8203;24100](https://redirect.github.com/astral-sh/ruff/pull/24100)) ##### Bug fixes - \[`flake8-async`] Use fully-qualified `anyio.lowlevel` import in autofix (`ASYNC115`) ([#&#8203;24166](https://redirect.github.com/astral-sh/ruff/pull/24166)) - \[`flake8-bandit`] Check tuple arguments for partial paths in `S607` ([#&#8203;24080](https://redirect.github.com/astral-sh/ruff/pull/24080)) - \[`pyflakes`] Skip `undefined-name` (`F821`) for conditionally deleted variables ([#&#8203;24088](https://redirect.github.com/astral-sh/ruff/pull/24088)) - `E501`/`W505`/formatter: Exclude nested pragma comments from line width calculation ([#&#8203;24071](https://redirect.github.com/astral-sh/ruff/pull/24071)) - Fix `%foo?` parsing in IPython assignment expressions ([#&#8203;24152](https://redirect.github.com/astral-sh/ruff/pull/24152)) - `analyze graph`: resolve string imports that reference attributes, not just modules ([#&#8203;24058](https://redirect.github.com/astral-sh/ruff/pull/24058)) ##### Rule changes - \[`eradicate`] ignore `ty: ignore` comments in `ERA001` ([#&#8203;24192](https://redirect.github.com/astral-sh/ruff/pull/24192)) - \[`flake8-bandit`] Treat `sys.executable` as trusted input in `S603` ([#&#8203;24106](https://redirect.github.com/astral-sh/ruff/pull/24106)) - \[`flake8-self`] Recognize `Self` annotation and `self` assignment in `SLF001` ([#&#8203;24144](https://redirect.github.com/astral-sh/ruff/pull/24144)) - \[`pyflakes`] `F507`: Fix false negative for non-tuple RHS in `%`-formatting ([#&#8203;24142](https://redirect.github.com/astral-sh/ruff/pull/24142)) - \[`refurb`] Parenthesize generator arguments in `FURB142` fixer ([#&#8203;24200](https://redirect.github.com/astral-sh/ruff/pull/24200)) ##### Performance - Speed up diagnostic rendering ([#&#8203;24146](https://redirect.github.com/astral-sh/ruff/pull/24146)) ##### Server - Warn when Markdown files are skipped due to preview being disabled ([#&#8203;24150](https://redirect.github.com/astral-sh/ruff/pull/24150)) ##### Documentation - Clarify `extend-ignore` and `extend-select` settings documentation ([#&#8203;24064](https://redirect.github.com/astral-sh/ruff/pull/24064)) - Mention AI policy in PR template ([#&#8203;24198](https://redirect.github.com/astral-sh/ruff/pull/24198)) ##### Other changes - Use trusted publishing for NPM packages ([#&#8203;24171](https://redirect.github.com/astral-sh/ruff/pull/24171)) ##### Contributors - [@&#8203;bitloi](https://redirect.github.com/bitloi) - [@&#8203;Sim-hu](https://redirect.github.com/Sim-hu) - [@&#8203;mvanhorn](https://redirect.github.com/mvanhorn) - [@&#8203;chinar-amrutkar](https://redirect.github.com/chinar-amrutkar) - [@&#8203;markjm](https://redirect.github.com/markjm) - [@&#8203;RenzoMXD](https://redirect.github.com/RenzoMXD) - [@&#8203;vivekkhimani](https://redirect.github.com/vivekkhimani) - [@&#8203;seroperson](https://redirect.github.com/seroperson) - [@&#8203;moktamd](https://redirect.github.com/moktamd) - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;zanieb](https://redirect.github.com/zanieb) - [@&#8203;dylwil3](https://redirect.github.com/dylwil3) - [@&#8203;MichaReiser](https://redirect.github.com/MichaReiser) ### [`v0.15.7`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0157) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.6...0.15.7) Released on 2026-03-19. ##### Preview features - Display output severity in preview ([#&#8203;23845](https://redirect.github.com/astral-sh/ruff/pull/23845)) - Don't show `noqa` hover for non-Python documents ([#&#8203;24040](https://redirect.github.com/astral-sh/ruff/pull/24040)) ##### Rule changes - \[`pycodestyle`] Recognize `pyrefly:` as a pragma comment (`E501`) ([#&#8203;24019](https://redirect.github.com/astral-sh/ruff/pull/24019)) ##### Server - Don't return code actions for non-Python documents ([#&#8203;23905](https://redirect.github.com/astral-sh/ruff/pull/23905)) ##### Documentation - Add company AI policy to contributing guide ([#&#8203;24021](https://redirect.github.com/astral-sh/ruff/pull/24021)) - Document editor features for Markdown code formatting ([#&#8203;23924](https://redirect.github.com/astral-sh/ruff/pull/23924)) - \[`pylint`] Improve phrasing (`PLC0208`) ([#&#8203;24033](https://redirect.github.com/astral-sh/ruff/pull/24033)) ##### Other changes - Use PEP 639 license information ([#&#8203;19661](https://redirect.github.com/astral-sh/ruff/pull/19661)) ##### Contributors - [@&#8203;tmimmanuel](https://redirect.github.com/tmimmanuel) - [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos) - [@&#8203;amyreese](https://redirect.github.com/amyreese) - [@&#8203;statxc](https://redirect.github.com/statxc) - [@&#8203;dylwil3](https://redirect.github.com/dylwil3) - [@&#8203;hunterhogan](https://redirect.github.com/hunterhogan) - [@&#8203;renovate](https://redirect.github.com/renovate) ### [`v0.15.6`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0156) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.5...0.15.6) Released on 2026-03-12. ##### Preview features - Add support for `lazy` import parsing ([#&#8203;23755](https://redirect.github.com/astral-sh/ruff/pull/23755)) - Add support for star-unpacking of comprehensions (PEP 798) ([#&#8203;23788](https://redirect.github.com/astral-sh/ruff/pull/23788)) - Reject semantic syntax errors for lazy imports ([#&#8203;23757](https://redirect.github.com/astral-sh/ruff/pull/23757)) - Drop a few rules from the preview default set ([#&#8203;23879](https://redirect.github.com/astral-sh/ruff/pull/23879)) - \[`airflow`] Flag `Variable.get()` calls outside of task execution context (`AIR003`) ([#&#8203;23584](https://redirect.github.com/astral-sh/ruff/pull/23584)) - \[`airflow`] Flag runtime-varying values in DAG/task constructor arguments (`AIR304`) ([#&#8203;23631](https://redirect.github.com/astral-sh/ruff/pull/23631)) - \[`flake8-bugbear`] Implement `delattr-with-constant` (`B043`) ([#&#8203;23737](https://redirect.github.com/astral-sh/ruff/pull/23737)) - \[`flake8-tidy-imports`] Add `TID254` to enforce lazy imports ([#&#8203;23777](https://redirect.github.com/astral-sh/ruff/pull/23777)) - \[`flake8-tidy-imports`] Allow users to ban lazy imports with `TID254` ([#&#8203;23847](https://redirect.github.com/astral-sh/ruff/pull/23847)) - \[`isort`] Retain `lazy` keyword when sorting imports ([#&#8203;23762](https://redirect.github.com/astral-sh/ruff/pull/23762)) - \[`pyupgrade`] Add `from __future__ import annotations` automatically (`UP006`) ([#&#8203;23260](https://redirect.github.com/astral-sh/ruff/pull/23260)) - \[`refurb`] Support `newline` parameter in `FURB101` for Python 3.13+ ([#&#8203;23754](https://redirect.github.com/astral-sh/ruff/pull/23754)) - \[`ruff`] Add `os-path-commonprefix` (`RUF071`) ([#&#8203;23814](https://redirect.github.com/astral-sh/ruff/pull/23814)) - \[`ruff`] Add unsafe fix for os-path-commonprefix (`RUF071`) ([#&#8203;23852](https://redirect.github.com/astral-sh/ruff/pull/23852)) - \[`ruff`] Limit `RUF036` to typing contexts; make it unsafe for non-typing-only ([#&#8203;23765](https://redirect.github.com/astral-sh/ruff/pull/23765)) - \[`ruff`] Use starred unpacking for `RUF017` in Python 3.15+ ([#&#8203;23789](https://redirect.github.com/astral-sh/ruff/pull/23789)) ##### Bug fixes - Fix `--add-noqa` creating unwanted leading whitespace ([#&#8203;23773](https://redirect.github.com/astral-sh/ruff/pull/23773)) - Fix `--add-noqa` breaking shebangs ([#&#8203;23577](https://redirect.github.com/astral-sh/ruff/pull/23577)) - \[formatter] Fix lambda body formatting for multiline calls and subscripts ([#&#8203;23866](https://redirect.github.com/astral-sh/ruff/pull/23866)) - \[formatter] Preserve required annotation parentheses in annotated assignments ([#&#8203;23865](https://redirect.github.com/astral-sh/ruff/pull/23865)) - \[formatter] Preserve type-expression parentheses in the formatter ([#&#8203;23867](https://redirect.github.com/astral-sh/ruff/pull/23867)) - \[`flake8-annotations`] Fix stack overflow in `ANN401` on quoted annotations with escape sequences ([#&#8203;23912](https://redirect.github.com/astral-sh/ruff/pull/23912)) - \[`pep8-naming`] Check naming conventions in `match` pattern bindings (`N806`, `N815`, `N816`) ([#&#8203;23899](https://redirect.github.com/astral-sh/ruff/pull/23899)) - \[`perflint`] Fix comment duplication in fixes (`PERF401`, `PERF403`) ([#&#8203;23729](https://redirect.github.com/astral-sh/ruff/pull/23729)) - \[`pyupgrade`] Properly trigger `super` change in nested class (`UP008`) ([#&#8203;22677](https://redirect.github.com/astral-sh/ruff/pull/22677)) - \[`ruff`] Avoid syntax errors in `RUF036` fixes ([#&#8203;23764](https://redirect.github.com/astral-sh/ruff/pull/23764)) ##### Rule changes - \[`flake8-bandit`] Flag `S501` with `requests.request` ([#&#8203;23873](https://redirect.github.com/astral-sh/ruff/pull/23873)) - \[`flake8-executable`] Fix WSL detection in non-Docker containers ([#&#8203;22879](https://redirect.github.com/astral-sh/ruff/pull/22879)) - \[`flake8-print`] Ignore `pprint` calls with `stream=` ([#&#8203;23787](https://redirect.github.com/astral-sh/ruff/pull/23787)) ##### Documentation - Update docs for Markdown code block formatting ([#&#8203;23871](https://redirect.github.com/astral-sh/ruff/pull/23871)) - \[`flake8-bugbear`] Fix misleading description for `B904` ([#&#8203;23731](https://redirect.github.com/astral-sh/ruff/pull/23731)) ##### Contributors - [@&#8203;zsol](https://redirect.github.com/zsol) - [@&#8203;carljm](https://redirect.github.com/carljm) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;Bortlesboat](https://redirect.github.com/Bortlesboat) - [@&#8203;sososonia-cyber](https://redirect.github.com/sososonia-cyber) - [@&#8203;chirizxc](https://redirect.github.com/chirizxc) - [@&#8203;leandrobbraga](https://redirect.github.com/leandrobbraga) - [@&#8203;11happy](https://redirect.github.com/11happy) - [@&#8203;Acelogic](https://redirect.github.com/Acelogic) - [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish) - [@&#8203;amyreese](https://redirect.github.com/amyreese) - [@&#8203;xvchris](https://redirect.github.com/xvchris) - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;getehen](https://redirect.github.com/getehen) - [@&#8203;Dev-iL](https://redirect.github.com/Dev-iL) ### [`v0.15.5`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0155) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.4...0.15.5) Released on 2026-03-05. ##### Preview features - Discover Markdown files by default in preview mode ([#&#8203;23434](https://redirect.github.com/astral-sh/ruff/pull/23434)) - \[`perflint`] Extend `PERF102` to comprehensions and generators ([#&#8203;23473](https://redirect.github.com/astral-sh/ruff/pull/23473)) - \[`refurb`] Fix `FURB101` and `FURB103` false positives when I/O variable is used later ([#&#8203;23542](https://redirect.github.com/astral-sh/ruff/pull/23542)) - \[`ruff`] Add fix for `none-not-at-end-of-union` (`RUF036`) ([#&#8203;22829](https://redirect.github.com/astral-sh/ruff/pull/22829)) - \[`ruff`] Fix false positive for `re.split` with empty string pattern (`RUF055`) ([#&#8203;23634](https://redirect.github.com/astral-sh/ruff/pull/23634)) ##### Bug fixes - \[`fastapi`] Handle callable class dependencies with `__call__` method (`FAST003`) ([#&#8203;23553](https://redirect.github.com/astral-sh/ruff/pull/23553)) - \[`pydocstyle`] Fix numpy section ordering (`D420`) ([#&#8203;23685](https://redirect.github.com/astral-sh/ruff/pull/23685)) - \[`pyflakes`] Fix false positive for names shadowing re-exports (`F811`) ([#&#8203;23356](https://redirect.github.com/astral-sh/ruff/pull/23356)) - \[`pyupgrade`] Avoid inserting redundant `None` elements in `UP045` ([#&#8203;23459](https://redirect.github.com/astral-sh/ruff/pull/23459)) ##### Documentation - Document extension mapping for Markdown code formatting ([#&#8203;23574](https://redirect.github.com/astral-sh/ruff/pull/23574)) - Update default Python version examples ([#&#8203;23605](https://redirect.github.com/astral-sh/ruff/pull/23605)) ##### Other changes - Publish releases to Astral mirror ([#&#8203;23616](https://redirect.github.com/astral-sh/ruff/pull/23616)) ##### Contributors - [@&#8203;amyreese](https://redirect.github.com/amyreese) - [@&#8203;stakeswky](https://redirect.github.com/stakeswky) - [@&#8203;chirizxc](https://redirect.github.com/chirizxc) - [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish) - [@&#8203;bxff](https://redirect.github.com/bxff) - [@&#8203;zsol](https://redirect.github.com/zsol) - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;kar-ganap](https://redirect.github.com/kar-ganap) ### [`v0.15.4`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0154) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.3...0.15.4) 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 ([#&#8203;23588](https://redirect.github.com/astral-sh/ruff/pull/23588)) - \[`pyflakes`] Suppress false positive in `F821` for names used before `del` in stub files ([#&#8203;23550](https://redirect.github.com/astral-sh/ruff/pull/23550)) ##### Documentation - Clarify first-party import detection in Ruff ([#&#8203;23591](https://redirect.github.com/astral-sh/ruff/pull/23591)) - Fix incorrect `import-heading` example ([#&#8203;23568](https://redirect.github.com/astral-sh/ruff/pull/23568)) ##### Contributors - [@&#8203;stakeswky](https://redirect.github.com/stakeswky) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;thejcannon](https://redirect.github.com/thejcannon) - [@&#8203;GeObts](https://redirect.github.com/GeObts) ### [`v0.15.3`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0153) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.2...0.15.3) Released on 2026-02-26. ##### Preview features - Drop explicit support for `.qmd` file extension ([#&#8203;23572](https://redirect.github.com/astral-sh/ruff/pull/23572)) This can now be enabled instead by setting the [`extension`](https://docs.astral.sh/ruff/settings/#extension) option: ```toml # ruff.toml extension = { qmd = "markdown" } # pyproject.toml [tool.ruff] extension = { qmd = "markdown" } ``` - Include configured extensions in file discovery ([#&#8203;23400](https://redirect.github.com/astral-sh/ruff/pull/23400)) - \[`flake8-bandit`] Allow suspicious imports in `TYPE_CHECKING` blocks (`S401`-`S415`) ([#&#8203;23441](https://redirect.github.com/astral-sh/ruff/pull/23441)) - \[`flake8-bugbear`] Allow `B901` in pytest hook wrappers ([#&#8203;21931](https://redirect.github.com/astral-sh/ruff/pull/21931)) - \[`flake8-import-conventions`] Add missing conventions from upstream (`ICN001`, `ICN002`) ([#&#8203;21373](https://redirect.github.com/astral-sh/ruff/pull/21373)) - \[`pydocstyle`] Add rule to enforce docstring section ordering (`D420`) ([#&#8203;23537](https://redirect.github.com/astral-sh/ruff/pull/23537)) - \[`pylint`] Implement `swap-with-temporary-variable` (`PLR1712`) ([#&#8203;22205](https://redirect.github.com/astral-sh/ruff/pull/22205)) - \[`ruff`] Add `unnecessary-assign-before-yield` (`RUF070`) ([#&#8203;23300](https://redirect.github.com/astral-sh/ruff/pull/23300)) - \[`ruff`] Support file-level noqa in `RUF102` ([#&#8203;23535](https://redirect.github.com/astral-sh/ruff/pull/23535)) - \[`ruff`] Suppress diagnostic for invalid f-strings before Python 3.12 (`RUF027`) ([#&#8203;23480](https://redirect.github.com/astral-sh/ruff/pull/23480)) - \[`flake8-bandit`] Don't flag `BaseLoader`/`CBaseLoader` as unsafe (`S506`) ([#&#8203;23510](https://redirect.github.com/astral-sh/ruff/pull/23510)) ##### Bug fixes - Avoid infinite loop between `I002` and `PYI025` ([#&#8203;23352](https://redirect.github.com/astral-sh/ruff/pull/23352)) - \[`pyflakes`] Fix false positive for `@overload` from `lint.typing-modules` (`F811`) ([#&#8203;23357](https://redirect.github.com/astral-sh/ruff/pull/23357)) - \[`pyupgrade`] Fix false positive for `TypeVar` default before Python 3.12 (`UP046`) ([#&#8203;23540](https://redirect.github.com/astral-sh/ruff/pull/23540)) - \[`pyupgrade`] Fix handling of `\N` in raw strings (`UP032`) ([#&#8203;22149](https://redirect.github.com/astral-sh/ruff/pull/22149)) ##### Rule changes - Render sub-diagnostics in the GitHub output format ([#&#8203;23455](https://redirect.github.com/astral-sh/ruff/pull/23455)) - \[`flake8-bugbear`] Tag certain `B007` diagnostics as unnecessary ([#&#8203;23453](https://redirect.github.com/astral-sh/ruff/pull/23453)) - \[`ruff`] Ignore unknown rule codes in `RUF100` ([#&#8203;23531](https://redirect.github.com/astral-sh/ruff/pull/23531)) These are now flagged by [`RUF102`](https://docs.astral.sh/ruff/rules/invalid-rule-code/) instead. ##### Documentation - Fix missing settings links for several linters ([#&#8203;23519](https://redirect.github.com/astral-sh/ruff/pull/23519)) - Update isort action comments heading ([#&#8203;23515](https://redirect.github.com/astral-sh/ruff/pull/23515)) - \[`pydocstyle`] Fix double comma in description of `D404` ([#&#8203;23440](https://redirect.github.com/astral-sh/ruff/pull/23440)) ##### Other changes - Update the Python module (notably `find_ruff_bin`) for parity with uv ([#&#8203;23406](https://redirect.github.com/astral-sh/ruff/pull/23406)) ##### Contributors - [@&#8203;zanieb](https://redirect.github.com/zanieb) - [@&#8203;o1x3](https://redirect.github.com/o1x3) - [@&#8203;assadyousuf](https://redirect.github.com/assadyousuf) - [@&#8203;kar-ganap](https://redirect.github.com/kar-ganap) - [@&#8203;denyszhak](https://redirect.github.com/denyszhak) - [@&#8203;amyreese](https://redirect.github.com/amyreese) - [@&#8203;carljm](https://redirect.github.com/carljm) - [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish) - [@&#8203;Bnyro](https://redirect.github.com/Bnyro) - [@&#8203;danparizher](https://redirect.github.com/danparizher) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;gcomneno](https://redirect.github.com/gcomneno) - [@&#8203;jaap3](https://redirect.github.com/jaap3) - [@&#8203;stakeswky](https://redirect.github.com/stakeswky) ### [`v0.15.2`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0152) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.1...0.15.2) Released on 2026-02-19. ##### Preview features - Expand the default rule set ([#&#8203;23385](https://redirect.github.com/astral-sh/ruff/pull/23385)) In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults: - [`multiple-imports-on-one-line`](https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line) (`E401`) - [`module-import-not-at-top-of-file`](https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file) (`E402`) - [`module-import-not-at-top-of-file`](https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file) (`E701`) - [`multiple-statements-on-one-line-semicolon`](https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon) (`E702`) - [`useless-semicolon`](https://docs.astral.sh/ruff/rules/useless-semicolon) (`E703`) - [`none-comparison`](https://docs.astral.sh/ruff/rules/none-comparison) (`E711`) - [`true-false-comparison`](https://docs.astral.sh/ruff/rules/true-false-comparison) (`E712`) - [`not-in-test`](https://docs.astral.sh/ruff/rules/not-in-test) (`E713`) - [`not-is-test`](https://docs.astral.sh/ruff/rules/not-is-test) (`E714`) - [`type-comparison`](https://docs.astral.sh/ruff/rules/type-comparison) (`E721`) - [`lambda-assignment`](https://docs.astral.sh/ruff/rules/lambda-assignment) (`E731`) - [`ambiguous-variable-name`](https://docs.astral.sh/ruff/rules/ambiguous-variable-name) (`E741`) - [`ambiguous-class-name`](https://docs.astral.sh/ruff/rules/ambiguous-class-name) (`E742`) - [`ambiguous-function-name`](https://docs.astral.sh/ruff/rules/ambiguous-function-name) (`E743`) - [`undefined-local-with-import-star`](https://docs.astral.sh/ruff/rules/undefined-local-with-import-star) (`F403`) - [`undefined-local-with-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage) (`F405`) - [`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage) (`F406`) - [`forward-annotation-syntax-error`](https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error) (`F722`) If you use preview and prefer the old defaults, you can restore them with configuration like: ```toml # ruff.toml [lint] select = ["E4", "E7", "E9", "F"] # pyproject.toml [tool.ruff.lint] select = ["E4", "E7", "E9", "F"] ``` If you do give them a try, feel free to share your feedback in the [GitHub discussion](https://redirect.github.com/astral-sh/ruff/discussions/23203)! - \[`flake8-pyi`] Also check string annotations (`PYI041`) ([#&#8203;19023](https://redirect.github.com/astral-sh/ruff/pull/19023)) ##### Bug fixes - \[`flake8-async`] Fix `in_async_context` logic ([#&#8203;23426](https://redirect.github.com/astral-sh/ruff/pull/23426)) - \[`ruff`] Fix for `RUF102` should delete entire comment ([#&#8203;23380](https://redirect.github.com/astral-sh/ruff/pull/23380)) - \[`ruff`] Suppress diagnostic for strings with backslashes in interpolations before Python 3.12 (`RUF027`) ([#&#8203;21069](https://redirect.github.com/astral-sh/ruff/pull/21069)) - \[`flake8-bugbear`] Fix `B023` false positive for immediately-invoked lambdas ([#&#8203;23294](https://redirect.github.com/astral-sh/ruff/pull/23294)) - \[parser] Fix false syntax error for match-like annotated assignments ([#&#8203;23297](https://redirect.github.com/astral-sh/ruff/pull/23297)) - \[parser] Fix indentation tracking after line continuations ([#&#8203;23417](https://redirect.github.com/astral-sh/ruff/pull/23417)) ##### Rule changes - \[`flake8-executable`] Allow global flags in uv shebangs (`EXE003`) ([#&#8203;22582](https://redirect.github.com/astral-sh/ruff/pull/22582)) - \[`pyupgrade`] Fix handling of `typing.{io,re}` (`UP035`) ([#&#8203;23131](https://redirect.github.com/astral-sh/ruff/pull/23131)) - \[`ruff`] Detect `PLC0207` on chained `str.split()` calls ([#&#8203;23275](https://redirect.github.com/astral-sh/ruff/pull/23275)) ##### CLI - Remove invalid inline `noqa` warning ([#&#8203;23270](https://redirect.github.com/astral-sh/ruff/pull/23270)) ##### Configuration - Add extension mapping to configuration file options ([#&#8203;23384](https://redirect.github.com/astral-sh/ruff/pull/23384)) ##### Documentation - Add `Q004` to the list of conflicting rules ([#&#8203;23340](https://redirect.github.com/astral-sh/ruff/pull/23340)) - \[`ruff`] Expand `lint.external` docs and add sub-diagnostic (`RUF100`, `RUF102`) ([#&#8203;23268](https://redirect.github.com/astral-sh/ruff/pull/23268)) ##### Contributors - [@&#8203;dylwil3](https://redirect.github.com/dylwil3) - [@&#8203;Jkhall81](https://redirect.github.com/Jkhall81) - [@&#8203;danparizher](https://redirect.github.com/danparizher) - [@&#8203;dhruvmanila](https://redirect.github.com/dhruvmanila) - [@&#8203;harupy](https://redirect.github.com/harupy) - [@&#8203;ngnpope](https://redirect.github.com/ngnpope) - [@&#8203;amyreese](https://redirect.github.com/amyreese) - [@&#8203;kar-ganap](https://redirect.github.com/kar-ganap) - [@&#8203;robsdedude](https://redirect.github.com/robsdedude) - [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;toslunar](https://redirect.github.com/toslunar) ### [`v0.15.1`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0151) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.0...0.15.1) Released on 2026-02-12. ##### Preview features - \[`airflow`] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (`AIR321`) ([#&#8203;22376](https://redirect.github.com/astral-sh/ruff/pull/22376)) - \[`airflow`] Third positional parameter not named `ti_key` should be flagged for `BaseOperatorLink.get_link` (`AIR303`) ([#&#8203;22828](https://redirect.github.com/astral-sh/ruff/pull/22828)) - \[`flake8-gettext`] Fix false negatives for plural argument of `ngettext` (`INT001`, `INT002`, `INT003`) ([#&#8203;21078](https://redirect.github.com/astral-sh/ruff/pull/21078)) - \[`pyflakes`] Fix infinite loop in preview fix for `unused-import` (`F401`) ([#&#8203;23038](https://redirect.github.com/astral-sh/ruff/pull/23038)) - \[`pygrep-hooks`] Detect non-existent mock methods in standalone expressions (`PGH005`) ([#&#8203;22830](https://redirect.github.com/astral-sh/ruff/pull/22830)) - \[`pylint`] Allow dunder submodules and improve diagnostic range (`PLC2701`) ([#&#8203;22804](https://redirect.github.com/astral-sh/ruff/pull/22804)) - \[`pyupgrade`] Improve diagnostic range for tuples (`UP024`) ([#&#8203;23013](https://redirect.github.com/astral-sh/ruff/pull/23013)) - \[`refurb`] Check subscripts in tuple do not use lambda parameters in `reimplemented-operator` (`FURB118`) ([#&#8203;23079](https://redirect.github.com/astral-sh/ruff/pull/23079)) - \[`ruff`] Detect mutable defaults in `field` calls (`RUF008`) ([#&#8203;23046](https://redirect.github.com/astral-sh/ruff/pull/23046)) - \[`ruff`] Ignore std `cmath.inf` (`RUF069`) ([#&#8203;23120](https://redirect.github.com/astral-sh/ruff/pull/23120)) - \[`ruff`] New rule `float-equality-comparison` (`RUF069`) ([#&#8203;20585](https://redirect.github.com/astral-sh/ruff/pull/20585)) - Don't format unlabeled Markdown code blocks ([#&#8203;23106](https://redirect.github.com/astral-sh/ruff/pull/23106)) - Markdown formatting support in LSP ([#&#8203;23063](https://redirect.github.com/astral-sh/ruff/pull/23063)) - Support Quarto Markdown language markers ([#&#8203;22947](https://redirect.github.com/astral-sh/ruff/pull/22947)) - Support formatting `pycon` Markdown code blocks ([#&#8203;23112](https://redirect.github.com/astral-sh/ruff/pull/23112)) - Use extension mapping to select Markdown code block language ([#&#8203;22934](https://redirect.github.com/astral-sh/ruff/pull/22934)) ##### Bug fixes - Avoid false positive for undefined variables in `FAST001` ([#&#8203;23224](https://redirect.github.com/astral-sh/ruff/pull/23224)) - Avoid introducing syntax errors for `FAST003` autofix ([#&#8203;23227](https://redirect.github.com/astral-sh/ruff/pull/23227)) - Avoid suggesting `InitVar` for `__post_init__` that references PEP 695 type parameters ([#&#8203;23226](https://redirect.github.com/astral-sh/ruff/pull/23226)) - Deduplicate type variables in generic functions ([#&#8203;23225](https://redirect.github.com/astral-sh/ruff/pull/23225)) - Fix exception handler parenthesis removal for Python 3.14+ ([#&#8203;23126](https://redirect.github.com/astral-sh/ruff/pull/23126)) - Fix f-string middle panic when parsing t-strings ([#&#8203;23232](https://redirect.github.com/astral-sh/ruff/pull/23232)) - Wrap `RUF020` target for multiline fixes ([#&#8203;23210](https://redirect.github.com/astral-sh/ruff/pull/23210)) - Wrap `UP007` target for multiline fixes ([#&#8203;23208](https://redirect.github.com/astral-sh/ruff/pull/23208)) - Fix missing diagnostics for last range suppression in file ([#&#8203;23242](https://redirect.github.com/astral-sh/ruff/pull/23242)) - \[`pyupgrade`] Fix syntax error on string with newline escape and comment (`UP037`) ([#&#8203;22968](https://redirect.github.com/astral-sh/ruff/pull/22968)) ##### Rule changes - Use `ruff` instead of `Ruff` as the program name in GitHub output format ([#&#8203;23240](https://redirect.github.com/astral-sh/ruff/pull/23240)) - \[`PT006`] Fix syntax error when unpacking nested tuples in `parametrize` fixes ([#&#8203;22441](https://redirect.github.com/astral-sh/ruff/issues/22441)) ([#&#8203;22464](https://redirect.github.com/astral-sh/ruff/pull/22464)) - \[`airflow`] Catch deprecated attribute access from context key for Airflow 3.0 (`AIR301`) ([#&#8203;22850](https://redirect.github.com/astral-sh/ruff/pull/22850)) - \[`airflow`] Capture deprecated arguments and a decorator (`AIR301`) ([#&#8203;23170](https://redirect.github.com/astral-sh/ruff/pull/23170)) - \[`flake8-boolean-trap`] Add `multiprocessing.Value` to excluded functions for `FBT003` ([#&#8203;23010](https://redirect.github.com/astral-sh/ruff/pull/23010)) - \[`flake8-bugbear`] Add a secondary annotation showing the previous occurrence (`B033`) ([#&#8203;22634](https://redirect.github.com/astral-sh/ruff/pull/22634)) - \[`flake8-type-checking`] Add sub-diagnostic showing the runtime use of an annotation (`TC004`) ([#&#8203;23091](https://redirect.github.com/astral-sh/ruff/pull/23091)) - \[`isort`] Support configurable import section heading comments ([#&#8203;23151](https://redirect.github.com/astral-sh/ruff/pull/23151)) - \[`ruff`] Improve the diagnostic for `RUF012` ([#&#8203;23202](https://redirect.github.com/astral-sh/ruff/pull/23202)) ##### Formatter - Suppress diagnostic output for `format --check --silent` ([#&#8203;17736](https://redirect.github.com/astral-sh/ruff/pull/17736)) ##### Documentation - Add tabbed shell completion documentation ([#&#8203;23169](https://redirect.github.com/astral-sh/ruff/pull/23169)) - Explain how to enable Markdown formatting for pre-commit hook ([#&#8203;23077](https://redirect.github.com/astral-sh/ruff/pull/23077)) - Fixed import in `runtime-evaluated-decorators` example ([#&#8203;23187](https://redirect.github.com/astral-sh/ruff/pull/23187)) - Update ruff server contributing guide ([#&#8203;23060](https://redirect.github.com/astral-sh/ruff/pull/23060)) ##### Other changes - Exclude WASM artifacts from GitHub releases ([#&#8203;23221](https://redirect.github.com/astral-sh/ruff/pull/23221)) ##### Contributors - [@&#8203;mkniewallner](https://redirect.github.com/mkniewallner) - [@&#8203;bxff](https://redirect.github.com/bxff) - [@&#8203;dylwil3](https://redirect.github.com/dylwil3) - [@&#8203;Avasam](https://redirect.github.com/Avasam) - [@&#8203;amyreese](https://redirect.github.com/amyreese) - [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh) - [@&#8203;Alex-ley-scrub](https://redirect.github.com/Alex-ley-scrub) - [@&#8203;Kalmaegi](https://redirect.github.com/Kalmaegi) - [@&#8203;danparizher](https://redirect.github.com/danparizher) - [@&#8203;AiyionPrime](https://redirect.github.com/AiyionPrime) - [@&#8203;eureka928](https://redirect.github.com/eureka928) - [@&#8203;11happy](https://redirect.github.com/11happy) - [@&#8203;Jkhall81](https://redirect.github.com/Jkhall81) - [@&#8203;chirizxc](https://redirect.github.com/chirizxc) - [@&#8203;leandrobbraga](https://redirect.github.com/leandrobbraga) - [@&#8203;tvatter](https://redirect.github.com/tvatter) - [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish) - [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid) - [@&#8203;ntBre](https://redirect.github.com/ntBre) - [@&#8203;sjyangkevin](https://redirect.github.com/sjyangkevin) </details> --- ### 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/prometheus/client_java). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjEzOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1 parent 980bff4 commit 355429f

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

mise.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ editorconfig-checker = "v3.6.1"
1717
"npm:markdownlint-cli2" = "0.22.0"
1818
"npm:prettier" = "3.8.3"
1919
"pipx:codespell" = "2.4.1"
20-
"pipx:ruff" = "0.15.0"
20+
"pipx:ruff" = "0.15.11"
2121
shellcheck = "v0.11.0"
2222
shfmt = "3.13.1"
2323

0 commit comments

Comments
 (0)