Update dependency ruff to v0.6.8 #74
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
renovate
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: olofvndrhr/manga-dlp#74
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/ruff-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==0.2.2
->==0.6.8
Release Notes
astral-sh/ruff (ruff)
v0.6.8
Compare Source
Preview features
match case
clauses (#13510)if
guards inmatch..case
clauses (#13513)ruff analyze graph
(#13486)pylint
] Implementboolean-chained-comparison
(R1716
) (#13435)Rule changes
lake8-simplify
] DetectSIM910
when using variadic keyword arguments, i.e.,**kwargs
(#13503)pyupgrade
] Avoid false negatives with non-reference shadowed bindings of loop variables (UP028
) (#13504)Bug fixes
*args
(#13512)Performance
BTreeSets
in module resolver (#13440)v0.6.7
Compare Source
Preview features
exclude
support toruff analyze
(#13425)Rule changes
pycodestyle
] Fix: Don't autofix if the first line ends in a question mark? (D400) (#13399)Bug fixes
lint.exclude
in ruff check--add-noqa
(#13427)Performance
forget
for module resolver database (#13438)v0.6.6
Compare Source
Preview features
refurb
] Skipslice-to-remove-prefix-or-suffix
(FURB188
) when non-trivial slice steps are present (#13405)Formatter
Server
LineIndex::offset
calculation (#13407)Bug fixes
fastapi
] Respect FastAPI aliases in route definitions (#13394)pydocstyle
] Respect word boundaries when detecting function signature in docs (#13388)Documentation
FURB188
docs (#13406)v0.6.5
Compare Source
Preview features
pydoclint
] IgnoreDOC201
when function name is "new" (#13300)refurb
] Implementslice-to-remove-prefix-or-suffix
(FURB188
) (#13256)Rule changes
eradicate
] Ignore script-comments with multiple end-tags (ERA001
) (#13283)pyflakes
] Improve error message forUndefinedName
when a builtin was added in a newer version than specified in Ruff config (F821
) (#13293)Server
Bug fixes
ruff
] Handle unary operators indecimal-from-float-literal
(RUF032
) (#13275)CLI
Playground
v0.6.4
Compare Source
Preview features
flake8-builtins
] Use dynamic builtins list based on Python version (#13172)pydoclint
] Permit yieldingNone
inDOC402
andDOC403
(#13148)pylint
] Update diagnostic message forPLW3201
(#13194)ruff
] Implementpost-init-default
(RUF033
) (#13192)ruff
] Implement useless if-else (RUF034
) (#13218)Rule changes
flake8-pyi
] Respectpep8_naming.classmethod-decorators
settings when determining if a method is a classmethod incustom-type-var-return-type
(PYI019
) (#13162)flake8-pyi
] Teach various rules that annotations might be stringized (#12951)pylint
] Avoidno-self-use
forattrs
-style validators (#13166)pylint
] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733
,PLR1736
) (#13186)pyupgrade
] Detectaiofiles.open
calls inUP015
(#13173)pyupgrade
] Marksys.version_info[0] < 3
and similar comparisons as outdated (UP036
) (#13175)CLI
ruff format
output (#13212)Bug fixes
pydocstyle
] Improve heuristics for detecting Google-style docstrings (#13142)refurb
] Treatsep
arguments with effects as unsafe removals (FURB105
) (#13165)v0.6.3
Compare Source
Preview features
flake8-simplify
] Extendopen-file-with-context-handler
to work withdbm.sqlite3
(SIM115
) (#13104)pycodestyle
] DisableE741
in stub files (.pyi
) (#13119)pydoclint
] AvoidDOC201
on explicit returns in functions that only returnNone
(#13064)Rule changes
flake8-async
] Disable check forasyncio
before Python 3.11 (ASYNC109
) (#13023)Bug fixes
FastAPI
] Avoid introducing invalid syntax in fix forfast-api-non-annotated-dependency
(FAST002
) (#13133)flake8-implicit-str-concat
] Normalize octals before merging concatenated strings insingle-line-implicit-string-concatenation
(ISC001
) (#13118)flake8-pytest-style
] Improve help message forpytest-incorrect-mark-parentheses-style
(PT023
) (#13092)pylint
] Avoid autofix for calls that aren'tmin
ormax
as starred expression (PLW3301
) (#13089)ruff
] Adddatetime.time
,datetime.tzinfo
, anddatetime.timezone
as immutable function calls (RUF009
) (#13109)ruff
] Extend comment deletion forRUF100
to include trailing text fromnoqa
directives while preserving any following comments on the same line, if any (#13105)v0.6.2
Compare Source
Preview features
flake8-simplify
] Extendopen-file-with-context-handler
to work with other standard-library IO modules (SIM115
) (#12959)ruff
] Avoidunused-async
for functions with FastAPI route decorator (RUF029
) (#12938)ruff
] Ignorefstring-missing-syntax
(RUF027
) forfastAPI
paths (#12939)ruff
] Implement check for Decimal called with a float literal (RUF032) (#12909)Rule changes
flake8-bugbear
] Update diagnostic message when expression is at the end of function (B015
) (#12944)flake8-pyi
] Skip type annotations instring-or-bytes-too-long
(PYI053
) (#13002)flake8-type-checking
] Always recognise relative imports as first-party (#12994)flake8-unused-arguments
] Ignore unused arguments on stub functions (ARG001
) (#12966)pylint
] Ignore augmented assignment forself-cls-assignment
(PLW0642
) (#12957)Server
Bug fixes
pep8-naming
] Don't flagfrom
imports following conventional import names (N817
) (#12946)pylint
] - Allow__new__
methods to havecls
as their first argument even if decorated with@staticmethod
forbad-staticmethod-argument
(PLW0211
) (#12958)Documentation
hyperfine
installation instructions; updatehyperfine
code samples (#13034)PT001
as per the new default behavior (#13019)perflint
] Improve docs fortry-except-in-loop
(PERF203
) (#12947)pydocstyle
] Add reference tolint.pydocstyle.ignore-decorators
setting to rule docs (#12996)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
(PLEE303
)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)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.flake8-bandit
rules were modified (#10667).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)numpy
] 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
v0.4.10
Compare Source
Parser
Rule changes
flake8-copyright
] UpdateCPY001
to check the first 4096 bytes instead of 1024 (#11927)pycodestyle
] UpdateE999
to show all syntax errors instead of just the first one (#11900)Server
Security
v0.4.9
Compare Source
Preview features
pylint
] Implementconsider-dict-items
(C0206
) (#11688)refurb
] Implementrepeated-global
(FURB154
) (#11187)Rule changes
pycodestyle
] Adapt fix forE203
to work identical toruff format
(#10999)Formatter
Server
ruff server
(#11800)ruff.printDebugInformation
command (#11831)CLI
Bug fixes
refurb
] Avoid suggesting starmap when arguments are used outside call (FURB140
) (#11830)flake8-bugbear
] Avoid panic inB909
when checking large loop blocks (#11772)refurb
] Fix misbehavior ofoperator.itemgetter
when getter param is a tuple (FURB118
) (#11774)v0.4.8
Compare 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
] UpdateUP035
for Python 3.13 and the latest version oftyping_extensions
(#11693)numpy
] UpdateNPY001
rule for NumPy 2.0 (#11735)Server
CLI
--output-format
flag (#11682)Bug fixes
pyupgrade
] Write empty string in lieu of panic when fixingUP032
(#11696)flake8-simplify
] Simplify double negatives inSIM103
(#11684)type
statements (#11720)v0.4.7
Compare Source
Preview features
flake8-pyi
] ImplementPYI064
(#11325)flake8-pyi
] ImplementPYI066
(#11541)flake8-pyi
] ImplementPYI057
(#11486)pyflakes
] EnableF822
in__init__.py
files by default (#11370)Formatter
Server
ruff server
(#11590)ruff server
(#11615)Bug fixes
flake8-comprehension
] Strip parentheses around generators inC400
(#11607)repeated-isinstance-calls
as unsafe on Python 3.10 and later (#11622)v0.4.6
Compare 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 .. else
forC901
(#11565)match
-case
statements forC901
,PLR0912
, andPLR0915
(#11521)UP032
) (#11524)flake8-bandit
]request-without-timeout
should warn forrequests.request
(#11548)flake8-self
] Ignore sunder accesses inflake8-self
rules (#11546)pyupgrade
] Lint forTypeAliasType
usages (UP040
) (#11530)Server
ruff server
configuration discovery (#11551)ruff server
correctly treats.pyi
files as stub files (#11535)ruff server
searches 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.itemgetter
with dependence on lambda arguments (#11574)flake8-simplify
] Avoid recommending context manager in__enter__
implementations (#11575)--output-file
(#11550)singledispatch
arguments as runtime-required (#11523)v0.4.5
Compare Source
Ruff's language server is now in Beta
v0.4.5
marks the official Beta release ofruff server
, an integrated language server built into Ruff.ruff server
supports 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 server
in 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)isort
] Expanded the set of standard-library modules to include_string
, etc. (#11374)pycodestyle
] Consider soft keywords forE27
rules (#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
noqa
comment code actions (#11276)CLI
--output-format
as a CLI option forruff config
(#11438)Bug fixes
PLE0237
for property with setter (#11377)TCH005
forif
stmt withelif
/else
block (#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
] Removetry
body from branch counting (#11487)refurb
] Respect operator precedence inFURB110
(#11464)Documentation
--preview
to the README (#11395)pycodestyle
] Clarify motivation forE713
andE714
(#11483)pyflakes
] Update docs to describe WAI behavior (F541) (#11362)pylint
] Clearly indicate what is counted as a branch (#11423)v0.4.4
Compare Source
Preview features
pycodestyle
] Ignore end-of-line comments when determining blank line rules (#11342)pylint
] Detectpathlib.Path.open
calls inunspecified-encoding
(PLW1514
) (#11288)flake8-pyi
] ImplementPYI059
(generic-not-last-base-class
) (#11233)flake8-pyi
] ImplementPYI062
(duplicate-literal-member
) (#11269)Rule changes
flake8-boolean-trap
] Allow passing booleans as positional-only arguments in code such asset(True)
(#11287)flake8-bugbear
] Ignore enum classes incached-instance-method
(B019
) (#11312)Server
ruff server
hanging after Neovim closes (#11291)Bug fixes
pylint
] Considerwith
statements fortoo-many-branches
(PLR0912
) (#11321)flake8-blind-except
,tryceratops
] Respect logged and re-raised expressions in nested statements (BLE001
,TRY201
) (#11301)__all__ = builtins.list(["foo", "bar"])
as valid__all__
definitions (#11335)v0.4.3
Compare Source
Enhancements
Preview features
refurb
] Use function range forreimplemented-operator
diagnostics (#11271)refurb
] Ignore methods inreimplemented-operator
(FURB118
) (#11270)refurb
] Implementfstring-number-format
(FURB116
) (#10921)ruff
] Implementredirected-noqa
(RUF101
) (#11052)pyflakes
] Distinguish between first-party and third-party imports for fix suggestions (#11168)Rule changes
flake8-bugbear
] Ignore non-abstract class attributes when enforcingB024
(#11210)flake8-logging
] Include inline instantiations when detecting loggers (#11154)pylint
] Also emitPLR0206
for properties with variadic parameters (#11200)ruff
] Detect duplicate codes as part ofunused-noqa
(RUF100
) (#10850)Formatter
LSP
ruff server
setup guide for Helix (#11183)ruff server
no longer hangs after shutdown (#11222)ruff server
reads from a configuration TOML file in the user configuration directory if no local configuration exists (#11225)ruff server
respectsper-file-ignores
configuration (#11224)ruff server
: Support a custom TOML configuration file (#11140)ruff server
: Support setting to prioritize project configuration over editor configuration (#11086)Bug fixes
pyflakes
] Prioritizeredefined-while-unused
overunused-import
(#11173)ruff
] Respectasync
expressions in comprehension bodies (#11219)pygrep_hooks
] Fixblanket-noqa
panic when last line has noqa with no newline (PGH004
) (#11108)perflint
] Ignore list-copy recommendations for asyncfor
loops (#11250)pyflakes
] Improveinvalid-print-syntax
documentation (#11171)Performance
Windows
v0.4.2
Compare Source
Rule changes
flake8-pyi
] Allow for overloaded__exit__
and__aexit__
definitions (PYI036
) (#11057)pyupgrade
] Catch usages of"%s" % var
and provide an unsafe fix (UP031
) (#11019)refurb
] Implement new rule that suggests min/max oversorted()
(FURB192
) (#10868)Server
noqa
codes (#11096)Bug fixes
macos-12
for building release wheels to enable macOS 11 compatibility (#11146)flake8-blind-expect
] Allow raise from inBLE001
(#11131)flake8-pyi
] Allow simple assignments toNone
in enum class scopes (PYI026
) (#11128)flake8-simplify
] Avoid raisingSIM911
for non-zip
attribute calls (#11126)refurb
] Avoidoperator.itemgetter
suggestion for single-item tuple (#11095)ruff
] Respect per-file-ignores forRUF100
with no other diagnostics (#11058)ruff
] Fix async comprehension false positive (RUF029
) (#11070)Documentation
flake8-bugbear
] Document explicitly disabling strict zip (B905
) (#11040)flake8-type-checking
] Mentionlint.typing-modules
inTCH001
,TCH002
, andTCH003
(#11144)isort
] Improve documentation around customisort
sections (#11050)pylint
] Fix documentation oversight forinvalid-X-returns
(#11094)Performance
matchit
to resolve per-file settings (#11111)v0.4.1
Compare Source
Parser
Rule changes
flake8-copyright
] UpdateCPY001
to check the first 4096 bytes instead of 1024 (#11927)pycodestyle
] UpdateE999
to show all syntax errors instead of just the first one (#11900)Server
Security
v0.4.0
Compare Source
A new, hand-written parser
Ruff's new parser is >2x faster, which translates to a 20-40% speedup for all linting and formatting invocations.
There's a lot to say about this exciting change, so check out the blog post for more details!
See #10036 for implementation details.
A new language server in Rust
With this release, we also want to highlight our new language server.
ruff server
is a Rust-powered languageserver that comes built-in with Ruff. It can be used with any editor that supports the Language Server Protocol (LSP).
It uses a multi-threaded, lock-free architecture inspired by
rust-analyzer
and it will open the door for a lotof exciting features. It’s also faster than our previous Python-based language server
-- but you probably guessed that already.
ruff server
is only in alpha, but it has a lot of features that you can try out today:ruff.applyAutofix
,ruff.applyFormat
, andruff.applyOrganizeImports
source.fixAll
andsource.organizeImports
source actionsTo setup
ruff server
with your editor, refer to the README.md.Preview features
pycodestyle
] Do not triggerE3
rules ondef
s following a function/method with a dummy body (#10704)pylint
] Implementinvalid-bytes-returned
(E0308
) (#10959)pylint
] Implementinvalid-length-returned
(E0303
) (#10963)pylint
] Implementself-cls-assignment
(W0642
) (#9267)pylint
] Omit stubs frominvalid-bool
andinvalid-str-return-type
(#11008)ruff
] New ruleunused-async
(RUF029
) to detect unneededasync
keywords on functions (#9966)Rule changes
flake8-bandit
] Allowurllib.request.urlopen
calls with staticRequest
argument (S310
) (#10964)flake8-bugbear
] Treatraise NotImplemented
-only bodies as stub functions (B006
) (#10990)flake8-slots
] Respect same-fileEnum
subclasses (SLOT000
) (#11006)pylint
] Support inverted comparisons (PLR1730
) (#10920)Linter
--show-settings
(#11003)BuiltinTypeChecker
(#10976)RuleTable::any_enabled
(#10971)Server
This section is devoted to updates for our new language server, written in Rust.
Configuration
RUFF_OUTPUT_FILE
environment variable support (#10992)Bug fixes
non-augmented-assignment
for reversed, non-commutative operators (PLR6104
) (#10909)PLR6104
) (#10912)per-file-ignores
forRUF100
on blanket# noqa
(#10908)if
expression for parenthesized with items parsing (#11010)FOR_TARGET
context for all kinds of parentheses (#11009)v0.3.7
Compare Source
Preview features
flake8-bugbear
] Implementloop-iterator-mutation
(B909
) (#9578)pylint
] Implement rule to prefer augmented assignment (PLR6104
) (#9932)Bug fixes
pylint
] Recodenan-comparison
rule toW0177
(#10894)pylint
] Reverse min-max logic inif-stmt-min-max
(#10890)v0.3.6
Compare Source
Preview features
pylint
] Implementbad-staticmethod-argument
(PLW0211
) (#10781)pylint
] Implementif-stmt-min-max
(PLR1730
,PLR1731
) (#10002)pyupgrade
] Replacestr,Enum
multiple inheritance withStrEnum
UP042
(#10713)refurb
] Implementif-expr-instead-of-or-operator
(FURB110
) (#10687)refurb
] Implementint-on-sliced-str
(FURB166
) (#10650)refurb
] Implementwrite-whole-file
(FURB103
) (#10802)refurb
] Supportitemgetter
inreimplemented-operator
(FURB118
) (#10526)flake8_comprehensions
] Addsum
/min
/max
to unnecessary comprehension check (C419
) (#10759)Rule changes
pydocstyle
] Require capitalizing docstrings where the first sentence is a single word (D403
) (#10776)pycodestyle
] Ignore annotated lambdas in class scopes (E731
) (#10720)flake8-pyi
] Various improvements to PYI034 (#10807)flake8-slots
] Flag subclasses of call-basedtyping.NamedTuple
s as well as subclasses ofcollections.namedtuple()
(SLOT002
) (#10808)pyflakes
] Allow forward references in class bases in stub files (F821
) (#10779)pygrep-hooks
] Improveblanket-noqa
error message (PGH004
) (#10851)CLI
FORCE_COLOR
env var (#10839)Configuration
[extend-]per-file-ignores
(#10852)Bug fixes
flake8-import-conventions
] Accept non-aliased (but correct) import inunconventional-import-alias
(ICN001
) (#10729)flake8-quotes
] Add semantic model flag when inside f-string replacement field (#10766)pep8-naming
] Recursively resolveTypeDicts
for N815 violations (#10719)flake8-quotes
] RespectQ00*
ignores inflake8-quotes
rules (#10728)flake8-simplify
] Show negated condition inneedless-bool
diagnostics (SIM103
) (#10854)ruff
] Use within-scope shadowed bindings inasyncio-dangling-task
(RUF006
) (#10793)flake8-pytest-style
] Fix single-tuple conversion inpytest-parametrize-values-wrong-type
(PT007
) (#10862)flake8-return
] Ignore assignments to annotated variables inunnecessary-assign
(RET504
) (#10741)refurb
] Do not allow any keyword arguments forread-whole-file
inrb
mode (FURB101
) (#10803)pylint
] Don't recommend decorating staticmethods with@singledispatch
(PLE1519
,PLE1520
) (#10637)pydocstyle
] Use section name range for all section-related docstring diagnostics (#10740)# noqa
directives on__all__
openers (#10798)v0.3.5
Compare Source
Preview features
pylint
] Implementmodified-iterating-set
(E4703
) (#10473)refurb
] Implementfor-loop-set-mutations
(FURB142
) (#10583)refurb
] Implementunnecessary-from-float
(FURB164
) (#10647)refurb
] Implementverbose-decimal-constructor
(FURB157
) (#10533)Rule changes
flake8-comprehensions
] Handled special case forC401
which also matchesC416
(#10596)flake8-pyi
] Markunaliased-collections-abc-set-import
fix as "safe" for more cases in stub files (PYI025
) (#10547)numpy
] Addrow_stack
to NumPy 2.0 migration rule (#10646)pycodestyle
] Allow cell magics before an import (E402
) (#10545)pycodestyle
] Avoid blank line rules for the first logical line in cell (#10291)Configuration
flake8-boolean-trap
] Add setting for user defined allowed boolean trap (#10531)Bug fixes
__all__
definitions when renaming symbols in autofixes (#10527)__all__
definitions (#10525)flake8-bugbear
] Avoid false positive for usage aftercontinue
(B031
) (#10539)flake8-copyright
] Accept commas in default copyright pattern (#9498)flake8-datetimez
] Allow f-strings with%z
forDTZ007
(#10651)flake8-pytest-style
] FixPT014
autofix for last item in list (#10532)flake8-quotes
] IgnoreQ000
,Q001
when string is inside forward ref (#10585)isort
] Always place non-relative imports after relative imports (#10669)isort
] Respect Unicode characters in import sorting (#10529)pyflakes
] Fix F821 false negatives whenfrom __future__ import annotations
is active (attempt 2) (#10524)pyflakes
] Makeunnecessary-lambda
an always-unsafe fix (#10668)pylint
] Fixed false-positive on the rulePLW1641
(eq-without-hash
) (#10566)ruff
] Fix panic in unused# noqa
removal with multi-byte space (RUF100
) (#10682)Documentation
CONTRIBUTING.md
(#10665)flake8-logging
next to the other flake8 plugins in registry (#10587)flake8-bandit
] Update warning message for ruleS305
to address insecure block cipher mode use (#10602)flake8-bugbear
] Document use of anonymous assignment inuseless-expression
(#10551)flake8-datetimez
] Clarify error messages and docs forDTZ
rules (#10621)pycodestyle
] Use same before vs. after numbers forspace-around-operator
(#10640)ruff
] Changequadratic-list-summation
docs to useiadd
consistently (#10666)v0.3.4
Compare Source
Preview features
flake8-simplify
] Detect implicitelse
cases inneedless-bool
(SIM103
) (#10414)pylint
] Implementnan-comparison
(PLW0117
) (#10401)pylint
] Implementnonlocal-and-global
(E115
) (#10407)pylint
] Implementsingledispatchmethod-function
(PLE5120
) (#10428)refurb
] Implementlist-reverse-copy
(FURB187
) (#10212)Rule changes
flake8-pytest-style
] Add automatic fix forpytest-parametrize-values-wrong-type
(PT007
) (#10461)pycodestyle
] Allow SPDX license headers to exceed the line length (E501
) (#10481)Formatter
Bug fixes
C409
) (#10491)name
from being reformatted (#10442)W605
(#10480).pyi
files (#10512)E231
bug: Inconsistent catch compared to pycodestyle, such as when dict nested in list (#10469)Options
references to blank line docs (#10498)from __future__ import annotations
is active (#10362)"' (#10513)flake8-bugbear
] Allow tuples of exceptions (B030
) (#10437)flake8-quotes
] Avoid syntax errors due to invalid quotes (Q000, Q002
) (#10199)v0.3.3
Compare Source
Preview features
flake8-bandit
]: ImplementS610
rule (#10316)pycodestyle
] Implementblank-line-at-end-of-file
(W391
) (#10243)pycodestyle
] Implementredundant-backslash
(E502
) (#10292)pylint
] - implementredeclared-assigned-name
(W0128
) (#9268)Rule changes
flake8_comprehensions
] Handled special case forC400
which also matchesC416
(#10419)flake8-bandit
] Implement upstream updates forS311
,S324
andS605
(#10313)pyflakes
] RemoveF401
fix for__init__
imports by default and allow opt-in to unsafe fix (#10365)pylint
] Implementinvalid-bool-return-type
(E304
) (#10377)pylint
] Include builtin warnings in useless-exception-statement (PLW0133
) (#10394)CLI
ruff check
(#8631)Bug fixes
PIE970
] Allow trailing ellipsis intyping.TYPE_CHECKING
(#10413)TRIO115
if the argument is a variable (#10376)F811
] Avoid removing shadowed imports that point to different symbols (#10387)F821
andF822
false positives in.pyi
files (#10341)F821
false negatives in.py
files whenfrom __future__ import annotations
is active (#10362)Indexer
fails to identify continuation preceded by newline #10351 (#10354)Settings
display (#10370)C413
] Wrap expressions in parentheses when negating (#10346)pycodestyle
] Do not ignore lines before the first logical line in blank lines rules. (#10382)pycodestyle
] Do not triggerE225
andE275
when the next token is a ')' (#10315)pylint
] Avoid false-positive slot non-assignment for__dict__
(PLE0237
) (#10348)Documentation
ruff.toml
format in README (#10393)RUF008
] Make it clearer that a mutable default in a dataclass is only valid if it is typed as a ClassVar (#10395)pylint
] Extend docs and test ininvalid-str-return-type
(E307
) (#10400).
fromcheck
andformat
commands (#10217)v0.3.2
Compare Source
Preview features
with
item formatting for Python 3.8 or older (#10276)Rule changes
pyupgrade
] Allow fixes for f-string rule regardless of line length (UP032
) (#10263)pycodestyle
] Include actual conditions in E712 diagnostics (#10254)Bug fixes
with
items formatting (#10274)Parameter
range for*args
and**kwargs
(#10283)typing.Annotated
subscripts as type definitions (#10285)v0.3.1
Compare Source
Preview features
pycodestyle
] Fix E301 not triggering on decorated methods. (#10117)pycodestyle
] Respectisort
settings in blank line rules (E3*
) (#10096)pycodestyle
] Make blank lines in typing stub files optional (E3*
) (#10098)pylint
] Implementsingledispatch-method
(E1519
) (#10140)pylint
] Implementuseless-exception-statement
(W0133
) (#10176)Rule changes
flake8-debugger
] Check for use ofdebugpy
andptvsd
debug modules (#10177) (#10194)pyupgrade
] Generate diagnostic for all valid f-string conversions regardless of line length (UP032
) (#10238)pep8_naming
] Add fixes forN804
andN805
(#10215)CLI
ruff format --diff
(#10110)--config
and--isolated
global flags (#10150)--config
(#10219)Configuration
required-version
(#10216)default-section
setting (#10149)Bug fixes
CapWords
message (#10220)flake8-raise
] Avoid false-positives for parens-on-raise withfuture.exception()
(RSE102
) (#10206)pylint
] Add fix for unary expressions inPLC2801
(#9587)ruff
] Fix RUF028 not allowing# fmt: skip
on match cases (#10178)v0.3.0
Compare Source
This release introduces the new Ruff formatter 2024.2 style and adds a new lint rule to
detect invalid formatter suppression comments.
Preview features
flake8-bandit
] Remove suspicious-lxml-import (S410
) (#10154)pycodestyle
] Allowos.environ
modifications between imports (E402
) (#10066)pycodestyle
] Don't warn about a single whitespace character before a comma in a tuple (E203
) (#10094)Rule changes
eradicate
] Detect commented outcase
statements (ERA001
) (#10055)eradicate
] Detect single-line code fortry:
,except:
, etc. (ERA001
) (#10057)flake8-boolean-trap
] Allow boolean positionals in__post_init__
(#10027)flake8-copyright
] Allow © in copyright notices (#10065)isort
]: Use one blank line after imports in typing stub files (#9971)pylint
] New Ruledict-iter-missing-items
(PLE1141
) (#9845)pylint
] Ignoresys.version
andsys.platform
(PLR1714
) (#10054)pyupgrade
] Detect literals with unary operators (UP018
) (#10060)ruff
] Expand rule forlist(iterable).pop(0)
idiom (RUF015
) (#10148)Formatter
This release introduces the Ruff 2024.2 style, stabilizing the following changes:
with
parentheses when targeting Python 3.9 or newer (#9222)...
) in typing stub files (#9155)...
) body (#7440, #9240)CLI
extend
as part of a--config
flag (#10135)build
from the default exclusion list (#10093)ruff <path>
,ruff --explain
,ruff --clean
, andruff --generate-shell-completion
in favor ofruff check <path>
,ruff rule
,ruff clean
, andruff generate-shell-completion
(#10169)--format
fromruff rule
andruff linter
(#10170)Bug fixes
flake8-bugbear
] Avoid adding default initializers to stubs (B006
) (#10152)flake8-type-checking
] Respect runtime-required decorators for function signatures (#10091)pycodestyle
] Mark fixes overlapping with a multiline string as unsafe (W293
) (#10049)pydocstyle
] Trim whitespace when removing blank lines after section (D413
) (#10162)pylint
] Delete entire statement, including semicolons (PLR0203
) (#10074)ruff
] Avoid f-string false positives ingettext
calls (RUF027
) (#10118)ruff
crashing on PowerPC systems because of too small page size (#10080)Performance
Documentation
line-length
option: fix link topycodestyle.max-line-length
(#10136)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 has been generated by Renovate Bot.
Update dependency ruff to v0.3.0to Update dependency ruff to v0.3.178a8a1f7a3
to4ab14fffd3
Update dependency ruff to v0.3.1to Update dependency ruff to v0.3.24ab14fffd3
toc195d0d1f7
Update dependency ruff to v0.3.2to Update dependency ruff to v0.3.3c195d0d1f7
to1678ed9f39
Update dependency ruff to v0.3.3to Update dependency ruff to v0.3.41678ed9f39
to46de8061a0
Update dependency ruff to v0.3.4to Update dependency ruff to v0.3.546de8061a0
to5717085e57
Update dependency ruff to v0.3.5to Update dependency ruff to v0.3.65717085e57
to1e542a9a04
Update dependency ruff to v0.3.6to Update dependency ruff to v0.3.71e542a9a04
toa56a8011ed
Update dependency ruff to v0.3.7to Update dependency ruff to v0.4.0a56a8011ed
tod64fc68d2b
Update dependency ruff to v0.4.0to Update dependency ruff to v0.4.1d64fc68d2b
toeb4964d9e6
Update dependency ruff to v0.4.1to Update dependency ruff to v0.4.2eb4964d9e6
to5f652d7915
Update dependency ruff to v0.4.2to Update dependency ruff to v0.4.35f652d7915
to876ea48108
Update dependency ruff to v0.4.3to Update dependency ruff to v0.4.4876ea48108
to2fedc5f88c
Update dependency ruff to v0.4.4to Update dependency ruff to v0.4.52fedc5f88c
to63c9010a60
Update dependency ruff to v0.4.5to Update dependency ruff to v0.4.663c9010a60
to2e9f6197b6
Update dependency ruff to v0.4.6to Update dependency ruff to v0.4.72e9f6197b6
to9fa742fe4e
Update dependency ruff to v0.4.7to Update dependency ruff to v0.4.89fa742fe4e
to6653ab6fa6
Update dependency ruff to v0.4.8to Update dependency ruff to v0.4.96653ab6fa6
to11328bbf7b
Update dependency ruff to v0.4.9to Update dependency ruff to v0.4.1011328bbf7b
tob2ac92c128
Update dependency ruff to v0.4.10to Update dependency ruff to v0.5.0b2ac92c128
to78f60015a6
Update dependency ruff to v0.5.0to Update dependency ruff to v0.5.178f60015a6
to7e4642cfdb
7e4642cfdb
to73a0c0e5f7
Update dependency ruff to v0.5.1to Update dependency ruff to v0.5.273a0c0e5f7
tob00860267a
Update dependency ruff to v0.5.2to Update dependency ruff to v0.5.3Update dependency ruff to v0.5.3to Update dependency ruff to v0.5.4b00860267a
to2426507964
2426507964
to5f8249b712
Update dependency ruff to v0.5.4to Update dependency ruff to v0.5.5Update dependency ruff to v0.5.5to Update dependency ruff to v0.5.65f8249b712
to8bbd6b0ac8
Update dependency ruff to v0.5.6to Update dependency ruff to v0.5.78bbd6b0ac8
to457e5d297f
457e5d297f
to02f1f0eb78
Update dependency ruff to v0.5.7to Update dependency ruff to v0.6.0Update dependency ruff to v0.6.0to Update dependency ruff to v0.6.102f1f0eb78
toe1ac6d0081
Update dependency ruff to v0.6.1to Update dependency ruff to v0.6.2e1ac6d0081
tofd0da2e27e
fd0da2e27e
to24223671ab
Update dependency ruff to v0.6.2to Update dependency ruff to v0.6.3Update dependency ruff to v0.6.3to Update dependency ruff to v0.6.424223671ab
toee1e66dbf6
ee1e66dbf6
to75716936ef
Update dependency ruff to v0.6.4to Update dependency ruff to v0.6.575716936ef
to8cdc5a19ae
Update dependency ruff to v0.6.5to Update dependency ruff to v0.6.68cdc5a19ae
tod60c146956
Update dependency ruff to v0.6.6to Update dependency ruff to v0.6.7d60c146956
to89e25b6602
Update dependency ruff to v0.6.7to Update dependency ruff to v0.6.8View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.