Skip to content

modernize recipe, add linux-riscv64, win-arm64, shell completions - #361

Merged
ntBre merged 4 commits into
conda-forge:mainfrom
pavelzw:no-python
Oct 9, 2026
Merged

ntBre merged 4 commits into
conda-forge:mainfrom
pavelzw:no-python

Conversation

@pavelzw

@pavelzw pavelzw commented Sep 1, 2026 •

Copy link
Copy Markdown
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

closes #154, closes #303, closes #333

as mentioned in #303, this will lead to python -m ruff and import ruff not working anymore but i think this is okay. ruff will still be on $PATH, so people will still be able to run ruff as they should

after this PR is through, i'll port those changes to the ty-feedstock as well

@pavelzw pavelzw changed the title modernize recipe modernize recipe, add linux-riscv64, win-arm64, shell completions Sep 1, 2026
@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@pavelzw
pavelzw marked this pull request as ready for review September 1, 2026 11:13
@pavelzw

pavelzw commented Sep 1, 2026

Copy link
Copy Markdown
Member Author

@conda-forge/ruff ready for review

@ntBre ntBre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

It seems like we previously wanted to hold off on the python -m ruff change until a minor release (#303 (comment)). I think that still makes sense. I'll create a Ruff issue to make sure this doesn't slip through the 0.17 release near the end of the month.

@ntBre

ntBre commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Thanks again for doing this. I'm planning to cut the v0.17.0 release tomorrow and am happy to bump the versions and such here if you want but wanted to let you know!

…2026.09.30.16.41.47

Other tools:
- conda-build 26.7.1
- rattler-build 0.76.1
- rattler-build-conda-compat 1.4.19
@pavelzw

pavelzw commented Sep 30, 2026

Copy link
Copy Markdown
Member Author

i rebased the pr to the latest changes. feel free to push another commit bumping to 0.17.0 on my branch once you cut the release.

@ntBre ntBre mentioned this pull request Sep 30, 2026
27 of 32 tasks
renovate Bot added a commit to MartinBernstorff/Memium that referenced this pull request Oct 9, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

Released on 2026-10-09.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/MartinBernstorff/Memium).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
pvliesdonk added a commit to pvliesdonk/fastmcp-pvl-core that referenced this pull request Oct 9, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `0.16.10` β†’ `0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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
CLI](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNDkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE0OS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
pvliesdonk added a commit to pvliesdonk/markdown-vault-mcp that referenced this pull request Oct 9, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `0.16.10` β†’ `0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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
CLI](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNDkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE0OS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
@ntBre
ntBre merged commit 4fd0871 into conda-forge:main Oct 9, 2026
11 checks passed
renovate Bot added a commit to soodoh/dotfiles that referenced this pull request Oct 9, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`^26.6.4` β†’
`^26.6.5`](https://renovatebot.com/diffs/npm/@types%2fnode/26.6.4/26.6.5)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/26.6.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/26.6.4/26.6.5?slim=true)
| devDependencies | patch |
| [aqua:astral-sh/ruff](https://redirect.github.com/astral-sh/ruff) |
`0.16.10` β†’ `0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/astral-sh%2fruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/astral-sh%2fruff/0.16.10/0.17.0?slim=true)
| tools | minor |
| [aqua:astral-sh/uv](https://redirect.github.com/astral-sh/uv) |
`0.12.24` β†’ `0.13.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/astral-sh%2fuv/0.13.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/astral-sh%2fuv/0.12.24/0.13.0?slim=true)
| tools | minor |
| [aqua:aws/aws-cli](https://redirect.github.com/aws/aws-cli) |
`2.37.11` β†’ `2.37.12` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/aws%2faws-cli/2.37.12?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/aws%2faws-cli/2.37.11/2.37.12?slim=true)
| tools | patch |
| [npm:agent-browser](https://agent-browser.dev)
([source](https://redirect.github.com/vercel-labs/agent-browser)) |
`0.38.2` β†’ `0.39.0` |
![age](https://developer.mend.io/api/mc/badges/age/npm/agent-browser/0.39.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/agent-browser/0.38.2/0.39.0?slim=true)
| tools | minor |
|
[npm:yaml-language-server](https://redirect.github.com/redhat-developer/yaml-language-server)
| `1.24.0` β†’ `1.25.0` |
![age](https://developer.mend.io/api/mc/badges/age/npm/yaml-language-server/1.25.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yaml-language-server/1.24.0/1.25.0?slim=true)
| tools | minor |

---

### Release Notes

<details>
<summary>astral-sh/ruff (aqua:astral-sh/ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

<details>
<summary>astral-sh/uv (aqua:astral-sh/uv)</summary>

###
[`v0.13.0`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0130)

[Compare
Source](https://redirect.github.com/astral-sh/uv/compare/0.12.24...0.13.0)

Released on 2026-10-09.

uv 0.13.0 makes Python 3.15 the default stable Python version. We've
also included several breaking changes to improve correctness,
performance, and compatibility, described below.

**We expect most users to be able to upgrade without making changes.**

While not a breaking change, this release also updates the format of
many of uv's cache entries to improve performance. **uv may download or
rebuild dependencies after upgrading**, because some cached entries from
earlier versions cannot be reused. Multiple versions of uv can still
safely share the same cache directory.

There are no breaking changes to the configuration of the [uv build
backend](https://docs.astral.sh/uv/concepts/build-backend/). If your
`[build-system]` table includes an upper bound on `uv_build`, update it
to allow `uv_build` 0.13, e.g., `uv_build>=0.13.0,<0.14`.

##### Breaking changes

- **Use Python 3.15 as the default stable version**

The default stable Python version has changed from 3.14 to 3.15. This
affects Python downloads when no version is requested or pinned, e.g.,
when running `uv python install`.

uv continues to use compatible Python installations that are already
present. For example, `uv venv` can still use an installed Python 3.14.
If no suitable interpreter is installed and automatic downloads are
enabled, commands such as `uv venv` and `uvx python` can now download
Python 3.15.

You can opt out of this behavior by requesting Python 3.14 explicitly,
e.g., `uv venv --python 3.14`. For projects, use `uv python pin 3.14` to
record the version in `.python-version`.

- **Honor `--require-hashes` in included constraints files**
([#&#8203;22275](https://redirect.github.com/astral-sh/uv/pull/22275))

Previously, uv ignored `--require-hashes` in constraints files included
with `-c` from a requirements file. Now, uv honors the directive and
requires hashes for all requirements in the installation. Installs that
previously succeeded can now fail if a requirement is missing a hash.

You cannot opt out while the directive is present. Add the missing
hashes to your requirements, or remove the `--require-hashes` directive
from the included constraints file if hash checking is not intended.

- **Prefer native Python on Windows ARM64**
([#&#8203;22100](https://redirect.github.com/astral-sh/uv/pull/22100))

Previously, ARM64 builds of uv preferred emulated `x86_64` Python
installations because native wheel support was limited. Now, uv prefers
native ARM64 (`aarch64`) interpreters across Python versions.

This follows similar changes in
[CPython](https://discuss.python.org/t/python-on-windows-arm64/104524),
the official Windows [Python install
manager](https://discuss.python.org/t/python-install-manager-26-4/108846),
and GitHub's
[actions/setup-python](https://redirect.github.com/actions/setup-python#supported-architectures).

When a native interpreter is unavailable, uv continues to fall back to
`x86_64`, then 32-bit `x86`.

You can opt out of this behavior by setting `UV_PYTHON_ARCH=x86_64` or
requesting an explicit architecture, e.g.,
`cpython-3.14-windows-x86_64`. If you are using `setup-uv`, you can set
[`python-arch:
x86_64`](https://redirect.github.com/astral-sh/setup-uv#python-architecture)
instead.

- **Reject editable requirements in included constraints files**
([#&#8203;22282](https://redirect.github.com/astral-sh/uv/pull/22282))

Previously, uv silently ignored editable (`-e`) requirements in
constraints files included with `-c` from a requirements file. Now, uv
rejects these requirements with an error, matching [pip's
behavior](https://pip.pypa.io/en/stable/user_guide/#constraints-files).

You cannot opt out of this behavior. Move editable requirements to a
requirements file passed with `-r`, or pass them directly with
`--editable`, instead of including them in a constraints file.

- **Omit the distutils startup patch on Python 3.10 and later**
([#&#8203;22096](https://redirect.github.com/astral-sh/uv/pull/22096))

Previously, uv installed `_virtualenv.py` and `_virtualenv.pth` into
every new virtual environment to prevent distutils configuration from
changing installation paths. Now, like [`virtualenv`
21.6.0](https://redirect.github.com/pypa/virtualenv/releases/tag/21.6.0),
uv omits these files on Python 3.10 and later, which already ignore the
affected configuration keys. This reduces Python startup overhead.
Python 3.9 and earlier retain the patch.

You cannot opt out of this behavior. Existing virtual environments are
not modified automatically. Recreate an environment with Python 3.10 or
later to remove the patch.

  This stabilizes the `no-distutils-patch` preview feature.

- **Treat requirement-file option values as single paths**
([#&#8203;22290](https://redirect.github.com/astral-sh/uv/pull/22290))

Previously, uv split values passed to `--constraint`, `--override`,
`--exclude`, and `--build-constraint` on spaces, even when quoted. Now,
each value is treated as a single path, allowing file paths containing
spaces.

You cannot opt out of this behavior. Repeat the option to provide
multiple files. For example, replace `-c "a.txt b.txt"` with `-c a.txt
-c b.txt`.

Space-separated lists in `UV_CONSTRAINT`, `UV_OVERRIDE`, `UV_EXCLUDE`,
and `UV_BUILD_CONSTRAINT` remain supported.

- **Use `tar-codec` for tar archives by default**
([#&#8203;22094](https://redirect.github.com/astral-sh/uv/pull/22094))

Previously, uv used `astral-tokio-tar` to extract tar archives, build
source distributions with `uv_build`, and read their metadata for `uv
publish`. Now, uv uses `tar-codec`, which applies stricter validation
when reading archives.

uv may now reject archives containing hard links or unsupported tar
extensions that previous versions accepted. Source distributions created
by `uv_build` can also have different archive bytes and hashes.

  You can opt out of this behavior by setting `UV_LEGACY_TAR_BACKEND=1`.

  This stabilizes the `tar-codec` preview feature.

- **Reject `uv build --clear` output directories that contain a build
source**
  ([#&#8203;22276](https://redirect.github.com/astral-sh/uv/pull/22276))

Previously, `uv build --clear` could delete a project or input source
distribution when the
output directory contained the source. Now, uv rejects these output
directories, including
equivalent paths reached through symlinks, before clearing any build
output.

Select an output directory that does not contain any build sources, or
omit `--clear`.

##### Python

- Add CPython 3.15.0
([#&#8203;22400](https://redirect.github.com/astral-sh/uv/pull/22400))

##### Preview features

- Require hashes for build dependencies, including transitive
dependencies, with `--require-build-hashes`
([#&#8203;21411](https://redirect.github.com/astral-sh/uv/pull/21411))

##### Performance

- Speed up revalidation of cached HTTP responses by avoiding rewrites of
unchanged payloads
([#&#8203;22130](https://redirect.github.com/astral-sh/uv/pull/22130))
- Reduce allocations when reading cached HTTP responses
([#&#8203;22136](https://redirect.github.com/astral-sh/uv/pull/22136))
- Reduce cache storage for HTTP policies and package records
([#&#8203;22135](https://redirect.github.com/astral-sh/uv/pull/22135),
[#&#8203;22133](https://redirect.github.com/astral-sh/uv/pull/22133))
- Reduce allocations for cached source distribution revisions
([#&#8203;22131](https://redirect.github.com/astral-sh/uv/pull/22131))

##### Bug fixes

- Fix incorrect dependency resolution when reusing source metadata with
different build settings
([#&#8203;22404](https://redirect.github.com/astral-sh/uv/pull/22404))
- Avoid overlong wheel cache lock filenames on Windows
([#&#8203;22134](https://redirect.github.com/astral-sh/uv/pull/22134))

</details>

<details>
<summary>aws/aws-cli (aqua:aws/aws-cli)</summary>

###
[`v2.37.12`](https://redirect.github.com/aws/aws-cli/blob/HEAD/CHANGELOG.rst#23712)

[Compare
Source](https://redirect.github.com/aws/aws-cli/compare/2.37.11...2.37.12)

\=======

- api-change:`securityagent`: Adds a test scope field to specify whether
a pentest targets a web application or a generative AI application.
- api-change:`meteringmarketplace`: AWS Marketplace Metering Service
adds AgreementId to ResolveCustomer API response.
- api-change:`mediatailor`: Add caching settings to http functions
- api-change:`deadline`: The new ListMemberships API enables users to
discover their memberships across Deadline Cloud resources, enabling
scoped users of Deadline resources to discover and interact with the
resources they have been provided scoped access to.
- api-change:`quicksight`: Adds granular custom permissions for the Gong
action connector (GongAction, CreateAndUpdateGongAction,
ShareGongAction, UseGongAction) and for create, update, and share
operations on 45 data source connectors, such as Amazon S3 and
Snowflake, through the Custom Permissions APIs.

</details>

<details>
<summary>vercel-labs/agent-browser (npm:agent-browser)</summary>

###
[`v0.39.0`](https://redirect.github.com/vercel-labs/agent-browser/blob/HEAD/CHANGELOG.md#0390)

[Compare
Source](https://redirect.github.com/vercel-labs/agent-browser/compare/v0.38.2...v0.39.0)

<!-- release:start -->

##### New Features

- Added an experimental **Obscura engine** (`--engine obscura`),
launched and cleaned up locally like Chrome with bounded startup and
CLI/MCP support. Obscura still has accessibility and rendering gaps, so
review the engine page before choosing it
([#&#8203;1876](https://redirect.github.com/vercel-labs/agent-browser/issues/1876))
- Added **private CA trust for CLI HTTPS requests** so `read`,
`install`, `upgrade` and `doctor` work behind TLS inspection.
`--ca-cert` now applies to them on every platform, the new
`--use-system-ca` uses the operating system trust store, and
`SSL_CERT_FILE` is a fallback. Certificate verification always stays on
([#&#8203;2006](https://redirect.github.com/vercel-labs/agent-browser/issues/2006))

##### Bug Fixes

- Fixed **selector-scoped snapshots** (`snapshot -s`) so elements under
ignored wrappers are no longer printed twice and shadow root content of
a selected custom element is no longer dropped
([#&#8203;2043](https://redirect.github.com/vercel-labs/agent-browser/issues/2043))
- Fixed **`--auto-connect`** to wait up to 30s while Chrome 144+ shows
the remote-debugging prompt, so it no longer opens repeated prompts or
fails with "No running Chrome instance found"
([#&#8203;2026](https://redirect.github.com/vercel-labs/agent-browser/issues/2026))
- Fixed **daemon responsiveness during long commands** so it keeps
accepting connections, including `close`, while a command holds the
state lock, and a SIGTERM sent in that window is no longer lost
([#&#8203;2059](https://redirect.github.com/vercel-labs/agent-browser/issues/2059))

##### Documentation

- Migrated the **docs site** to Geistdocs
([#&#8203;1887](https://redirect.github.com/vercel-labs/agent-browser/issues/1887))

##### Contributors

- [@&#8203;NamanSatish](https://redirect.github.com/NamanSatish)
- [@&#8203;Railly](https://redirect.github.com/Railly)
- [@&#8203;SGavrl](https://redirect.github.com/SGavrl)
- [@&#8203;SUSINDRAREDDY](https://redirect.github.com/SUSINDRAREDDY)
- [@&#8203;godtail](https://redirect.github.com/godtail)
- [@&#8203;jadenfix](https://redirect.github.com/jadenfix)
- [@&#8203;niieani](https://redirect.github.com/niieani)

<!-- release:end -->

</details>

<details>
<summary>redhat-developer/yaml-language-server
(npm:yaml-language-server)</summary>

###
[`v1.25.0`](https://redirect.github.com/redhat-developer/yaml-language-server/blob/HEAD/CHANGELOG.md#1250)

[Compare
Source](https://redirect.github.com/redhat-developer/yaml-language-server/compare/1.24.0...1.25.0)

- Feat: Add support for negated schema file-match patterns in
`yaml.schemas`. See
[#&#8203;1345](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1345).
- Feat: Show a separate schema CodeLens for each YAML document, with
resource-specific titles for Kubernetes schemas. See
[#&#8203;1309](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1309).
- Fix: Schema fileMatch regression in 1.24.0 where single `*` in glob
patterns matches across path separators. See
[#&#8203;1295](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1295).
- Fix: Preserve Kubernetes schema priority after resource-specific
schema detection, preventing SchemaStore associations from overriding
the configured Kubernetes schema. See
[#&#8203;1298](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1298).
- Fix: Do not depend on specific working directory within container
image. See
[#&#8203;1301](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1301).
- Fix: Recognize Kubernetes CRD schema as built-in resources. See
[#&#8203;1310](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1310).
- Fix: Schema priority lookup for normalized file URIs. See
[#&#8203;1312](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1312).
- Fix: Resolve percent-encoded schema paths in modelines without
encoding them a second time. See
[#&#8203;1316](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1316).
- Fix: Type diagnostic reports schema filenames instead of `"object"`
when multiple schemas match. See
[#&#8203;1317](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1317).
- Fix: `enum` and `const` validation for nested boolean values. See
[#&#8203;1323](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1323).
- Fix: Resolve schema references through non-standard containers such as
`#/components/schemas`, including nested references to the same local
file or a sibling file. See
[#&#8203;1322](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1322).
- Fix: Keep constraints on cyclic cross-file `$refs` in unindexed
resources. See
[#&#8203;1326](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1326).
- Fix: Report the underlying reason when a schema fails to load instead
of always reporting `No content`. See
[#&#8203;1337](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1337)
and
[vscode-yaml#1282](https://redirect.github.com/redhat-developer/vscode-yaml/pull/1282).
- Fix: Retry remote schema requests after transient HTTP or connection
failures. See
[#&#8203;1341](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1341)
and
[vscode-yaml#1284](https://redirect.github.com/redhat-developer/vscode-yaml/issues/1284).
- Fix: Resolve nested schema paths prefixed with a workspace folder name
and match a workspace folder name only as a whole path segment in
multi-root workspaces. See
[#&#8203;1348](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1348)
and
[#&#8203;1349](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1349).
- Fix: Improve handling of schemas written using YAML when the first key
is quoted, and avoid requesting the same schema content twice. See
[vscode-yaml#1275](https://redirect.github.com/redhat-developer/vscode-yaml/issues/1275).
- Fix: Detect SchemaStore schemas for nonstandard and extensionless YAML
filenames such as `.clang-format`. See
[vscode-yaml#1124](https://redirect.github.com/redhat-developer/vscode-yaml/issues/1124).
- Fix: Make formatter settings resource scoped. See
[vscode-yaml#1240](https://redirect.github.com/redhat-developer/vscode-yaml/issues/1240).
- Fix: Keep automatic schema detection for more specific extensions out
of user settings. See
[vscode-yaml#1271](https://redirect.github.com/redhat-developer/vscode-yaml/issues/1271).
- Fix: Restore auto indentation after a key with an anchor when
`editor.autoIndent` is set to `full`. See
[vscode-yaml#1289](https://redirect.github.com/redhat-developer/vscode-yaml/pull/1289).
- Fix: Exclude YAML delimiters from word selection. See
[vscode-yaml#940](https://redirect.github.com/redhat-developer/vscode-yaml/issues/940).
- Chore: Remove the unmaintained `setup-xvfb` CI action to eliminate
Node 20 deprecation warnings. See
[#&#8203;1343](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1343).
- Chore: Remove the unused `mocha-lcov-reporter` dependency. See
[#&#8203;1351](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1351).
- Chore: Remove the redundant direct dependency on
`@typescript-eslint/parser`. See
[#&#8203;1357](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1357).
- Chore: Replace legacy URL resolution to address `DEP0169`. See
[#&#8203;1359](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1359).
- Chore: Upgrade `rimraf` to v6. See
[#&#8203;1360](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1360).

Thanks to [Alexandre Kohler](https://redirect.github.com/kwy404),
[Andreas Reichel](https://redirect.github.com/AndreasReichel), [Noritaka
Kobayashi](https://redirect.github.com/noritaka1166), [Simon
Heather](https://redirect.github.com/X-Guardian), [Yusuke
Hayashi](https://redirect.github.com/yhay81),
[ProbstDJakob](https://redirect.github.com/ProbstDJakob),
[youdie006](https://redirect.github.com/youdie006),
[hassan](https://redirect.github.com/h55n), [sama
Pyb](https://redirect.github.com/Pybsama)for your contributions.

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

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

πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/soodoh/dotfiles).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@pavelzw
pavelzw deleted the no-python branch October 10, 2026 00:14
mergify Bot pushed a commit to capic2/dashboard-parapente that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `==0.16.10` β†’ `==0.17.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true) |

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

### [`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff` wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables
verification of the release publisher and binary integrity, supports publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15 ([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

  Ruff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through
  [`target-version`](https://docs.astral.sh/ruff/settings/#target-version) or
  [`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version). When
  checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15
  instead of 3.14.

- Update the default rule set ([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules
  ([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),
  [`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),
  [`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),
  [`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
  [`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/), and
  [`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no longer enabled by default,
  while [`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
  (`F406`), which corresponds to a syntax error, is now enabled by default.

- Update Rust crate quick-junit to 0.8.0 ([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

  JUnit output now uses a `skipped` attribute instead of `disabled` on `<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional alias (`ICN001`) ([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names ([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

  The default [`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
  now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy variables.

- Update to Unicode 17 ([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

  Ruff now uses Unicode 17 data for identifier normalization and named character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI ([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

  The default `full` output format now shows unsafe fixes and suggestions requiring manual review,
  regardless of the [`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes) setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds ([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

  The conda-forge build no longer depends on Python, now supports linux-riscv64, win-arm64, and
  linux-ppc64le platforms, and now includes shell completions. However, no longer depending on
  Python means that `python -m ruff` and `import ruff` will no longer work. Use `ruff` directly from
  `PATH` instead. PyPI installations and those from the standalone installer are unaffected.

- Remove support for ruff-lsp ([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

  Support for `ruff-lsp`, the legacy Python language server [deprecated in Ruff
  v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5), has been removed. The Ruff VS Code
  extension now always uses the native language server; `ruff.nativeServer` is deprecated and
  ignored. See the [migration guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

- [`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch) (`TID254`)
- [`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
- [`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix) (`RUF071`)

The following behaviors have been stabilized:

- The formatter, [`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/) (`I001`),
  [`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/) (`E501`), and
  [`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/) (`W505`) now
  consistently ignore trailing pragma comments when computing line length. This resolved several
  bugs involving interactions between these rules
  ([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313)) but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range (`B005`) ([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes ([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/capic2/dashboard-parapente).
tr4nt0r pushed a commit to tr4nt0r/python-xbox that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tr4nt0r/python-xbox).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tr4nt0r pushed a commit to tr4nt0r/pynecil that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tr4nt0r/pynecil).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tr4nt0r pushed a commit to tr4nt0r/pyloadapi that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 is behind base branch, or you tick the
rebase/retry checkbox.

πŸ”• **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tr4nt0r/pyloadapi).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tr4nt0r pushed a commit to tr4nt0r/pythonkuma that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 is behind base branch, or you tick the
rebase/retry checkbox.

πŸ”• **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tr4nt0r/pythonkuma).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tr4nt0r pushed a commit to tr4nt0r/habiticalib that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tr4nt0r/habiticalib).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tr4nt0r pushed a commit to tr4nt0r/aiontfy that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 is behind base branch, or you tick the
rebase/retry checkbox.

πŸ”• **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tr4nt0r/aiontfy).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
sripwoud pushed a commit to espadat-studio/tagwerk that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [aqua:astral-sh/uv](https://redirect.github.com/astral-sh/uv) | tools
| minor | `0.12.24` β†’ `0.13.0` |
| [ruff](https://redirect.github.com/astral-sh/ruff) | tools | minor |
`0.16.10` β†’ `0.17.0` |

---

### Release Notes

<details>
<summary>astral-sh/uv (aqua:astral-sh/uv)</summary>

###
[`v0.13.0`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0130)

[Compare
Source](https://redirect.github.com/astral-sh/uv/compare/0.12.24...0.13.0)

Released on 2026-10-09.

uv 0.13.0 makes Python 3.15 the default stable Python version. We've
also included several breaking changes to improve correctness,
performance, and compatibility, described below.

**We expect most users to be able to upgrade without making changes.**

While not a breaking change, this release also updates the format of
many of uv's cache entries to improve performance. **uv may download or
rebuild dependencies after upgrading**, because some cached entries from
earlier versions cannot be reused. Multiple versions of uv can still
safely share the same cache directory.

There are no breaking changes to the configuration of the [uv build
backend](https://docs.astral.sh/uv/concepts/build-backend/). If your
`[build-system]` table includes an upper bound on `uv_build`, update it
to allow `uv_build` 0.13, e.g., `uv_build>=0.13.0,<0.14`.

##### Breaking changes

- **Use Python 3.15 as the default stable version**

The default stable Python version has changed from 3.14 to 3.15. This
affects Python downloads when no version is requested or pinned, e.g.,
when running `uv python install`.

uv continues to use compatible Python installations that are already
present. For example, `uv venv` can still use an installed Python 3.14.
If no suitable interpreter is installed and automatic downloads are
enabled, commands such as `uv venv` and `uvx python` can now download
Python 3.15.

You can opt out of this behavior by requesting Python 3.14 explicitly,
e.g., `uv venv --python 3.14`. For projects, use `uv python pin 3.14` to
record the version in `.python-version`.

- **Honor `--require-hashes` in included constraints files**
([#&#8203;22275](https://redirect.github.com/astral-sh/uv/pull/22275))

Previously, uv ignored `--require-hashes` in constraints files included
with `-c` from a requirements file. Now, uv honors the directive and
requires hashes for all requirements in the installation. Installs that
previously succeeded can now fail if a requirement is missing a hash.

You cannot opt out while the directive is present. Add the missing
hashes to your requirements, or remove the `--require-hashes` directive
from the included constraints file if hash checking is not intended.

- **Prefer native Python on Windows ARM64**
([#&#8203;22100](https://redirect.github.com/astral-sh/uv/pull/22100))

Previously, ARM64 builds of uv preferred emulated `x86_64` Python
installations because native wheel support was limited. Now, uv prefers
native ARM64 (`aarch64`) interpreters across Python versions.

This follows similar changes in
[CPython](https://discuss.python.org/t/python-on-windows-arm64/104524),
the official Windows [Python install
manager](https://discuss.python.org/t/python-install-manager-26-4/108846),
and GitHub's
[actions/setup-python](https://redirect.github.com/actions/setup-python#supported-architectures).

When a native interpreter is unavailable, uv continues to fall back to
`x86_64`, then 32-bit `x86`.

You can opt out of this behavior by setting `UV_PYTHON_ARCH=x86_64` or
requesting an explicit architecture, e.g.,
`cpython-3.14-windows-x86_64`. If you are using `setup-uv`, you can set
[`python-arch:
x86_64`](https://redirect.github.com/astral-sh/setup-uv#python-architecture)
instead.

- **Reject editable requirements in included constraints files**
([#&#8203;22282](https://redirect.github.com/astral-sh/uv/pull/22282))

Previously, uv silently ignored editable (`-e`) requirements in
constraints files included with `-c` from a requirements file. Now, uv
rejects these requirements with an error, matching [pip's
behavior](https://pip.pypa.io/en/stable/user_guide/#constraints-files).

You cannot opt out of this behavior. Move editable requirements to a
requirements file passed with `-r`, or pass them directly with
`--editable`, instead of including them in a constraints file.

- **Omit the distutils startup patch on Python 3.10 and later**
([#&#8203;22096](https://redirect.github.com/astral-sh/uv/pull/22096))

Previously, uv installed `_virtualenv.py` and `_virtualenv.pth` into
every new virtual environment to prevent distutils configuration from
changing installation paths. Now, like [`virtualenv`
21.6.0](https://redirect.github.com/pypa/virtualenv/releases/tag/21.6.0),
uv omits these files on Python 3.10 and later, which already ignore the
affected configuration keys. This reduces Python startup overhead.
Python 3.9 and earlier retain the patch.

You cannot opt out of this behavior. Existing virtual environments are
not modified automatically. Recreate an environment with Python 3.10 or
later to remove the patch.

  This stabilizes the `no-distutils-patch` preview feature.

- **Treat requirement-file option values as single paths**
([#&#8203;22290](https://redirect.github.com/astral-sh/uv/pull/22290))

Previously, uv split values passed to `--constraint`, `--override`,
`--exclude`, and `--build-constraint` on spaces, even when quoted. Now,
each value is treated as a single path, allowing file paths containing
spaces.

You cannot opt out of this behavior. Repeat the option to provide
multiple files. For example, replace `-c "a.txt b.txt"` with `-c a.txt
-c b.txt`.

Space-separated lists in `UV_CONSTRAINT`, `UV_OVERRIDE`, `UV_EXCLUDE`,
and `UV_BUILD_CONSTRAINT` remain supported.

- **Use `tar-codec` for tar archives by default**
([#&#8203;22094](https://redirect.github.com/astral-sh/uv/pull/22094))

Previously, uv used `astral-tokio-tar` to extract tar archives, build
source distributions with `uv_build`, and read their metadata for `uv
publish`. Now, uv uses `tar-codec`, which applies stricter validation
when reading archives.

uv may now reject archives containing hard links or unsupported tar
extensions that previous versions accepted. Source distributions created
by `uv_build` can also have different archive bytes and hashes.

  You can opt out of this behavior by setting `UV_LEGACY_TAR_BACKEND=1`.

  This stabilizes the `tar-codec` preview feature.

- **Reject `uv build --clear` output directories that contain a build
source**
  ([#&#8203;22276](https://redirect.github.com/astral-sh/uv/pull/22276))

Previously, `uv build --clear` could delete a project or input source
distribution when the
output directory contained the source. Now, uv rejects these output
directories, including
equivalent paths reached through symlinks, before clearing any build
output.

Select an output directory that does not contain any build sources, or
omit `--clear`.

##### Python

- Add CPython 3.15.0
([#&#8203;22400](https://redirect.github.com/astral-sh/uv/pull/22400))

##### Preview features

- Require hashes for build dependencies, including transitive
dependencies, with `--require-build-hashes`
([#&#8203;21411](https://redirect.github.com/astral-sh/uv/pull/21411))

##### Performance

- Speed up revalidation of cached HTTP responses by avoiding rewrites of
unchanged payloads
([#&#8203;22130](https://redirect.github.com/astral-sh/uv/pull/22130))
- Reduce allocations when reading cached HTTP responses
([#&#8203;22136](https://redirect.github.com/astral-sh/uv/pull/22136))
- Reduce cache storage for HTTP policies and package records
([#&#8203;22135](https://redirect.github.com/astral-sh/uv/pull/22135),
[#&#8203;22133](https://redirect.github.com/astral-sh/uv/pull/22133))
- Reduce allocations for cached source distribution revisions
([#&#8203;22131](https://redirect.github.com/astral-sh/uv/pull/22131))

##### Bug fixes

- Fix incorrect dependency resolution when reusing source metadata with
different build settings
([#&#8203;22404](https://redirect.github.com/astral-sh/uv/pull/22404))
- Avoid overlong wheel cache lock filenames on Windows
([#&#8203;22134](https://redirect.github.com/astral-sh/uv/pull/22134))

</details>

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

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

πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/espadat-studio/tagwerk).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renokeeper Bot added a commit to schubydoo/ha-snopud that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
|
[astral-sh/ruff-pre-commit](https://redirect.github.com/astral-sh/ruff-pre-commit)
| repository | minor | `v0.16.10` β†’ `v0.17.0` | [![OpenSSF
Scorecard](https://api.securityscorecards.dev/projects/github.com/astral-sh/ruff-pre-commit/badge)](https://securityscorecards.dev/viewer/?uri=github.com/astral-sh/ruff-pre-commit)
|
| [ruff](https://redirect.github.com/astral-sh/ruff) | uses-with | minor
| `0.16.10` β†’ `0.17.0` | [![OpenSSF
Scorecard](https://api.securityscorecards.dev/projects/github.com/astral-sh/ruff/badge)](https://securityscorecards.dev/viewer/?uri=github.com/astral-sh/ruff)
|

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://redirect.github.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff-pre-commit/releases/tag/v0.17.0)

[Compare
Source](https://redirect.github.com/astral-sh/ruff-pre-commit/compare/v0.16.10...v0.17.0)

See: <https://github.com/astral-sh/ruff/releases/tag/0.17.0>

</details>

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (in timezone America/Los_Angeles)

- Branch creation
  - "before 6am"
- 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 these
updates again.

---

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

---

This PR has been generated by [Mend Renovate
CLI](https://redirect.github.com/renovatebot/renovate).

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

Co-authored-by: renokeeper[bot] <308156799+renokeeper[bot]@users.noreply.github.com>
Zhaoyilunnn pushed a commit to tqec/tqec that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
|
[astral-sh/ruff-pre-commit](https://redirect.github.com/astral-sh/ruff-pre-commit)
| repository | minor | `v0.16.10` β†’ `v0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/astral-sh%2fruff-pre-commit/v0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/astral-sh%2fruff-pre-commit/v0.16.10/v0.17.0?slim=true)
|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| dependency-groups | minor | `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://redirect.github.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff-pre-commit/releases/tag/v0.17.0)

[Compare
Source](https://redirect.github.com/astral-sh/ruff-pre-commit/compare/v0.16.10...v0.17.0)

See: <https://github.com/astral-sh/ruff/releases/tag/0.17.0>

</details>

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- Branch creation
  - "every weekend"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

β™» **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 these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tqec/tqec).

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

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate Bot added a commit to curl/curl-fuzzer that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `==0.16.10` β†’ `==0.17.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/curl/curl-fuzzer).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
mecfs-bio-renovate Bot added a commit to trafalmadorian97/mecfs_bioinformatics that referenced this pull request Oct 10, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff)
([source](https://redirect.github.com/astral-sh/ruff),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md))
| `>=0.16,<0.17` β†’ `>=0.17,<0.18` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.16.10/0.17.0?slim=true)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.17.0`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0170)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.16.10...0.17.0)

Released on 2026-10-09.

The executables in our macOS and Windows release archives and `ruff`
wheels are now code-signed.
macOS executables are signed with an Apple Developer ID certificate and
notarized by Apple. Windows
executables have timestamped Authenticode signatures from Azure Artifact
Signing. This enables
verification of the release publisher and binary integrity, supports
publisher-based allowlisting,
and should reduce security warnings and antivirus false positives.

##### Breaking changes

- Update the default and latest Python versions for 3.15
([#&#8203;28792](https://redirect.github.com/astral-sh/ruff/pull/28792))

Ruff now defaults to Python 3.11 instead of 3.10 when no Python version
is configured through

[`target-version`](https://docs.astral.sh/ruff/settings/#target-version)
or

[`requires-python`](https://docs.astral.sh/ruff/configuration/#inferring-the-python-version).
When
checking for syntax errors without a configured Python version, Ruff now
defaults to Python 3.15
  instead of 3.14.

- Update the default rule set
([#&#8203;28786](https://redirect.github.com/astral-sh/ruff/pull/28786))

  Several of the `flake8-datetimez` rules

([`DTZ001`](https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/),

[`DTZ005`](https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/),

[`DTZ006`](https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/),

[`DTZ007`](https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/),
  [`DTZ011`](https://docs.astral.sh/ruff/rules/call-date-today/),
[`DTZ012`](https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/),
and
[`DTZ901`](https://docs.astral.sh/ruff/rules/datetime-min-max/)) are no
longer enabled by default,
while
[`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/)
(`F406`), which corresponds to a syntax error, is now enabled by
default.

- Update Rust crate quick-junit to 0.8.0
([#&#8203;27295](https://redirect.github.com/astral-sh/ruff/pull/27295))

JUnit output now uses a `skipped` attribute instead of `disabled` on
`<testsuite>` elements and
  includes a `skipped` attribute on the root `<testsuites>` element.

- \[`flake8-import-conventions`] Add `datetime as dt` as a conventional
alias (`ICN001`)
([#&#8203;28790](https://redirect.github.com/astral-sh/ruff/pull/28790))

- Support Unicode dummy variable names
([#&#8203;28722](https://redirect.github.com/astral-sh/ruff/pull/28722))

The default
[`lint.dummy-variable-rgx`](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx)
now recognizes underscore-prefixed Unicode names, such as `_欑`, as dummy
variables.

- Update to Unicode 17
([#&#8203;21229](https://redirect.github.com/astral-sh/ruff/pull/21229),
[#&#8203;28784](https://redirect.github.com/astral-sh/ruff/pull/28784))

Ruff now uses Unicode 17 data for identifier normalization and named
character escapes (`"\N{...}"`).

- Always show unsafe and display-only fixes in the CLI
([#&#8203;27810](https://redirect.github.com/astral-sh/ruff/pull/27810))

The default `full` output format now shows unsafe fixes and suggestions
requiring manual review,
regardless of the
[`unsafe-fixes`](https://docs.astral.sh/ruff/settings/#unsafe-fixes)
setting.
  Actually applying unsafe fixes still requires explicit opt-in.

- Remove the Python dependency from conda-forge builds
([conda-forge/ruff-feedstock#361](https://redirect.github.com/conda-forge/ruff-feedstock/pull/361))

The conda-forge build no longer depends on Python, now supports
linux-riscv64, win-arm64, and
linux-ppc64le platforms, and now includes shell completions. However, no
longer depending on
Python means that `python -m ruff` and `import ruff` will no longer
work. Use `ruff` directly from
`PATH` instead. PyPI installations and those from the standalone
installer are unaffected.

- Remove support for ruff-lsp
([#&#8203;28750](https://redirect.github.com/astral-sh/ruff/pull/28750))

Support for `ruff-lsp`, the legacy Python language server [deprecated in
Ruff
v0.9.5](https://redirect.github.com/astral-sh/ruff/releases/tag/0.9.5),
has been removed. The Ruff VS Code
extension now always uses the native language server;
`ruff.nativeServer` is deprecated and
ignored. See the [migration
guide](https://docs.astral.sh/ruff/editors/migration/).

##### Stabilization

The following rules have been stabilized and are no longer in preview:

-
[`lazy-import-mismatch`](https://docs.astral.sh/ruff/rules/lazy-import-mismatch)
(`TID254`)
-
[`lazy-import-immediately-resolved`](https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved)
  (`TID255`)
-
[`os-path-commonprefix`](https://docs.astral.sh/ruff/rules/os-path-commonprefix)
(`RUF071`)

The following behaviors have been stabilized:

- The formatter,
[`unsorted-imports`](https://docs.astral.sh/ruff/rules/unsorted-imports/)
(`I001`),
[`line-too-long`](https://docs.astral.sh/ruff/rules/line-too-long/)
(`E501`), and

[`doc-line-too-long`](https://docs.astral.sh/ruff/rules/doc-line-too-long/)
(`W505`) now
consistently ignore trailing pragma comments when computing line length.
This resolved several
  bugs involving interactions between these rules

([#&#8203;27313](https://redirect.github.com/astral-sh/ruff/pull/27313))
but may also cause existing imports to be
  reformatted and was thus classified as a breaking change.

##### Preview features

- \[`flake8-bugbear`] Report the method name and a more precise range
(`B005`)
([#&#8203;27050](https://redirect.github.com/astral-sh/ruff/pull/27050))
- \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`)
([#&#8203;28405](https://redirect.github.com/astral-sh/ruff/pull/28405))
- \[`ruff`] Allow docstrings in strict mode (`RUF067`)
([#&#8203;28679](https://redirect.github.com/astral-sh/ruff/pull/28679))

##### Bug fixes

- \[`flake8-builtins`] Expand checks in class scopes (`A001`)
([#&#8203;29076](https://redirect.github.com/astral-sh/ruff/pull/29076))
- \[`flake8-self`] Allow private access on `object.__new__(cls)`
instances (`SLF001`)
([#&#8203;29001](https://redirect.github.com/astral-sh/ruff/pull/29001))
- \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs
(`TID254`)
([#&#8203;29095](https://redirect.github.com/astral-sh/ruff/pull/29095))
- \[`flake8-type-checking`] Add the notion of runtime-ambiguous
references
([#&#8203;26508](https://redirect.github.com/astral-sh/ruff/pull/26508))
- \[`flake8-type-checking`] Never flag annotations in function scopes
([#&#8203;29183](https://redirect.github.com/astral-sh/ruff/pull/29183))
- \[`pyflakes`] Mark the fix as unsafe when it creates a docstring
(`F541`)
([#&#8203;28258](https://redirect.github.com/astral-sh/ruff/pull/28258))
- \[`pylint`] Preserve trailing comments in `useless-return` fix
(`PLR1711`)
([#&#8203;29180](https://redirect.github.com/astral-sh/ruff/pull/29180))
- \[`ruff`] Avoid false positive when `pytest.raises` is used in a
`with` statement (`RUF061`)
([#&#8203;28186](https://redirect.github.com/astral-sh/ruff/pull/28186))

##### Rule changes

- \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`)
([#&#8203;29084](https://redirect.github.com/astral-sh/ruff/pull/29084))

##### Contributors

- [@&#8203;DeviousCardi](https://redirect.github.com/DeviousCardi)
- [@&#8203;hugehoo](https://redirect.github.com/hugehoo)
- [@&#8203;nekomario28](https://redirect.github.com/nekomario28)
- [@&#8203;Daverball](https://redirect.github.com/Daverball)
- [@&#8203;Viicos](https://redirect.github.com/Viicos)
- [@&#8203;DebadityaHait](https://redirect.github.com/DebadityaHait)
- [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;yxshee](https://redirect.github.com/yxshee)
- [@&#8203;lognd](https://redirect.github.com/lognd)
- [@&#8203;dor-sr](https://redirect.github.com/dor-sr)

</details>

---

### Configuration

πŸ“… **Schedule**: (UTC)

- 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
CLI](https://redirect.github.com/renovatebot/renovate).

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

Co-authored-by: mecfs-bio-renovate[bot] <311934930+mecfs-bio-renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

restore linux-ppc64le builds? Remove Python dependency

3 participants