Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.280 to 0.0.284.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>v0.0.284</h2>
<h2>What's Changed</h2>
<p>This release fixes a few bugs, notably the previous release announced
a breaking change where the default target
Python version changed from 3.10 to 3.8 but the change was not applied.
Thanks to <a
href="https://github.com/rco-ableton"><code>@rco-ableton</code></a> for
fixing this in
<a
href="https://redirect.github.com/astral-sh/ruff/pull/6444">astral-sh/ruff#6444</a></p>
<h3>Bug Fixes</h3>
<ul>
<li>Do not trigger <code>S108</code> if path is inside
<code>tempfile.*</code> call by <a
href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a> in
<a
href="https://redirect.github.com/astral-sh/ruff/pull/6416">astral-sh/ruff#6416</a></li>
<li>Do not allow on zero tab width by <a
href="https://github.com/tjkuson"><code>@tjkuson</code></a> in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6429">astral-sh/ruff#6429</a></li>
<li>Fix false-positive in submodule resolution by <a
href="https://github.com/charliermarsh"><code>@charliermarsh</code></a>
in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6435">astral-sh/ruff#6435</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/rco-ableton"><code>@rco-ableton</code></a>
made their first contribution in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6444">astral-sh/ruff#6444</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/astral-sh/ruff/compare/v0.0.283...v0.0.284">https://github.com/astral-sh/ruff/compare/v0.0.283...v0.0.284</a></p>
<h2>v0.0.283</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Assume Python 3.8 instead of 3.10 for target version by <a
href="https://github.com/zanieb"><code>@zanieb</code></a> in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6397">astral-sh/ruff#6397</a></li>
</ul>
<h3>Rules</h3>
<ul>
<li>[<code>flake8-pyi</code>] <code>PYI019</code>: Detects if a type
variable is used instead of <code>Self</code> in return annotations by
<a href="https://github.com/qdegraaf"><code>@qdegraaf</code></a> in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6204">astral-sh/ruff#6204</a></li>
<li>[<code>flake8-pyi</code>] <code>PYI051</code>: Detects unions of
<code>Literal</code> types by <a
href="https://github.com/LaBatata101"><code>@LaBatata101</code></a> in
<a
href="https://redirect.github.com/astral-sh/ruff/pull/6215">astral-sh/ruff#6215</a></li>
<li>[<code>flake8-pyi</code>] <code>PYI055</code>: Detects unions of
<code>type</code>s by <a
href="https://github.com/LaBatata101"><code>@LaBatata101</code></a> in
<a
href="https://redirect.github.com/astral-sh/ruff/pull/6316">astral-sh/ruff#6316</a></li>
<li>[<code>pylint</code>] <code>E1300</code>: Detects invalid string
format characters by <a
href="https://github.com/silvanocerza"><code>@silvanocerza</code></a>
in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6171">astral-sh/ruff#6171</a></li>
<li>[<code>pyupgrade</code>] <code>UP040</code>: Upgrades type alias
annotations to use PEP-695 syntax by <a
href="https://github.com/zanieb"><code>@zanieb</code></a> in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6289">astral-sh/ruff#6289</a></li>
</ul>
<h3>Rule Changes</h3>
<ul>
<li>[<code>flake8-boolean-trap</code>] <code>FBT003</code>: Add
<code>is_</code> and <code>is_not</code> to excluded functions by <a
href="https://github.com/zanieb"><code>@zanieb</code></a> in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6307">astral-sh/ruff#6307</a></li>
<li>[<code>flake8-logging-format</code>] Allow capitalized names for
logger candidate heuristic match by <a
href="https://github.com/charliermarsh"><code>@charliermarsh</code></a>
in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6356">astral-sh/ruff#6356</a></li>
<li>[<code>flake8-pyi</code>] Applicable rules are now checked non-stub
code by <a href="https://github.com/andersk"><code>@andersk</code></a>
in <a
href="https://redirect.github.com/astral-sh/ruff/pull/6297">astral-sh/ruff#6297</a>
<ul>
<li><code>PYI013</code>: <a
href="https://beta.ruff.rs/docs/rules/ellipsis-in-non-empty-class-body"><code>ellipsis-in-non-empty-class-body</code></a></li>
<li><code>PYI016</code>: <a
href="https://beta.ruff.rs/docs/rules/duplicate-union-member"><code>duplicate-union-member</code></a></li>
<li><code>PYI018</code>: <a
href="https://beta.ruff.rs/docs/rules/unused-private-type-var"><code>unused-private-type-var</code></a></li>
<li><code>PYI019</code>: <a
href="https://beta.ruff.rs/docs/rules/custom-type-var-return-type"><code>custom-type-var-return-type</code></a></li>
<li><code>PYI024</code>: <a
href="https://beta.ruff.rs/docs/rules/collections-named-tuple"><code>collections-named-tuple</code></a></li>
<li><code>PYI025</code>: <a
href="https://beta.ruff.rs/docs/rules/unaliased-collections-abc-set-import"><code>unaliased-collections-abc-set-import</code></a></li>
<li><code>PYI030</code>: <a
href="https://beta.ruff.rs/docs/rules/unnecessary-literal-union"><code>unnecessary-literal-union</code></a></li>
<li><code>PYI032</code>: <a
href="https://beta.ruff.rs/docs/rules/any-eq-ne-annotation"><code>any-eq-ne-annotation</code></a></li>
<li><code>PYI034</code>: <a
href="https://beta.ruff.rs/docs/rules/non-self-return-type"><code>non-self-return-type</code></a></li>
<li><code>PYI036</code>: <a
href="https://beta.ruff.rs/docs/rules/bad-exit-annotation"><code>bad-exit-annotation</code></a></li>
<li><code>PYI041</code>: <a
href="https://beta.ruff.rs/docs/rules/redundant-numeric-union"><code>redundant-numeric-union</code></a></li>
<li><code>PYI042</code>: <a
href="https://beta.ruff.rs/docs/rules/snake-case-type-alias"><code>snake-case-type-alias</code></a></li>
<li><code>PYI043</code>: <a
href="https://beta.ruff.rs/docs/rules/t-suffixed-type-alias"><code>t-suffixed-type-alias</code></a></li>
<li><code>PYI045</code>: <a
href="https://beta.ruff.rs/docs/rules/iter-method-return-iterable"><code>iter-method-return-iterable</code></a></li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h1>Breaking Changes</h1>
<h2>0.0.283 / 0.284</h2>
<h3>The target Python version now defaults to 3.8 instead of 3.10 (<a
href="https://redirect.github.com/astral-sh/ruff/pull/6397">#6397</a>)</h3>
<p>Previously, when a target Python version was not specified, Ruff
would use a default of Python 3.10. However, it is safer to default to
an <em>older</em> Python version to avoid assuming the availability of
new features. We now default to the oldest supported Python version
which is currently Python 3.8.</p>
<p>(We still support Python 3.7 but since <a
href="https://devguide.python.org/versions/#unsupported-versions">it has
reached EOL</a> we've decided not to make it the default here.)</p>
<p>Note this change was announced in 0.0.283 but not active until
0.0.284.</p>
<h2>0.0.277</h2>
<h3><code>.ipynb_checkpoints</code>, <code>.pyenv</code>,
<code>.pytest_cache</code>, and <code>.vscode</code> are now excluded by
default (<a
href="https://redirect.github.com/astral-sh/ruff/pull/5513">#5513</a>)</h3>
<p>Ruff maintains a list of default exclusions, which now consists of
the following patterns:</p>
<ul>
<li><code>.bzr</code></li>
<li><code>.direnv</code></li>
<li><code>.eggs</code></li>
<li><code>.git</code></li>
<li><code>.git-rewrite</code></li>
<li><code>.hg</code></li>
<li><code>.ipynb_checkpoints</code></li>
<li><code>.mypy_cache</code></li>
<li><code>.nox</code></li>
<li><code>.pants.d</code></li>
<li><code>.pyenv</code></li>
<li><code>.pytest_cache</code></li>
<li><code>.pytype</code></li>
<li><code>.ruff_cache</code></li>
<li><code>.svn</code></li>
<li><code>.tox</code></li>
<li><code>.venv</code></li>
<li><code>.vscode</code></li>
<li><code>__pypackages__</code></li>
<li><code>_build</code></li>
<li><code>buck-out</code></li>
<li><code>build</code></li>
<li><code>dist</code></li>
<li><code>node_modules</code></li>
<li><code>venv</code></li>
</ul>
<p>Previously, the <code>.ipynb_checkpoints</code>, <code>.pyenv</code>,
<code>.pytest_cache</code>, and <code>.vscode</code> directories were
not
excluded by default. This change brings Ruff's default exclusions in
line with other tools like
Black.</p>
<h2>0.0.276</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/
3ecd263b4d1af3935b0f58e8a1dd4f4d2d8007ff"><code>
3ecd263</code></a>
Bump version to 0.0.284 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6453">#6453</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
6acf07c5c4da36b8234904395f007d730803609d"><code>
6acf07c</code></a>
Use latest Python version by default in tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6448">#6448</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
38b9fb8bbd522e92711c1e44029252b6f60b747c"><code>
38b9fb8</code></a>
Set a default on <code>PythonVersion</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6446">#6446</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
e4f57434a217c827396001b00e9ac53895642149"><code>
e4f5743</code></a>
ci(deps): bump cloudflare/wrangler-action from 2.0.0 to 3.0.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6398">#6398</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
6a64f2289b1b4a091e1a7124eaa43198ce8fa819"><code>
6a64f22</code></a>
Rename <code>Magic*</code> to <code>IpyEscape*</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6395">#6395</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
3bf1c66cdae3915c4945099bd03ef9da7fb06b2d"><code>
3bf1c66</code></a>
Group function definition parameters with return type annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6410">#6410</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
eaada0345ca9ef295a21ec14c5761fb438296f88"><code>
eaada03</code></a>
Set default version to py38 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6444">#6444</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
a39dd76d95e575eb124dac81b16f11336ea62d57"><code>
a39dd76</code></a>
Add <code>enter</code> and <code>leave_node</code> methods to Preoder
visitor (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6422">#6422</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
e257c5af32636657b570cd2715dc79eae2f012af"><code>
e257c5a</code></a>
Add support for help end IPython escape commands (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6358">#6358</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/
887a47cad90dc3c7029e729ffc9dab1f7417ea05"><code>
887a47c</code></a>
Avoid <code>S108</code> if path is inside <code>tempfile.*</code> call
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/6416">#6416</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/v0.0.280...v0.0.284">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 <dependency name> 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)
</details>