-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update dependency ruff to ^0.5.0 #70
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/ruff-0.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
4b782ea
to
d4fab90
Compare
d4fab90
to
c4ba4ee
Compare
c4ba4ee
to
1e3fcd6
Compare
1e3fcd6
to
37de776
Compare
37de776
to
deb89a7
Compare
deb89a7
to
45b3160
Compare
45b3160
to
5797a6c
Compare
5797a6c
to
3820f39
Compare
3820f39
to
bf3e577
Compare
bf3e577
to
8212ae5
Compare
8212ae5
to
b443dab
Compare
b443dab
to
1644f7e
Compare
1644f7e
to
9fdc3a0
Compare
9fdc3a0
to
dee48d0
Compare
dee48d0
to
c9b91c2
Compare
c9b91c2
to
09303c0
Compare
09303c0
to
51f8354
Compare
51f8354
to
51da7f8
Compare
51da7f8
to
6b957ca
Compare
6b957ca
to
ebd6c58
Compare
ebd6c58
to
9d3a530
Compare
9d3a530
to
f7ed64f
Compare
f7ed64f
to
70e2c10
Compare
70e2c10
to
1c1d9ee
Compare
1c1d9ee
to
bf9116a
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
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.0.270
->^0.5.0
Release Notes
astral-sh/ruff (ruff)
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
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)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
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
Preview features
pylint
] Implementinvalid-hash-returned
(PLE0309
) (#10961)pylint
] Implementinvalid-index-returned
(PLE0305
) (#10962)Bug fixes
pylint
] AllowNoReturn
-like functions for__str__
,__len__
, etc. (PLE0307
) (#11017)ruff
] Ignore stub functions inunused-async
(RUF029
) (#11026)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 linesConfiguration
📅 Schedule: Branch creation - "every weekend" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 Mend Renovate. View repository job log here.