Skip to content

chore(deps): update ruff requirement from ==0.15.* to ==0.16.* - #1304

Open
dependabot[bot] wants to merge 2 commits into
mainlinefrom
dependabot/pip/ruff-eq-0.16.star
Open

dependabot[bot] wants to merge 2 commits into
mainlinefrom
dependabot/pip/ruff-eq-0.16.star

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 24, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Updates the requirements on ruff to permit the latest version.

Release notes

Sourced from ruff's releases.

0.16.0

Release Notes

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. Note that this is primarily an expansion, but 18 of the more opinionated pycodestyle (E) and pyflakes (F) rules have been removed from the default set: E401, E402, E701, E702, E703, E711, E712, E713, E714, E721, E731, E741, E742, E743, F403, F405, F406, and F722.

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

... (truncated)

Changelog

Sourced from ruff's changelog.

0.16.0

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. Note that this is primarily an expansion, but 18 of the more opinionated pycodestyle (E) and pyflakes (F) rules have been removed from the default set: E401, E402, E701, E702, E703, E711, E712, E713, E714, E721, E731, E741, E742, E743, F403, F405, F406, and F722.

  • 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:

... (truncated)

Commits
  • a2635fd Bump 0.16.0 (#27136)
  • 3433449 [ty] Reuse full call diagnostics for implicit setter calls (#27115)
  • 2240070 Reflect ruff: ignore and --add-ignore stabilization in documentation (#27...
  • 17ef711 Stabilize --add-ignore (#27125)
  • ef912bb Add newly stabilized rules to defaults (#27055)
  • b30f040 Stabilize new default rules (#27035)
  • bcd70c5 Exclude Markdown files from format-dev runs (#27052)
  • 87e51e2 Fix format --check spans for syntax errors (#27045)
  • afe2723 [flake8-gettext] Stabilize qualified-name and built-in binding resolution (...
  • a9702d8 [flake8-bandit] Stabilize string literal binding resolution (S310) (#26944)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jul 24, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner July 24, 2026 06:44
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jul 24, 2026
@github-actions github-actions Bot added the waiting-on-maintainers Waiting on the maintainers to review. label Jul 24, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/ruff-eq-0.16.star branch from 8162393 to 430867c Compare July 27, 2026 15:48
@dependabot
dependabot Bot force-pushed the dependabot/pip/ruff-eq-0.16.star branch from 430867c to 6ac9476 Compare July 28, 2026 19:51
Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.0...0.16.0)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/ruff-eq-0.16.star branch from 6ac9476 to 860cebf Compare July 28, 2026 20:12
Comment thread requirements-testing.txt
mypy == 2.3.*; python_version > "3.9"
mypy == 1.19.*; python_version <= "3.9"
ruff == 0.15.*
ruff == 0.16.*

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This bump makes hatch run lint fail.

The "Run Linting" step failed on this head SHA (Python (macos-latest, 3.11); the rest of the matrix was cancelled after the first failure). The base commit ec233d6 passed lint on every matrix job, so the ruff pin is the cause, not a pre-existing break.

With the resolved version (ruff 0.16.7), ruff check . reports:

Found 1856 errors.
[*] 400 fixable with the `--fix` option (1060 hidden fixes can be enabled with the `--unsafe-fixes` option).

The violations come from rule families this repo never selected. [tool.ruff.lint] only sets extend-select = ["RUF022", "E402", "TID251"] / ignore = ["E501"], so the effective set should be ruff's defaults (E4, E7, E9, F). Instead the top offenders are:

count rule
373 UP045
322 UP006
119 UP035
95 BLE001
46 RUF012
41 SIM117
35 DTZ001
20 RUF100

None of UP*, BLE*, SIM*, DTZ* are in the default set, which points at 0.16 resolving a much broader select under the same config rather than 1856 genuine new defects. Worth establishing what changed about default rule selection before landing this.

Two things that would make the bump safe:

  • Pin an explicit select in [tool.ruff.lint] so the enabled set no longer depends on whatever ruff ships as its default — the same defensive reasoning the existing comment at pyproject.toml:131-133 already applies to E402.
  • Be careful with --fix as a shortcut here: the 20 RUF100 (unused noqa) hits mean existing suppressions are being judged against the new rule set, so an automated fix pass would strip noqa comments that are still load-bearing under the intended config.

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

dependencies Pull requests that update a dependency file python Pull requests that update Python code waiting-on-maintainers Waiting on the maintainers to review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant