Bump ruff from 0.15.18 to 0.16.0 - #233
Conversation
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.18 to 0.16.0. - [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.18...0.16.0) --- 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>
🔵 Review postedLast updated: 2026-08-01 01:01 UTC |
rtibblesbot
left a comment
There was a problem hiding this comment.
PR #233 — dependency review: ruff 0.15.18 → 0.16.0, dev-only ([dependency-groups].dev), lockfile-only diff (21/21 lines in the ruff block, no new transitive deps).
Semver risk: 0.x minor — breaking under ruff's own versioning.
Breaking changes: the headline one is the default rule set expanding 59 → 413 rules. It does not apply here: pyproject.toml sets select = ["E", "F", "W", "C90", "I"], so defaults are never consulted, and the 18 rules dropped from defaults (E401, E402, E711, E712, E741, F403, F405, …) are still covered by the explicit E/F selectors. Also new: ruff format now formats Python code blocks in Markdown by default (0.16.0 walks 45 files vs 0.15.18's 42 — CHANGELOG.md, README.md, docs/README.md; all already conformant), and ruff: ignore comments (additive, unused here). No removed config options, no target-version impact.
Security fixes: none. Peer/transitive changes: none — ruff ships dependency-free wheels.
Compatibility: verified locally against this branch — ruff@0.16.0 check → all checks passed; ruff@0.16.0 format --check → 45 files already formatted. No code changes required.
CI: failing, but not from this bump. The Linting workflow fails on the rebuild-from-specs hook regenerating js/package.json 0.2.18 → 0.2.19 (setuptools-scm resolves a post-tag dev version on PR branches). All ruff-driven hooks passed in the same run. The identical failure reproduces on PR #230, which touches no Python tooling at all, and on #231/#232; main was last green at 3dc6503. Needs a separate fix (tag the release, or make version regeneration tolerate dev versions), not one inside this dependabot PR. Python tests was still queued at review time — worth a glance before merge.
Follow-up (out of scope): .pre-commit-config.yaml pins astral-sh/ruff-pre-commit at v0.15.7 and dependabot.yml registers no pre-commit ecosystem, so this bump only reaches make build — the hooks that actually gate CI stay on 0.15.7. Pre-existing skew, worth its own issue.
COMMENT rather than APPROVE solely because CI is red.
@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?
Ran a dependency-update review pipeline over the version bump:
- Classified the bump by semver (patch / minor / major) and dependency type (production vs. development)
- Extracted the changelog and release notes across the version range
- Assessed compatibility with this project's usage and whether any code changes are required
- Treated CI as the primary safety net
- Scaled the review depth to the update's risk
- Chose the verdict from semver risk, changelog findings, and CI status
Bumps ruff from 0.15.18 to 0.16.0.
Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
a2635fdBump 0.16.0 (#27136)3433449[ty] Reuse full call diagnostics for implicit setter calls (#27115)2240070Reflectruff: ignoreand--add-ignorestabilization in documentation (#27...17ef711Stabilize--add-ignore(#27125)ef912bbAdd newly stabilized rules to defaults (#27055)b30f040Stabilize new default rules (#27035)bcd70c5Exclude Markdown files fromformat-devruns (#27052)87e51e2Fixformat --checkspans 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)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)