-
Notifications
You must be signed in to change notification settings - Fork 2
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(pre-commit): update ruff to v0.4.4 #143
Merged
Merged
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
chore(pre-commit): update ruff to v0.1.7
chore(pre-commit): update ruff to v0.1.8
Dec 13, 2023
renovate
bot
force-pushed
the
renovate/ruff
branch
from
December 13, 2023 21:48
307ab6a
to
883cdc3
Compare
renovate
bot
force-pushed
the
renovate/ruff
branch
from
December 21, 2023 18:56
883cdc3
to
f07b5c2
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.8
chore(pre-commit): update ruff
Dec 21, 2023
renovate
bot
force-pushed
the
renovate/ruff
branch
from
December 21, 2023 22:03
f07b5c2
to
9c3c17f
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff
chore(pre-commit): update ruff to v0.1.9
Dec 21, 2023
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 2, 2024 18:28
9c3c17f
to
79cf255
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.9
chore(pre-commit): update ruff
Jan 2, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 2, 2024 22:34
79cf255
to
c9fbab2
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff
chore(pre-commit): update ruff to v0.1.10
Jan 2, 2024
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.10
chore(pre-commit): update ruff to v0.1.11
Jan 3, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 3, 2024 01:59
c9fbab2
to
0c7eab7
Compare
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 12, 2024 00:06
0c7eab7
to
5df2c8b
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.11
chore(pre-commit): update ruff to v0.1.12
Jan 12, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 12, 2024 17:00
5df2c8b
to
0e4f0c9
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.12
chore(pre-commit): update ruff to v0.1.13
Jan 12, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 19, 2024 21:42
0e4f0c9
to
ed2d680
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.13
chore(pre-commit): update ruff to v0.1.14
Jan 19, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 29, 2024 23:12
ed2d680
to
b512c96
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.14
chore(pre-commit): update ruff
Jan 29, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
January 30, 2024 02:03
b512c96
to
5e75629
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff
chore(pre-commit): update ruff to v0.1.15
Jan 30, 2024
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.1.15
chore(pre-commit): update ruff to v0.2.0
Feb 2, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
2 times, most recently
from
February 5, 2024 22:43
a3f70db
to
2e873fe
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.2.0
chore(pre-commit): update ruff to v0.2.1
Feb 5, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
February 18, 2024 01:34
2e873fe
to
e143535
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.2.1
chore(pre-commit): update ruff to v0.2.2
Feb 18, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
February 29, 2024 19:34
e143535
to
0544b24
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.2.2
chore(pre-commit): update ruff to v0.3.0
Feb 29, 2024
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.1
chore(pre-commit): update ruff to v0.3.2
Mar 9, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
March 15, 2024 18:31
03c27b9
to
6052ac3
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.2
chore(pre-commit): update ruff
Mar 15, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
March 15, 2024 22:11
6052ac3
to
4d2e04f
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff
chore(pre-commit): update ruff to v0.3.3
Mar 15, 2024
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.3
chore(pre-commit): update ruff to v0.3.4
Mar 21, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
March 21, 2024 23:09
4d2e04f
to
0ef087c
Compare
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 1, 2024 19:15
0ef087c
to
375b041
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.4
chore(pre-commit): update ruff to v0.3.5
Apr 1, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 11, 2024 21:14
375b041
to
b79d113
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.5
chore(pre-commit): update ruff to v0.3.6
Apr 11, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 12, 2024 08:22
b79d113
to
1bb9e83
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.6
chore(pre-commit): update ruff to v0.3.7
Apr 12, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 18, 2024 21:48
1bb9e83
to
5b59e3f
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.3.7
chore(pre-commit): update ruff to v0.4.0
Apr 18, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 19, 2024 14:05
5b59e3f
to
463a3bf
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.4.0
chore(pre-commit): update ruff
Apr 19, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 19, 2024 19:15
463a3bf
to
d0b673f
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff
chore(pre-commit): update ruff to v0.4.1
Apr 19, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
April 25, 2024 19:26
d0b673f
to
efe1749
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.4.1
chore(pre-commit): update ruff to v0.4.2
Apr 25, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
May 4, 2024 02:25
efe1749
to
033fb69
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.4.2
chore(pre-commit): update ruff to v0.4.3
May 4, 2024
renovate
bot
force-pushed
the
renovate/ruff
branch
from
May 9, 2024 20:22
033fb69
to
2201762
Compare
renovate
bot
changed the title
chore(pre-commit): update ruff to v0.4.3
chore(pre-commit): update ruff to v0.4.4
May 9, 2024
Update section names, add UP031 to ignore (unfixable seemingly no longer implies ignore).
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
v0.1.6
->v0.4.4
==0.1.6
->==0.4.4
Note: The
pre-commit
manager in Renovate is not supported by thepre-commit
maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)
v0.4.4
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.4
v0.4.3
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.3
v0.4.2
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.2
v0.4.1
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.1
v0.4.0
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.0
v0.3.7
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.7
v0.3.6
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.6
v0.3.5
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.5
v0.3.4
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.4
v0.3.3
Compare Source
v0.3.2
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.2
v0.3.1
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.1
v0.3.0
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.3.0
v0.2.2
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.2.2
v0.2.1
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.2.1
v0.2.0
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.2.0
v0.1.15
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.15
v0.1.14
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.14
v0.1.13
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.13
v0.1.12
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.12
v0.1.11
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.11
v0.1.10
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.10
v0.1.9
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.9
v0.1.8
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.8
v0.1.7
Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/v0.1.7
astral-sh/ruff (ruff)
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
](https://docs.astral.sh/ruff/rules/missConfiguration
📅 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 these updates again.
This PR has been generated by Mend Renovate. View repository job log here.