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.5.0
->^0.6.0
Release Notes
astral-sh/ruff (ruff)
v0.6.1
Compare Source
This is a hotfix release to address an issue with
ruff-pre-commit
. In v0.6,Ruff changed its behavior to lint and format Jupyter notebooks by default;
however, due to an oversight, these files were still excluded by default if
Ruff was run via pre-commit, leading to inconsistent behavior.
This has now been fixed.
Preview features
fastapi
] Implementfast-api-unused-path-parameter
(FAST003
) (#12638)Rule changes
pylint
] Renametoo-many-positional
totoo-many-positional-arguments
(R0917
) (#12905)Server
Other changes
flake8-naming
]: Respect import conventions (N817
) (#12922)v0.6.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.
src
layouts by default forisort
rules (#12848)PT001
andPT023
now default to omitting the decorator parentheses when there are no arguments (#12838).Deprecations
The following rules are now deprecated:
pytest-missing-fixture-name-underscore
(PT004
)pytest-incorrect-fixture-name-underscore
(PT005
)unpacked-list-comprehension
(UP027
)Remapped rules
The following rules have been remapped to new rule codes:
unnecessary-dict-comprehension-for-iterable
:RUF025
toC420
Stabilization
The following rules have been stabilized and are no longer in preview:
singledispatch-method
(PLE1519
)singledispatchmethod-function
(PLE1520
)bad-staticmethod-argument
(PLW0211
)if-stmt-min-max
(PLR1730
)invalid-bytes-return-type
(PLE0308
)invalid-hash-return-type
(PLE0309
)invalid-index-return-type
(PLE0305
)invalid-length-return-type
(E303
)self-or-cls-assignment
(PLW0642
)byte-string-usage
(PYI057
)duplicate-literal-member
(PYI062
)redirected-noqa
(RUF101
)The following behaviors have been stabilized:
cancel-scope-no-checkpoint
(ASYNC100
): Supportasyncio
andanyio
context mangers.async-function-with-timeout
(ASYNC109
): Supportasyncio
andanyio
context mangers.async-busy-wait
(ASYNC110
): Supportasyncio
andanyio
context mangers.async-zero-sleep
(ASYNC115
): Supportanyio
context mangers.long-sleep-not-forever
(ASYNC116
): Supportanyio
context mangers.The following fixes have been stabilized:
superfluous-else-return
(RET505
)superfluous-else-raise
(RET506
)superfluous-else-continue
(RET507
)superfluous-else-break
(RET508
)Preview features
flake8-simplify
] Further simplify to binary in preview for (SIM108
) (#12796)pyupgrade
] Show violations without auto-fix (UP031
) (#11229)Rule changes
flake8-import-conventions
] Addxml.etree.ElementTree
to default conventions (#12455)flake8-pytest-style
] Add a space after comma in CSV output (PT006
) (#12853)Server
Bug fixes
flake8-async
] Do not lint yield in context manager (ASYNC100
) (#12896)flake8-comprehensions
] Do not lintasync for
comprehensions (C419
) (#12895)flake8-return
] Only add returnNone
at end of a function (RET503
) (#11074)flake8-type-checking
] Avoid treatingdataclasses.KW_ONLY
as typing-only (TCH003
) (#12863)pep8-naming
] Treattype(Protocol)
et al as metaclass base (N805
) (#12770)pydoclint
] Don't enforce returns and yields in abstract methods (DOC201
,DOC202
) (#12771)ruff
] Skip tuples with slice expressions in (RUF031
) (#12768)ruff
] Ignore unparenthesized tuples in subscripts when the subscript is a type annotation or type alias (RUF031
) (#12762)ruff
] Ignore template strings passed to logging andbuiltins._()
calls (RUF027
) (#12889)ruff
] Do not remove parens for tuples with starred expressions in Python <=3.10 (RUF031
) (#12784)Other changes
kernelspec
notebook metadata when detecting the preferred language for a Jupyter Notebook (#12875)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)Configuration
📅 Schedule: Branch creation - "before 8:00" in timezone Europe/Berlin, 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.