Sourced from ruff's releases.
v0.0.285
What's Changed
New rules
- [
flake8-pytest-style
] Implementpytest-unittest-raises-assertion
(PT027
) by@harupy
in astral-sh/ruff#6554- [
flake8-pytest-style
] Implementpytest-duplicate-parametrize-test-cases
(PT014
) by@harupy
in astral-sh/ruff#6598- [
flake8-tidy-imports
] Implementbanned-module-level-imports
(TID253
) by@durumu
in astral-sh/ruff#6378- [
pylint
] Implementbad-dunder-name
(W3201
) (in the Ruff nursery) by@LaBatata101
in astral-sh/ruff#6486- [
pylint
] Implementsubprocess-run-check
(W1510
) by@tjkuson
in astral-sh/ruff#6487- [
ruff
] Implementquadratic-list-summation
(RUF017
) by@evanrittenhouse
in astral-sh/ruff#6489Rule changes
- [
flake8-bugbear
] Add autofix forB006
by@qdegraaf
in astral-sh/ruff#6131- [
flake8-pyi
] Avoid applyingPYI055
to runtime-evaluated annotations by@charliermarsh
in astral-sh/ruff#6457- [
flake8-self
] Allowos._exit
accesses inSLF001
by@charliermarsh
in astral-sh/ruff#6490- [
perflint
] IgnorePERF203
iftry
contains loop control flow statements by@evanrittenhouse
in astral-sh/ruff#6536- [
pylint
] Check for invalid format type specifiers in nested replacements forPLE1300
by@zanieb
in astral-sh/ruff#6616- [
tryceratops
] OmitNotImplementedError
fromTRY003
by@charliermarsh
in astral-sh/ruff#6568Settings
- Respect
.ipynb
and.pyi
sources when linting from stdin by@charliermarsh
in astral-sh/ruff#6628- Support glob patterns for
raises_require_match_for
andraises_require_match_for
by@harupy
in astral-sh/ruff#6635Bug Fixes
- Make
lambda-assignment
fix always-manual in class bodies by@charliermarsh
in astral-sh/ruff#6626- Fix counting of message arguments when msg is provided as a keyword by
@charliermarsh
in astral-sh/ruff#6456- Add container types to
E721
by@charliermarsh
in astral-sh/ruff#6469- Respect scoping rules when identifying builtins by
@charliermarsh
in astral-sh/ruff#6468- Respect tab width in line-length heuristic by
@charliermarsh
in astral-sh/ruff#6491- Respect dummy-variable-rgx for unused bound exceptions by
@charliermarsh
in astral-sh/ruff#6492- Fix detection of top-level imports with newlines in
E402
by@charliermarsh
in astral-sh/ruff#6526- Allow if-expression with dual string arms in
invalid-envvar-value
by@charliermarsh
in astral-sh/ruff#6538- Add deprecated unittest assertions to PT009 by
@charliermarsh
in astral-sh/ruff#6572- Avoid unused argument rules when functions call
locals()
by@charliermarsh
in astral-sh/ruff#6578- Allow top-level
await
in Jupyter notebooks by@charliermarsh
in astral-sh/ruff#6607- Don't detect
pandas#values
for stores, deletes, or class accesses by@charliermarsh
in astral-sh/ruff#6631- Avoid removing parentheses in
E712
fix by@charliermarsh
in astral-sh/ruff#6575- Skip whitespace between comments at start of file e.g. for
I002
by@durumu
in astral-sh/ruff#6523- Add support for nested replacements inside format specifications e.g. for
PLE1300
by@zanieb
in astral-sh/ruff#6616Playground
- Shared playground links now use short URLs by
@charliermarsh
in astral-sh/ruff#6383- Fix possible JSON parse error on playground load by
@charliermarsh
in astral-sh/ruff#6519- Fix unreachable panic in playground by
@MichaReiser
in astral-sh/ruff#6623Performance
- Improve tokenizer performance for ASCII only identifiers by
@MichaReiser
in astral-sh/ruff#6609New Contributors
... (truncated)
5892c69
Bump version to 0.0.285 (#6660)82e0a97
Clarify behavior of PLW3201
(#6657)a8d7bba
Remove experimental label from Jupyter docs (#6655)1050142
Expand expressions to include parentheses in E712 (#6575)db1c556
Implement Ranged
on more structs (#6639)a70807e
Expand NamedExpr
range to include full range of
parenthesized value (#6632)d9bb51d
ci(deps): bump cloudflare/wrangler-action from 3.0.0 to 3.0.2 (#6565)d0f2a8e
Add support for nested replacements inside format specifications (#6616)1334232
Introduce ExpressionRef
(#6637)fa7442d
Support fmt: skip
on compound statements (#6593)