[flake8-pyi] Improve autofix for nested and mixed type unions for unnecessary-type-union (PYI055) (#14272)
[flake8-pyi] Mark fix as unsafe when type annotation contains comments for duplicate-literal-member (PYI062) (#14268)
Server
Use the current working directory to resolve settings from ruff.configuration (#14352)
Bug fixes
Avoid conflicts between PLC014 (useless-import-alias) and I002 (missing-required-import) by considering lint.isort.required-imports for PLC014 (#14287)
[flake8-type-checking] Skip quoting annotation if it becomes invalid syntax (TCH001)
[flake8-pyi] Avoid using typing.Self in stub files pre-Python 3.11 (PYI034) (#14230)
[flake8-pytest-style] Flag pytest.raises call with keyword argument expected_exception (PT011) (#14298)
[flake8-simplify] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222) (#14263)
[flake8-type-checking] Fix false positives for typing.Annotated (TCH001) (#14311)
[pylint] Allow await at the top-level scope of a notebook (PLE1142) (#14225)
[pylint] Fix miscellaneous issues in await-outside-async detection (PLE1142) (#14218)
[pyupgrade] Avoid applying PEP 646 rewrites in invalid contexts (UP044) (#14234)
[pyupgrade] Detect permutations in redundant open modes (UP015) (#14255)
[refurb] Avoid triggering hardcoded-string-charset for reordered sets (FURB156) (#14233)
[refurb] Further special cases added to verbose-decimal-constructor (FURB157) (#14216)
[refurb] Use UserString instead of non-existent UserStr (FURB189) (#14209)
[flake8-pyi] Improve autofix for nested and mixed type unions for unnecessary-type-union (PYI055) (#14272)
[flake8-pyi] Mark fix as unsafe when type annotation contains comments for duplicate-literal-member (PYI062) (#14268)
Server
Use the current working directory to resolve settings from ruff.configuration (#14352)
Bug fixes
Avoid conflicts between PLC014 (useless-import-alias) and I002 (missing-required-import) by considering lint.isort.required-imports for PLC014 (#14287)
[flake8-type-checking] Skip quoting annotation if it becomes invalid syntax (TCH001)
[flake8-pyi] Avoid using typing.Self in stub files pre-Python 3.11 (PYI034) (#14230)
[flake8-pytest-style] Flag pytest.raises call with keyword argument expected_exception (PT011) (#14298)
[flake8-simplify] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222) (#14263)
[flake8-type-checking] Fix false positives for typing.Annotated (TCH001) (#14311)
[pylint] Allow await at the top-level scope of a notebook (PLE1142) (#14225)
[pylint] Fix miscellaneous issues in await-outside-async detection (PLE1142) (#14218)
[pyupgrade] Avoid applying PEP 646 rewrites in invalid contexts (UP044) (#14234)
[pyupgrade] Detect permutations in redundant open modes (UP015) (#14255)
[refurb] Avoid triggering hardcoded-string-charset for reordered sets (FURB156) (#14233)
[refurb] Further special cases added to verbose-decimal-constructor (FURB157) (#14216)
[refurb] Use UserString instead of non-existent UserStr (FURB189) (#14209)
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)
Looks like this PR is already up-to-date with main! If you'd still like to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.
Bumps ruff from 0.5.1 to 0.7.4.
Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
ed7b98c
Bump version to 0.7.4 (#14358)6591775
[flake8-type-checking
] Skip quoting annotation if it becomes invalid syntax...1f82731
Use CWD to resolve settings fromruff.configuration
(#14352)874da9c
[red-knot] Display raw characters for string literal (#14351)375cead
Sync vendored typeshed stubs (#14350)9ec690b
[red-knot] Add support for string annotations (#14151)a48d779
[red-knot] function signature representation (#14304)ba6c7f6
[pylint
] Remove check for dot in alias name in `useless-import-alias (PLC04...8095ff0
enforce required imports even with useless alias (#14287)24cd592
Avoid module lookup for known classes when possible (#14343)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