Update dependency ruff to v0.16.1 - #82
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 15, 2025 19:39
6f8cb88 to
8ace2fe
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 22, 2025 20:22
8ace2fe to
a604c67
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 29, 2025 15:59
a604c67 to
5afce13
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 6, 2025 19:13
5afce13 to
5e5d2ad
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 17, 2025 16:31
5e5d2ad to
dbd6c0e
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
2 times, most recently
from
July 3, 2025 17:04
a80f979 to
230efec
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
July 11, 2025 18:46
230efec to
f37b694
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
July 17, 2025 20:44
f37b694 to
373d8c4
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
July 24, 2025 19:59
373d8c4 to
eb67639
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
July 30, 2025 01:29
eb67639 to
9ba85f2
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
August 7, 2025 21:31
9ba85f2 to
a935331
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
August 14, 2025 16:44
a935331 to
b938bd0
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
August 21, 2025 22:29
b938bd0 to
6cdc0f3
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
August 28, 2025 22:57
6cdc0f3 to
da58411
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
October 16, 2025 22:07
52e83b1 to
8fd6c7c
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
October 24, 2025 04:25
8fd6c7c to
86e6523
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
October 31, 2025 00:42
86e6523 to
9f636e7
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
November 6, 2025 23:50
9f636e7 to
e39d82c
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
November 13, 2025 22:15
e39d82c to
4ccca20
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
November 21, 2025 14:56
4ccca20 to
0ac2b1d
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
November 28, 2025 21:57
0ac2b1d to
83380c7
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
December 4, 2025 17:53
83380c7 to
4a8e23d
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
December 11, 2025 21:54
4a8e23d to
32f5f81
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
December 18, 2025 20:31
32f5f81 to
d867448
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
January 8, 2026 23:10
d867448 to
52d0eb5
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
January 15, 2026 17:09
52d0eb5 to
90783e8
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
January 15, 2026 22:15
90783e8 to
26336c6
Compare
renovate
Bot
force-pushed
the
renovate/ruff-0.x
branch
from
January 23, 2026 00:52
26336c6 to
0c255f8
Compare
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.
This PR contains the following updates:
==0.11.8→==0.16.1Release Notes
astral-sh/ruff (ruff)
v0.16.1Compare Source
Released on 2026-07-30.
Preview features
flake8-pytest-style] Make fixes safe by default and unsafe only when comments are present (PT018) (#27201)pyupgrade] Skip fix when a defaultedTypeVarprecedes a non-defaulted one (UP040,UP046,UP047) (#27133)ruff] Fix false positive with unpacked arguments (RUF065) (#26959)Bug fixes
gen-lsp-typesto gracefully handle unknown enumeration values in LSP messages (#27230)flake8-bugbear] Markrangeas immutable (B008) (#27247)flake8-comprehensions] NFKC-normalize keyword names inC408fix (#26813)flake8-return] Fix false positive when variable is read infinallyclause (RET504) (#25441)pydocstyle] Skip section detection inside RST directive bodies (D214,D405,D413) (#23635)refurb] Parenthesizeyieldarguments in theFURB192fix (#27192)Rule changes
flake8-pytest-style] MarkPT022fixes as unsafe (#26440)refurb] Mark fixes that remove unknown separators as unsafe (FURB105) (#27200)Server
Documentation
pyconMarkdown formatting (#27153)flake8-bandit] DocumentTYPE_CHECKINGexception (S101) (#27004)flake8-import-conventions] Document thatextend-aliasescan override default aliases (#27191)pylint] Add missing fix safety gotchas fornon-augmented-assignment(PLR6104) (#27250)Other changes
Contributors
v0.16.0Compare Source
Released on 2026-07-23.
Check out the blog post for a migration
guide and overview of the changes!
Breaking changes
Ruff now enables a much larger set of rules by default (413, up from 59). See the blog post for
more details and the new Default Rules page for a
full listing of the enabled rules.
Ruff can now format Python code blocks in Markdown files and will do this by default. See the
documentation for more details.
Ruff now supports
ruff: ignorecomments at the ends of lines, likenoqacomments, or on the line preceding a diagnostic. For example, these both suppress anunused-import(F401) diagnostic:Fixes are now shown in
checkandformat --checkoutput:This example also shows off the Markdown formatting.
format --checknow supports the same output formats as the linter, including thegithubandgitlaboutputs for rendering annotations in CI:See the CLI help or documentation for the
full list of supported formats.
The
filename,location,end_location,fix.edits[].location, andfix.edits[].end_locationfields in the JSON output format may now be
nullrather than defaulting to the empty string androw 1, column 1, respectively.
Stabilization
The following rules have been stabilized and are no longer in preview:
airflow3-incompatible-function-signature(
AIR303)missing-copyright-notice(
CPY001)unnecessary-from-float(FURB164)sorted-min-max(FURB192)implicit-string-concatenation-in-collection-literal(
ISC004)log-exception-outside-except-handler(
LOG004)invalid-bool-return-type(
PLE0304)too-many-positional-arguments(
PLR0917)stop-iteration-return(PLR1708)none-not-at-end-of-union(
RUF036)access-annotations-from-class-dict(
RUF063)duplicate-entry-in-dunder-all(
RUF068)The following behaviors have been stabilized:
blind-except(BLE001) is now suppressed whenthe exception is logged via
loggingmethods other thancritical,errorandexception.future-required-type-annotation(
FA102) now checks for additional PEP 585-compatibleAPIs, such as those from
collections.abc.f-string-in-get-text-func-call(
INT001),format-in-get-text-func-call(
INT002), andprintf-in-get-text-func-call(
INT003) now check for additional common ways of using thegettextmodule, such as assigningit to
builtins._.suspicious-url-open-usage(
S310) now resolves local string literal bindings to avoid more false positives.snmp-insecure-version(S508) andsnmp-weak-cryptography(S509) nowsupport the recommended API from newer versions of PySNMP.
typing-text-str-alias(UP019) nowrecognizes
typing_extensions.Textin addition totyping.Text.Preview features
pyupgrade] Fix false positive withTypeVardefault before Python 3.13 (UP040) (#26888)Bug fixes
ruff] Fix missing check on unrecognized early bound (RUF016) (#26986)Rule changes
Performance
pyupgrade] Speed upunnecessary-future-import(UP010) (#27047)Documentation
ruff] Add missing period in "Why is this bad?" section (RUF200) (#26930)flake8-simplify] Clarifyos.environbehavior on Windows (SIM112) (#26972)pydocstyle] Document fix safety (D400) (#26971)Contributors
v0.15.22Compare Source
Release Notes
Released on 2026-07-16.
Preview features
pycodestyle] Add an autofix forE402(#22212)refurb] Allow subclassing builtins in stub files (FURB189) (#26812)ruff] Add rule to replacenoqacomments withruff:ignore(RUF105) (#26423)ruff] Add rule to use human-readable names inruff:ignorecomments (RUF106) (#26682)ruff] Add rule to use human-readable names in configuration selectors (RUF201) (#26772)Bug fixes
flake8-pyi] Fix false positive in__all__(PYI053) (#26872)Rule changes
pylint] Ignore mutable type updates inredefined-loop-name(PLW2901) (#25733)Performance
Documentation
flake8-datetimez] Clarify naming guidance fordatetime.today(DTZ002) (#26658)pycodestyle] DocumentE731fix safety (#26847)ruff] Clarify intentional async contexts forunused-async(RUF029) (#26641)Contributors
Install ruff 0.15.22
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.15.22/ruff-installer.ps1 | iex"Download ruff 0.15.22
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.15.21Compare Source
Released on 2026-07-09.
Preview features
--add-ignorefor addingruff:ignorecomments (#26346)flake8-comprehensions] DropC409tuple comprehension preview behavior (#25707)pyupgrade] Lint and fix use of deprecatedabcdecorators (UP051) (#26417)Bug fixes
flake8-implicit-str-concat] FixISC003autofix incorrectly stripping+from comments (#26554)Rule changes
flake8-executable] MarkEXE004fix as unsafe (#26033)flake8-pyi] MarkPYI061fixes as unsafe in Python files (#26533)pydocstyle] Skipoverload-with-docstringin stub files (D418) (#26318)Performance
fits_elementin formatter (#26429)Formatter
--extend-excludetoruff format(#26372)Documentation
flake8-bandit] Fix misleading docstring formako-templates(S702) (#26432)ruff] Fix non-triggering example forif-key-in-dict-del(RUF051) (#26433)Contributors
v0.15.20Compare Source
Released on 2026-06-25.
Preview features
noqashebang handling inruff:ignorecomments (#26286)ruff] Removepytest-fixture-autouse(RUF076) (#26240, #26371)Documentation
ruff_python_parserREADME for crates.io (#26315)perflint] Clarify thatPERF402applies to any iterable (#26242)Contributors
v0.15.19Compare Source
Released on 2026-06-23.
Preview features
Bug fixes
Rule changes
pylint] Update fix suggestions for__floor__,__trunc__,__length_hint__, and__matmul__variants (PLC2801) (#26239)Performance
Documentation
flake8-pyi] Note thatPYI051is an opinionated stylistic rule (#26179)pyupgrade] ClarifyUP029as a Python 2 compatibility rule (#26243)Other changes
Contributors
v0.15.18Compare Source
Released on 2026-06-18.
Preview features
ruff:ignorecomments (#25791)pydocstyle] Prevent property docstrings starting with verbs (D421) (#23775)flake8-pyi] ExtendPYI033to Python files (#26129)Bug fixes
Rule changes
flake8-pyi] RenamePYI033tolegacy-type-comment(#26131)Performance
ThinVecfor call keywords (#25999)Server
Documentation
flake8-tidy-imports] Add fix safety section (TID252) (#17491)Parser
__debug__lambda parameters (#26022)_as a match-pattern target (#25977)yieldexpressions after commas (#26024)Playground
Contributors
v0.15.17Compare Source
Released on 2026-06-11.
Preview features
ignorecomments within adisable/enablepair (#25845)ruff:ignoresuppressions (#25673)flake8-async] Addtrio.as_safe_channelto safe decorators (ASYNC119) (#25775)flake8-pytest-style] Also checkpytest_asynciofixtures (#25375)ruff] Banpytestautouse fixtures (RUF076) (#25477)pyupgrade] Addfrom __future__ import annotationsautomatically (UP007,UP045) (#23259)Bug fixes
ruff:enableorruff:disableappears whereruff:ignoreis expected (#25700)pyupgrade] Preserve leading empty literals to avoid syntax errors (UP032) (#25491)Rule changes
flake8-pytest-style] Clarify diagnostic message for single parameters (PT007) (#25592)numpy] Drop autofix fornp.in1d(NPY201) (#25612)pylint] Exempt Python version comparisons (PLR2004) (#25743)Performance
Vecs with correct capacity for common cases (#25451)Formatter
CLI
ruff rule(#25640)Other changes
Contributors
v0.15.16Compare Source
Released on 2026-06-04.
Preview features
flake8-async] Implementyield-in-context-manager-in-async-generator(ASYNC119) (#24644)pylint] Narrow diagnostic range and exclude cases without exception handlers (PLW0717) (#25440)ruff] Treatyieldbeforebreakfrom a terminal loop as terminal (RUF075) (#25447)Bug fixes
eradicate] Avoid flaggingruff:ignorecomments as code (ERA001) (#25537)eradicate] FixERA001/RUF100conflict whennoqais on commented-out code (#25414)pyflakes] Avoid removing theformatcall when it would change behavior (F523) (#25320)pylint] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (PLE2510,PLE2512,PLE2513,PLE2514,PLE2515) (#25544)pyupgrade] Avoid convertingformatcalls with more kinds of side effects (UP032) (#25484)Rule changes
flake8-pytest-style] Avoid fixes for ambiguousargnamesandargvaluescombinations (PT006) (#24776)Performance
Documentation
pydocstyle] Improve discoverability of rules enabled for each convention (#24973)ruff] Restore example code for Python versions before 3.15 (RUF017) (#25439)bin/active→bin/activatein tutorial (#25473)Other changes
Contributors
v0.15.15Compare Source
Released on 2026-05-28.
Preview features
pyflakes] Report duplicate imports intyping.TYPE_CHECKINGblock (F811) (#22560)Bug fixes
pyflakes] Treat function-scope bare annotations as locals per PEP 526 (F821) (#21540)Performance
TokenValuedrops in the lexer (#25300)Vecsize (#25354)ThinVecin AST to shrinkStmt(#25361)Documentation
line-lengthexample for--configoption (#25389)flake8-comprehensions] DocumentRecursionErroredge case in__len__(C416) (#25286)mccabe] Improve example (C901) (#25287)pyupgrade] Clarify fix safety docs (UP007,UP045) (#25288)refurb] DocumentFURB192exception change for empty sequences (#25317)ruff] Document false negative for user-defined types (RUF013) (#25289)Formatter
Server
codeAction/resolverequests that contain no or no valid URL (#25365)Other changes
Contributors
v0.15.14Compare Source
Released on 2026-05-21.
Preview features
airflow] Implementairflow-task-implicit-multiple-outputs(AIR202) (#25152)flake8-use-pathlib] MarkPTH101fix as unsafe when first argument is a class attribute annotated asint(#25086)pylint] Implementtoo-many-try-statements(W0717) (#23970)ruff] Addincorrect-decorator-order(RUF074) (#23461)ruff] Addfallible-context-manager(RUF075) (#22844)Bug fixes
frozensetannotations as immutable (#25251)flake8-type-checking] Avoidstrictbehavior whenfuture-annotationsare enabled (TC001,TC002,TC003) (#25035)pylint] Avoid false positives inelseclause (PLR1733) (#25177)Rule changes
flake8-comprehensions] SkipC417for lambdas with positional-only parameters (#25272)flake8-simplify] Preserve f-string source verbatim inSIM101fix (#25061)Performance
Documentation
Other changes
ruff_python_stdlibAPIs (#25273)Contributors
v0.15.13Compare Source
Released on 2026-05-14.
Preview features
pylint] Standardize diagnostic message (PLR0914,PLR0917) (#24996)Bug fixes
F811false positive for class methods (#24933)eradicate] Fix false positive for lines with leading whitespace (ERA001) (#25122)flake8-pyi] Fix false positive for f-string debug specifier (PYI016) (#24098)Rule changes
PYI034for in-place operations to enclosing class (#24511)global(#24902)Performance
isort] Avoid constructingglob::Patterns for literal known modules (#25123)CLI
--confighelp text (#25013)Configuration
line-lengthsetting (#24962)Documentation
D203to rules that conflict with the formatter (#25044)COM819and formatter interaction (#25045)NotImplementedis a value, not an exception (F901) (#25054)Other changes
Contributors
v0.15.12Compare Source
Released on 2026-04-24.
Preview features
#ruff:file-ignorefile-level suppressions (#23599)#ruff:ignorelogical-line suppressions (#23404)airflow] Implementtask-branch-as-short-circuit(AIR004) (#23579)flake8-bugbear] Fixbreak/continuehandling inloop-iterator-mutation(B909) (#24440)pylint] FixPLC2701for type parameter scopes (#24576)Rule changes
pandas-vet] Suggest.arrayas well inPD011(#24805)CLI
Documentation
pylint] FixPLR0124description not to claim self-comparison always returns the same value (#24749)pyupgrade] Expand docs on reusableTypeVars and scoping (UP046) (#24153)Contributors
v0.15.11Compare Source
Released on 2026-04-16.
Preview features
ruff] IgnoreRUF029when function is decorated withasynccontextmanager(#24642)airflow] Implementairflow-xcom-pull-in-template-string(AIR201) (#23583)flake8-bandit] FixS103false positives and negatives in mask analysis (#24424)Bug fixes
flake8-async] Omit overridden methods forASYNC109(#24648)Documentation
flake8-async] Add override mention toASYNC109docs (#24666)vim.lsp.config(#24577)Contributors
v0.15.10Compare Source
Released on 2026-04-09.
Preview features
flake8-logging] Allow closures in except handlers (LOG004) (#24464)flake8-self] MakeSLFdiagnostics robust to non-self-named variables (#24281)flake8-simplify] Make the fix forcollapsible-ifsafe inpreview(SIM102) (#24371)Bug fixes
E502fixes in f-strings and t-strings (#24410)dedent_to(#24381)pyupgrade] Fix panic caused by handling of octals (UP012) (#24390)Rule changes
ruff] Treat f-string interpolation as potential side effect (RUF019) (#24426)Server
Documentation
Contributors
v0.15.9Compare Source
Released on 2026-04-02.
Preview features
pyflakes] Flag annotated variable redeclarations asF811