Repository navigation
Update dependency ruff to v0.17.1 - #365
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
requested review from
glennmatthews,
jvanderaa,
pke11y and
scetron
as code owners
January 22, 2026 23:14
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
January 30, 2026 15:51
133d894 to
621eadc
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
2 times, most recently
from
February 4, 2026 19:43
f6c1cec to
812f296
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
February 13, 2026 01:39
812f296 to
f788e04
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
February 20, 2026 02:15
f788e04 to
1b0472c
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
3 times, most recently
from
February 26, 2026 17:13
4de6575 to
d33913a
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
February 26, 2026 21:17
d33913a to
0ddd206
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
2 times, most recently
from
March 5, 2026 22:48
20586e6 to
1e77277
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
2 times, most recently
from
March 13, 2026 01:52
c6cabe3 to
3b8044a
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
3 times, most recently
from
March 19, 2026 17:05
685d14e to
41fe2c7
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
March 26, 2026 21:55
41fe2c7 to
080bb0e
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
4 times, most recently
from
May 6, 2026 16:21
d5676d3 to
0bfe3ce
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
3 times, most recently
from
May 14, 2026 16:54
92b75f2 to
82b00e0
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
May 21, 2026 18:59
82b00e0 to
5549b0f
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
2 times, most recently
from
May 28, 2026 15:30
1874949 to
1804efa
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
June 4, 2026 17:00
1804efa to
1749eab
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
June 10, 2026 19:45
1749eab to
51ee3ad
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
3 times, most recently
from
June 17, 2026 18:22
1e457e2 to
2175caf
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
June 19, 2026 00:41
2175caf to
3ad62c8
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
June 24, 2026 01:49
3ad62c8 to
4c7636f
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
June 25, 2026 18:03
4c7636f to
c3e4a4a
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x-lockfile
branch
from
July 9, 2026 23:05
c3e4a4a to
7b1f6a3
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
0.15.12→0.17.1Release Notes
astral-sh/ruff (ruff)
v0.17.1Compare Source
Released on 2026-10-15.
Preview features
pycodestyle] Don't treatNone,True, orFalseas keywords (E271-E274) (#29322)Bug fixes
flake8-pyi] Detect legacy positional-only parameters in__new__methods (PYI063) (#28502)flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)perflint] Avoid invalid comprehension suggestions (PERF401,PERF403) (#29366)Rule changes
collectionsandweakrefcontainers as mutable (#29213)Documentation
flake8-import-conventions] Update default and examplealiases(#29333)Contributors
v0.17.0Compare Source
Released on 2026-10-09.
The executables in our macOS and Windows release archives and
ruffwheels are now code-signed.macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables
verification of the release publisher and binary integrity, supports publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.
Breaking changes
Update the default and latest Python versions for 3.15 (#28792)
Ruff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through
target-versionorrequires-python. Whenchecking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15
instead of 3.14.
Update the default rule set (#28786)
Several of the
flake8-datetimezrules(
DTZ001,DTZ005,DTZ006,DTZ007,DTZ011,DTZ012, andDTZ901) are no longer enabled by default,while
undefined-local-with-nested-import-star-usage(
F406), which corresponds to a syntax error, is now enabled by default.Update Rust crate quick-junit to 0.8.0 (#27295)
JUnit output now uses a
skippedattribute instead ofdisabledon<testsuite>elements andincludes a
skippedattribute on the root<testsuites>element.[
flake8-import-conventions] Adddatetime as dtas a conventional alias (ICN001) (#28790)Support Unicode dummy variable names (#28722)
The default
lint.dummy-variable-rgxnow recognizes underscore-prefixed Unicode names, such as
_次, as dummy variables.Update to Unicode 17 (#21229, #28784)
Ruff now uses Unicode 17 data for identifier normalization and named character escapes (
"\N{...}").Always show unsafe and display-only fixes in the CLI (#27810)
The default
fulloutput format now shows unsafe fixes and suggestions requiring manual review,regardless of the
unsafe-fixessetting.Actually applying unsafe fixes still requires explicit opt-in.
Remove the Python dependency from conda-forge builds (conda-forge/ruff-feedstock#361)
The conda-forge build no longer depends on Python, now supports linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no longer depending on
Python means that
python -m ruffandimport ruffwill no longer work. Useruffdirectly fromPATHinstead. PyPI installations and those from the standalone installer are unaffected.Remove support for ruff-lsp (#28750)
Support for
ruff-lsp, the legacy Python language server deprecated in Ruffv0.9.5, has been removed. The Ruff VS Code
extension now always uses the native language server;
ruff.nativeServeris deprecated andignored. See the migration guide.
Stabilization
The following rules have been stabilized and are no longer in preview:
lazy-import-mismatch(TID254)lazy-import-immediately-resolved(
TID255)os-path-commonprefix(RUF071)The following behaviors have been stabilized:
unsorted-imports(I001),line-too-long(E501), anddoc-line-too-long(W505) nowconsistently ignore trailing pragma comments when computing line length. This resolved several
bugs involving interactions between these rules
(#27313) but may also cause existing imports to be
reformatted and was thus classified as a breaking change.
Preview features
flake8-bugbear] Report the method name and a more precise range (B005) (#27050)refurb] Mark fix unsafe and move tosuspicious(FURB152) (#28405)ruff] Allow docstrings in strict mode (RUF067) (#28679)Bug fixes
flake8-builtins] Expand checks in class scopes (A001) (#29076)flake8-self] Allow private access onobject.__new__(cls)instances (SLF001) (#29001)flake8-tidy-imports] Skiplazy-import-mismatchin stubs (TID254) (#29095)flake8-type-checking] Add the notion of runtime-ambiguous references (#26508)flake8-type-checking] Never flag annotations in function scopes (#29183)pyflakes] Mark the fix as unsafe when it creates a docstring (F541) (#28258)pylint] Preserve trailing comments inuseless-returnfix (PLR1711) (#29180)ruff] Avoid false positive whenpytest.raisesis used in awithstatement (RUF061) (#28186)Rule changes
pyupgrade] Suggesttyping.TypeFormon Python 3.15 (UP035) (#29084)Contributors
v0.16.10Compare Source
Release Notes
Released on 2026-10-01.
Preview features
pyupgrade] Add rule for context manager iterator annotations (UP052) (#29000)Performance
Server
uv formatin untrusted workspaces (#28873)Documentation
Other changes
Contributors
Install ruff 0.16.10
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.ps1 | iex"Download ruff 0.16.10
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.16.9Compare Source
Release Notes
Released on 2026-09-24.
Preview features
ruff] Avoid false positives for overloaded division (RUF069) (#28309)Bug fixes
flake8-bugbear] Avoid false positives for calls with keyword arguments (B009,B010,B043) (#28776)flake8-tidy-imports] Allow lazy imports to be used in deferred annotations (TID255) (#28767)Rule changes
flake8-pyi] Mention stubs in the diagnostic message (PYI002) (#28542)Documentation
flake8-annotations] Clarify thatANN401checks return types in addition to arguments (#28334)flake8-bugbear] Document type-checker interaction (B010) (#28509)flake8-comprehensions] Documentmap/generator exception behavior (C417) (#27794)ruff] Mention related isort settings (RUF022) (#28719)Contributors
Install ruff 0.16.9
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.9/ruff-installer.ps1 | iex"Download ruff 0.16.9
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.16.8Compare Source
Release Notes
Released on 2026-09-16.
Bug fixes
TypedDictkeyword arguments correctly (#28584)flake8-simplify] Detect nestedasync withunder sync parent (SIM117) (#27821)flake8-simplify] Preserve operand order inSIM109fix (#27824)pyupgrade] Preserve required parentheses in multilineUP040fixes (#28164)pyupgrade] SkipTypeVarTupleandParamSpecconversions with bounds or constraints (UP040,UP046,UP047) (#28505)Rule changes
__lazy_modules__(#28459)TypedDictclass keywords (#28533)typing.TypeForm(#28507)__lazy_modules__(#28491)flake8-type-checking] Prefer lazy imports overTYPE_CHECKINGon Python 3.15 and later (TC001,TC002,TC003) (#28541)pyupgrade] Make the fix forUP040always unsafe (#28526)pyupgrade] Stop recommending deprecatedByteStringaliases (UP035) (#28498)ruff,flake8-use-pathlib] Recognize theparent_modeargument (RUF064,PTH103) (#28528)ruff] Detect\Zinpytest.raises()match patterns (RUF043) (#28598)CLI
Configuration
flake8-tidy-imports] Addextend-banned-api(#28644)Contributors
Install ruff 0.16.8
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.8/ruff-installer.ps1 | iex"Download ruff 0.16.8
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.16.7Compare Source
Release Notes
Released on 2026-09-10.
Preview features
ruff] Add rule for default values on method receivers (RUF077) (#26700)ruff] Recognizere.prefixmatch(RUF039,RUF055) (#28311)Bug fixes
flake8-implicit-str-concat] Mark fix unsafe when it creates a docstring (ISC003) (#27981)flake8-tidy-imports] Skip fixes for multi-member imports (TID254) (#26584)pylint] GateImportCycleErroron Python 3.15 (PLW0133) (#28310)Rule changes
D211andD203rule conflict diagnostic (#28444)sliceandfrozendictgenerics (#28477)__cached__for Python 3.15 (#28476)pyupgrade] Stop recommending removedtyping.no_type_check_decorator(UP035) (#28475)Performance
Documentation
line-lengthpath in--configexample (#28392)Other changes
Contributors
Install ruff 0.16.7
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.7/ruff-installer.ps1 | iex"Download ruff 0.16.7
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.16.6Compare Source
Release Notes
Released on 2026-09-03.
Preview features
pytest-fixture-autouseto therestrictioncategory (#28219)flake8-pytest-style] Add an autofix forPT020(#27993)flake8-tidy-imports] Prevent fix loop betweenTID254andTID255(#28262)isort] Exclude pragma comments from line length calculation (I001) (#27313)Bug fixes
flake8-async,pylint] Recognizebuiltins.open(ASYNC230,PLW1514) (#28021)flake8-bugbear] Fix panic onmatchsubjects (B031) (#27781)flake8-datetimez] Rejecttzinfo=Nonefordatetimebounds (DTZ901) (#28022)flake8-pytest-style] Avoid duplicatePT017diagnostics (#27918)ruff] Removelint.externalhint for Ruff-specific suppressions (RUF102) (#27923)Rule changes
flake8-use-pathlib] Add display-only fix foros.listdir(PTH208) (#28027)Documentation
lint.per-file-ignores(#28106)flake8-async] Document thread offloading (ASYNC240) (#28008)pyupgrade] Clarify defaultencodingargument handling (UP012) (#27315)Other changes
Contributors
Install ruff 0.16.6
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.6/ruff-installer.ps1 | iex"Download ruff 0.16.6