Update dependency ruff to v0.5.5 #9
Merged
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.4.4->==0.5.5Release Notes
astral-sh/ruff (ruff)
v0.5.5Compare Source
Preview features
fastapi] Implementfastapi-redundant-response-model(FAST001) andfastapi-non-annotated-dependency(FAST002) (#11579)pydoclint] Implementdocstring-missing-exception(DOC501) anddocstring-extraneous-exception(DOC502) (#11471)Rule changes
numpy] Fix NumPy 2.0 rule fornp.alltrueandnp.sometrue(#12473)numpy] IgnoreNPY201insideexceptblocks for compatibility with older numpy versions (#12490)pep8-naming] Avoid applyingignore-namestoselfandclsfunction names (N804,N805) (#12497)Formatter
Server
Bug fixes
Ordimplementation ofcmp_fix(#12471)pydoclint] Fix panic inDOC501reported in #12428 (#12435)flake8-bugbear] Allow singleton tuples with starred expressions inB013(#12484)Documentation
nvim-lspconfig(#12507)v0.5.4Compare Source
Rule changes
ruff] RenameRUF007tozip-instead-of-pairwise(#12399)Bug fixes
flake8-builtins] Avoid shadowing diagnostics for@overridemethods (#12415)flake8-comprehensions] Insert parentheses for multi-argument generators (#12422)pydocstyle] Handle escaped docstrings within docstring (D301) (#12192)Documentation
output-formatdefault in settings reference (#12409)v0.5.3Compare Source
Ruff 0.5.3 marks the stable release of the Ruff language server and introduces revamped
documentation, including setup guides for your editor of
choice and the language server
itself.
Preview features
pyupgrade] Implementunnecessary-default-type-args(UP043) (#12371)Rule changes
flake8-bugbear] Detect enumerate iterations inloop-iterator-mutation(B909) (#12366)flake8-bugbear] Removediscard,remove, andpopallowance forloop-iterator-mutation(B909) (#12365)pylint] Allowrepeated-equality-comparisonfor mixed operations (PLR1714) (#12369)pylint] Ignoreselfandclswhen counting arguments (PLR0913) (#12367)pylint] Use UTF-8 as default encoding inunspecified-encodingfix (PLW1514) (#12370)Server
--previewflag forserversubcommand for the linter and formatter (#12208)Bug fixes
flake8-comprehensions] Allow additional arguments forsumandmaxcomprehensions (C419) (#12364)pylint] Avoid dropping extra boolean operations inrepeated-equality-comparison(PLR1714) (#12368)pylint] Consider expression before statement when determining binding kind (PLR1704) (#12346)Documentation
Other changes
v0.5.2Compare Source
Preview features
spaceseparator before parenthesized expressions in comprehensions with leading comments (#12282)flake8-async] UpdateASYNC100to includeanyioandasyncio(#12221)flake8-async] UpdateASYNC109to includeanyioandasyncio(#12236)flake8-async] UpdateASYNC110to includeanyioandasyncio(#12261)flake8-async] UpdateASYNC115to includeanyioandasyncio(#12262)flake8-async] UpdateASYNC116to includeanyioandasyncio(#12266)Rule changes
flake8-return] Exempt properties from explicit return rule (RET501) (#12243)numpy] Addnp.NAN-to-np.nandiagnostic (#12292)refurb] Makelist-reverse-copyan unsafe fix (#12303)Server
includeandextend-includesettings in native server (#12252)CLI
D203(#12238)Bug fixes
notoperations as boolean tests (#12301)flake8-bandit] AvoidS310violations for HTTP-safe f-strings (#12305)flake8-bandit] Support explicit string concatenations in S310 HTTP detection (#12315)flake8-bandit] fix S113 false positive for httpx withouttimeoutargument (#12213)pycodestyle] Remove "non-obvious" allowance for E721 (#12300)pyflakes] Considerwithblocks as single-item branches for redefinition analysis (#12311)refurb] Restrict forwarding fornewlineargument inopen()calls to Python versions >= 3.10 (#12244)Documentation
--output-format fulldefault (#12248)Performance
v0.5.1Compare Source
Preview features
flake8-bugbear] Implement mutable-contextvar-default (B039) (#12113)pycodestyle] Whitespace after decorator (E204) (#12140)pytest] ReversePT001andPT0023defaults (#12106)Rule changes
flake8-bandit] DetecthttpxforS113(#12174)numpy] UpdateNPY201to include exception deprecations (#12065)pylint] Generate autofix forduplicate-bases(PLE0241) (#12105)Server
Bug fixes
requires-pythoninference robust to==(#12091)str-width (#12135)pycodestyle] AvoidE275if keyword followed by comma (#12136)pycodestyle] AvoidE275if keyword is followed by a semicolon (#12095)pylint] Skip dummy variables forPLR1704(#12190)Performance
parse_identifier(#12103)CompactStringforIdentifierAST node (#12101)v0.5.0Compare Source
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
See also, the "Remapped rules" section which may result in disabled rules.
ALLnow excludes deprecated rules--strip-components=1when untarring./latestURLs on GitHub.Deprecations
The following rules are now deprecated:
syntax-error(E999): Syntax errors are now always shownRemapped rules
The following rules have been remapped to new rule codes:
blocking-http-call-in-async-function:ASYNC100toASYNC210open-sleep-or-subprocess-in-async-function:ASYNC101split intoASYNC220,ASYNC221,ASYNC230, andASYNC251blocking-os-call-in-async-function:ASYNC102has been merged intoASYNC220andASYNC221trio-timeout-without-await:TRIO100toASYNC100trio-sync-call:TRIO105toASYNC105trio-async-function-with-timeout:TRIO109toASYNC109trio-unneeded-sleep:TRIO110toASYNC110trio-zero-sleep-call:TRIO115toASYNC115repeated-isinstance-calls:PLR1701toSIM101Stabilization
The following rules have been stabilized and are no longer in preview:
mutable-fromkeys-value(RUF024)default-factory-kwarg(RUF026)django-extra(S610)manual-dict-comprehension(PERF403)print-empty-string(FURB105)readlines-in-for(FURB129)if-expr-min-max(FURB136)bit-count(FURB161)redundant-log-base(FURB163)regex-flag-alias(FURB167)isinstance-type-none(FURB168)type-none-comparison(FURB169)implicit-cwd(FURB177)hashlib-digest-hex(FURB181)list-reverse-copy(FURB187)bad-open-mode(PLW1501)empty-comment(PLR2044)global-at-module-level(PLW0604)misplaced-bare-raise(PLE0744)non-ascii-import-name(PLC2403)non-ascii-name(PLC2401)nonlocal-and-global(PLE0115)potential-index-error(PLE0643)redeclared-assigned-name(PLW0128)redefined-argument-from-local(PLR1704)repeated-keyword-argument(PLE1132)super-without-brackets(PLW0245)unnecessary-list-index-lookup(PLR1736)useless-exception-statement(PLW0133)useless-with-lock(PLW2101)The following behaviors have been stabilized:
is-literal(F632) now warns for identity checks against list, set or dictionary literalsneedless-bool(SIM103) now detectsifexpressions with implicitelsebranchesmodule-import-not-at-top-of-file(E402) now allowsos.environmodifications between import statementstype-comparison(E721) now allows idioms such astype(x) is intyoda-condition(SIM300) now flags a wider range of expressionsRemovals
The following deprecated settings have been removed:
output-format=text; useoutput-format=conciseoroutput-format=fulltab-size; useindent-widthThe following deprecated CLI options have been removed:
--show-source; use--output-format=full--no-show-source; use--output-format=conciseThe following deprecated CLI commands have been removed:
ruff <path>; useruff check <path>ruff --clean; useruff cleanruff --generate-shell-completion; useruff generate-shell-completionPreview features
ruff] Addassert-with-print-messagerule (#11981)CLI
--statistics(#11697)fullby default (#12010)Rule changes
ruff] Fix false positives ifgettextis imported using an alias (RUF027) (#12025)npy] Updatetrapzandin1ddeprecation (NPY201) (#11948)flake8-bandit] Modify diagnostic ranges for shell-related rules (#10667)Server
logFile(#11945)Bug fixes
pycodestyle] AvoidE203for f-string debug expression (#12024)pep8-naming] Match import-name ignores against both name and alias (N812,N817) (#12033)pyflakes] Detect assignments that shadow definitions (F811) (#11961)Parser
Other changes
v0.4.10Compare Source
Parser
Rule changes
flake8-copyright] UpdateCPY001to check the first 4096 bytes instead of 1024 (#11927)pycodestyle] UpdateE999to show all syntax errors instead of just the first one (#11900)Server
Security
v0.4.9Compare Source
Preview features
pylint] Implementconsider-dict-items(C0206) (#11688)refurb] Implementrepeated-global(FURB154) (#11187)Rule changes
pycodestyle] Adapt fix forE203to work identical toruff format(#10999)Formatter
Server
ruff server(#11800)ruff.printDebugInformationcommand (#11831)CLI
Bug fixes
refurb] Avoid suggesting starmap when arguments are used outside call (FURB140) (#11830)flake8-bugbear] Avoid panic inB909when checking large loop blocks (#11772)refurb] Fix misbehavior ofoperator.itemgetterwhen getter param is a tuple (FURB118) (#11774)v0.4.8Compare Source
Performance
Preview features
flake8-bugbear] Implementreturn-in-generator(B901) (#11644)flake8-pyi] ImplementPYI063(#11699)pygrep_hooks] Check blanket ignores via file-level pragmas (PGH004) (#11540)Rule changes
pyupgrade] UpdateUP035for Python 3.13 and the latest version oftyping_extensions(#11693)numpy] UpdateNPY001rule for NumPy 2.0 (#11735)Server
CLI
--output-formatflag (#11682)Bug fixes
pyupgrade] Write empty string in lieu of panic when fixingUP032(#11696)flake8-simplify] Simplify double negatives inSIM103(#11684)typestatements (#11720)v0.4.7Compare Source
Preview features
flake8-pyi] ImplementPYI064(#11325)flake8-pyi] ImplementPYI066(#11541)flake8-pyi] ImplementPYI057(#11486)pyflakes] EnableF822in__init__.pyfiles by default (#11370)Formatter
Server
ruff server(#11590)ruff server(#11615)Bug fixes
flake8-comprehension] Strip parentheses around generators inC400(#11607)repeated-isinstance-callsas unsafe on Python 3.10 and later (#11622)v0.4.6Compare Source
Breaking changes
Preview features
flake8-async] Sleep with >24 hour interval should usually sleep forever (ASYNC116) (#11498)Rule changes
numpy] Add missing functions to NumPy 2.0 migration rule (#11528)mccabe] Consider irrefutable pattern similar toif .. elseforC901(#11565)match-casestatements forC901,PLR0912, andPLR0915(#11521)UP032) (#11524)flake8-bandit]request-without-timeoutshould warn forrequests.request(#11548)flake8-self] Ignore sunder accesses inflake8-selfrules (#11546)pyupgrade] Lint forTypeAliasTypeusages (UP040) (#11530)Server
ruff serverconfiguration discovery (#11551)ruff servercorrectly treats.pyifiles as stub files (#11535)ruff serversearches for configuration in parent directories (#11537)ruff server: An empty code action filter no longer returns notebook source actions (#11526)Bug fixes
flake8-logging-format] Fix autofix title inlogging-warn(G010) (#11514)refurb] Avoid recommendingoperator.itemgetterwith dependence on lambda arguments (#11574)flake8-simplify] Avoid recommending context manager in__enter__implementations (#11575)--output-file(#11550)singledispatcharguments as runtime-required (#11523)v0.4.5Compare Source
Ruff's language server is now in Beta
v0.4.5marks the official Beta release ofruff server, an integrated language server built into Ruff.ruff serversupports the same feature set asruff-lsp, powering linting, formatting, andcode fixes in Ruff's editor integrations -- but with superior performance and
no installation required. We'd love your feedback!
You can enable
ruff serverin the VS Code extension today.To read more about this exciting milestone, check out our blog post!
Rule changes
flake8-future-annotations] Rewordfuture-rewritable-type-annotation(FA100) message (#11381)pycodestyle] Consider soft keywords forE27rules (#11446)pyflakes] Recommend adding unused import bindings to__all__(#11314)pyflakes] Update documentation and deprecateignore_init_module_imports(#11436)pyupgrade] Mark quotes as unnecessary for non-evaluated annotations (#11485)Formatter
quote-style = preserve(#11490)Server
noqacomment code actions (#11276)CLI
--output-formatas a CLI option forruff config(#11438)Bug fixes
PLE0237for property with setter (#11377)TCH005forifstmt withelif/elseblock (#11376)__future__annotations as required for non-evaluated type annotations (#11414)flake8-pie] Preserve parentheses inunnecessary-dict-kwargs(#11372)pylint] Ignore__slots__with dynamic values (#11488)pylint] Removetrybody from branch counting (#11487)refurb] Respect operator precedence inFURB110(#11464)Documentation
--previewto the README (#11395)pycodestyle] Clarify motivation forE713andE714(#11483)pyflakes] Update docs to describe WAI behavior (F541) (#11362)pylint] Clearly indicate what is counted as a branch (#11423)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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.