Fix E221 and E222 to flag missing or extra whitespace around == operator (#13890)
Formatter: Alternate quotes for strings inside f-strings in preview (#13860)
Formatter: Join implicit concatenated strings when they fit on a line (#13663)
[pylint] Restrict iteration-over-set to only work on sets of literals (PLC0208) (#13731)
Rule changes
[flake8-type-checking] Support auto-quoting when annotations contain quotes (#11811)
Server
Avoid indexing the workspace for single-file mode (#13770)
Bug fixes
Make ARG002 compatible with EM101 when raising NotImplementedError (#13714)
Other changes
Introduce more Docker tags for Ruff (similar to uv) (#13274)
0.7.0
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
The pytest rules 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.
The 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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on ruff to permit the latest version.
Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
337af83
Bump version to 0.7.1 (#13913)113ce84
Fixnormalize
arguments whenfstring_formatting
is disabled (#13910)7272f83
Fix preview style name incan_omit_parentheses
to is_f_string_formatting_en...3eb4546
[red-knot] Format mdtest Python snippets more concisely (#13905)77ae0cc
[red-knot] Infer subscript expression types for bytes literals (#13901)73ee72b
Join implicit concatenated strings when they fit on a line (#13663)e402e27
Use referencial equality intraversal
helper methods (#13895)de4181d
Remove "default" remark fromruff check
(#13900)2c57c2d
[red-knot] Type narrowing forisinstance
checks (#13894)72c18c8
Fix E221 and E222 to flag missing or extra whitespace around==
operator (#...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show