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
Update dependency ruff to v0.4.5 #18
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/ruff-0.x
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
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.
Open
+1
−1
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
renovate
bot
changed the title
Update dependency ruff to v0.0.258
Update dependency ruff to v0.0.259
Mar 23, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
2 times, most recently
from
March 29, 2023 23:43
490cec6
to
fc4de1d
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.259
Update dependency ruff to v0.0.260
Mar 29, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 5, 2023 03:30
fc4de1d
to
9fa6c0c
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.260
Update dependency ruff to v0.0.261
Apr 5, 2023
renovate
bot
changed the title
Update dependency ruff to v0.0.261
Update dependency ruff to v0.0.262
Apr 20, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 20, 2023 02:02
9fa6c0c
to
3fba6cd
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.262
Update dependency ruff to v0.0.263
Apr 25, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
2 times, most recently
from
May 2, 2023 08:46
9f1fcc7
to
f337420
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.263
Update dependency ruff to v0.0.264
May 2, 2023
renovate
bot
changed the title
Update dependency ruff to v0.0.264
Update dependency ruff to v0.0.265
May 5, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 5, 2023 19:38
f337420
to
f99176c
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.265
Update dependency ruff to v0.0.267
May 12, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
2 times, most recently
from
May 18, 2023 21:49
406f2c7
to
2090803
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.267
Update dependency ruff to v0.0.269
May 18, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 24, 2023 22:12
2090803
to
1772358
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.269
Update dependency ruff to v0.0.270
May 24, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 7, 2023 01:03
1772358
to
ca87372
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.270
Update dependency ruff to v0.0.271
Jun 7, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 8, 2023 05:24
ca87372
to
e713a8f
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.271
Update dependency ruff to v0.0.272
Jun 8, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 20, 2023 23:01
e713a8f
to
75f0e0b
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.272
Update dependency ruff to v0.0.273
Jun 20, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 21, 2023 04:40
75f0e0b
to
33113a7
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.273
Update dependency ruff to v0.0.274
Jun 21, 2023
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
June 22, 2023 19:47
33113a7
to
4925336
Compare
renovate
bot
changed the title
Update dependency ruff to v0.0.274
Update dependency ruff to v0.0.275
Jun 22, 2023
renovate
bot
changed the title
Update dependency ruff to v0.2.1
Update dependency ruff to v0.2.2
Feb 18, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
February 29, 2024 16:37
1815703
to
855530e
Compare
renovate
bot
changed the title
Update dependency ruff to v0.2.2
Update dependency ruff to v0.3.0
Feb 29, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
March 7, 2024 00:34
855530e
to
db64046
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.0
Update dependency ruff to v0.3.1
Mar 7, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
March 9, 2024 01:26
db64046
to
9ab3165
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.1
Update dependency ruff to v0.3.2
Mar 9, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
March 15, 2024 18:52
9ab3165
to
7ea9e82
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.2
Update dependency ruff to v0.3.3
Mar 15, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
March 21, 2024 20:27
7ea9e82
to
274173b
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.3
Update dependency ruff to v0.3.4
Mar 21, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 1, 2024 18:57
274173b
to
ffd6469
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.4
Update dependency ruff to v0.3.5
Apr 1, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 11, 2024 19:29
ffd6469
to
bb97df6
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.5
Update dependency ruff to v0.3.6
Apr 11, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 12, 2024 06:01
bb97df6
to
403e5cf
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.6
Update dependency ruff to v0.3.7
Apr 12, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 18, 2024 22:39
403e5cf
to
8de7d31
Compare
renovate
bot
changed the title
Update dependency ruff to v0.3.7
Update dependency ruff to v0.4.0
Apr 18, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 19, 2024 13:38
8de7d31
to
975d464
Compare
renovate
bot
changed the title
Update dependency ruff to v0.4.0
Update dependency ruff to v0.4.1
Apr 19, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
April 25, 2024 18:35
975d464
to
77f8369
Compare
renovate
bot
changed the title
Update dependency ruff to v0.4.1
Update dependency ruff to v0.4.2
Apr 25, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 4, 2024 02:31
77f8369
to
e6a3356
Compare
renovate
bot
changed the title
Update dependency ruff to v0.4.2
Update dependency ruff to v0.4.3
May 4, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 9, 2024 17:44
e6a3356
to
71df1cd
Compare
renovate
bot
changed the title
Update dependency ruff to v0.4.3
Update dependency ruff to v0.4.4
May 9, 2024
renovate
bot
force-pushed
the
renovate/ruff-0.x
branch
from
May 23, 2024 04:00
71df1cd
to
4d7f95b
Compare
renovate
bot
changed the title
Update dependency ruff to v0.4.4
Update dependency ruff to v0.4.5
May 23, 2024
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.257
->==0.4.5
Release Notes
astral-sh/ruff (ruff)
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 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)v0.2.2
Compare Source
Highlights include:
--preview
).--config
argument (e.g.,--config "lint.isort.combine-as-imports=false"
).Preview features
pycodestyle
] Add blank line(s) rules (E301
,E302
,E303
,E304
,E305
,E306
) (#9266)refurb
] Implementreadlines_in_for
(FURB129
) (#9880)Rule changes
ruff
] Ensure closing parentheses for multiline sequences are always on their own line (RUF022
,RUF023
) (#9793)numpy
] Add missing deprecation violations (NPY002
) (#9862)flake8-bandit
] Detectmark_safe
usages in decorators (#9887)ruff
] Expandasyncio-dangling-task
(RUF006
) to includenew_event_loop
(#9976)flake8-pyi
] Ignore 'unused' private type dicts in class scopes (#9952)Formatter
indent-style=tabs
(#9915)preserve
mode (#9922)CLI
Bug fixes
show-settings
filters directory-agnostic (#9866)DebugText
(#9953)flake8-simplify
] Avoid false positive withasync
for loops (SIM113
) (#9996)flake8-trio
] Respectasync with
intimeout-without-await
(#9859)perflint
] Catch a wider range of mutations inPERF101
(#9955)pycodestyle
] FixE30X
panics on blank lines with trailing white spaces (#9907)pydocstyle
] Allow usingparameters
as a subsection header (D405
) (#9894)pydocstyle
] Fix blank-line docstring rules for module-level docstrings (#9878)pylint
] Accept 0.0 and 1.0 as common magic values (PLR2004
) (#9964)pylint
] Avoid suggesting set rewrites for non-hashable types (#9956)ruff
] Avoid false negatives with string literals inside of method calls (RUF027
) (#9865)ruff
] Fix panic on with f-string detection (RUF027
) (#9990)ruff
] Ignore builtins when detecting missing f-strings (#9849)Performance
memchr
for string lexing (#9888)memchr
for tab-indentation detection (#9853)Result<Tok, LexicalError>
size by usingBox<str>
instead ofString
(#9885)Expr
from 80 to 64 bytes (#9900)v0.2.1
Compare Source
This release includes support for range formatting (i.e., the ability to format specific lines
within a source file).
Preview features
refurb
] Implementmissing-f-string-syntax
(RUF027
) (#9728)Formatter
--range
option toruff format
(#9733)Bug fixes
__get__
and__set__
fromunnecessary-dunder-call
(#9791)Protocol
in ellipsis removal (#9841)Performance
C408
(#9822)C400
,C401
,C410
, andC418
(#9819)AhoCorasick
to speed up quote match (#9773)C405
andC409
(#9821)zero-sleep-call
(#9766)C403
(#9818)Documentation
max-pos-args
example tomax-positional-args
(#9797)weak_cryptographic_key.rs
(#9774)ANN
rules in changelog (#9771)max-positional-args
(#9838)v0.2.0
Compare Source
Breaking changes
NURSERY
selector cannot be used anymoreSee also, the "Remapped rules" section which may result in disabled rules.
Deprecations
The following rules are now deprecated:
missing-type-self
(ANN101
)missing-type-cls
(ANN102
)The following command line options are now deprecated:
--show-source
; use--output-format full
instead--no-show-source
; use--output-format concise
instead--output-format text
; usefull
orconcise
insteadThe following settings have moved and the previous name is deprecated:
ruff.allowed-confusables
→ruff.lint.allowed-confusables
ruff.dummy-variable-rgx
→ruff.lint.dummy-variable-rgx
ruff.explicit-preview-rules
→ruff.lint.explicit-preview-rules
ruff.extend-fixable
→ruff.lint.extend-fixable
ruff.extend-ignore
→ruff.lint.extend-ignore
ruff.extend-per-file-ignores
→ruff.lint.extend-per-file-ignores
ruff.extend-safe-fixes
→ruff.lint.extend-safe-fixes
ruff.extend-select
→ruff.lint.extend-select
ruff.extend-unfixable
→ruff.lint.extend-unfixable
ruff.extend-unsafe-fixes
→ruff.lint.extend-unsafe-fixes
ruff.external
→ruff.lint.external
ruff.fixable
→ruff.lint.fixable
ruff.flake8-annotations
→ruff.lint.flake8-annotations
ruff.flake8-bandit
→ruff.lint.flake8-bandit
ruff.flake8-bugbear
→ruff.lint.flake8-bugbear
ruff.flake8-builtins
→ruff.lint.flake8-builtins
ruff.flake8-comprehensions
→ruff.lint.flake8-comprehensions
ruff.flake8-copyright
→ [`ruff.lint.flake8-copyConfiguration
📅 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.