From 6c4f8521d4dfbace6ad6e7abbfe70aeded372886 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 3 Jul 2025 11:58:44 +0000
Subject: [PATCH] Bump ruff from 0.11.11 to 0.12.1 (#18645)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.11 to 0.12.1.
Release notes
Sourced from ruff's
releases.
0.12.1
Release Notes
Preview features
- [
flake8-errmsg] Extend EM101 to support
byte strings (#18867)
- [
flake8-use-pathlib] Add autofix for
PTH202 (#18763)
- [
pygrep-hooks] Add AsyncMock methods to
invalid-mock-access (PGH005) (#18547)
- [
pylint] Ignore __init__.py files in
(PLC0414) (#18400)
- [
ruff] Trigger RUF037 for empty string and
byte strings (#18862)
- [formatter] Fix missing blank lines before decorated classes in
.pyi files (#18888)
Bug fixes
- Avoid generating diagnostics with per-file ignores (#18801)
- Handle parenthesized arguments in
remove_argument (#18805)
- [
flake8-logging] Avoid false positive for
exc_info=True outside logger.exception
(LOG014) (#18737)
- [
flake8-pytest-style] Enforce pytest
import for decorators (#18779)
- [
flake8-pytest-style] Mark autofix for
PT001 and PT023 as unsafe if there's comments
in the decorator (#18792)
- [
flake8-pytest-style]
PT001/PT023 fix makes syntax error on
parenthesized decorator (#18782)
- [
flake8-raise] Make fix unsafe if it deletes comments
(RSE102) (#18788)
- [
flake8-simplify] Fix SIM911 autofix
creating a syntax error (#18793)
- [
flake8-simplify] Fix false negatives for shadowed
bindings (SIM910, SIM911) (#18794)
- [
flake8-simplify] Preserve original behavior for
except () and bare except
(SIM105) (#18213)
- [
flake8-pyi] Fix PYI041's fix causing
TypeError with None | None | ... (#18637)
- [
perflint] Fix PERF101 autofix creating a
syntax error and mark autofix as unsafe if there are comments in the
list call expr (#18803)
- [
perflint] Fix false negative in PERF401
(#18866)
- [
pylint] Avoid flattening nested
min/max when outer call has single argument
(PLW3301) (#16885)
- [
pylint] Fix PLC2801 autofix creating a
syntax error (#18857)
- [
pylint] Mark PLE0241 autofix as unsafe if
there's comments in the base classes (#18832)
- [
pylint] Suppress
PLE2510/PLE2512/PLE2513/PLE2514/PLE2515
autofix if the text contains an odd number of backslashes (#18856)
- [
refurb] Detect more exotic float literals in
FURB164 (#18925)
- [
refurb] Fix FURB163 autofix creating a
syntax error for yield expressions (#18756)
- [
refurb] Mark FURB129 autofix as unsafe if
there's comments in the readlines call (#18858)
- [
ruff] Fix false positives and negatives in
RUF010 (#18690)
- Fix casing of
analyze.direction variant names (#18892)
Rule changes
- Fix f-string interpolation escaping in generated fixes (#18882)
- [
flake8-return] Mark RET501 fix unsafe if
comments are inside (#18780)
- [
flake8-async] Fix detection for large integer sleep
durations in ASYNC116 rule (#18767)
- [
flake8-async] Mark autofix for ASYNC115
as unsafe if the call expression contains comments (#18753)
- [
flake8-bugbear] Mark autofix for B004 as
unsafe if the hasattr call expr contains comments (#18755)
- [
flake8-comprehension] Mark autofix for
C420 as unsafe if there's comments inside the dict
comprehension (#18768)
- [
flake8-comprehensions] Handle template strings for
comprehension fixes (#18710)
- [
flake8-future-annotations] Add autofix
(FA100) (#18903)
- [
pyflakes] Mark
F504/F522/F523 autofix as unsafe
if there's a call with side effect (#18839)
- [
pylint] Allow fix with comments and document
performance implications (PLW3301) (#18936)
- [
pylint] Detect more exotic NaN literals
in PLW0177 (#18630)
... (truncated)
Changelog
Sourced from ruff's
changelog.
0.12.1
Preview features
- [
flake8-errmsg] Extend EM101 to support
byte strings (#18867)
- [
flake8-use-pathlib] Add autofix for
PTH202 (#18763)
- [
pygrep-hooks] Add AsyncMock methods to
invalid-mock-access (PGH005) (#18547)
- [
pylint] Ignore __init__.py files in
(PLC0414) (#18400)
- [
ruff] Trigger RUF037 for empty string and
byte strings (#18862)
- [formatter] Fix missing blank lines before decorated classes in
.pyi files (#18888)
Bug fixes
- Avoid generating diagnostics with per-file ignores (#18801)
- Handle parenthesized arguments in
remove_argument (#18805)
- [
flake8-logging] Avoid false positive for
exc_info=True outside logger.exception
(LOG014) (#18737)
- [
flake8-pytest-style] Enforce pytest
import for decorators (#18779)
- [
flake8-pytest-style] Mark autofix for
PT001 and PT023 as unsafe if there's comments
in the decorator (#18792)
- [
flake8-pytest-style]
PT001/PT023 fix makes syntax error on
parenthesized decorator (#18782)
- [
flake8-raise] Make fix unsafe if it deletes comments
(RSE102) (#18788)
- [
flake8-simplify] Fix SIM911 autofix
creating a syntax error (#18793)
- [
flake8-simplify] Fix false negatives for shadowed
bindings (SIM910, SIM911) (#18794)
- [
flake8-simplify] Preserve original behavior for
except () and bare except
(SIM105) (#18213)
- [
flake8-pyi] Fix PYI041's fix causing
TypeError with None | None | ... (#18637)
- [
perflint] Fix PERF101 autofix creating a
syntax error and mark autofix as unsafe if there are comments in the
list call expr (#18803)
- [
perflint] Fix false negative in PERF401
(#18866)
- [
pylint] Avoid flattening nested
min/max when outer call has single argument
(PLW3301) (#16885)
- [
pylint] Fix PLC2801 autofix creating a
syntax error (#18857)
- [
pylint] Mark PLE0241 autofix as unsafe if
there's comments in the base classes (#18832)
- [
pylint] Suppress
PLE2510/PLE2512/PLE2513/PLE2514/PLE2515
autofix if the text contains an odd number of backslashes (#18856)
- [
refurb] Detect more exotic float literals in
FURB164 (#18925)
- [
refurb] Fix FURB163 autofix creating a
syntax error for yield expressions (#18756)
- [
refurb] Mark FURB129 autofix as unsafe if
there's comments in the readlines call (#18858)
- [
ruff] Fix false positives and negatives in
RUF010 (#18690)
- Fix casing of
analyze.direction variant names (#18892)
Rule changes
- Fix f-string interpolation escaping in generated fixes (#18882)
- [
flake8-return] Mark RET501 fix unsafe if
comments are inside (#18780)
- [
flake8-async] Fix detection for large integer sleep
durations in ASYNC116 rule (#18767)
- [
flake8-async] Mark autofix for ASYNC115
as unsafe if the call expression contains comments (#18753)
- [
flake8-bugbear] Mark autofix for B004 as
unsafe if the hasattr call expr contains comments (#18755)
- [
flake8-comprehension] Mark autofix for
C420 as unsafe if there's comments inside the dict
comprehension (#18768)
- [
flake8-comprehensions] Handle template strings for
comprehension fixes (#18710)
- [
flake8-future-annotations] Add autofix
(FA100) (#18903)
- [
pyflakes] Mark
F504/F522/F523 autofix as unsafe
if there's a call with side effect (#18839)
- [
pylint] Allow fix with comments and document
performance implications (PLW3301) (#18936)
- [
pylint] Detect more exotic NaN literals
in PLW0177 (#18630)
- [
pylint] Fix PLC1802 autofix creating a
syntax error and mark autofix as unsafe if there's comments in the
len call (#18836)
... (truncated)
Commits
32c5418
Bump 0.12.1 (#18969)
b85c219
[FastAPI] Add fix safety section to FAST002
(#18940)
b1d1cf1
[ty] Add regression test for leading tab mis-alignment in diagnostic
renderin...
1dcdf7f
[ty] Resolve python environment in
Options::to_program_settings (#18960)
d006976
[ruff] Fix false positives and negatives in
RUF010 (#18690)
76619b9
[ty] Fix rendering of long lines that are indented with tabs
6e25cfb
[ty] Add regression test for diagnostic rendering panic
7638729
[ty] Move venv and conda env discovery to
SearchPath::from_settings (#18938)
d04e63a
[ty] Add regression-benchmark for attribute-assignment hang (#18957)
86fd9b6
[ty] Format conflicting types as an enumeration (#18956)
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
poetry.lock | 40 ++++++++++++++++++++--------------------
pyproject.toml | 2 +-
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 329c373d1..96ebc7cf5 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -2442,30 +2442,30 @@ files = [
[[package]]
name = "ruff"
-version = "0.11.11"
+version = "0.12.1"
description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false
python-versions = ">=3.7"
groups = ["dev"]
files = [
- {file = "ruff-0.11.11-py3-none-linux_armv6l.whl", hash = "sha256:9924e5ae54125ed8958a4f7de320dab7380f6e9fa3195e3dc3b137c6842a0092"},
- {file = "ruff-0.11.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c8a93276393d91e952f790148eb226658dd275cddfde96c6ca304873f11d2ae4"},
- {file = "ruff-0.11.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d6e333dbe2e6ae84cdedefa943dfd6434753ad321764fd937eef9d6b62022bcd"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7885d9a5e4c77b24e8c88aba8c80be9255fa22ab326019dac2356cff42089fc6"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1b5ab797fcc09121ed82e9b12b6f27e34859e4227080a42d090881be888755d4"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e231ff3132c1119ece836487a02785f099a43992b95c2f62847d29bace3c75ac"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a97c9babe1d4081037a90289986925726b802d180cca784ac8da2bbbc335f709"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8c4ddcbe8a19f59f57fd814b8b117d4fcea9bee7c0492e6cf5fdc22cfa563c8"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6224076c344a7694c6fbbb70d4f2a7b730f6d47d2a9dc1e7f9d9bb583faf390b"},
- {file = "ruff-0.11.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:882821fcdf7ae8db7a951df1903d9cb032bbe838852e5fc3c2b6c3ab54e39875"},
- {file = "ruff-0.11.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:dcec2d50756463d9df075a26a85a6affbc1b0148873da3997286caf1ce03cae1"},
- {file = "ruff-0.11.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99c28505ecbaeb6594701a74e395b187ee083ee26478c1a795d35084d53ebd81"},
- {file = "ruff-0.11.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9263f9e5aa4ff1dec765e99810f1cc53f0c868c5329b69f13845f699fe74f639"},
- {file = "ruff-0.11.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:64ac6f885e3ecb2fdbb71de2701d4e34526651f1e8503af8fb30d4915a3fe345"},
- {file = "ruff-0.11.11-py3-none-win32.whl", hash = "sha256:1adcb9a18802268aaa891ffb67b1c94cd70578f126637118e8099b8e4adcf112"},
- {file = "ruff-0.11.11-py3-none-win_amd64.whl", hash = "sha256:748b4bb245f11e91a04a4ff0f96e386711df0a30412b9fe0c74d5bdc0e4a531f"},
- {file = "ruff-0.11.11-py3-none-win_arm64.whl", hash = "sha256:6c51f136c0364ab1b774767aa8b86331bd8e9d414e2d107db7a2189f35ea1f7b"},
- {file = "ruff-0.11.11.tar.gz", hash = "sha256:7774173cc7c1980e6bf67569ebb7085989a78a103922fb83ef3dfe230cd0687d"},
+ {file = "ruff-0.12.1-py3-none-linux_armv6l.whl", hash = "sha256:6013a46d865111e2edb71ad692fbb8262e6c172587a57c0669332a449384a36b"},
+ {file = "ruff-0.12.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b3f75a19e03a4b0757d1412edb7f27cffb0c700365e9d6b60bc1b68d35bc89e0"},
+ {file = "ruff-0.12.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9a256522893cb7e92bb1e1153283927f842dea2e48619c803243dccc8437b8be"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:069052605fe74c765a5b4272eb89880e0ff7a31e6c0dbf8767203c1fbd31c7ff"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a684f125a4fec2d5a6501a466be3841113ba6847827be4573fddf8308b83477d"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdecdef753bf1e95797593007569d8e1697a54fca843d78f6862f7dc279e23bd"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:70d52a058c0e7b88b602f575d23596e89bd7d8196437a4148381a3f73fcd5010"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84d0a69d1e8d716dfeab22d8d5e7c786b73f2106429a933cee51d7b09f861d4e"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6cc32e863adcf9e71690248607ccdf25252eeeab5193768e6873b901fd441fed"},
+ {file = "ruff-0.12.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fd49a4619f90d5afc65cf42e07b6ae98bb454fd5029d03b306bd9e2273d44cc"},
+ {file = "ruff-0.12.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:ed5af6aaaea20710e77698e2055b9ff9b3494891e1b24d26c07055459bb717e9"},
+ {file = "ruff-0.12.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:801d626de15e6bf988fbe7ce59b303a914ff9c616d5866f8c79eb5012720ae13"},
+ {file = "ruff-0.12.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2be9d32a147f98a1972c1e4df9a6956d612ca5f5578536814372113d09a27a6c"},
+ {file = "ruff-0.12.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:49b7ce354eed2a322fbaea80168c902de9504e6e174fd501e9447cad0232f9e6"},
+ {file = "ruff-0.12.1-py3-none-win32.whl", hash = "sha256:d973fa626d4c8267848755bd0414211a456e99e125dcab147f24daa9e991a245"},
+ {file = "ruff-0.12.1-py3-none-win_amd64.whl", hash = "sha256:9e1123b1c033f77bd2590e4c1fe7e8ea72ef990a85d2484351d408224d603013"},
+ {file = "ruff-0.12.1-py3-none-win_arm64.whl", hash = "sha256:78ad09a022c64c13cc6077707f036bab0fac8cd7088772dcd1e5be21c5002efc"},
+ {file = "ruff-0.12.1.tar.gz", hash = "sha256:806bbc17f1104fd57451a98a58df35388ee3ab422e029e8f5cf30aa4af2c138c"},
]
[[package]]
@@ -3398,4 +3398,4 @@ url-preview = ["lxml"]
[metadata]
lock-version = "2.1"
python-versions = "^3.9.0"
-content-hash = "457f188ae22af9663b2ed21f2586720ce5014edc7c34a697787f16aad733ea41"
+content-hash = "4f24cf959d33ebacbcbd791990d42e5fea2ab74bfad32cf2115d2aadd1c46d21"
diff --git a/pyproject.toml b/pyproject.toml
index ecd601f03..be5bff31b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -317,7 +317,7 @@ all = [
# failing on new releases. Keeping lower bounds loose here means that dependabot
# can bump versions without having to update the content-hash in the lockfile.
# This helps prevents merge conflicts when running a batch of dependabot updates.
-ruff = "0.11.11"
+ruff = "0.12.1"
# Type checking only works with the pydantic.v1 compat module from pydantic v2
pydantic = "^2"