Skip to content

[flake8-pyi]: add rules for unrecognized platform check (PYI007, PYI008)#2805

Merged
charliermarsh merged 13 commits intoastral-sh:mainfrom
SigureMo:pyi007-008
Feb 12, 2023
Merged

[flake8-pyi]: add rules for unrecognized platform check (PYI007, PYI008)#2805
charliermarsh merged 13 commits intoastral-sh:mainfrom
SigureMo:pyi007-008

Conversation

@SigureMo
Copy link
Contributor

@SigureMo SigureMo commented Feb 12, 2023

@charliermarsh
Copy link
Member

This looks like really good and thorough work. Before merging: is there any overlap between these rules and those we enforce via flake8-2020 (e.g., in crates/ruff/resources/test/fixtures/flake8_2020)?

@SigureMo
Copy link
Contributor Author

I don't think there's any overlap between them. They have different motivations.

The flake8-2020 is mainly used to ensure that no errors occur when comparing with sys.version_info at runtime.

The flake8-pyi(Y002-Y008) is mainly used to ensure that the comparison statements with sys.version_info/sys.platform is simple enough, and thus ensure that the type checker can correctly distinguish version/platform specific behaviour.

@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label Feb 12, 2023
@charliermarsh charliermarsh enabled auto-merge (squash) February 12, 2023 17:57
@charliermarsh charliermarsh enabled auto-merge (squash) February 12, 2023 18:00
@charliermarsh charliermarsh merged commit fc465cc into astral-sh:main Feb 12, 2023
@SigureMo SigureMo deleted the pyi007-008 branch February 12, 2023 18:02
renovate bot referenced this pull request in ixm-one/pytest-cmake-presets Feb 13, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `^0.0.245` ->
`^0.0.246` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/compatibility-slim/0.0.245)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/confidence-slim/0.0.245)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.246`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.246)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.245...v0.0.246)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove multiple-statements-on-one-line-def (E704) by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2773](https://togithub.com/charliermarsh/ruff/pull/2773)

##### Rules

- \[`flake8-pyi`]: add rules for unrecognized platform check (PYI007,
PYI008) by [@&#8203;SigureMo](https://togithub.com/SigureMo) in
[https://github.com/charliermarsh/ruff/pull/2805](https://togithub.com/charliermarsh/ruff/pull/2805)
- \[`flake8-simplify`]: combine-if-conditions by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2823](https://togithub.com/charliermarsh/ruff/pull/2823)
- \[`flake8-django`] Implemented flake8-django plugin rules by
[@&#8203;konysko](https://togithub.com/konysko) in
[https://github.com/charliermarsh/ruff/pull/2586](https://togithub.com/charliermarsh/ruff/pull/2586)

##### CLI

- Implement `config` subcommand by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2775](https://togithub.com/charliermarsh/ruff/pull/2775)
- Add rendering of rule markdown for terminal output by
[@&#8203;ngnpope](https://togithub.com/ngnpope) in
[https://github.com/charliermarsh/ruff/pull/2747](https://togithub.com/charliermarsh/ruff/pull/2747)
- Add `--show-fixes` flag to show applied fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2707](https://togithub.com/charliermarsh/ruff/pull/2707)

##### Settings

- implemented option lines-between-types for isort by
[@&#8203;PushUpek](https://togithub.com/PushUpek) in
[https://github.com/charliermarsh/ruff/pull/2762](https://togithub.com/charliermarsh/ruff/pull/2762)

##### Autofix

- \[`pyflakes`] Support unused variable removal in multi-assignment
statements by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2786](https://togithub.com/charliermarsh/ruff/pull/2786)
- \[`flake8-comprehensions`] autofix C414 and C417 + bugfix by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2693](https://togithub.com/charliermarsh/ruff/pull/2693)
- \[`flake8-comprehensions`] bugfix for C413 autofix by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2804](https://togithub.com/charliermarsh/ruff/pull/2804)
- \[`flake8-simplify`] Use smarter inversion for comparison checks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2831](https://togithub.com/charliermarsh/ruff/pull/2831)
- \[`flake8-comprehensions`] improve autofix for C401, C402 and C417 by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2806](https://togithub.com/charliermarsh/ruff/pull/2806)

##### Bug Fixes

- Ignore colon-after-lambda in compound statement rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2771](https://togithub.com/charliermarsh/ruff/pull/2771)
- Don't treat all future import accesses as non-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2774](https://togithub.com/charliermarsh/ruff/pull/2774)
- Avoid treating deferred string annotations as required-at-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2779](https://togithub.com/charliermarsh/ruff/pull/2779)
- Respect continuations in `noqa` enforcement by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2783](https://togithub.com/charliermarsh/ruff/pull/2783)
- Improve unused-variable autofixes for with statements by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2785](https://togithub.com/charliermarsh/ruff/pull/2785)
- Refactor generator to use Astor-derived precedence levels by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2798](https://togithub.com/charliermarsh/ruff/pull/2798)
- Allow private accesses on super calls by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2815](https://togithub.com/charliermarsh/ruff/pull/2815)
- Allow non-verbose raise when cause is present by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2816](https://togithub.com/charliermarsh/ruff/pull/2816)
- Avoid duplicates in if-with-same-arms by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2827](https://togithub.com/charliermarsh/ruff/pull/2827)
- Include package inference during --add-noqa command by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2832](https://togithub.com/charliermarsh/ruff/pull/2832)
- Allow compound statements of single ellipsis by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2837](https://togithub.com/charliermarsh/ruff/pull/2837)

#### New Contributors

- [@&#8203;trag1c](https://togithub.com/trag1c) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2757](https://togithub.com/charliermarsh/ruff/pull/2757)
- [@&#8203;PushUpek](https://togithub.com/PushUpek) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2762](https://togithub.com/charliermarsh/ruff/pull/2762)
- [@&#8203;konysko](https://togithub.com/konysko) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2586](https://togithub.com/charliermarsh/ruff/pull/2586)
- [@&#8203;SigureMo](https://togithub.com/SigureMo) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2805](https://togithub.com/charliermarsh/ruff/pull/2805)

**Full Changelog**:
astral-sh/ruff@v0.0.245...v0.0.246

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMzMuMCIsInVwZGF0ZWRJblZlciI6IjM0LjEzMy4wIn0=-->

Signed-off-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/flux-local Feb 14, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `==0.0.245` ->
`==0.0.246` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/compatibility-slim/0.0.245)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.246/confidence-slim/0.0.245)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.246`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.246)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.245...v0.0.246)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove multiple-statements-on-one-line-def (E704) by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2773](https://togithub.com/charliermarsh/ruff/pull/2773)

##### Rules

- \[`flake8-pyi`]: add rules for unrecognized platform check (PYI007,
PYI008) by [@&#8203;SigureMo](https://togithub.com/SigureMo) in
[https://github.com/charliermarsh/ruff/pull/2805](https://togithub.com/charliermarsh/ruff/pull/2805)
- \[`flake8-simplify`]: combine-if-conditions by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2823](https://togithub.com/charliermarsh/ruff/pull/2823)
- \[`flake8-django`] Implemented flake8-django plugin rules by
[@&#8203;konysko](https://togithub.com/konysko) in
[https://github.com/charliermarsh/ruff/pull/2586](https://togithub.com/charliermarsh/ruff/pull/2586)

##### CLI

- Implement `config` subcommand by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2775](https://togithub.com/charliermarsh/ruff/pull/2775)
- Add rendering of rule markdown for terminal output by
[@&#8203;ngnpope](https://togithub.com/ngnpope) in
[https://github.com/charliermarsh/ruff/pull/2747](https://togithub.com/charliermarsh/ruff/pull/2747)
- Add `--show-fixes` flag to show applied fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2707](https://togithub.com/charliermarsh/ruff/pull/2707)

##### Settings

- implemented option lines-between-types for isort by
[@&#8203;PushUpek](https://togithub.com/PushUpek) in
[https://github.com/charliermarsh/ruff/pull/2762](https://togithub.com/charliermarsh/ruff/pull/2762)

##### Autofix

- \[`pyflakes`] Support unused variable removal in multi-assignment
statements by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2786](https://togithub.com/charliermarsh/ruff/pull/2786)
- \[`flake8-comprehensions`] autofix C414 and C417 + bugfix by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2693](https://togithub.com/charliermarsh/ruff/pull/2693)
- \[`flake8-comprehensions`] bugfix for C413 autofix by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2804](https://togithub.com/charliermarsh/ruff/pull/2804)
- \[`flake8-simplify`] Use smarter inversion for comparison checks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2831](https://togithub.com/charliermarsh/ruff/pull/2831)
- \[`flake8-comprehensions`] improve autofix for C401, C402 and C417 by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2806](https://togithub.com/charliermarsh/ruff/pull/2806)

##### Bug Fixes

- Ignore colon-after-lambda in compound statement rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2771](https://togithub.com/charliermarsh/ruff/pull/2771)
- Don't treat all future import accesses as non-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2774](https://togithub.com/charliermarsh/ruff/pull/2774)
- Avoid treating deferred string annotations as required-at-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2779](https://togithub.com/charliermarsh/ruff/pull/2779)
- Respect continuations in `noqa` enforcement by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2783](https://togithub.com/charliermarsh/ruff/pull/2783)
- Improve unused-variable autofixes for with statements by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2785](https://togithub.com/charliermarsh/ruff/pull/2785)
- Refactor generator to use Astor-derived precedence levels by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2798](https://togithub.com/charliermarsh/ruff/pull/2798)
- Allow private accesses on super calls by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2815](https://togithub.com/charliermarsh/ruff/pull/2815)
- Allow non-verbose raise when cause is present by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2816](https://togithub.com/charliermarsh/ruff/pull/2816)
- Avoid duplicates in if-with-same-arms by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2827](https://togithub.com/charliermarsh/ruff/pull/2827)
- Include package inference during --add-noqa command by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2832](https://togithub.com/charliermarsh/ruff/pull/2832)
- Allow compound statements of single ellipsis by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2837](https://togithub.com/charliermarsh/ruff/pull/2837)

#### New Contributors

- [@&#8203;trag1c](https://togithub.com/trag1c) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2757](https://togithub.com/charliermarsh/ruff/pull/2757)
- [@&#8203;PushUpek](https://togithub.com/PushUpek) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2762](https://togithub.com/charliermarsh/ruff/pull/2762)
- [@&#8203;konysko](https://togithub.com/konysko) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2586](https://togithub.com/charliermarsh/ruff/pull/2586)
- [@&#8203;SigureMo](https://togithub.com/SigureMo) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2805](https://togithub.com/charliermarsh/ruff/pull/2805)

**Full Changelog**:
astral-sh/ruff@v0.0.245...v0.0.246

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMzMuMCIsInVwZGF0ZWRJblZlciI6IjM0LjEzMy4wIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
emmeowzing referenced this pull request in premiscale/premiscale Feb 20, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `^0.0.237` ->
`^0.0.247` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.247/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.247/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.247/compatibility-slim/0.0.237)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.247/confidence-slim/0.0.237)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.247`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.247)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.246...v0.0.247)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- \[`NPY001`] deprecated type aliases by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2810](https://togithub.com/charliermarsh/ruff/pull/2810)
- \[`RUF006`] Implement `asyncio-dangling-task` to track
`asyncio.create_task` calls by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2935](https://togithub.com/charliermarsh/ruff/pull/2935)

##### CLI

- Implement shell autocompletion for rule codes by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2906](https://togithub.com/charliermarsh/ruff/pull/2906)

##### Bug Fixes

- Handle multiple receiver decorators in receiver-decorator by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2858](https://togithub.com/charliermarsh/ruff/pull/2858)
- Avoid false-positives with multi-byte characters in B005 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2862](https://togithub.com/charliermarsh/ruff/pull/2862)
- Avoid false-positives for runtime-types in type checking blocks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2863](https://togithub.com/charliermarsh/ruff/pull/2863)
- Avoid noqa removal upon unhandled syntax errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2864](https://togithub.com/charliermarsh/ruff/pull/2864)
- Ignore non-imperative-mood in Google docstring convention by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2900](https://togithub.com/charliermarsh/ruff/pull/2900)
- \[`flake8-tidy-imports`] autofix relative imports by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2891](https://togithub.com/charliermarsh/ruff/pull/2891)
- Respect self as positional-only argument in annotation rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2927](https://togithub.com/charliermarsh/ruff/pull/2927)
- Apply nullable-model-string-field to all classes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2928](https://togithub.com/charliermarsh/ruff/pull/2928)
- Deduplicate files provided on the command-line by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2931](https://togithub.com/charliermarsh/ruff/pull/2931)
- Re-show --target-version on CLI interface by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2859](https://togithub.com/charliermarsh/ruff/pull/2859)
- Remove autofix for prefer-type-error by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2880](https://togithub.com/charliermarsh/ruff/pull/2880)
- Avoid unnecessary-else violations in `elif` branches by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2881](https://togithub.com/charliermarsh/ruff/pull/2881)
- Extend B904 to else branches by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2886](https://togithub.com/charliermarsh/ruff/pull/2886)
- Allow private accesses on current class by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2929](https://togithub.com/charliermarsh/ruff/pull/2929)

#### New Contributors

- [@&#8203;Jeremiah-England](https://togithub.com/Jeremiah-England) made
their first contribution in
[https://github.com/charliermarsh/ruff/pull/2884](https://togithub.com/charliermarsh/ruff/pull/2884)
- [@&#8203;Chris-May](https://togithub.com/Chris-May) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2896](https://togithub.com/charliermarsh/ruff/pull/2896)
- [@&#8203;simon04](https://togithub.com/simon04) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2904](https://togithub.com/charliermarsh/ruff/pull/2904)

**Full Changelog**:
astral-sh/ruff@v0.0.246...v0.0.247

###
[`v0.0.246`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.246)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.245...v0.0.246)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove multiple-statements-on-one-line-def (E704) by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2773](https://togithub.com/charliermarsh/ruff/pull/2773)

##### Rules

- \[`flake8-pyi`]: add rules for unrecognized platform check (PYI007,
PYI008) by [@&#8203;SigureMo](https://togithub.com/SigureMo) in
[https://github.com/charliermarsh/ruff/pull/2805](https://togithub.com/charliermarsh/ruff/pull/2805)
- \[`flake8-simplify`]: combine-if-conditions by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2823](https://togithub.com/charliermarsh/ruff/pull/2823)
- \[`flake8-django`] Implemented flake8-django plugin rules by
[@&#8203;konysko](https://togithub.com/konysko) in
[https://github.com/charliermarsh/ruff/pull/2586](https://togithub.com/charliermarsh/ruff/pull/2586)

##### CLI

- Implement `config` subcommand by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2775](https://togithub.com/charliermarsh/ruff/pull/2775)
- Add rendering of rule markdown for terminal output by
[@&#8203;ngnpope](https://togithub.com/ngnpope) in
[https://github.com/charliermarsh/ruff/pull/2747](https://togithub.com/charliermarsh/ruff/pull/2747)
- Add `--show-fixes` flag to show applied fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2707](https://togithub.com/charliermarsh/ruff/pull/2707)

##### Settings

- implemented option lines-between-types for isort by
[@&#8203;PushUpek](https://togithub.com/PushUpek) in
[https://github.com/charliermarsh/ruff/pull/2762](https://togithub.com/charliermarsh/ruff/pull/2762)

##### Autofix

- \[`pyflakes`] Support unused variable removal in multi-assignment
statements by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2786](https://togithub.com/charliermarsh/ruff/pull/2786)
- \[`flake8-comprehensions`] autofix C414 and C417 + bugfix by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2693](https://togithub.com/charliermarsh/ruff/pull/2693)
- \[`flake8-comprehensions`] bugfix for C413 autofix by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2804](https://togithub.com/charliermarsh/ruff/pull/2804)
- \[`flake8-simplify`] Use smarter inversion for comparison checks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2831](https://togithub.com/charliermarsh/ruff/pull/2831)
- \[`flake8-comprehensions`] improve autofix for C401, C402 and C417 by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2806](https://togithub.com/charliermarsh/ruff/pull/2806)

##### Bug Fixes

- Ignore colon-after-lambda in compound statement rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2771](https://togithub.com/charliermarsh/ruff/pull/2771)
- Don't treat all future import accesses as non-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2774](https://togithub.com/charliermarsh/ruff/pull/2774)
- Avoid treating deferred string annotations as required-at-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2779](https://togithub.com/charliermarsh/ruff/pull/2779)
- Respect continuations in `noqa` enforcement by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2783](https://togithub.com/charliermarsh/ruff/pull/2783)
- Improve unused-variable autofixes for with statements by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2785](https://togithub.com/charliermarsh/ruff/pull/2785)
- Refactor generator to use Astor-derived precedence levels by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2798](https://togithub.com/charliermarsh/ruff/pull/2798)
- Allow private accesses on super calls by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2815](https://togithub.com/charliermarsh/ruff/pull/2815)
- Allow non-verbose raise when cause is present by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2816](https://togithub.com/charliermarsh/ruff/pull/2816)
- Avoid duplicates in if-with-same-arms by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2827](https://togithub.com/charliermarsh/ruff/pull/2827)
- Include package inference during --add-noqa command by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2832](https://togithub.com/charliermarsh/ruff/pull/2832)
- Allow compound statements of single ellipsis by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2837](https://togithub.com/charliermarsh/ruff/pull/2837)

#### New Contributors

- [@&#8203;trag1c](https://togithub.com/trag1c) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2757](https://togithub.com/charliermarsh/ruff/pull/2757)
- [@&#8203;PushUpek](https://togithub.com/PushUpek) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2762](https://togithub.com/charliermarsh/ruff/pull/2762)
- [@&#8203;konysko](https://togithub.com/konysko) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2586](https://togithub.com/charliermarsh/ruff/pull/2586)
- [@&#8203;SigureMo](https://togithub.com/SigureMo) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2805](https://togithub.com/charliermarsh/ruff/pull/2805)

**Full Changelog**:
astral-sh/ruff@v0.0.245...v0.0.246

###
[`v0.0.245`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.245)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.244...v0.0.245)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove public Rust API by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2709](https://togithub.com/charliermarsh/ruff/pull/2709)

##### Rules

- \[`flake8-pyi`]Add flake8-pyi with one rule by
[@&#8203;sbdchd](https://togithub.com/sbdchd) in
[https://github.com/charliermarsh/ruff/pull/2682](https://togithub.com/charliermarsh/ruff/pull/2682)
- \[`pylint`]: bad-string-format-type by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2572](https://togithub.com/charliermarsh/ruff/pull/2572)
- \[`pylint`]: yield-in-init by
[@&#8203;tomecki](https://togithub.com/tomecki) in
[https://github.com/charliermarsh/ruff/pull/2716](https://togithub.com/charliermarsh/ruff/pull/2716)
- \[`flake8-tidy-imports`] Implement autofix for relative imports
(TID252) by [@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2739](https://togithub.com/charliermarsh/ruff/pull/2739)
- \[`flake8-bandit`]: try-except-continue by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2674](https://togithub.com/charliermarsh/ruff/pull/2674)
- \[`flake8-bandit`] Implement bandit's 'hardcoded-sql-expressions' S608
by [@&#8203;mattoberle](https://togithub.com/mattoberle) in
[https://github.com/charliermarsh/ruff/pull/2698](https://togithub.com/charliermarsh/ruff/pull/2698)
- \[`pycodestyle`] Implement compound-statements (E701, E702, E703,
E704) by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2680](https://togithub.com/charliermarsh/ruff/pull/2680)

##### Settings

- feat(isort): Implement known-local-folder by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2657](https://togithub.com/charliermarsh/ruff/pull/2657)
- Suppress parse errors with explicit `# noqa: E999` directives by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2697](https://togithub.com/charliermarsh/ruff/pull/2697)

##### Bug Fixes

- Support callable decorators in classmethod_decorators et al by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2675](https://togithub.com/charliermarsh/ruff/pull/2675)
- Avoid flagging typed exceptions in tuples by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2728](https://togithub.com/charliermarsh/ruff/pull/2728)
- Mark flake8-simplify rules as unfixable in non-fixable cases by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2676](https://togithub.com/charliermarsh/ruff/pull/2676)
- Treat re-exported annotations as used-at-runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2689](https://togithub.com/charliermarsh/ruff/pull/2689)
- Gate `Path.readlink()` behind Python 3.9+ guard by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2708](https://togithub.com/charliermarsh/ruff/pull/2708)
- Handle functions that never return in RET503
([#&#8203;2602](https://togithub.com/charliermarsh/ruff/issues/2602)) by
[@&#8203;ppentchev](https://togithub.com/ppentchev) in
[https://github.com/charliermarsh/ruff/pull/2701](https://togithub.com/charliermarsh/ruff/pull/2701)
- Handle more functions that never return in RET503 by
[@&#8203;ngnpope](https://togithub.com/ngnpope) in
[https://github.com/charliermarsh/ruff/pull/2719](https://togithub.com/charliermarsh/ruff/pull/2719)
- Expand S110 and S112 ranges to include entire exception handler by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2729](https://togithub.com/charliermarsh/ruff/pull/2729)
- Relax conditions in bad-string-format-type by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2731](https://togithub.com/charliermarsh/ruff/pull/2731)
- Mark `__all__` members as used at end-of-scope by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2733](https://togithub.com/charliermarsh/ruff/pull/2733)
- Only validate `__all__` bindings for global scope by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2738](https://togithub.com/charliermarsh/ruff/pull/2738)
- Only trigger compound statements after select keywords by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2737](https://togithub.com/charliermarsh/ruff/pull/2737)
- Use `function_type::classify` for `yield-in-init` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2742](https://togithub.com/charliermarsh/ruff/pull/2742)
- Allow named unicodes in bidirectional escape check by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2710](https://togithub.com/charliermarsh/ruff/pull/2710)
- Respect NO_COLOR flags in --show-source by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2750](https://togithub.com/charliermarsh/ruff/pull/2750)
- Flag private member accesses on calls et al by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2753](https://togithub.com/charliermarsh/ruff/pull/2753)

#### New Contributors

- [@&#8203;ngnpope](https://togithub.com/ngnpope) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2692](https://togithub.com/charliermarsh/ruff/pull/2692)
- [@&#8203;ppentchev](https://togithub.com/ppentchev) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2701](https://togithub.com/charliermarsh/ruff/pull/2701)
- [@&#8203;tomecki](https://togithub.com/tomecki) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2716](https://togithub.com/charliermarsh/ruff/pull/2716)

**Full Changelog**:
astral-sh/ruff@v0.0.244...v0.0.245

###
[`v0.0.244`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.244)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.243...v0.0.244)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- \[`pylint`]: bidirectional-unicode by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2589](https://togithub.com/charliermarsh/ruff/pull/2589)
- Implement whitespace-around-keywords (E271, E272, E273, E274) by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2653](https://togithub.com/charliermarsh/ruff/pull/2653)
- Implement whitespace-before-comment (E261, E262, E265, E266) by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2654](https://togithub.com/charliermarsh/ruff/pull/2654)

##### Settings

- flake8-annotations: add ignore-fully-untyped by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/2128](https://togithub.com/charliermarsh/ruff/pull/2128)
- Add `--exit-non-zero-on-fix` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2668](https://togithub.com/charliermarsh/ruff/pull/2668)

##### Documentation

- Derive `explanation` method on Rule struct via rustdoc by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2642](https://togithub.com/charliermarsh/ruff/pull/2642)
- Create per-rule pages and link from README by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2644](https://togithub.com/charliermarsh/ruff/pull/2644)
- Add documentation for flake8-quotes rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2650](https://togithub.com/charliermarsh/ruff/pull/2650)
- Disable autofix for flake8-print rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2651](https://togithub.com/charliermarsh/ruff/pull/2651)
- Add documentation for eradicate, flake8-import-conventions, and
flake8-no-pep420 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2652](https://togithub.com/charliermarsh/ruff/pull/2652)
- doc: add documentation for TRY002 by
[@&#8203;nm-remarkable](https://togithub.com/nm-remarkable) in
[https://github.com/charliermarsh/ruff/pull/2655](https://togithub.com/charliermarsh/ruff/pull/2655)

##### Bug Fixes

- Accommodate pos-only arguments when checking self name by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2626](https://togithub.com/charliermarsh/ruff/pull/2626)
- Avoid non-recursion in nested typing function calls by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2627](https://togithub.com/charliermarsh/ruff/pull/2627)
- Avoid no-unnecessary-dict-kwargs errors with reserved keywords by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2628](https://togithub.com/charliermarsh/ruff/pull/2628)
- Treat [@&#8203;staticmethod](https://togithub.com/staticmethod) as
higher-precedence than ABC by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2635](https://togithub.com/charliermarsh/ruff/pull/2635)
- Avoid boolean-trap errors in `__setitem__` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2636](https://togithub.com/charliermarsh/ruff/pull/2636)
- Skip ternary fixes for yields and awaits by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2637](https://togithub.com/charliermarsh/ruff/pull/2637)
- Ignore all non-`.py` wrt. implicit namespace package by
[@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/2640](https://togithub.com/charliermarsh/ruff/pull/2640)
- Avoid false-positive in chained type calls by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2663](https://togithub.com/charliermarsh/ruff/pull/2663)
- Treat annotated assignments in class and module scopes as runtime by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2667](https://togithub.com/charliermarsh/ruff/pull/2667)
- Accommodate multiple `@pytest.mark.parametrize` decorators by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2662](https://togithub.com/charliermarsh/ruff/pull/2662)
- Use separate exit codes for fatal errors vs. lint errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2670](https://togithub.com/charliermarsh/ruff/pull/2670)

#### New Contributors

- [@&#8203;nm-remarkable](https://togithub.com/nm-remarkable) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/2655](https://togithub.com/charliermarsh/ruff/pull/2655)

**Full Changelog**:
astral-sh/ruff@v0.0.243...v0.0.244

###
[`v0.0.243`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.243)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.242...v0.0.243)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- Add flake8-pie single_starts_ends_with by
[@&#8203;sbdchd](https://togithub.com/sbdchd) in
[https://github.com/charliermarsh/ruff/pull/2616](https://togithub.com/charliermarsh/ruff/pull/2616)

##### Bug Fixes

- fix(pep8-naming): `typing.NamedTuple` and `typing.TypedDict` treatment
by [@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/2611](https://togithub.com/charliermarsh/ruff/pull/2611)
- Support `ignore-names` for all relevant pep8-naming rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2617](https://togithub.com/charliermarsh/ruff/pull/2617)
- Avoid removing quotes from runtime annotations by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2614](https://togithub.com/charliermarsh/ruff/pull/2614)
- Support relative paths for typing-modules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2615](https://togithub.com/charliermarsh/ruff/pull/2615)

**Full Changelog**:
astral-sh/ruff@v0.0.242...v0.0.243

###
[`v0.0.242`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.242)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.241...v0.0.242)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- Implement pylint's `too-many-branches` rule (`PLR0912`) by
[@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/2550](https://togithub.com/charliermarsh/ruff/pull/2550)
- Implement pylint's `too-many-return-statements` rule (`PLR0911`) by
[@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/2564](https://togithub.com/charliermarsh/ruff/pull/2564)
- \[`pyupgrade`]: Removes quotes from annotations by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2431](https://togithub.com/charliermarsh/ruff/pull/2431)
- \[`pylint`]: bad-str-strip-call by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2570](https://togithub.com/charliermarsh/ruff/pull/2570)
- Implement pycodestyle's logical line detection by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1130](https://togithub.com/charliermarsh/ruff/pull/1130)
- Enable autofix for unnecessary-paren-on-raise-exception by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2596](https://togithub.com/charliermarsh/ruff/pull/2596)
- Automatically remove empty type-checking blocks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2598](https://togithub.com/charliermarsh/ruff/pull/2598)

##### Bug Fixes

- Avoid infinite renames for unused-loop-control-variable by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2581](https://togithub.com/charliermarsh/ruff/pull/2581)
- Ignore direct root-children in implicit-namespace-package by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2565](https://togithub.com/charliermarsh/ruff/pull/2565)
- Allow blank line before sticky-comment functions in docstrings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2597](https://togithub.com/charliermarsh/ruff/pull/2597)
- Visit deferred assignments after deferred type annotations by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2607](https://togithub.com/charliermarsh/ruff/pull/2607)
- Fix python module invocation by
[@&#8203;trottomv](https://togithub.com/trottomv) in
[https://github.com/charliermarsh/ruff/pull/2563](https://togithub.com/charliermarsh/ruff/pull/2563)
- Portably find ruff binary path from Python by
[@&#8203;andersk](https://togithub.com/andersk) in
[https://github.com/charliermarsh/ruff/pull/2574](https://togithub.com/charliermarsh/ruff/pull/2574)
- fix(commented-out-code): `mypy` and `SPDX-License-Identifier` false
positives by [@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/2587](https://togithub.com/charliermarsh/ruff/pull/2587)

#### New Contributors

- [@&#8203;trottomv](https://togithub.com/trottomv) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2563](https://togithub.com/charliermarsh/ruff/pull/2563)
- [@&#8203;MichaReiser](https://togithub.com/MichaReiser) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/2088](https://togithub.com/charliermarsh/ruff/pull/2088)

**Full Changelog**:
astral-sh/ruff@v0.0.241...v0.0.242

###
[`v0.0.241`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.241)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.240...v0.0.241)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Deprecates

- Soft-deprecate `update-check` by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/2530](https://togithub.com/charliermarsh/ruff/pull/2530)

##### Rules

- feat: add autofix for PLR0402 by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2504](https://togithub.com/charliermarsh/ruff/pull/2504)
- Allow F811 noqa declarations on containing import lines by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2553](https://togithub.com/charliermarsh/ruff/pull/2553)

##### Features

- Mark fixable issues in printer output by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2500](https://togithub.com/charliermarsh/ruff/pull/2500)
- Always report parse errors back to the user by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2505](https://togithub.com/charliermarsh/ruff/pull/2505)
- Notify user if autofix introduces syntax error by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2507](https://togithub.com/charliermarsh/ruff/pull/2507)
- Add `known-standard-library` for each Python version by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/2491](https://togithub.com/charliermarsh/ruff/pull/2491)

##### Bug Fixes

- Avoid renaming unused loop variables with deferred usages by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2509](https://togithub.com/charliermarsh/ruff/pull/2509)
- \[`flake8-self`] Fix False Negative Issue on Rule `SLF001` by
[@&#8203;saadmk11](https://togithub.com/saadmk11) in
[https://github.com/charliermarsh/ruff/pull/2527](https://togithub.com/charliermarsh/ruff/pull/2527)
- Minor fixes to PLR0915 logic by
[@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/2518](https://togithub.com/charliermarsh/ruff/pull/2518)
- Exit upon showing files with `--show-files` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2543](https://togithub.com/charliermarsh/ruff/pull/2543)
- Ignore direct source-children in `implicit-namespace-package` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2560](https://togithub.com/charliermarsh/ruff/pull/2560)
- Allow `list()` and `tuple()` calls in `__all__` assignments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2499](https://togithub.com/charliermarsh/ruff/pull/2499)
- Don't walk past project root when figuring out exclusion by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/2471](https://togithub.com/charliermarsh/ruff/pull/2471)
- Avoid hang when detecting trailing comments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2549](https://togithub.com/charliermarsh/ruff/pull/2549)

#### New Contributors

- [@&#8203;JacobCoffee](https://togithub.com/JacobCoffee) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/2516](https://togithub.com/charliermarsh/ruff/pull/2516)
- [@&#8203;Pierre-Sassoulas](https://togithub.com/Pierre-Sassoulas) made
their first contribution in
[https://github.com/charliermarsh/ruff/pull/2559](https://togithub.com/charliermarsh/ruff/pull/2559)

**Full Changelog**:
astral-sh/ruff@v0.0.240...v0.0.241

###
[`v0.0.240`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.240)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.239...v0.0.240)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- \[`pyupgrade`]: Remove outdated `sys.version_info` blocks by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2099](https://togithub.com/charliermarsh/ruff/pull/2099)
- \[`flake8-self`] Add Plugin and Rule `SLF001` by
[@&#8203;saadmk11](https://togithub.com/saadmk11) in
[https://github.com/charliermarsh/ruff/pull/2470](https://togithub.com/charliermarsh/ruff/pull/2470)
- \[`pylint`] Implement pylint's `too-many-statements` rule (`PLR0915`)
by [@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/2445](https://togithub.com/charliermarsh/ruff/pull/2445)

##### Settings

- \[`isort`] Support forced_separate by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/2268](https://togithub.com/charliermarsh/ruff/pull/2268)
- \[`isort`] Add isort option lines-after-imports by
[@&#8203;reidswan](https://togithub.com/reidswan) in
[https://github.com/charliermarsh/ruff/pull/2440](https://togithub.com/charliermarsh/ruff/pull/2440)
- Allow non-ruff.toml-named files for --config by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2463](https://togithub.com/charliermarsh/ruff/pull/2463)

##### Bug Fixes

- Trigger, but don't fix, SIM rules if comments are present by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2450](https://togithub.com/charliermarsh/ruff/pull/2450)
- Only avoid PEP604 rewrites for pre-Python 3.10 code by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2449](https://togithub.com/charliermarsh/ruff/pull/2449)
- Use LibCST to reverse Yoda conditions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2468](https://togithub.com/charliermarsh/ruff/pull/2468)
- fix: assertTrue()/assertFalse() fixer should not test for identity by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2476](https://togithub.com/charliermarsh/ruff/pull/2476)
- Treat `if 0:` and `if False:` as type-checking blocks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2485](https://togithub.com/charliermarsh/ruff/pull/2485)
- Avoid iterating over body twice by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2439](https://togithub.com/charliermarsh/ruff/pull/2439)
- more builtin name checks when autofixing by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2430](https://togithub.com/charliermarsh/ruff/pull/2430)
- Respect parent noqa in --add-noqa by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2464](https://togithub.com/charliermarsh/ruff/pull/2464)
- Avoid removing un-selected codes when applying `--add-noqa` edits by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2465](https://togithub.com/charliermarsh/ruff/pull/2465)
- Carry-over `ignore` to next config layer if `select = []` by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2467](https://togithub.com/charliermarsh/ruff/pull/2467)
- Visit NamedExpr values before targets by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2484](https://togithub.com/charliermarsh/ruff/pull/2484)

#### New Contributors

- [@&#8203;reidswan](https://togithub.com/reidswan) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2440](https://togithub.com/charliermarsh/ruff/pull/2440)
- [@&#8203;chanman3388](https://togithub.com/chanman3388) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/2445](https://togithub.com/charliermarsh/ruff/pull/2445)

**Full Changelog**:
astral-sh/ruff@v0.0.239...v0.0.240

###
[`v0.0.239`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.239)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.238...v0.0.239)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- \[`pyupgrade`] Implement import-replacement rule (`UP035`) by
[@&#8203;colin99d](https://togithub.com/colin99d) in
[https://github.com/charliermarsh/ruff/pull/2049](https://togithub.com/charliermarsh/ruff/pull/2049)
- \[`flake8-raise`] Add Plugin and `RSE102` Rule by
[@&#8203;saadmk11](https://togithub.com/saadmk11) in
[https://github.com/charliermarsh/ruff/pull/2354](https://togithub.com/charliermarsh/ruff/pull/2354)
- \[`flake8-quotes`] Allow implicit multiline strings with internal
quotes to use non-preferred quote by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2416](https://togithub.com/charliermarsh/ruff/pull/2416)

##### Documentation

- Add a link to MkDocs by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2370](https://togithub.com/charliermarsh/ruff/pull/2370)
- Use human-readable types for documentation values by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2375](https://togithub.com/charliermarsh/ruff/pull/2375)

##### Bug Fixes

- \[`I001`] fix isort check for files with tabs and no indented blocks
by [@&#8203;sciyoshi](https://togithub.com/sciyoshi) in
[https://github.com/charliermarsh/ruff/pull/2374](https://togithub.com/charliermarsh/ruff/pull/2374)
- Don't panic for --statistics with no errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2391](https://togithub.com/charliermarsh/ruff/pull/2391)
- Handle multi-byte lines in RUF100 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2392](https://togithub.com/charliermarsh/ruff/pull/2392)
- Avoid implicit-namespace-package checks for .pyi files by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2420](https://togithub.com/charliermarsh/ruff/pull/2420)
- Include per-file ignore matches in debug logging by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2376](https://togithub.com/charliermarsh/ruff/pull/2376)
- Include method name in B027 message by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2403](https://togithub.com/charliermarsh/ruff/pull/2403)
- Avoid flagging same-condition cases in SIM103 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2404](https://togithub.com/charliermarsh/ruff/pull/2404)
- feat: let SIM103 return expressions without bool() wrapping by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2410](https://togithub.com/charliermarsh/ruff/pull/2410)
- feat: let SIM210 return expressions without bool() wrapping
([#&#8203;2410](https://togithub.com/charliermarsh/ruff/issues/2410)) by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2426](https://togithub.com/charliermarsh/ruff/pull/2426)
- fix: ignore fix if "bool" is not builtin by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2429](https://togithub.com/charliermarsh/ruff/pull/2429)
- Avoid Bandit false-positives for empty-string-as-password by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2421](https://togithub.com/charliermarsh/ruff/pull/2421)

#### New Contributors

- [@&#8203;eriknw](https://togithub.com/eriknw) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2380](https://togithub.com/charliermarsh/ruff/pull/2380)
- [@&#8203;has2k1](https://togithub.com/has2k1) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2386](https://togithub.com/charliermarsh/ruff/pull/2386)

**Full Changelog**:
astral-sh/ruff@v0.0.238...v0.0.239

###
[`v0.0.238`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.238)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.237...v0.0.238)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### ⚠️ Breaking Changes ⚠️

##### `select`, `extend-select`, `ignore`, and `extend-ignore` have new
semantics
([#&#8203;2312](https://togithub.com/charliermarsh/ruff/pull/2312))

Previously, the interplay between `select` and its related options could
lead to unexpected behavior. For example, `ruff --select E501 --ignore
ALL` and `ruff --select E501 --extend-ignore ALL` behaved differently.
(See [#&#8203;2312](https://togithub.com/charliermarsh/ruff/pull/2312)
for more examples.)

The new semantics are such that Ruff uses the "highest-priority"
`select` as the basis for the rule set, and then applies any
`extend-select`, `ignore`, and `extend-ignore` adjustments. CLI options
are given higher priority than `pyproject.toml` options, and the current
`pyproject.toml` file is given higher priority than any inherited
`pyproject.toml` files.

As an example: `ruff --select F401` will select rule `F401`, and ignore
any of the modifiers from the `pyproject.toml`, as the "highest-priorty"
select kicks off the resolution chain.

This change is largely backwards compatible -- most users should
experience no change in behavior. For more, see
[BREAKING_CHANGES.md](https://togithub.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md#select-extend-select-ignore-and-extend-ignore-have-new-semantics-2312).

##### `remove-six-compat` (`UP016`) has been removed
([#&#8203;2332](https://togithub.com/charliermarsh/ruff/pull/2332))

The `remove-six-compat` rule has been removed. This rule was only useful
for one-time Python 2-to-3 upgrades.

##### Rules

- Implement Pylint's `too-many-arguments` rule (`PLR0913`) by
[@&#8203;akhildevelops](https://togithub.com/akhildevelops) in
[https://github.com/charliermarsh/ruff/pull/2308](https://togithub.com/charliermarsh/ruff/pull/2308)
- Extend conventional imports defaults to include TensorFlow et al by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2353](https://togithub.com/charliermarsh/ruff/pull/2353)

##### Settings

- feat: add ruff --statistics by
[@&#8203;spaceone](https://togithub.com/spaceone) in
[https://github.com/charliermarsh/ruff/pull/2284](https://togithub.com/charliermarsh/ruff/pull/2284)
- Ignore magic comparisons to bytes by default by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2365](https://togithub.com/charliermarsh/ruff/pull/2365)
- Implement `ruff linter` subcommand by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2294](https://togithub.com/charliermarsh/ruff/pull/2294)
- Improve rule config resolution by
[@&#8203;not-my-profile](https://togithub.com/not-my-profile) in
[https://github.com/charliermarsh/ruff/pull/2312](https://togithub.com/charliermarsh/ruff/pull/2312)

##### Bug Fixes

- Refine criteria for `exc_info` logger rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2364](https://togithub.com/charliermarsh/ruff/pull/2364)
- Respect per-file-ignores when checking noqa by
[@&#8203;sciyoshi](https://togithub.com/sciyoshi) in
[https://github.com/charliermarsh/ruff/pull/2309](https://togithub.com/charliermarsh/ruff/pull/2309)
- Place star before other member imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2320](https://togithub.com/charliermarsh/ruff/pull/2320)
- Allow list comprehensions for **all** assignment by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2326](https://togithub.com/charliermarsh/ruff/pull/2326)
- \[`TRY201`] don't check raise statements in nested exception handlers
by [@&#8203;sciyoshi](https://togithub.com/sciyoshi) in
[https://github.com/charliermarsh/ruff/pull/2337](https://togithub.com/charliermarsh/ruff/pull/2337)
- include tomllib in standard lib by
[@&#8203;sbrugman](https://togithub.com/sbrugman) in
[https://github.com/charliermarsh/ruff/pull/2345](https://togithub.com/charliermarsh/ruff/pull/2345)
- Avoid removing trailing comments when autofixing by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2352](https://togithub.com/charliermarsh/ruff/pull/2352)
- \[`I001`] fix isort for files with tab-based indentation by
[@&#8203;sciyoshi](https://togithub.com/sciyoshi) in
[https://github.com/charliermarsh/ruff/pull/2361](https://togithub.com/charliermarsh/ruff/pull/2361)
- Disable incompatible rules rather than merely warning by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/2369](https://togithub.com/charliermarsh/ruff/pull/2369)

#### New Contributors

- [@&#8203;chirag127](https://togithub.com/chirag127) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/2307](https://togithub.com/charliermarsh/ruff/pull/2307)
- [@&#8203;akhildevelops](https://togithub.com/akhildevelops) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/2308](https://togithub.com/charliermarsh/ruff/pull/2308)

**Full Changelog**:
astral-sh/ruff@v0.0.237...v0.0.238

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/premiscale/premiscale).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjM0LjE0My4xIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rule Implementing or modifying a lint rule

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants