Update ruff to v0.15.12#75
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
3ed5fb2 to
c5a38a6
Compare
c5a38a6 to
e396bf6
Compare
e396bf6 to
95f7215
Compare
95f7215 to
eccef9c
Compare
eccef9c to
8c54327
Compare
d3d2019 to
b5a846a
Compare
b5a846a to
64c6778
Compare
64c6778 to
f390698
Compare
f390698 to
d6d56bc
Compare
d6d56bc to
569c3b0
Compare
569c3b0 to
a8fba70
Compare
a8fba70 to
0b0f2ae
Compare
0b0f2ae to
9abae7e
Compare
2fab7b9 to
216ca36
Compare
216ca36 to
c40d2ec
Compare
c3c00f8 to
1f6c253
Compare
1f6c253 to
a38a4f1
Compare
a38a4f1 to
9098614
Compare
9098614 to
e59c926
Compare
e59c926 to
5c47e92
Compare
5c47e92 to
eb0376b
Compare
2871eb7 to
bb75de1
Compare
bb75de1 to
4ef6787
Compare
4ef6787 to
4875107
Compare
4875107 to
e39495b
Compare
e39495b to
a138df5
Compare
a138df5 to
ed7b870
Compare
ed7b870 to
97eb8c8
Compare
97eb8c8 to
e98fabe
Compare
e98fabe to
35a6a1c
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:
v0.4.7→v0.15.12==0.4.7→==0.15.12Note: The
pre-commitmanager in Renovate is not supported by thepre-commitmaintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
charliermarsh/ruff-pre-commit (charliermarsh/ruff-pre-commit)
v0.15.12Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.12
v0.15.11Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.11
v0.15.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.10
v0.15.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.9
v0.15.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.8
v0.15.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.7
v0.15.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.6
v0.15.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.5
v0.15.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.4
v0.15.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.3
v0.15.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.2
v0.15.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.1
v0.15.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.15.0
v0.14.14Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.14
v0.14.13Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.13
v0.14.12Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.12
v0.14.11Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.11
v0.14.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.10
v0.14.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.9
v0.14.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.8
v0.14.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.7
v0.14.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.6
v0.14.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.5
v0.14.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.4
v0.14.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.3
v0.14.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.2
v0.14.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.1
v0.14.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.14.0
v0.13.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.13.3
v0.13.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.13.2
v0.13.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.13.1
v0.13.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.13.0
v0.12.12Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.12
v0.12.11Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.11
v0.12.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.10
v0.12.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.9
v0.12.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.8
v0.12.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.7
v0.12.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.7
Ruff's 0.12.6 release was yanked. See the linked release notes for more information.
v0.12.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.5
v0.12.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.4
v0.12.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.3
v0.12.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.2
v0.12.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.1
v0.12.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.12.0
v0.11.13Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.13
v0.11.12Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.12
v0.11.11Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.11
v0.11.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.10
v0.11.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.9
v0.11.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.8
v0.11.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.7
v0.11.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.6
v0.11.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.5
v0.11.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.4
v0.11.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.3
v0.11.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.2
v0.11.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.1
v0.11.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.11.0
v0.10.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.10.0
v0.9.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.10
v0.9.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.9
v0.9.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.8
v0.9.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.7
v0.9.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.6
v0.9.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.5
v0.9.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.4
v0.9.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.3
v0.9.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.2
v0.9.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.1
v0.9.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.9.0
v0.8.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.6
v0.8.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.5
v0.8.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.4
v0.8.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.3
v0.8.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.2
v0.8.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.1
v0.8.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.8.0
v0.7.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.7.4
v0.7.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.7.3
v0.7.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.7.2
v0.7.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.7.1
v0.7.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.7.0
v0.6.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.9
v0.6.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.8
v0.6.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.7
v0.6.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.6
v0.6.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.5
v0.6.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.4
v0.6.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.3
v0.6.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.2
v0.6.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.1
v0.6.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.6.0
v0.5.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.7
v0.5.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.6
v0.5.5Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.5
v0.5.4Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.4
v0.5.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.3
v0.5.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.2
v0.5.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.1
v0.5.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.5.0
v0.4.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.10
v0.4.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.9
v0.4.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.8
astral-sh/ruff (ruff)
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 asF811in preview mode (#24244)ruff] Allow dunder-named assignments in non-strict mode forRUF067(#24089)Bug fixes
flake8-errmsg] Avoid shadowing existingmsgin fix forEM101(#24363)flake8-simplify] Ignore pre-initialization references inSIM113(#24235)pycodestyle] FixW391fixes for consecutive empty notebook cells (#24236)pyupgrade] FixUP008nested class matching (#24273)pyupgrade] Ignore strings with string-only escapes (UP012) (#16058)ruff]RUF072: skip formfeeds on dedent (#24308)ruff] Avoid re-using symbol inRUF024fix (#24316)ruff] Parenthesize expression inRUF050fix (#24234)Rule changes
flake8-simplify] SuppressSIM105forexcept*before Python 3.12 (#23869)pyflakes] ExtendF507to flag%-format strings with zero placeholders (#24215)pyupgrade]UP018should detect more unnecessarily wrapped literals (UP018) (#24093)pyupgrade] FixUP008callable scope handling to support lambdas (#24274)ruff]RUF010: Mark fix as unsafe when it deletes a comment (#24270)Formatter
nested-string-quote-styleformatting option (#24312)Documentation
flake8-bugbear] Clarify RUF071 fix safety for non-path string comparisons (#24149)flake8-type-checking] Clarify import cycle wording forTC001/TC002/TC003(#24322)Other changes
|(#24343)Contributors
v0.15.8Compare Source
Released on 2026-03-26.
Preview features
ruff] New ruleunnecessary-if(RUF050) (#24114)ruff] New ruleuseless-finally(RUF072) (#24165)ruff] New rulef-string-percent-format(RUF073): warn when using%operator on an f-string (#24162)pyflakes] Recognizefrozendictas a builtin for Python 3.15+ (#24100)Bug fixes
flake8-async] Use fully-qualifiedanyio.lowlevelimport in autofix (ASYNC115) (#24166)flake8-bandit] Check tuple arguments for partial paths inS607(#24080)pyflakes] Skipundefined-name(F821) for conditionally deleted variables (#24088)E501/W505/formatter: Exclude nested pragma comments from line width calculation (#24071)%foo?parsing in IPython assignment expressions (#24152)analyze graph: resolve string imports that reference attributes, not just modules (#24058)Rule changes
eradicate] ignorety: ignorecomments inERA001(#24192)flake8-bandit] Treatsys.executableas trusted input inS603(#24106)flake8-self] RecognizeSelfannotation andselfassignment inSLF001(#24144)pyflakes]F507: Fix false negative for non-tuple RHS in%-formatting (#24142)refurb] Parenthesize generator arguments inFURB142fixer (#24200)Performance
Server
Documentation
extend-ignoreandextend-selectsettings documentation (#24064)Other changes
Contributors
v0.15.7Compare Source
Released on 2026-03-19.
Preview features
noqahover for non-Python documents (#24040)Rule changes
pycodestyle] Recognizepyrefly:as a pragma comment (E501) (#24019)Server
Documentation
pylint] Improve phrasing (PLC0208) (#24033)Other changes
Contributors
v0.15.6Compare Source
Released on 2026-03-12.
Preview features
lazyimport parsing (#23755)airflow] FlagVariable.get()calls outside of task execution context (AIR003) (#23584)airflow] Flag runtime-varying values in DAG/task constructor arguments (AIR304) (#23631)flake8-bugbear] Implementdelattr-with-constant(B043) (#23737)flake8-tidy-imports] AddTID254to enforce lazy imports (#23777)flake8-tidy-imports] Allow users to ban lazy imports withTID254(#23847)isort] Retainlazykeyword when sorting imports (#23762)pyupgrade] Addfrom __future__ import annotationsautomatically (UP006) (#23260)refurb] Supportnewlineparameter inFURB101for Python 3.13+ (#23754)ruff] Addos-path-commonprefix(RUF071) (#23814)ruff] Add unsafe fix for os-path-commonprefix (RUF071) (#23852)ruff] LimitRUF036to typing contexts; make it unsafe for non-typing-only (#23765)ruff] Use starred unpacking forRUF017in Python 3.15+ (#23789)Bug fixes
--add-noqacreating unwanted leading whitespace (#23773)--add-noqabreaking shebangs (#23577)flake8-annotations] Fix stack overflow inANN401on quoted annotations with escape sequences (#23912)pep8-naming] Check naming conventions inmatchpattern bindings (N806,N815,N816) (#23899)perflint] Fix comment duplication in fixes (PERF401,PERF403) (#23729)pyupgrade] Properly triggersuperchange in nested class (UP008) (#22677)ruff] Avoid syntax errors inRUF036fixes (#23764)Rule changes
flake8-bandit] FlagS501withrequests.request(#23873)flake8-executable] Fix WSL detection in non-Docker containers (#22879)flake8-print] Ignorepprintcalls withstream=(#23787)Documentation
flake8-bugbear] Fix misleading description forB904(#23731)Contributors
v0.15.5Compare Source
Released on 2026-03-05.
Preview features
perflint] ExtendPERF102to comprehensions and generators (#23473)refurb] FixFURB101andFURB103false positives when I/O variable is used later (#23542)ruff] Add fix fornone-not-at-end-of-union(RUF036) (#22829)ruff] Fix false positive forre.splitwith empty string pattern (RUF055) (#23634)Bug fixes
fastapi] Handle callable class dependencies with__call__method (FAST003) (#23553)pydocstyle] Fix numpy section ordering (D420) (#23685)pyflakes] Fix false positive for names shadowing re-exports (F811) (#23356)pyupgrade] Avoid inserting redundantNoneelements inUP045(#23459)Documentation
Other changes
Contributors
v0.15.4Compare Source
Released on 2026-02-26.
This is a follow-up release to 0.15.3 that resolves a panic when the new rule
PLR1712was enabled with any rule that analyzes definitions, such as many of theANNorDrules.Bug fixes
pyflakes] Suppress false positive inF821for names used beforedelin stub files (#23550)Documentation
import-headingexample (#23568)Contributors
v0.15.3Compare Source
Released on 2026-02-26.
Preview features
Drop explicit support for
.qmdfile extension (#23572)This can now be enabled instead by setting the
extensionoption:Include configured extensions in file discovery (#23400)
[
flake8-bandit] Allow suspicious imports inTYPE_CHECKINGblocks (S401-S415) (#23441)[
flake8-bugbear] AllowB901in pytest hook wrappers (#21931)[
flake8-import-conventions] Add missing conventions from upstream (ICN001,ICN002) (#21373)[
pydocstyle] Add rule to enforce docstring section ordering (D420) (#23537)[
pylint] Implementswap-with-temporary-variable(PLR1712) (#22205)[
ruff] Addunnecessary-assign-before-yield(RUF070) (#23300)[
ruff] Support file-level noqa inRUF102(#23535)[
ruff] Suppress diagnostic for invalid f-strings before Python 3.12 (RUF027) (#23480)[
flake8-bandit] Don't flagBaseLoader/CBaseLoaderas unsafe (S506) (#23510)Bug fixes
I002andPYI025(#23352)pyflakes] Fix false positive for@overloadfromlint.typing-modules(F811) (#23357)pyupgrade] Fix false positive forTypeVardefault before Python 3.12 (UP046) (#23540)pyupgrade] Fix handling of\Nin raw strings (UP032) (#22149)Rule changes
Render sub-diagnostics in the GitHub output format (#23455)
[
flake8-bugbear] Tag certainB007diagnostics as unnecessary (#23453)[
ruff] Ignore unknown rule codes inRUF100(#23531)These are now flagged by
RUF102instead.Documentation
pydocstyle] Fix double comma in description ofD404(#23440)Other changes
find_ruff_bin) for parity with uv (#23406)Contributors