Skip to content

Bump ruff from 0.15.20 to 0.16.1 - #53

Merged
finallyjay merged 3 commits into
mainfrom
dependabot/pip/ruff-0.16.0
Aug 3, 2026
Merged

Bump ruff from 0.15.20 to 0.16.1#53
finallyjay merged 3 commits into
mainfrom
dependabot/pip/ruff-0.16.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 26, 2026

Copy link
Copy Markdown
Contributor

Bumps ruff from 0.15.20 to 0.16.1.

Release notes

Sourced from ruff's releases.

0.16.1

Release Notes

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

... (truncated)

Changelog

Sourced from ruff's changelog.

0.16.1

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

... (truncated)

Commits
  • 80790b3 Bump 0.16.1 (#27330)
  • 63830f3 [ty] Borrow from constraint set storage less often (#27328)
  • f40dca9 [ty] Preserve forwarded expanded-variadic diagnostic sources (#27266)
  • 0d80497 Lint TOML files in the LSP (#26862)
  • d91586b Update prek dependencies (#27293)
  • 7da4b8b [ty] Respect bounds and constraints in generic materializations (#27228)
  • b20daf7 [ty] refactor: add helper function to send partial results (#27249)
  • 4d4c8fa [ty] Emit diagnostic when specializing a non-generic class (#26883)
  • 7c3e2db [ty] Fix enum class container assignability (#27318)
  • d5ef97f [flake8-return] Fix false positive when variable is read in finally claus...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Dependency updates python Pull requests that update python code labels Jul 26, 2026
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0616a996-ac0a-49dc-934d-020e0f0a3fcb

📥 Commits

Reviewing files that changed from the base of the PR and between e58c948 and 625ae46.

📒 Files selected for processing (2)
  • .pre-commit-config.yaml
  • requirements-dev.txt
🚧 Files skipped from review as they are similar to previous changes (2)
  • .pre-commit-config.yaml
  • requirements-dev.txt
📜 Recent review details
⏰ Context from checks skipped due to timeout. (2)
  • GitHub Check: Analyze (python)
  • GitHub Check: Analyze (actions)

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated the development linting tool to version 0.16.1.
    • Updated the pre-commit linting integration to version 0.16.1 for consistent code quality checks.

Walkthrough

Ruff is updated to version 0.16.1 in the development requirements and pre-commit configuration.

Changes

Ruff tooling update

Layer / File(s) Summary
Update Ruff tooling pins
requirements-dev.txt, .pre-commit-config.yaml
The Ruff development dependency changes from 0.15.20 to 0.16.1. The pre-commit repository revision changes from v0.15.17 to v0.16.1.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Suggested reviewers: finallyjay

Poem

A rabbit pins Ruff neat and bright,
The hook now hops to match the flight.
No code is changed, the trail stays clean,
Version sixteen keeps checks keen. 🐇

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the Ruff update but omits the required Summary, Changes, Test plan, and Related issues sections. Use the repository template and add the required sections, including a concise change list, test plan, and related issue status.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the Ruff dependency update from version 0.15.20 to 0.16.1.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/pip/ruff-0.16.0

Comment @coderabbitai help to get the list of available commands.

@coderabbitai
coderabbitai Bot requested a review from finallyjay July 26, 2026 05:03
coderabbitai[bot]
coderabbitai Bot previously requested changes Jul 26, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@requirements-dev.txt`:
- Line 5: Update the Ruff version pin in the pre-commit configuration to v0.16.0
so the astral-sh/ruff-pre-commit hook matches the ruff==0.16.0 dependency in
requirements-dev.txt.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e7e0ac6e-25fd-4e70-81a7-37869dfada7d

📥 Commits

Reviewing files that changed from the base of the PR and between f0f6a92 and 76ebee7.

📒 Files selected for processing (1)
  • requirements-dev.txt

Comment thread requirements-dev.txt Outdated
pytest-cov==7.1.0
responses==0.26.1
ruff==0.15.20
ruff==0.16.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

set -e
printf '\n== requirements-dev.txt ==\n'
cat -n requirements-dev.txt
printf '\n== .pre-commit-config.yaml ==\n'
cat -n .pre-commit-config.yaml
printf '\n== CI/workflow Ruff references ==\n'
rg -n "ruff|pre-commit|requirements-dev" .github . -g '!**/.git/**'

Repository: finallyjay/packagist-tracker

Length of output: 2146


🏁 Script executed:

set -e
git ls-files 'requirements-dev.txt' '.pre-commit-config.yaml' '.github/**' | sed -n '1,200p'

Repository: finallyjay/packagist-tracker

Length of output: 373


🏁 Script executed:

set -e
printf 'root:%s\n' "$PWD"
ls -1

Repository: finallyjay/packagist-tracker

Length of output: 371


Align the Ruff pre-commit hook with requirements-dev.txt. .pre-commit-config.yaml still pins astral-sh/ruff-pre-commit to v0.15.17 while requirements-dev.txt uses ruff==0.16.0, so local hooks and CI run different Ruff versions. Bump the hook to v0.16.0.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@requirements-dev.txt` at line 5, Update the Ruff version pin in the
pre-commit configuration to v0.16.0 so the astral-sh/ruff-pre-commit hook
matches the ruff==0.16.0 dependency in requirements-dev.txt.

@dependabot dependabot Bot changed the title Bump ruff from 0.15.20 to 0.16.0 Bump ruff from 0.15.20 to 0.16.1 Aug 3, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/ruff-0.16.0 branch 3 times, most recently from 6f1f84a to c31c597 Compare August 3, 2026 09:29
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.20 to 0.16.1.
- [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.20...0.16.1)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/ruff-0.16.0 branch from c31c597 to 45f270c Compare August 3, 2026 09:36
Dependabot bumps requirements-dev.txt but not the matching hook rev, so
the two drift and pre-commit lints with a different ruff than CI.

Pins the hook to v0.16.1 to match ruff==0.16.1. Note the drift predates
this PR: main had ruff==0.15.20 against rev v0.15.17.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@finallyjay

Copy link
Copy Markdown
Owner

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

# Conflicts:
#	requirements-dev.txt
@finallyjay
finallyjay dismissed coderabbitai[bot]’s stale review August 3, 2026 09:59

Requested change has been made. The ruff pre-commit hook rev was synced to v0.16.1 to match ruff==0.16.1, and main's mypy==2.3.0 / rev v2.3.0 was merged in. All four values now agree; all 7 checks pass, including CodeRabbit's own. Dismissing as stale — the review predates the fix by 8 days.

@finallyjay
finallyjay merged commit 0df7fdb into main Aug 3, 2026
7 checks passed
@finallyjay
finallyjay deleted the dependabot/pip/ruff-0.16.0 branch August 3, 2026 10:00
finallyjay added a commit that referenced this pull request Aug 3, 2026
## The problem

Dependabot bumps `requirements-dev.txt` but has never touched
`.pre-commit-config.yaml`. The two drift, and pre-commit ends up linting
and type-checking with different versions than CI.

This is not hypothetical — it is what blocked **#53** and **#49** since
July. CodeRabbit flagged both, correctly, and they sat there. The drift
predates them too: `main` had `ruff==0.15.20` pinned against hook `rev:
v0.15.17`.

| | `requirements-dev.txt` | hook rev (before) |
|---|---|---|
| ruff | 0.16.1 | v0.15.17 |
| mypy | 2.3.0 | v2.1.0 |

Two minors apart for mypy is enough for the two to disagree on what
type-checks — you pass locally and fail in CI, or the reverse.

## The fix

Adds the `pre-commit` ecosystem so Dependabot maintains the hook revs
alongside the pip pins:

```yaml
  - package-ecosystem: pre-commit
    directory: "/"
    schedule:
      interval: weekly
```

`pre-commit` is a [supported
ecosystem](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference);
`directory: "/"` points at the repo-root `.pre-commit-config.yaml`. YAML
validated, all four ecosystems parse: `pip, docker, github-actions,
pre-commit`.

This stops the drift recurring. #53 and #49 have had their revs synced
by hand in their own branches.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant