chore(deps): update dependency ruff to ^0.6.0
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| ruff (source, changelog) | ^0.5.0 -> ^0.6.0 |
Release Notes
astral-sh/ruff (ruff)
v0.6.0
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.
- Lint and format Jupyter Notebook by default (#12878).
- Detect imports in
srclayouts by default forisortrules (#12848) - The pytest rules
PT001andPT023now default to omitting the decorator parentheses when there are no arguments (#12838).
Deprecations
The following rules are now deprecated:
-
pytest-missing-fixture-name-underscore(PT004) -
pytest-incorrect-fixture-name-underscore(PT005) -
unpacked-list-comprehension(UP027)
Remapped rules
The following rules have been remapped to new rule codes:
-
unnecessary-dict-comprehension-for-iterable:RUF025toC420
Stabilization
The following rules have been stabilized and are no longer in preview:
-
singledispatch-method(PLE1519) -
singledispatchmethod-function(PLE1520) -
bad-staticmethod-argument(PLW0211) -
if-stmt-min-max(PLR1730) -
invalid-bytes-return-type(PLE0308) -
invalid-hash-return-type(PLE0309) -
invalid-index-return-type(PLE0305) -
invalid-length-return-type(E303) -
self-or-cls-assignment(PLW0642) -
byte-string-usage(PYI057) -
duplicate-literal-member(PYI062) -
redirected-noqa(RUF101)
The following behaviors have been stabilized:
-
cancel-scope-no-checkpoint(ASYNC100): Supportasyncioandanyiocontext mangers. -
async-function-with-timeout(ASYNC109): Supportasyncioandanyiocontext mangers. -
async-busy-wait(ASYNC110): Supportasyncioandanyiocontext mangers. -
async-zero-sleep(ASYNC115): Supportanyiocontext mangers. -
long-sleep-not-forever(ASYNC116): Supportanyiocontext mangers.
The following fixes have been stabilized:
-
superfluous-else-return(RET505) -
superfluous-else-raise(RET506) -
superfluous-else-continue(RET507) -
superfluous-else-break(RET508)
Preview features
- [
flake8-simplify] Further simplify to binary in preview for (SIM108) (#12796) - [
pyupgrade] Show violations without auto-fix (UP031) (#11229)
Rule changes
- [
flake8-import-conventions] Addxml.etree.ElementTreeto default conventions (#12455) - [
flake8-pytest-style] Add a space after comma in CSV output (PT006) (#12853)
Server
- Show a message for incorrect settings (#12781)
Bug fixes
- [
flake8-async] Do not lint yield in context manager (ASYNC100) (#12896) - [
flake8-comprehensions] Do not lintasync forcomprehensions (C419) (#12895) - [
flake8-return] Only add returnNoneat end of a function (RET503) (#11074) - [
flake8-type-checking] Avoid treatingdataclasses.KW_ONLYas typing-only (TCH003) (#12863) - [
pep8-naming] Treattype(Protocol)et al as metaclass base (N805) (#12770) - [
pydoclint] Don't enforce returns and yields in abstract methods (DOC201,DOC202) (#12771) - [
ruff] Skip tuples with slice expressions in (RUF031) (#12768) - [
ruff] Ignore unparenthesized tuples in subscripts when the subscript is a type annotation or type alias (RUF031) (#12762) - [
ruff] Ignore template strings passed to logging andbuiltins._()calls (RUF027) (#12889) - [
ruff] Do not remove parens for tuples with starred expressions in Python <=3.10 (RUF031) (#12784) - Evaluate default parameter values for a function in that function's enclosing scope (#12852)
Other changes
- Respect VS Code cell metadata when detecting the language of Jupyter Notebook cells (#12864)
- Respect
kernelspecnotebook metadata when detecting the preferred language for a Jupyter Notebook (#12875)
v0.5.7
Preview features
- [
flake8-comprehensions] Account for list and set comprehensions inunnecessary-literal-within-tuple-call(C409) (#12657) - [
flake8-pyi] Add autofix forfuture-annotations-in-stub(PYI044) (#12676) - [
flake8-return] Avoid syntax error when auto-fixingRET505with mixed indentation (space and tabs) (#12740) - [
pydoclint] Adddocstring-missing-yields(DOC402) anddocstring-extraneous-yields(DOC403) (#12538) - [
pydoclint] AvoidDOC201if docstring begins with "Return", "Returns", "Yield", or "Yields" (#12675) - [
pydoclint] Deduplicate collected exceptions after traversing function bodies (DOC501) (#12642) - [
pydoclint] IgnoreDOCerrors for stub functions (#12651) - [
pydoclint] Teach rules to understand reraised exceptions as being explicitly raised (DOC501,DOC502) (#12639) - [
ruff] Implementincorrectly-parenthesized-tuple-in-subscript(RUF031) (#12480) - [
ruff] MarkRUF023fix as unsafe if__slots__is not a set and the binding is used elsewhere (#12692)
Rule changes
- [
refurb] Add autofix forimplicit-cwd(FURB177) (#12708) - [
ruff] Add autofix forzip-instead-of-pairwise(RUF007) (#12663) - [
tryceratops] AddBaseExceptiontoraise-vanilla-classrule (TRY002) (#12620)
Server
- Ignore non-file workspace URL; Ruff will display a warning notification in this case (#12725)
CLI
- Fix cache invalidation for nested
pyproject.tomlfiles (#12727)
Bug fixes
- [
flake8-async] Fix false positives with multipleasync withitems (ASYNC100) (#12643) - [
flake8-bandit] Avoid false-positives for list concatenations in SQL construction (S608) (#12720) - [
flake8-bugbear] Treatreturnas equivalent tobreak(B909) (#12646) - [
flake8-comprehensions] Set comprehensions not a violation forsuminunnecessary-comprehension-in-call(C419) (#12691) - [
flake8-simplify] Parenthesize conditions based on precedence when merging if arms (SIM114) (#12737) - [
pydoclint] Try both 'Raises' section styles when convention is unspecified (DOC501) (#12649)
v0.5.6
Ruff 0.5.6 automatically enables linting and formatting of notebooks in preview mode.
You can opt-out of this behavior by adding *.ipynb to the extend-exclude setting.
[tool.ruff]
extend-exclude = ["*.ipynb"]
Preview features
- Enable notebooks by default in preview mode (#12621)
- [
flake8-builtins] Implement import, lambda, and module shadowing (#12546) - [
pydoclint] Adddocstring-missing-returns(DOC201) anddocstring-extraneous-returns(DOC202) (#12485)
Rule changes
- [
flake8-return] Exempt cached properties and other property-like decorators from explicit return rule (RET501) (#12563)
Server
- Make server panic hook more error resilient (#12610)
- Use
$/logTracefor server trace logs in Zed and VS Code (#12564) - Keep track of deleted cells for reorder change request (#12575)
Configuration
- [
flake8-implicit-str-concat] Always allow explicit multi-line concatenations when implicit concatenations are banned (#12532)
Bug fixes
- [
flake8-async] Avoid flaggingasyncio.timeouts as unused when the context manager includesasyncio.TaskGroup(#12605) - [
flake8-slots] Avoid recommending__slots__for classes that inherit from more thannamedtuple(#12531) - [
isort] Avoid marking required imports as unused (#12537) - [
isort] Preserve trailing inline comments on import-from statements (#12498) - [
pycodestyle] Add newlines before comments (E305) (#12606) - [
pycodestyle] Don't attach comments with mismatched indents (#12604) - [
pyflakes] Fix preview-mode bugs inF401when attempting to autofix unused first-party submodule imports in an__init__.pyfile (#12569) - [
pylint] Respect start index inunnecessary-list-index-lookup(#12603) - [
pyupgrade] Avoid recommending no-argument super inslots=Truedataclasses (#12530) - [
pyupgrade] Use colon rather than dot formatting for integer-only types (#12534) - Fix NFKC normalization bug when removing unused imports (#12571)
Other changes
- Consider more stdlib decorators to be property-like (#12583)
- Improve handling of metaclasses in various linter rules (#12579)
- Improve consistency between linter rules in determining whether a function is property (#12581)
v0.5.5
Preview features
- [
fastapi] Implementfastapi-redundant-response-model(FAST001) andfastapi-non-annotated-dependency(FAST002) (#11579) - [
pydoclint] Implementdocstring-missing-exception(DOC501) anddocstring-extraneous-exception(DOC502) (#11471)
Rule changes
- [
numpy] Fix NumPy 2.0 rule fornp.alltrueandnp.sometrue(#12473) - [
numpy] IgnoreNPY201insideexceptblocks for compatibility with older numpy versions (#12490) - [
pep8-naming] Avoid applyingignore-namestoselfandclsfunction names (N804,N805) (#12497)
Formatter
- Fix incorrect placement of leading function comment with type params (#12447)
Server
- Do not bail code action resolution when a quick fix is requested (#12462)
Bug fixes
- Fix
Ordimplementation ofcmp_fix(#12471) - Raise syntax error for unparenthesized generator expression in multi-argument call (#12445)
- [
pydoclint] Fix panic inDOC501reported in #12428 (#12435) - [
flake8-bugbear] Allow singleton tuples with starred expressions inB013(#12484)
Documentation
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.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.