Commit a6dd0e4
authored
chore(deps): update python dependencies (#180)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [requests](https://requests.readthedocs.io)
([source](https://redirect.github.com/psf/requests),
[changelog](https://redirect.github.com/psf/requests/blob/master/HISTORY.md))
| `2.32.5` → `2.33.0` |

|

|

|

|
| [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.7` |

|

|

|

|
---
### Release Notes
<details>
<summary>psf/requests (requests)</summary>
###
[`v2.33.0`](https://redirect.github.com/psf/requests/blob/HEAD/HISTORY.md#2330-2026-03-25)
[Compare
Source](https://redirect.github.com/psf/requests/compare/v2.32.5...v2.33.0)
**Announcements**
- 📣 Requests is adding inline types. If you have a typed code base that
uses Requests, please take a look at
[#​7271](https://redirect.github.com/psf/requests/issues/7271).
Give it a try, and report
any gaps or feedback you may have in the issue. 📣
**Security**
- CVE-2026-25645 `requests.utils.extract_zipped_paths` now extracts
contents to a non-deterministic location to prevent malicious file
replacement. This does not affect default usage of Requests, only
applications calling the utility function directly.
**Improvements**
- Migrated to a PEP 517 build system using setuptools.
([#​7012](https://redirect.github.com/psf/requests/issues/7012))
**Bugfixes**
- Fixed an issue where an empty netrc entry could cause
malformed authentication to be applied to Requests on
Python 3.11+.
([#​7205](https://redirect.github.com/psf/requests/issues/7205))
**Deprecations**
- Dropped support for Python 3.9 following its end of support.
([#​7196](https://redirect.github.com/psf/requests/issues/7196))
**Documentation**
- Various typo fixes and doc improvements.
</details>
<details>
<summary>astral-sh/ruff (ruff)</summary>
###
[`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
([#​23845](https://redirect.github.com/astral-sh/ruff/pull/23845))
- Don't show `noqa` hover for non-Python documents
([#​24040](https://redirect.github.com/astral-sh/ruff/pull/24040))
##### Rule changes
- \[`pycodestyle`] Recognize `pyrefly:` as a pragma comment (`E501`)
([#​24019](https://redirect.github.com/astral-sh/ruff/pull/24019))
##### Server
- Don't return code actions for non-Python documents
([#​23905](https://redirect.github.com/astral-sh/ruff/pull/23905))
##### Documentation
- Add company AI policy to contributing guide
([#​24021](https://redirect.github.com/astral-sh/ruff/pull/24021))
- Document editor features for Markdown code formatting
([#​23924](https://redirect.github.com/astral-sh/ruff/pull/23924))
- \[`pylint`] Improve phrasing (`PLC0208`)
([#​24033](https://redirect.github.com/astral-sh/ruff/pull/24033))
##### Other changes
- Use PEP 639 license information
([#​19661](https://redirect.github.com/astral-sh/ruff/pull/19661))
##### Contributors
- [@​tmimmanuel](https://redirect.github.com/tmimmanuel)
-
[@​DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
- [@​amyreese](https://redirect.github.com/amyreese)
- [@​statxc](https://redirect.github.com/statxc)
- [@​dylwil3](https://redirect.github.com/dylwil3)
- [@​hunterhogan](https://redirect.github.com/hunterhogan)
- [@​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
([#​23755](https://redirect.github.com/astral-sh/ruff/pull/23755))
- Add support for star-unpacking of comprehensions (PEP 798)
([#​23788](https://redirect.github.com/astral-sh/ruff/pull/23788))
- Reject semantic syntax errors for lazy imports
([#​23757](https://redirect.github.com/astral-sh/ruff/pull/23757))
- Drop a few rules from the preview default set
([#​23879](https://redirect.github.com/astral-sh/ruff/pull/23879))
- \[`airflow`] Flag `Variable.get()` calls outside of task execution
context (`AIR003`)
([#​23584](https://redirect.github.com/astral-sh/ruff/pull/23584))
- \[`airflow`] Flag runtime-varying values in DAG/task constructor
arguments (`AIR304`)
([#​23631](https://redirect.github.com/astral-sh/ruff/pull/23631))
- \[`flake8-bugbear`] Implement `delattr-with-constant` (`B043`)
([#​23737](https://redirect.github.com/astral-sh/ruff/pull/23737))
- \[`flake8-tidy-imports`] Add `TID254` to enforce lazy imports
([#​23777](https://redirect.github.com/astral-sh/ruff/pull/23777))
- \[`flake8-tidy-imports`] Allow users to ban lazy imports with `TID254`
([#​23847](https://redirect.github.com/astral-sh/ruff/pull/23847))
- \[`isort`] Retain `lazy` keyword when sorting imports
([#​23762](https://redirect.github.com/astral-sh/ruff/pull/23762))
- \[`pyupgrade`] Add `from __future__ import annotations` automatically
(`UP006`)
([#​23260](https://redirect.github.com/astral-sh/ruff/pull/23260))
- \[`refurb`] Support `newline` parameter in `FURB101` for Python 3.13+
([#​23754](https://redirect.github.com/astral-sh/ruff/pull/23754))
- \[`ruff`] Add `os-path-commonprefix` (`RUF071`)
([#​23814](https://redirect.github.com/astral-sh/ruff/pull/23814))
- \[`ruff`] Add unsafe fix for os-path-commonprefix (`RUF071`)
([#​23852](https://redirect.github.com/astral-sh/ruff/pull/23852))
- \[`ruff`] Limit `RUF036` to typing contexts; make it unsafe for
non-typing-only
([#​23765](https://redirect.github.com/astral-sh/ruff/pull/23765))
- \[`ruff`] Use starred unpacking for `RUF017` in Python 3.15+
([#​23789](https://redirect.github.com/astral-sh/ruff/pull/23789))
##### Bug fixes
- Fix `--add-noqa` creating unwanted leading whitespace
([#​23773](https://redirect.github.com/astral-sh/ruff/pull/23773))
- Fix `--add-noqa` breaking shebangs
([#​23577](https://redirect.github.com/astral-sh/ruff/pull/23577))
- \[formatter] Fix lambda body formatting for multiline calls and
subscripts
([#​23866](https://redirect.github.com/astral-sh/ruff/pull/23866))
- \[formatter] Preserve required annotation parentheses in annotated
assignments
([#​23865](https://redirect.github.com/astral-sh/ruff/pull/23865))
- \[formatter] Preserve type-expression parentheses in the formatter
([#​23867](https://redirect.github.com/astral-sh/ruff/pull/23867))
- \[`flake8-annotations`] Fix stack overflow in `ANN401` on quoted
annotations with escape sequences
([#​23912](https://redirect.github.com/astral-sh/ruff/pull/23912))
- \[`pep8-naming`] Check naming conventions in `match` pattern bindings
(`N806`, `N815`, `N816`)
([#​23899](https://redirect.github.com/astral-sh/ruff/pull/23899))
- \[`perflint`] Fix comment duplication in fixes (`PERF401`, `PERF403`)
([#​23729](https://redirect.github.com/astral-sh/ruff/pull/23729))
- \[`pyupgrade`] Properly trigger `super` change in nested class
(`UP008`)
([#​22677](https://redirect.github.com/astral-sh/ruff/pull/22677))
- \[`ruff`] Avoid syntax errors in `RUF036` fixes
([#​23764](https://redirect.github.com/astral-sh/ruff/pull/23764))
##### Rule changes
- \[`flake8-bandit`] Flag `S501` with `requests.request`
([#​23873](https://redirect.github.com/astral-sh/ruff/pull/23873))
- \[`flake8-executable`] Fix WSL detection in non-Docker containers
([#​22879](https://redirect.github.com/astral-sh/ruff/pull/22879))
- \[`flake8-print`] Ignore `pprint` calls with `stream=`
([#​23787](https://redirect.github.com/astral-sh/ruff/pull/23787))
##### Documentation
- Update docs for Markdown code block formatting
([#​23871](https://redirect.github.com/astral-sh/ruff/pull/23871))
- \[`flake8-bugbear`] Fix misleading description for `B904`
([#​23731](https://redirect.github.com/astral-sh/ruff/pull/23731))
##### Contributors
- [@​zsol](https://redirect.github.com/zsol)
- [@​carljm](https://redirect.github.com/carljm)
- [@​ntBre](https://redirect.github.com/ntBre)
- [@​Bortlesboat](https://redirect.github.com/Bortlesboat)
- [@​sososonia-cyber](https://redirect.github.com/sososonia-cyber)
- [@​chirizxc](https://redirect.github.com/chirizxc)
- [@​leandrobbraga](https://redirect.github.com/leandrobbraga)
- [@​11happy](https://redirect.github.com/11happy)
- [@​Acelogic](https://redirect.github.com/Acelogic)
- [@​anishgirianish](https://redirect.github.com/anishgirianish)
- [@​amyreese](https://redirect.github.com/amyreese)
- [@​xvchris](https://redirect.github.com/xvchris)
- [@​charliermarsh](https://redirect.github.com/charliermarsh)
- [@​getehen](https://redirect.github.com/getehen)
- [@​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
([#​23434](https://redirect.github.com/astral-sh/ruff/pull/23434))
- \[`perflint`] Extend `PERF102` to comprehensions and generators
([#​23473](https://redirect.github.com/astral-sh/ruff/pull/23473))
- \[`refurb`] Fix `FURB101` and `FURB103` false positives when I/O
variable is used later
([#​23542](https://redirect.github.com/astral-sh/ruff/pull/23542))
- \[`ruff`] Add fix for `none-not-at-end-of-union` (`RUF036`)
([#​22829](https://redirect.github.com/astral-sh/ruff/pull/22829))
- \[`ruff`] Fix false positive for `re.split` with empty string pattern
(`RUF055`)
([#​23634](https://redirect.github.com/astral-sh/ruff/pull/23634))
##### Bug fixes
- \[`fastapi`] Handle callable class dependencies with `__call__` method
(`FAST003`)
([#​23553](https://redirect.github.com/astral-sh/ruff/pull/23553))
- \[`pydocstyle`] Fix numpy section ordering (`D420`)
([#​23685](https://redirect.github.com/astral-sh/ruff/pull/23685))
- \[`pyflakes`] Fix false positive for names shadowing re-exports
(`F811`)
([#​23356](https://redirect.github.com/astral-sh/ruff/pull/23356))
- \[`pyupgrade`] Avoid inserting redundant `None` elements in `UP045`
([#​23459](https://redirect.github.com/astral-sh/ruff/pull/23459))
##### Documentation
- Document extension mapping for Markdown code formatting
([#​23574](https://redirect.github.com/astral-sh/ruff/pull/23574))
- Update default Python version examples
([#​23605](https://redirect.github.com/astral-sh/ruff/pull/23605))
##### Other changes
- Publish releases to Astral mirror
([#​23616](https://redirect.github.com/astral-sh/ruff/pull/23616))
##### Contributors
- [@​amyreese](https://redirect.github.com/amyreese)
- [@​stakeswky](https://redirect.github.com/stakeswky)
- [@​chirizxc](https://redirect.github.com/chirizxc)
- [@​anishgirianish](https://redirect.github.com/anishgirianish)
- [@​bxff](https://redirect.github.com/bxff)
- [@​zsol](https://redirect.github.com/zsol)
- [@​charliermarsh](https://redirect.github.com/charliermarsh)
- [@​ntBre](https://redirect.github.com/ntBre)
- [@​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
([#​23588](https://redirect.github.com/astral-sh/ruff/pull/23588))
- \[`pyflakes`] Suppress false positive in `F821` for names used before
`del` in stub files
([#​23550](https://redirect.github.com/astral-sh/ruff/pull/23550))
##### Documentation
- Clarify first-party import detection in Ruff
([#​23591](https://redirect.github.com/astral-sh/ruff/pull/23591))
- Fix incorrect `import-heading` example
([#​23568](https://redirect.github.com/astral-sh/ruff/pull/23568))
##### Contributors
- [@​stakeswky](https://redirect.github.com/stakeswky)
- [@​ntBre](https://redirect.github.com/ntBre)
- [@​thejcannon](https://redirect.github.com/thejcannon)
- [@​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
([#​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
([#​23400](https://redirect.github.com/astral-sh/ruff/pull/23400))
- \[`flake8-bandit`] Allow suspicious imports in `TYPE_CHECKING` blocks
(`S401`-`S415`)
([#​23441](https://redirect.github.com/astral-sh/ruff/pull/23441))
- \[`flake8-bugbear`] Allow `B901` in pytest hook wrappers
([#​21931](https://redirect.github.com/astral-sh/ruff/pull/21931))
- \[`flake8-import-conventions`] Add missing conventions from upstream
(`ICN001`, `ICN002`)
([#​21373](https://redirect.github.com/astral-sh/ruff/pull/21373))
- \[`pydocstyle`] Add rule to enforce docstring section ordering
(`D420`)
([#​23537](https://redirect.github.com/astral-sh/ruff/pull/23537))
- \[`pylint`] Implement `swap-with-temporary-variable` (`PLR1712`)
([#​22205](https://redirect.github.com/astral-sh/ruff/pull/22205))
- \[`ruff`] Add `unnecessary-assign-before-yield` (`RUF070`)
([#​23300](https://redirect.github.com/astral-sh/ruff/pull/23300))
- \[`ruff`] Support file-level noqa in `RUF102`
([#​23535](https://redirect.github.com/astral-sh/ruff/pull/23535))
- \[`ruff`] Suppress diagnostic for invalid f-strings before Python 3.12
(`RUF027`)
([#​23480](https://redirect.github.com/astral-sh/ruff/pull/23480))
- \[`flake8-bandit`] Don't flag `BaseLoader`/`CBaseLoader` as unsafe
(`S506`)
([#​23510](https://redirect.github.com/astral-sh/ruff/pull/23510))
##### Bug fixes
- Avoid infinite loop between `I002` and `PYI025`
([#​23352](https://redirect.github.com/astral-sh/ruff/pull/23352))
- \[`pyflakes`] Fix false positive for `@overload` from
`lint.typing-modules` (`F811`)
([#​23357](https://redirect.github.com/astral-sh/ruff/pull/23357))
- \[`pyupgrade`] Fix false positive for `TypeVar` default before Python
3.12 (`UP046`)
([#​23540](https://redirect.github.com/astral-sh/ruff/pull/23540))
- \[`pyupgrade`] Fix handling of `\N` in raw strings (`UP032`)
([#​22149](https://redirect.github.com/astral-sh/ruff/pull/22149))
##### Rule changes
- Render sub-diagnostics in the GitHub output format
([#​23455](https://redirect.github.com/astral-sh/ruff/pull/23455))
- \[`flake8-bugbear`] Tag certain `B007` diagnostics as unnecessary
([#​23453](https://redirect.github.com/astral-sh/ruff/pull/23453))
- \[`ruff`] Ignore unknown rule codes in `RUF100`
([#​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
([#​23519](https://redirect.github.com/astral-sh/ruff/pull/23519))
- Update isort action comments heading
([#​23515](https://redirect.github.com/astral-sh/ruff/pull/23515))
- \[`pydocstyle`] Fix double comma in description of `D404`
([#​23440](https://redirect.github.com/astral-sh/ruff/pull/23440))
##### Other changes
- Update the Python module (notably `find_ruff_bin`) for parity with uv
([#​23406](https://redirect.github.com/astral-sh/ruff/pull/23406))
##### Contributors
- [@​zanieb](https://redirect.github.com/zanieb)
- [@​o1x3](https://redirect.github.com/o1x3)
- [@​assadyousuf](https://redirect.github.com/assadyousuf)
- [@​kar-ganap](https://redirect.github.com/kar-ganap)
- [@​denyszhak](https://redirect.github.com/denyszhak)
- [@​amyreese](https://redirect.github.com/amyreese)
- [@​carljm](https://redirect.github.com/carljm)
- [@​anishgirianish](https://redirect.github.com/anishgirianish)
- [@​Bnyro](https://redirect.github.com/Bnyro)
- [@​danparizher](https://redirect.github.com/danparizher)
- [@​ntBre](https://redirect.github.com/ntBre)
- [@​gcomneno](https://redirect.github.com/gcomneno)
- [@​jaap3](https://redirect.github.com/jaap3)
- [@​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
([#​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`)
([#​19023](https://redirect.github.com/astral-sh/ruff/pull/19023))
##### Bug fixes
- \[`flake8-async`] Fix `in_async_context` logic
([#​23426](https://redirect.github.com/astral-sh/ruff/pull/23426))
- \[`ruff`] Fix for `RUF102` should delete entire comment
([#​23380](https://redirect.github.com/astral-sh/ruff/pull/23380))
- \[`ruff`] Suppress diagnostic for strings with backslashes in
interpolations before Python 3.12 (`RUF027`)
([#​21069](https://redirect.github.com/astral-sh/ruff/pull/21069))
- \[`flake8-bugbear`] Fix `B023` false positive for immediately-invoked
lambdas
([#​23294](https://redirect.github.com/astral-sh/ruff/pull/23294))
- \[parser] Fix false syntax error for match-like annotated assignments
([#​23297](https://redirect.github.com/astral-sh/ruff/pull/23297))
- \[parser] Fix indentation tracking after line continuations
([#​23417](https://redirect.github.com/astral-sh/ruff/pull/23417))
##### Rule changes
- \[`flake8-executable`] Allow global flags in uv shebangs (`EXE003`)
([#​22582](https://redirect.github.com/astral-sh/ruff/pull/22582))
- \[`pyupgrade`] Fix handling of `typing.{io,re}` (`UP035`)
([#​23131](https://redirect.github.com/astral-sh/ruff/pull/23131))
- \[`ruff`] Detect `PLC0207` on chained `str.split()` calls
([#​23275](https://redirect.github.com/astral-sh/ruff/pull/23275))
##### CLI
- Remove invalid inline `noqa` warning
([#​23270](https://redirect.github.com/astral-sh/ruff/pull/23270))
##### Configuration
- Add extension mapping to configuration file options
([#​23384](https://redirect.github.com/astral-sh/ruff/pull/23384))
##### Documentation
- Add `Q004` to the list of conflicting rules
([#​23340](https://redirect.github.com/astral-sh/ruff/pull/23340))
- \[`ruff`] Expand `lint.external` docs and add sub-diagnostic
(`RUF100`, `RUF102`)
([#​23268](https://redirect.github.com/astral-sh/ruff/pull/23268))
##### Contributors
- [@​dylwil3](https://redirect.github.com/dylwil3)
- [@​Jkhall81](https://redirect.github.com/Jkhall81)
- [@​danparizher](https://redirect.github.com/danparizher)
- [@​dhruvmanila](https://redirect.github.com/dhruvmanila)
- [@​harupy](https://redirect.github.com/harupy)
- [@​ngnpope](https://redirect.github.com/ngnpope)
- [@​amyreese](https://redirect.github.com/amyreese)
- [@​kar-ganap](https://redirect.github.com/kar-ganap)
- [@​robsdedude](https://redirect.github.com/robsdedude)
- [@​shaanmajid](https://redirect.github.com/shaanmajid)
- [@​ntBre](https://redirect.github.com/ntBre)
- [@​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`)
([#​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`)
([#​22828](https://redirect.github.com/astral-sh/ruff/pull/22828))
- \[`flake8-gettext`] Fix false negatives for plural argument of
`ngettext` (`INT001`, `INT002`, `INT003`)
([#​21078](https://redirect.github.com/astral-sh/ruff/pull/21078))
- \[`pyflakes`] Fix infinite loop in preview fix for `unused-import`
(`F401`)
([#​23038](https://redirect.github.com/astral-sh/ruff/pull/23038))
- \[`pygrep-hooks`] Detect non-existent mock methods in standalone
expressions (`PGH005`)
([#​22830](https://redirect.github.com/astral-sh/ruff/pull/22830))
- \[`pylint`] Allow dunder submodules and improve diagnostic range
(`PLC2701`)
([#​22804](https://redirect.github.com/astral-sh/ruff/pull/22804))
- \[`pyupgrade`] Improve diagnostic range for tuples (`UP024`)
([#​23013](https://redirect.github.com/astral-sh/ruff/pull/23013))
- \[`refurb`] Check subscripts in tuple do not use lambda parameters in
`reimplemented-operator` (`FURB118`)
([#​23079](https://redirect.github.com/astral-sh/ruff/pull/23079))
- \[`ruff`] Detect mutable defaults in `field` calls (`RUF008`)
([#​23046](https://redirect.github.com/astral-sh/ruff/pull/23046))
- \[`ruff`] Ignore std `cmath.inf` (`RUF069`)
([#​23120](https://redirect.github.com/astral-sh/ruff/pull/23120))
- \[`ruff`] New rule `float-equality-comparison` (`RUF069`)
([#​20585](https://redirect.github.com/astral-sh/ruff/pull/20585))
- Don't format unlabeled Markdown code blocks
([#​23106](https://redirect.github.com/astral-sh/ruff/pull/23106))
- Markdown formatting support in LSP
([#​23063](https://redirect.github.com/astral-sh/ruff/pull/23063))
- Support Quarto Markdown language markers
([#​22947](https://redirect.github.com/astral-sh/ruff/pull/22947))
- Support formatting `pycon` Markdown code blocks
([#​23112](https://redirect.github.com/astral-sh/ruff/pull/23112))
- Use extension mapping to select Markdown code block language
([#​22934](https://redirect.github.com/astral-sh/ruff/pull/22934))
##### Bug fixes
- Avoid false positive for undefined variables in `FAST001`
([#​23224](https://redirect.github.com/astral-sh/ruff/pull/23224))
- Avoid introducing syntax errors for `FAST003` autofix
([#​23227](https://redirect.github.com/astral-sh/ruff/pull/23227))
- Avoid suggesting `InitVar` for `__post_init__` that references PEP 695
type parameters
([#​23226](https://redirect.github.com/astral-sh/ruff/pull/23226))
- Deduplicate type variables in generic functions
([#​23225](https://redirect.github.com/astral-sh/ruff/pull/23225))
- Fix exception handler parenthesis removal for Python 3.14+
([#​23126](https://redirect.github.com/astral-sh/ruff/pull/23126))
- Fix f-string middle panic when parsing t-strings
([#​23232](https://redirect.github.com/astral-sh/ruff/pull/23232))
- Wrap `RUF020` target for multiline fixes
([#​23210](https://redirect.github.com/astral-sh/ruff/pull/23210))
- Wrap `UP007` target for multiline fixes
([#​23208](https://redirect.github.com/astral-sh/ruff/pull/23208))
- Fix missing diagnostics for last range suppression in file
([#​23242](https://redirect.github.com/astral-sh/ruff/pull/23242))
- \[`pyupgrade`] Fix syntax error on string with newline escape and
comment (`UP037`)
([#​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
([#​23240](https://redirect.github.com/astral-sh/ruff/pull/23240))
- \[`PT006`] Fix syntax error when unpacking nested tuples in
`parametrize` fixes
([#​22441](https://redirect.github.com/astral-sh/ruff/issues/22441))
([#​22464](https://redirect.github.com/astral-sh/ruff/pull/22464))
- \[`airflow`] Catch deprecated attribute access from context key for
Airflow 3.0 (`AIR301`)
([#​22850](https://redirect.github.com/astral-sh/ruff/pull/22850))
- \[`airflow`] Capture deprecated arguments and a decorator (`AIR301`)
([#​23170](https://redirect.github.com/astral-sh/ruff/pull/23170))
- \[`flake8-boolean-trap`] Add `multiprocessing.Value` to excluded
functions for `FBT003`
([#​23010](https://redirect.github.com/astral-sh/ruff/pull/23010))
- \[`flake8-bugbear`] Add a secondary annotation showing the previous
occurrence (`B033`)
([#​22634](https://redirect.github.com/astral-sh/ruff/pull/22634))
- \[`flake8-type-checking`] Add sub-diagnostic showing the runtime use
of an annotation (`TC004`)
([#​23091](https://redirect.github.com/astral-sh/ruff/pull/23091))
- \[`isort`] Support configurable import section heading comments
([#​23151](https://redirect.github.com/astral-sh/ruff/pull/23151))
- \[`ruff`] Improve the diagnostic for `RUF012`
([#​23202](https://redirect.github.com/astral-sh/ruff/pull/23202))
##### Formatter
- Suppress diagnostic output for `format --check --silent`
([#​17736](https://redirect.github.com/astral-sh/ruff/pull/17736))
##### Documentation
- Add tabbed shell completion documentation
([#​23169](https://redirect.github.com/astral-sh/ruff/pull/23169))
- Explain how to enable Markdown formatting for pre-commit hook
([#​23077](https://redirect.github.com/astral-sh/ruff/pull/23077))
- Fixed import in `runtime-evaluated-decorators` example
([#​23187](https://redirect.github.com/astral-sh/ruff/pull/23187))
- Update ruff server contributing guide
([#​23060](https://redirect.github.com/astral-sh/ruff/pull/23060))
##### Other changes
- Exclude WASM artifacts from GitHub releases
([#​23221](https://redirect.github.com/astral-sh/ruff/pull/23221))
##### Contributors
- [@​mkniewallner](https://redirect.github.com/mkniewallner)
- [@​bxff](https://redirect.github.com/bxff)
- [@​dylwil3](https://redirect.github.com/dylwil3)
- [@​Avasam](https://redirect.github.com/Avasam)
- [@​amyreese](https://redirect.github.com/amyreese)
- [@​charliermarsh](https://redirect.github.com/charliermarsh)
- [@​Alex-ley-scrub](https://redirect.github.com/Alex-ley-scrub)
- [@​Kalmaegi](https://redirect.github.com/Kalmaegi)
- [@​danparizher](https://redirect.github.com/danparizher)
- [@​AiyionPrime](https://redirect.github.com/AiyionPrime)
- [@​eureka928](https://redirect.github.com/eureka928)
- [@​11happy](https://redirect.github.com/11happy)
- [@​Jkhall81](https://redirect.github.com/Jkhall81)
- [@​chirizxc](https://redirect.github.com/chirizxc)
- [@​leandrobbraga](https://redirect.github.com/leandrobbraga)
- [@​tvatter](https://redirect.github.com/tvatter)
- [@​anishgirianish](https://redirect.github.com/anishgirianish)
- [@​shaanmajid](https://redirect.github.com/shaanmajid)
- [@​ntBre](https://redirect.github.com/ntBre)
- [@​sjyangkevin](https://redirect.github.com/sjyangkevin)
</details>
---
### 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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- 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/DrupalSecurityTeam/drupal-advisory-database).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My44LjUiLCJ1cGRhdGVkSW5WZXIiOiI0My42Ni40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 503006c commit a6dd0e4
1 file changed
Lines changed: 27 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments