Skip to content

chore(deps): update dependency ruff to v0.16.1 - #1662

Merged
renovate[bot] merged 4 commits into
mainfrom
renovate/ruff
Aug 3, 2026
Merged

chore(deps): update dependency ruff to v0.16.1#1662
renovate[bot] merged 4 commits into
mainfrom
renovate/ruff

Conversation

@renovate

@renovate renovate Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
ruff (source, changelog) ==0.15.22==0.16.1 age confidence

Release Notes

astral-sh/ruff (ruff)

v0.16.1

Compare Source

Released on 2026-07-30.

Preview features
  • Add an option to opt out of human-readable names (#​27160)
  • [flake8-pytest-style] Make fixes safe by default and unsafe only when comments are present (PT018) (#​27201)
  • [pyupgrade] Skip fix when a defaulted TypeVar precedes a non-defaulted one (UP040, UP046, UP047) (#​27133)
  • [ruff] Fix false positive with unpacked arguments (RUF065) (#​26959)
Bug fixes
  • Bump gen-lsp-types to gracefully handle unknown enumeration values in LSP messages (#​27230)
  • [flake8-bugbear] Mark range as immutable (B008) (#​27247)
  • [flake8-comprehensions] NFKC-normalize keyword names in C408 fix (#​26813)
  • [flake8-return] Fix false positive when variable is read in finally clause (RET504) (#​25441)
  • [pydocstyle] Skip section detection inside RST directive bodies (D214, D405, D413) (#​23635)
  • [refurb] Parenthesize yield arguments in the FURB192 fix (#​27192)
Rule changes
  • [flake8-pytest-style] Mark PT022 fixes as unsafe (#​26440)
  • [refurb] Mark fixes that remove unknown separators as unsafe (FURB105) (#​27200)
Server
  • Fix indexing of excluded nested Ruff workspaces (#​27303)
  • Lint TOML files in the LSP (#​26862)
Documentation
  • Cover pycon Markdown formatting (#​27153)
  • [flake8-bandit] Document TYPE_CHECKING exception (S101) (#​27004)
  • [flake8-import-conventions] Document that extend-aliases can override default aliases (#​27191)
  • [pylint] Add missing fix safety gotchas for non-augmented-assignment (PLR6104) (#​27250)
Other changes
  • Reduce syntax error noise by swallowing dedents like indents (#​27170)
  • Vendor latest annotate-snippets (#​27033)
Contributors

v0.16.0

Compare Source

Released on 2026-07-23.

Check out the blog post for a migration
guide and overview of the changes!

Breaking changes
  • Ruff now enables a much larger set of rules by default (413, up from 59). See the blog post for
    more details and the new Default Rules page for a
    full listing of the enabled rules.

  • Ruff can now format Python code blocks in Markdown files and will do this by default. See the
    documentation for more details.

  • Ruff now supports ruff: ignore comments at the ends of lines, like noqa comments, or on the line preceding a diagnostic. For example, these both suppress an unused-import (F401) diagnostic:

    import math  # ruff: ignore[F401]
    
    # ruff: ignore[F401]
    import os
  • Fixes are now shown in check and format --check output:

    ruff format --check .
    unformatted: File would be reformatted
     --> try.md:1:1
      |
    1 | ```python
      - import   math
    2 + import math
    3 | ```
      |
    
    1 file would be reformatted

    This example also shows off the Markdown formatting.

  • format --check now supports the same output formats as the linter, including the github and
    gitlab outputs for rendering annotations in CI:

    ruff format --check --output-format github .
    ::error title=ruff (unformatted),file=try.md,line=2,col=8,endLine=2,endColumn=10::try.md:2:8: unformatted: File would be reformatted

    See the CLI help or documentation for the
    full list of supported formats.

  • The filename, location, end_location, fix.edits[].location, and fix.edits[].end_location
    fields in the JSON output format may now be null rather than defaulting to the empty string and
    row 1, column 1, respectively.

Stabilization

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

The following behaviors have been stabilized:

Preview features
  • [pyupgrade] Fix false positive with TypeVar default before Python 3.13 (UP040) (#​26888)
Bug fixes
  • [ruff] Fix missing check on unrecognized early bound (RUF016) (#​26986)
Rule changes
  • Insert a space after the colon in Ruff suppression comments (#​27123)
Performance
  • [pyupgrade] Speed up unnecessary-future-import (UP010) (#​27047)
Documentation
  • [ruff] Add missing period in "Why is this bad?" section (RUF200) (#​26930)
  • [flake8-simplify] Clarify os.environ behavior on Windows (SIM112) (#​26972)
  • [pydocstyle] Document fix safety (D400) (#​26971)
Contributors

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.


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

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

@renovate
renovate Bot enabled auto-merge (squash) July 23, 2026 21:55
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74%. Comparing base (0027fc1) to head (183dac6).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@         Coverage Diff          @@
##           main   #1662   +/-   ##
====================================
  Coverage    74%     74%           
====================================
  Files        36      36           
  Lines      4042    4042           
====================================
  Hits       3010    3010           
  Misses     1032    1032           
Flag Coverage Δ
examples 37% <100%> (ø)
tests 73% <100%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@renovate
renovate Bot force-pushed the renovate/ruff branch 2 times, most recently from ce388f1 to 4a16aec Compare July 30, 2026 20:57
@renovate renovate Bot changed the title chore(deps): update dependency ruff to v0.16.0 chore(deps): update dependency ruff to v0.16.1 Jul 30, 2026
@renovate
renovate Bot force-pushed the renovate/ruff branch 2 times, most recently from cbbfa72 to f656c87 Compare July 31, 2026 03:50
@renovate
renovate Bot force-pushed the renovate/ruff branch from f656c87 to adfc446 Compare August 3, 2026 03:38
Bring the pinned hook revisions up to date, notably ruff which had
fallen behind the version pinned in the project dependency groups.

Assisted-by: Claude Code:claude-opus-5[1m]
Ruff 0.16 promotes several rules to stable and extends the formatter to
code blocks embedded in Markdown.

Copyright notices are not required in this project, so CPY001 is ignored
globally. It is referenced by its specific code rather than the CPY
prefix so that any future copyright rules can be assessed on their own
merits.

BodyTypeMismatch is only ever constructed from deserialised JSON, so its
body arguments are made keyword-only to satisfy PLR0917. The remaining
PLR0917 sites mirror the C API one-to-one and so have their arity
dictated externally; they are suppressed individually alongside the
PLR0913 suppressions they already carried.

Assisted-by: Claude Code:claude-opus-5[1m]
The hook invokes the root environment, but was being handed every Python
file in the repository. Files belonging to the sub-projects were checked
without their dependencies available, and passing the generated protobuf
modules explicitly caused mypy to read them instead of their stubs. Both
produced errors that could not be resolved from the root environment, so
the hook failed on every push regardless of the change being made.

The sub-projects remain covered by their own type check environments.

Assisted-by: Claude Code:claude-opus-5[1m]
@renovate

renovate Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@renovate
renovate Bot merged commit 7d4c025 into main Aug 3, 2026
41 checks passed
@renovate
renovate Bot deleted the renovate/ruff branch August 3, 2026 04:49
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.

1 participant