-
Notifications
You must be signed in to change notification settings - Fork 15
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 v0.4.2 #498
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #498 +/- ##
=======================================
Coverage 95.73% 95.73%
=======================================
Files 20 20
Lines 1338 1338
Branches 199 199
=======================================
Hits 1281 1281
Misses 46 46
Partials 11 11 ☔ View full report in Codecov by Sentry. |
001f8f6
to
28951cc
Compare
bde98b6
to
8a27eee
Compare
d4da752
to
416268c
Compare
416268c
to
d0c8bd5
Compare
3cac067
to
643cd7f
Compare
2a191b5
to
e814a63
Compare
167edb8
to
3d99583
Compare
3d99583
to
9047a1c
Compare
d6085b0
to
10e814d
Compare
abb689d
to
216e280
Compare
1a3cf59
to
516936b
Compare
516936b
to
f37a7df
Compare
🎉 This PR is included in version 7.0.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This PR contains the following updates:
==0.3.0
->==0.4.2
Release Notes
astral-sh/ruff (ruff)
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 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)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 Mend Renovate. View repository job log here.