Skip to content

chore(deps): update ci python tools - #454

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ci-python-tools
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ci-python-tools

Conversation

@renovate

@renovate renovate Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
ruff (source, changelog) ==0.16.10 → ==0.17.1 age confidence
zizmor (source) ==1.30.1 → ==1.31.1 age confidence

Release Notes

astral-sh/ruff (ruff)

v0.17.1

Compare Source

Released on 2026-10-15.

Preview features
  • [pycodestyle] Don't treat None, True, or False as keywords (E271-E274) (#​29322)
Bug fixes
  • Fix dedent with multiple leading comments (#​29382)
  • [flake8-pyi] Detect legacy positional-only parameters in __new__ methods (PYI063) (#​28502)
  • [flake8-pyi] Fix false positives on quoted annotations (PYI036) (#​29274)
  • [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (#​29366)
Rule changes
  • Treat more collections and weakref containers as mutable (#​29213)
Documentation
  • [flake8-import-conventions] Update default and example aliases (#​29333)
Contributors

v0.17.0

Compare Source

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)

    Ruff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through
    target-version or
    requires-python. 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)

    Several of the flake8-datetimez rules
    (DTZ001,
    DTZ005,
    DTZ006,
    DTZ007,
    DTZ011,
    DTZ012, and
    DTZ901) are no longer enabled by default,
    while 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)

    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)

  • Support Unicode dummy variable names (#​28722)

    The default lint.dummy-variable-rgx
    now recognizes underscore-prefixed Unicode names, such as _次, as dummy variables.

  • Update to Unicode 17 (#​21229, #​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)

    The default full output format now shows unsafe fixes and suggestions requiring manual review,
    regardless of the 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)

    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)

    Support for ruff-lsp, the legacy Python language server deprecated in Ruff
    v0.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.

Stabilization

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

The following behaviors have been stabilized:

  • The formatter, unsorted-imports (I001),
    line-too-long (E501), and
    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) 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)
  • [refurb] Mark fix unsafe and move to suspicious (FURB152) (#​28405)
  • [ruff] Allow docstrings in strict mode (RUF067) (#​28679)
Bug fixes
  • [flake8-builtins] Expand checks in class scopes (A001) (#​29076)
  • [flake8-self] Allow private access on object.__new__(cls) instances (SLF001) (#​29001)
  • [flake8-tidy-imports] Skip lazy-import-mismatch in stubs (TID254) (#​29095)
  • [flake8-type-checking] Add the notion of runtime-ambiguous references (#​26508)
  • [flake8-type-checking] Never flag annotations in function scopes (#​29183)
  • [pyflakes] Mark the fix as unsafe when it creates a docstring (F541) (#​28258)
  • [pylint] Preserve trailing comments in useless-return fix (PLR1711) (#​29180)
  • [ruff] Avoid false positive when pytest.raises is used in a with statement (RUF061) (#​28186)
Rule changes
  • [pyupgrade] Suggest typing.TypeForm on Python 3.15 (UP035) (#​29084)
Contributors
zizmorcore/zizmor (zizmor)

v1.31.1

Compare Source

Sponsorship is appreciated!

Bug Fixes 🐛🔗

v1.31.0

Compare Source

Sponsorship is appreciated!

Enhancements 🌱🔗

  • The typosquat-uses audit now supports pre-commit config inputs (#​2437)

  • The self-hosted-runner audit is now significantly more precise (#​2350)

    Many thanks to @​ubiratansoares for proposing and implementing this enhancement!

  • The dangerous-triggers audit now considers the issue_comment trigger fundamentally dangerous (#​2396)

  • zizmor is now aware of the image_version workflow trigger (#​2397)

  • The dangerous-triggers audit now produces more precise finding/diagnostic spans (#​2402)

  • The cache-poisoning audit is now aware of pnpm/setup (#​2409)

  • The unpinned-images audit now produces more precise findings when the user's workflow contains an indirect matrix (#​2395)

    Many thanks to @​ubiratansoares for proposing and implementing this enhancement!

  • The cache-poisoning audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none (#​2418)

  • The cache-poisoning audit now flags usages of cache-mode: write and cache-mode: write-only with dangerous triggers, i.e. triggers that give an attacker privileged code execution (#​2426)

  • zizmor now uses a tree-sitter grammar for PowerShell that's more precise/capable of capturing more non-trivial PowerShell expressions (#​2444)

Bug Fixes 🐛🔗

  • Fixed a class of false positives/imprecisions in adhoc-packages that caused some pnpm and yarn invocations to be misclassified as package installations (#​2386)

    Many thanks to @​marcalexiei for implementing this improvement!

  • Fixed a bug where zizmor would fail to honor Git submodules and worktrees when discovering configuration files relative to a repo root (#​2390)

  • Fixed a bug where the ref-version-mismatch audit would crash on unusually placed version comments (#​2394)

  • Fixed a bug where zizmor would fail to handle some pre-commit inputs that use prek extensions to the language_version and default_language_version keys (#​2413)

  • Fixed a bug where the use-trusted-publishing audit would fail to detect certain true-positive patterns inside of PowerShell blocks (#​2444)


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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@codecov

codecov Bot commented Oct 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@renovate
renovate Bot force-pushed the renovate/ci-python-tools branch 17 times, most recently from 05f4a5a to d99c9d5 Compare October 22, 2026 05:41
@renovate renovate Bot changed the title chore(deps): update dependency ruff to v0.17.0 chore(deps): update ci python tools Oct 22, 2026
@renovate

renovate Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: .github/python-deps/zizmor.txt
Command failed: pip-compile --generate-hashes --output-file=zizmor.txt --strip-extras zizmor.in
  ERROR: Ignored the following yanked versions: 1.27.0
  ERROR: Ignored the following versions that require a different python version: 1.31.0 Requires-Python >=3.11; 1.31.1 Requires-Python >=3.11; 1.32.0rc1 Requires-Python >=3.11
  ERROR: Could not find a version that satisfies the requirement zizmor==1.31.1 (from versions: 0.8.0, 0.9.0, 0.9.1, 0.9.2, 0.10.0, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 1.3.1, 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0rc1, 1.8.0rc2, 1.8.0, 1.9.0, 1.10.0, 1.11.0, 1.11.1rc1, 1.12.0, 1.12.1, 1.13.0, 1.14.0, 1.14.1, 1.14.2, 1.15.0, 1.15.1, 1.15.2, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.17.0, 1.18.0rc3, 1.18.0, 1.19.0, 1.20.0, 1.21.0, 1.22.0, 1.23.0rc1, 1.23.0rc5, 1.23.0rc6, 1.23.0rc7, 1.23.0, 1.23.1, 1.24.0rc2, 1.24.0rc3, 1.24.0, 1.24.1, 1.25.0, 1.25.1, 1.25.2, 1.26.0, 1.26.1, 1.28.0, 1.29.0, 1.30.0rc1, 1.30.0rc2, 1.30.0, 1.30.1)
Traceback (most recent call last):
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 434, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 151, in _add_to_criteria
    raise RequirementsConflicted(criterion)
pip._vendor.resolvelib.resolvers.exceptions.RequirementsConflicted: Requirements conflict: SpecifierRequirement('zizmor==1.31.1')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 103, in resolve
    result = self._result = resolver.resolve(
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 601, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 436, in resolve
    raise ResolutionImpossible(e.criterion.information) from e
pip._vendor.resolvelib.resolvers.exceptions.ResolutionImpossible: [RequirementInformation(requirement=SpecifierRequirement('zizmor==1.31.1'), parent=None)]

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/bin/pip-compile", line 6, in <module>
    sys.exit(cli())
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/click/core.py", line 1631, in __call__
    return self.main(*args, **kwargs)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/click/core.py", line 1552, in main
    rv = self.invoke(ctx)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/click/core.py", line 1415, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/click/core.py", line 910, in invoke
    return callback(*args, **kwargs)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/piptools/scripts/compile.py", line 509, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/piptools/resolver.py", line 642, in resolve
    is_resolved = self._do_resolve(
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/piptools/resolver.py", line 677, in _do_resolve
    resolver.resolve(
  File "/opt/containerbase/tools/pip-tools/7.6.2/3.10.22/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 112, in resolve
    raise error from e
pip._internal.exceptions.DistributionNotFound: No matching distribution found for zizmor==1.31.1

@renovate
renovate Bot force-pushed the renovate/ci-python-tools branch 3 times, most recently from 6ac0c8b to 72148f6 Compare October 23, 2026 20:35
@renovate renovate Bot changed the title chore(deps): update ci python tools chore(deps): update dependency zizmor to v1.31.1 Oct 23, 2026
@renovate
renovate Bot force-pushed the renovate/ci-python-tools branch from 72148f6 to 1ad6273 Compare October 24, 2026 01:47
@renovate renovate Bot changed the title chore(deps): update dependency zizmor to v1.31.1 chore(deps): update ci python tools Oct 24, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants