@astral-sh/ruff-wasm-bundler
Advanced tools
Changelog
0.7.1
E221
and E222
to flag missing or extra whitespace around ==
operator (#13890)pylint
] Restrict iteration-over-set
to only work on sets of literals (PLC0208
) (#13731)flake8-type-checking
] Support auto-quoting when annotations contain quotes (#11811)ARG002
compatible with EM101
when raising NotImplementedError
(#13714)Changelog
0.7.0
Check out the blog post for a migration guide and overview of the changes!
PT001
and PT023
now default to omitting the decorator parentheses when there are no arguments
(#12838, #13292).
This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part.
See the blog post for more details.useless-try-except
rule (in our tryceratops
category) has been recoded from TRY302
to
TRY203
(#13502). This ensures Ruff's code is consistent with
the same rule in the tryceratops
linter.lint.allow-unused-imports
setting has been removed (#13677). Use
lint.pyflakes.allow-unused-imports
instead.refurb
] implement hardcoded-string-charset
(FURB156) (#13530)refurb
] Count codepoints not bytes for slice-to-remove-prefix-or-suffix (FURB188)
(#13631)pylint
] Mark PLE1141
fix as unsafe (#13629)flake8-async
] Consider async generators to be "checkpoints" for cancel-scope-no-checkpoint
(ASYNC100
) (#13639)flake8-bugbear
] Do not suggest setting parameter strict=
to False
in B905
diagnostic message (#13656)flake8-todos
] Only flag the word "TODO", not words starting with "todo" (TD006
) (#13640)pycodestyle
] Fix whitespace-related false positives and false negatives inside type-parameter lists (E231
, E251
) (#13704)flake8-simplify
] Stabilize preview behavior for SIM115
so that the rule can detect files
being opened from a wider range of standard-library functions (#12959).--statistics
command (#13774)Changelog
0.6.9
refurb
] Mark FURB118
fix as unsafe (#13613)pydocstyle
] Don't raise D208
when last line is non-empty (#13372)pylint
] Preserve trivia (i.e. comments) in PLR5501
autofix (#13573)pyflakes
] Add allow-unused-imports
setting for unused-import
rule (F401
) (#13601)flake8-bugbear
] Avoid short circuiting B017
for multiple context managers (#13609)pylint
] Do not offer an invalid fix for PLR1716
when the comparisons contain parenthesis (#13527)pyupgrade
] Fix UP043
to apply to collections.abc.Generator
and collections.abc.AsyncGenerator
(#13611)refurb
] Fix handling of slices in tuples for FURB118
, e.g., x[:, 1]
(#13518)astral-sh/ruff-action
(#13551)Changelog
0.6.8
match case
clauses (#13510)if
guards in match..case
clauses (#13513)ruff analyze graph
(#13486)pylint
] Implement boolean-chained-comparison
(R1716
) (#13435)lake8-simplify
] Detect SIM910
when using variadic keyword arguments, i.e., **kwargs
(#13503)pyupgrade
] Avoid false negatives with non-reference shadowed bindings of loop variables (UP028
) (#13504)*args
(#13512)Changelog
0.6.7
exclude
support to ruff analyze
(#13425)pycodestyle
] Fix: Don't autofix if the first line ends in a question mark? (D400) (#13399)lint.exclude
in ruff check --add-noqa
(#13427)Changelog
0.6.6
refurb
] Skip slice-to-remove-prefix-or-suffix
(FURB188
) when non-trivial slice steps are present (#13405)LineIndex::offset
calculation (#13407)fastapi
] Respect FastAPI aliases in route definitions (#13394)pydocstyle
] Respect word boundaries when detecting function signature in docs (#13388)Changelog
0.6.5
pydoclint
] Ignore DOC201
when function name is "new" (#13300)refurb
] Implement slice-to-remove-prefix-or-suffix
(FURB188
) (#13256)eradicate
] Ignore script-comments with multiple end-tags (ERA001
) (#13283)pyflakes
] Improve error message for UndefinedName
when a builtin was added in a newer version than specified in Ruff config (F821
) (#13293)ruff
] Handle unary operators in decimal-from-float-literal
(RUF032
) (#13275)Changelog
0.6.4
flake8-builtins
] Use dynamic builtins list based on Python version (#13172)pydoclint
] Permit yielding None
in DOC402
and DOC403
(#13148)pylint
] Update diagnostic message for PLW3201
(#13194)ruff
] Implement post-init-default
(RUF033
) (#13192)ruff
] Implement useless if-else (RUF034
) (#13218)flake8-pyi
] Respect pep8_naming.classmethod-decorators
settings when determining if a method is a classmethod in custom-type-var-return-type
(PYI019
) (#13162)flake8-pyi
] Teach various rules that annotations might be stringized (#12951)pylint
] Avoid no-self-use
for attrs
-style validators (#13166)pylint
] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733
, PLR1736
) (#13186)pyupgrade
] Detect aiofiles.open
calls in UP015
(#13173)pyupgrade
] Mark sys.version_info[0] < 3
and similar comparisons as outdated (UP036
) (#13175)ruff format
output (#13212)Changelog
0.6.3
flake8-simplify
] Extend open-file-with-context-handler
to work with dbm.sqlite3
(SIM115
) (#13104)pycodestyle
] Disable E741
in stub files (.pyi
) (#13119)pydoclint
] Avoid DOC201
on explicit returns in functions that only return None
(#13064)flake8-async
] Disable check for asyncio
before Python 3.11 (ASYNC109
) (#13023)FastAPI
] Avoid introducing invalid syntax in fix for fast-api-non-annotated-dependency
(FAST002
) (#13133)flake8-implicit-str-concat
] Normalize octals before merging concatenated strings in single-line-implicit-string-concatenation
(ISC001
) (#13118)flake8-pytest-style
] Improve help message for pytest-incorrect-mark-parentheses-style
(PT023
) (#13092)pylint
] Avoid autofix for calls that aren't min
or max
as starred expression (PLW3301
) (#13089)ruff
] Add datetime.time
, datetime.tzinfo
, and datetime.timezone
as immutable function calls (RUF009
) (#13109)ruff
] Extend comment deletion for RUF100
to include trailing text from noqa
directives while preserving any following comments on the same line, if any (#13105)Changelog
0.6.2
flake8-simplify
] Extend open-file-with-context-handler
to work with other standard-library IO modules (SIM115
) (#12959)ruff
] Avoid unused-async
for functions with FastAPI route decorator (RUF029
) (#12938)ruff
] Ignore fstring-missing-syntax
(RUF027
) for fastAPI
paths (#12939)ruff
] Implement check for Decimal called with a float literal (RUF032) (#12909)flake8-bugbear
] Update diagnostic message when expression is at the end of function (B015
) (#12944)flake8-pyi
] Skip type annotations in string-or-bytes-too-long
(PYI053
) (#13002)flake8-type-checking
] Always recognise relative imports as first-party (#12994)flake8-unused-arguments
] Ignore unused arguments on stub functions (ARG001
) (#12966)pylint
] Ignore augmented assignment for self-cls-assignment
(PLW0642
) (#12957)pep8-naming
] Don't flag from
imports following conventional import names (N817
) (#12946)pylint
] - Allow __new__
methods to have cls
as their first argument even if decorated with @staticmethod
for bad-staticmethod-argument
(PLW0211
) (#12958)hyperfine
installation instructions; update hyperfine
code samples (#13034)PT001
as per the new default behavior (#13019)perflint
] Improve docs for try-except-in-loop
(PERF203
) (#12947)pydocstyle
] Add reference to lint.pydocstyle.ignore-decorators
setting to rule docs (#12996)