Repository navigation
modernize recipe, add linux-riscv64, win-arm64, shell completions - #361
Conversation
|
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 ( |
|
@conda-forge/ruff ready for review |
ntBre
left a comment
There was a problem hiding this comment.
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.
|
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
|
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. |
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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=-->
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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=-->
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) |  |  | devDependencies | patch | | [aqua:astral-sh/ruff](https://redirect.github.com/astral-sh/ruff) | `0.16.10` β `0.17.0` |  |  | tools | minor | | [aqua:astral-sh/uv](https://redirect.github.com/astral-sh/uv) | `0.12.24` β `0.13.0` |  |  | tools | minor | | [aqua:aws/aws-cli](https://redirect.github.com/aws/aws-cli) | `2.37.11` β `2.37.12` |  |  | tools | patch | | [npm:agent-browser](https://agent-browser.dev) ([source](https://redirect.github.com/vercel-labs/agent-browser)) | `0.38.2` β `0.39.0` |  |  | tools | minor | | [npm:yaml-language-server](https://redirect.github.com/redhat-developer/yaml-language-server) | `1.24.0` β `1.25.0` |  |  | 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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** ([#​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** ([#​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** ([#​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** ([#​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** ([#​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** ([#​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** ([#​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 ([#​22400](https://redirect.github.com/astral-sh/uv/pull/22400)) ##### Preview features - Require hashes for build dependencies, including transitive dependencies, with `--require-build-hashes` ([#​21411](https://redirect.github.com/astral-sh/uv/pull/21411)) ##### Performance - Speed up revalidation of cached HTTP responses by avoiding rewrites of unchanged payloads ([#​22130](https://redirect.github.com/astral-sh/uv/pull/22130)) - Reduce allocations when reading cached HTTP responses ([#​22136](https://redirect.github.com/astral-sh/uv/pull/22136)) - Reduce cache storage for HTTP policies and package records ([#​22135](https://redirect.github.com/astral-sh/uv/pull/22135), [#​22133](https://redirect.github.com/astral-sh/uv/pull/22133)) - Reduce allocations for cached source distribution revisions ([#​22131](https://redirect.github.com/astral-sh/uv/pull/22131)) ##### Bug fixes - Fix incorrect dependency resolution when reusing source metadata with different build settings ([#​22404](https://redirect.github.com/astral-sh/uv/pull/22404)) - Avoid overlong wheel cache lock filenames on Windows ([#​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 ([#​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 ([#​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 ([#​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" ([#​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 ([#​2059](https://redirect.github.com/vercel-labs/agent-browser/issues/2059)) ##### Documentation - Migrated the **docs site** to Geistdocs ([#​1887](https://redirect.github.com/vercel-labs/agent-browser/issues/1887)) ##### Contributors - [@​NamanSatish](https://redirect.github.com/NamanSatish) - [@​Railly](https://redirect.github.com/Railly) - [@​SGavrl](https://redirect.github.com/SGavrl) - [@​SUSINDRAREDDY](https://redirect.github.com/SUSINDRAREDDY) - [@​godtail](https://redirect.github.com/godtail) - [@​jadenfix](https://redirect.github.com/jadenfix) - [@​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 [#​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 [#​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 [#​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 [#​1298](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1298). - Fix: Do not depend on specific working directory within container image. See [#​1301](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1301). - Fix: Recognize Kubernetes CRD schema as built-in resources. See [#​1310](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1310). - Fix: Schema priority lookup for normalized file URIs. See [#​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 [#​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 [#​1317](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1317). - Fix: `enum` and `const` validation for nested boolean values. See [#​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 [#​1322](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1322). - Fix: Keep constraints on cyclic cross-file `$refs` in unindexed resources. See [#​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 [#​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 [#​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 [#​1348](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1348) and [#​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 [#​1343](https://redirect.github.com/redhat-developer/yaml-language-server/issues/1343). - Chore: Remove the unused `mocha-lcov-reporter` dependency. See [#​1351](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1351). - Chore: Remove the redundant direct dependency on `@typescript-eslint/parser`. See [#​1357](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1357). - Chore: Replace legacy URL resolution to address `DEP0169`. See [#​1359](https://redirect.github.com/redhat-developer/yaml-language-server/pull/1359). - Chore: Upgrade `rimraf` to v6. See [#​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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).
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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** ([#​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** ([#​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** ([#​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** ([#​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** ([#​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** ([#​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** ([#​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 ([#​22400](https://redirect.github.com/astral-sh/uv/pull/22400)) ##### Preview features - Require hashes for build dependencies, including transitive dependencies, with `--require-build-hashes` ([#​21411](https://redirect.github.com/astral-sh/uv/pull/21411)) ##### Performance - Speed up revalidation of cached HTTP responses by avoiding rewrites of unchanged payloads ([#​22130](https://redirect.github.com/astral-sh/uv/pull/22130)) - Reduce allocations when reading cached HTTP responses ([#​22136](https://redirect.github.com/astral-sh/uv/pull/22136)) - Reduce cache storage for HTTP policies and package records ([#​22135](https://redirect.github.com/astral-sh/uv/pull/22135), [#​22133](https://redirect.github.com/astral-sh/uv/pull/22133)) - Reduce allocations for cached source distribution revisions ([#​22131](https://redirect.github.com/astral-sh/uv/pull/22131)) ##### Bug fixes - Fix incorrect dependency resolution when reusing source metadata with different build settings ([#​22404](https://redirect.github.com/astral-sh/uv/pull/22404)) - Avoid overlong wheel cache lock filenames on Windows ([#​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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` | [](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` | [](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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | | [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` |  |  | 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
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` |  |  | --- ### 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 ([#​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 ([#​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 ([#​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`) ([#​28790](https://redirect.github.com/astral-sh/ruff/pull/28790)) - Support Unicode dummy variable names ([#​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 ([#​21229](https://redirect.github.com/astral-sh/ruff/pull/21229), [#​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 ([#​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 ([#​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 ([#​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`) ([#​27050](https://redirect.github.com/astral-sh/ruff/pull/27050)) - \[`refurb`] Mark fix unsafe and move to `suspicious` (`FURB152`) ([#​28405](https://redirect.github.com/astral-sh/ruff/pull/28405)) - \[`ruff`] Allow docstrings in strict mode (`RUF067`) ([#​28679](https://redirect.github.com/astral-sh/ruff/pull/28679)) ##### Bug fixes - \[`flake8-builtins`] Expand checks in class scopes (`A001`) ([#​29076](https://redirect.github.com/astral-sh/ruff/pull/29076)) - \[`flake8-self`] Allow private access on `object.__new__(cls)` instances (`SLF001`) ([#​29001](https://redirect.github.com/astral-sh/ruff/pull/29001)) - \[`flake8-tidy-imports`] Skip `lazy-import-mismatch` in stubs (`TID254`) ([#​29095](https://redirect.github.com/astral-sh/ruff/pull/29095)) - \[`flake8-type-checking`] Add the notion of runtime-ambiguous references ([#​26508](https://redirect.github.com/astral-sh/ruff/pull/26508)) - \[`flake8-type-checking`] Never flag annotations in function scopes ([#​29183](https://redirect.github.com/astral-sh/ruff/pull/29183)) - \[`pyflakes`] Mark the fix as unsafe when it creates a docstring (`F541`) ([#​28258](https://redirect.github.com/astral-sh/ruff/pull/28258)) - \[`pylint`] Preserve trailing comments in `useless-return` fix (`PLR1711`) ([#​29180](https://redirect.github.com/astral-sh/ruff/pull/29180)) - \[`ruff`] Avoid false positive when `pytest.raises` is used in a `with` statement (`RUF061`) ([#​28186](https://redirect.github.com/astral-sh/ruff/pull/28186)) ##### Rule changes - \[`pyupgrade`] Suggest `typing.TypeForm` on Python 3.15 (`UP035`) ([#​29084](https://redirect.github.com/astral-sh/ruff/pull/29084)) ##### Contributors - [@​DeviousCardi](https://redirect.github.com/DeviousCardi) - [@​hugehoo](https://redirect.github.com/hugehoo) - [@​nekomario28](https://redirect.github.com/nekomario28) - [@​Daverball](https://redirect.github.com/Daverball) - [@​Viicos](https://redirect.github.com/Viicos) - [@​DebadityaHait](https://redirect.github.com/DebadityaHait) - [@​saberoueslati](https://redirect.github.com/saberoueslati) - [@​baltasarblanco](https://redirect.github.com/baltasarblanco) - [@​yxshee](https://redirect.github.com/yxshee) - [@​lognd](https://redirect.github.com/lognd) - [@​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>
Checklist
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)closes #154, closes #303, closes #333
as mentioned in #303, this will lead to
python -m ruffandimport ruffnot working anymore but i think this is okay.ruffwill still be on$PATH, so people will still be able to runruffas they shouldafter this PR is through, i'll port those changes to the ty-feedstock as well