chore(deps): update dependency ruff to ~=0.5.7 #40
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.5
->~=0.5.7
Release Notes
astral-sh/ruff (ruff)
v0.5.7
Compare Source
Preview features
flake8-comprehensions
] Account for list and set comprehensions inunnecessary-literal-within-tuple-call
(C409
) (#12657)flake8-pyi
] Add autofix forfuture-annotations-in-stub
(PYI044
) (#12676)flake8-return
] Avoid syntax error when auto-fixingRET505
with mixed indentation (space and tabs) (#12740)pydoclint
] Adddocstring-missing-yields
(DOC402
) anddocstring-extraneous-yields
(DOC403
) (#12538)pydoclint
] AvoidDOC201
if docstring begins with "Return", "Returns", "Yield", or "Yields" (#12675)pydoclint
] Deduplicate collected exceptions after traversing function bodies (DOC501
) (#12642)pydoclint
] IgnoreDOC
errors for stub functions (#12651)pydoclint
] Teach rules to understand reraised exceptions as being explicitly raised (DOC501
,DOC502
) (#12639)ruff
] Implementincorrectly-parenthesized-tuple-in-subscript
(RUF031
) (#12480)ruff
] MarkRUF023
fix as unsafe if__slots__
is not a set and the binding is used elsewhere (#12692)Rule changes
refurb
] Add autofix forimplicit-cwd
(FURB177
) (#12708)ruff
] Add autofix forzip-instead-of-pairwise
(RUF007
) (#12663)tryceratops
] AddBaseException
toraise-vanilla-class
rule (TRY002
) (#12620)Server
CLI
pyproject.toml
files (#12727)Bug fixes
flake8-async
] Fix false positives with multipleasync with
items (ASYNC100
) (#12643)flake8-bandit
] Avoid false-positives for list concatenations in SQL construction (S608
) (#12720)flake8-bugbear
] Treatreturn
as equivalent tobreak
(B909
) (#12646)flake8-comprehensions
] Set comprehensions not a violation forsum
inunnecessary-comprehension-in-call
(C419
) (#12691)flake8-simplify
] Parenthesize conditions based on precedence when merging if arms (SIM114
) (#12737)pydoclint
] Try both 'Raises' section styles when convention is unspecified (DOC501
) (#12649)v0.5.6
Compare Source
Ruff 0.5.6 automatically enables linting and formatting of notebooks in preview mode.
You can opt-out of this behavior by adding
*.ipynb
to theextend-exclude
setting.Preview features
flake8-builtins
] Implement import, lambda, and module shadowing (#12546)pydoclint
] Adddocstring-missing-returns
(DOC201
) anddocstring-extraneous-returns
(DOC202
) (#12485)Rule changes
flake8-return
] Exempt cached properties and other property-like decorators from explicit return rule (RET501
) (#12563)Server
$/logTrace
for server trace logs in Zed and VS Code (#12564)Configuration
flake8-implicit-str-concat
] Always allow explicit multi-line concatenations when implicit concatenations are banned (#12532)Bug fixes
flake8-async
] Avoid flaggingasyncio.timeout
s as unused when the context manager includesasyncio.TaskGroup
(#12605)flake8-slots
] Avoid recommending__slots__
for classes that inherit from more thannamedtuple
(#12531)isort
] Avoid marking required imports as unused (#12537)isort
] Preserve trailing inline comments on import-from statements (#12498)pycodestyle
] Add newlines before comments (E305
) (#12606)pycodestyle
] Don't attach comments with mismatched indents (#12604)pyflakes
] Fix preview-mode bugs inF401
when attempting to autofix unused first-party submodule imports in an__init__.py
file (#12569)pylint
] Respect start index inunnecessary-list-index-lookup
(#12603)pyupgrade
] Avoid recommending no-argument super inslots=True
dataclasses (#12530)pyupgrade
] Use colon rather than dot formatting for integer-only types (#12534)Other changes
v0.5.5
Compare 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.alltrue
andnp.sometrue
(#12473)numpy
] IgnoreNPY201
insideexcept
blocks for compatibility with older numpy versions (#12490)pep8-naming
] Avoid applyingignore-names
toself
andcls
function names (N804
,N805
) (#12497)Formatter
Server
Bug fixes
Ord
implementation ofcmp_fix
(#12471)pydoclint
] Fix panic inDOC501
reported in #12428 (#12435)flake8-bugbear
] Allow singleton tuples with starred expressions inB013
(#12484)Documentation
nvim-lspconfig
(#12507)v0.5.4
Compare Source
Rule changes
ruff
] RenameRUF007
tozip-instead-of-pairwise
(#12399)Bug fixes
flake8-builtins
] Avoid shadowing diagnostics for@override
methods (#12415)flake8-comprehensions
] Insert parentheses for multi-argument generators (#12422)pydocstyle
] Handle escaped docstrings within docstring (D301
) (#12192)Documentation
output-format
default in settings reference (#12409)v0.5.3
Compare 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
, andpop
allowance forloop-iterator-mutation
(B909
) (#12365)pylint
] Allowrepeated-equality-comparison
for mixed operations (PLR1714
) (#12369)pylint
] Ignoreself
andcls
when counting arguments (PLR0913
) (#12367)pylint
] Use UTF-8 as default encoding inunspecified-encoding
fix (PLW1514
) (#12370)Server
--preview
flag forserver
subcommand for the linter and formatter (#12208)Bug fixes
flake8-comprehensions
] Allow additional arguments forsum
andmax
comprehensions (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.2
Compare Source
Preview features
space
separator before parenthesized expressions in comprehensions with leading comments (#12282)flake8-async
] UpdateASYNC100
to includeanyio
andasyncio
(#12221)flake8-async
] UpdateASYNC109
to includeanyio
andasyncio
(#12236)flake8-async
] UpdateASYNC110
to includeanyio
andasyncio
(#12261)flake8-async
] UpdateASYNC115
to includeanyio
andasyncio
(#12262)flake8-async
] UpdateASYNC116
to includeanyio
andasyncio
(#12266)Rule changes
flake8-return
] Exempt properties from explicit return rule (RET501
) (#12243)numpy
] Addnp.NAN
-to-np.nan
diagnostic (#12292)refurb
] Makelist-reverse-copy
an unsafe fix (#12303)Server
include
andextend-include
settings in native server (#12252)CLI
D203
(#12238)Bug fixes
not
operations as boolean tests (#12301)flake8-bandit
] AvoidS310
violations 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 withouttimeout
argument (#12213)pycodestyle
] Remove "non-obvious" allowance for E721 (#12300)pyflakes
] Considerwith
blocks as single-item branches for redefinition analysis (#12311)refurb
] Restrict forwarding fornewline
argument inopen()
calls to Python versions >= 3.10 (#12244)Documentation
--output-format full
default (#12248)Performance
v0.5.1
Compare Source
Preview features
flake8-bugbear
] Implement mutable-contextvar-default (B039) (#12113)pycodestyle
] Whitespace after decorator (E204
) (#12140)pytest
] ReversePT001
andPT0023
defaults (#12106)Rule changes
flake8-bandit
] Detecthttpx
forS113
(#12174)numpy
] UpdateNPY201
to include exception deprecations (#12065)pylint
] Generate autofix forduplicate-bases
(PLE0241
) (#12105)Server
Bug fixes
requires-python
inference robust to==
(#12091)str
-width (#12135)pycodestyle
] AvoidE275
if keyword followed by comma (#12136)pycodestyle
] AvoidE275
if keyword is followed by a semicolon (#12095)pylint
] Skip dummy variables forPLR1704
(#12190)Performance
parse_identifier
(#12103)CompactString
forIdentifier
AST node (#12101)v0.5.0
Compare 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.
ALL
now excludes deprecated rules--strip-components=1
when untarring./latest
URLs 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
:ASYNC100
toASYNC210
open-sleep-or-subprocess-in-async-function
:ASYNC101
split intoASYNC220
,ASYNC221
,ASYNC230
, andASYNC251
blocking-os-call-in-async-function
:ASYNC102
has been merged intoASYNC220
andASYNC221
trio-timeout-without-await
:TRIO100
toASYNC100
trio-sync-call
:TRIO105
toASYNC105
trio-async-function-with-timeout
:TRIO109
toASYNC109
trio-unneeded-sleep
:TRIO110
toASYNC110
trio-zero-sleep-call
:TRIO115
toASYNC115
repeated-isinstance-calls
:PLR1701
toSIM101
Stabilization
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 detectsif
expressions with implicitelse
branchesmodule-import-not-at-top-of-file
(E402
) now allowsos.environ
modifications between import statementstype-comparison
(E721
) now allows idioms such astype(x) is int
yoda-condition
(SIM300
) now flags a wider range of expressionsRemovals
The following deprecated settings have been removed:
output-format=text
; useoutput-format=concise
oroutput-format=full
tab-size
; useindent-width
The following deprecated CLI options have been removed:
--show-source
; use--output-format=full
--no-show-source
; use--output-format=concise
The following deprecated CLI commands have been removed:
ruff <path>
; useruff check <path>
ruff --clean
; useruff clean
ruff --generate-shell-completion
; useruff generate-shell-completion
Preview features
ruff
] Addassert-with-print-message
rule (#11981)CLI
--statistics
(#11697)full
by default (#12010)Rule changes
ruff
] Fix false positives ifgettext
is imported using an alias (RUF027
) (#12025)npy
] Updatetrapz
andin1d
deprecation (NPY201
) (#11948)flake8-bandit
] Modify diagnostic ranges for shell-related rules (#10667)Server
logFile
(#11945)Bug fixes
pycodestyle
] AvoidE203
for 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
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone Etc/UTC, 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.