chore(deps): update dependency ruff to v0.16.4 - #245
Conversation
There was a problem hiding this comment.
LGTM — trivial dev-dependency bump.
Extended reasoning...
Overview
This PR only touches requirements-dev.txt, bumping the pinned ruff version from 0.15.21 to 0.15.22 (an autogenerated pip-compile lockfile change). No source code, application logic, or dependency tree structure changes.
Security risks
None. Ruff is a dev-only linting tool, not part of the runtime dependency graph, so this doesn't affect production code paths or attack surface.
Level of scrutiny
Minimal scrutiny is appropriate — this is a routine patch-level bump of a dev tool, generated by Renovate/pip-compile, with only the single version line changed.
Other factors
No CODEOWNER-sensitive paths, no logic changes, no tests needed. Safe to approve without human review.
38b5cea to
057e801
Compare
There was a problem hiding this comment.
An organization admin can view or raise the cap at claude.ai/admin-settings/claude-code. The cap resets at the start of the next billing period.
Once the cap resets or is raised, push a new commit or reopen this pull request to trigger a review.
057e801 to
38b5cea
Compare
38b5cea to
05109c8
Compare
There was a problem hiding this comment.
Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.
Once credits are available, push a new commit or reopen this pull request to trigger a review.
05109c8 to
59f06bc
Compare
There was a problem hiding this comment.
LGTM — trivial dev-dependency bump (ruff 0.15.22 → 0.16.2), no runtime impact.
Extended reasoning...
Overview
This PR only touches requirements-dev.txt, an autogenerated pip-compile lockfile, bumping the ruff dev/lint dependency from 0.15.22 to 0.16.2 (and its transitive pin comment). No application source files, no runtime dependencies, and no CI/config files are modified.
Security risks
None. ruff is a linter used only in development/CI, not shipped as part of the pyUSPTO package or executed against untrusted input at runtime. The change is a single version pin bump with no other diff.
Level of scrutiny
Minimal scrutiny is warranted — this is a mechanical, Renovate-generated dependency bump to a single line in a lockfile. Ruff 0.16.x does expand its default rule set significantly, which could surface new lint findings in a future ruff check run, but that would fail visibly in CI/local dev rather than silently breaking anything, and does not affect correctness of the shipped library.
Other factors
File is autogenerated (pip-compile) so there's no hand-written logic to review. No prior review comments on this PR to reconcile. Bug hunting system found no issues.
59f06bc to
97de051
Compare
There was a problem hiding this comment.
LGTM — routine dev-tool version bump with no code or behavior impact.
What was reviewed: the single-line change to requirements-dev.txt bumping ruff from 0.15.22 to 0.16.3 (a dev/lint-only dependency, not shipped to users). No other files are touched.
Extended reasoning...
Overview
This PR is an autogenerated Renovate dependency update that bumps ruff (the dev-only linter/formatter) from 0.15.22 to 0.16.3 in requirements-dev.txt. It is a one-line diff in a pip-compile-generated lockfile; no application source code is touched.
Security risks
None. ruff is a development-time linting/formatting tool, not a runtime dependency shipped with the package. It has no code path that touches user data, auth, crypto, or network I/O in production. The changelog entries (mostly new lint rules, bug fixes to existing rules, and performance work) present no supply-chain or security concern beyond the standard trust already placed in this well-known, widely-adopted tool from Astral.
Level of scrutiny
Minimal scrutiny is appropriate here — this is a mechanical lockfile bump for a dev tool, auto-generated by Renovate/pip-compile, with no ambiguity or design decisions involved.
Other factors
The diff is a single line, the file is machine-generated, and the bug-hunting pass found no issues. There are no outstanding comments on the PR to address. A version bump like this could theoretically change lint behavior (ruff 0.16.0 significantly expanded its default rule set), which could cause CI to fail if new lint violations are surfaced — but that would show up immediately in CI rather than being a latent risk, so it doesn't warrant blocking approval here.
97de051 to
511cb9e
Compare
There was a problem hiding this comment.
LGTM — trivial dev-dependency version bump.
What was reviewed: the only change is bumping the pinned ruff version in requirements-dev.txt from 0.15.22 to 0.16.4 (a lockfile entry generated by pip-compile). No source code, CI config, or runtime dependencies are affected.
Extended reasoning...
Overview
Single-line change to requirements-dev.txt, an autogenerated pip-compile lockfile, bumping the pinned ruff dev dependency from 0.15.22 to 0.16.4. This is a standard Renovate-generated dependency update PR with no other files touched.
Security risks
None. ruff is a dev-only linting tool, not a runtime dependency, and the change is just a version pin bump in a lockfile.
Level of scrutiny
Minimal scrutiny is appropriate — this is a mechanical, autogenerated lockfile change with no logic, config, or behavioral changes to review. Renovate/Mend already reports high compatibility/confidence badges for this update.
Other factors
No prior comments or reviews on this PR that need addressing. No bugs were found by the bug hunting system, consistent with the trivial nature of the diff.
This PR contains the following updates:
==0.15.22→==0.16.4Release Notes
astral-sh/ruff (ruff)
v0.16.4Compare Source
Released on 2026-08-20.
Preview features
flake8-use-pathlib] Add autofix forPTH116(#26460)refurb] Restrictdelete-full-sliceto lists (FURB131) (#27711)refurb] SkipFURB101andFURB103when theopenargument is a file descriptor (#27643)Bug fixes
InvalidInstructionon Windows CPUs that do not supportPOPCNT(#27803)pyflakes] Emit semantic syntax errors in string type definitions asF722(#27835)pylint] Allowos._exitimports inimport-private-name(PLC2701) (#27738)Rule changes
ruff] Addctypes.LittleEndianStructureand related types to existing exception (RUF012) (#27753)nonlocal(#27628)Server
Documentation
Other changes
Contributors
v0.16.3Compare Source
Released on 2026-08-13.
Preview features
pylint] Fix false negatives on negative numbers (PLR6104) (#27251)pyupgrade] Add rule to replacewhile 1withwhile True(UP048) (#27190)Bug fixes
flake8-bandit] Also check keyword arguments (S602,S603,S607,S609) (#27687)pylint] Allowcontinueinfinallyon Python 3.8 (#27626)pylint] FixPLE1307false positive with bools (#27651)pylint] Fix false positives and negatives with%bformat character (PLE1300,PLE1307) (#27560)pylint] Improve handling of concatenated strings (PLE1300) (#27659)Rule changes
numpy] Makenp.chararrayautofix backwards-compatible (NPY201) (#27527)Performance
Exprsize to 64 bytes (#27591)CLI
ruff check --statisticsoutput (#27646)Documentation
ruff] Also suggestasyncio.TaskGroup(RUF006) (#27461)Other changes
Contributors
v0.16.2Compare Source
Released on 2026-08-06.
Bug fixes
flake8-pyi] Avoid false positives onsingledispatchfunctions (PYI041) (#27335)Server
Contributors
v0.16.1Compare Source
Released on 2026-07-30.
Preview features
flake8-pytest-style] Make fixes safe by default and unsafe only when comments are present (PT018) (#27201)pyupgrade] Skip fix when a defaultedTypeVarprecedes a non-defaulted one (UP040,UP046,UP047) (#27133)ruff] Fix false positive with unpacked arguments (RUF065) (#26959)Bug fixes
gen-lsp-typesto gracefully handle unknown enumeration values in LSP messages (#27230)flake8-bugbear] Markrangeas immutable (B008) (#27247)flake8-comprehensions] NFKC-normalize keyword names inC408fix (#26813)flake8-return] Fix false positive when variable is read infinallyclause (RET504) (#25441)pydocstyle] Skip section detection inside RST directive bodies (D214,D405,D413) (#23635)refurb] Parenthesizeyieldarguments in theFURB192fix (#27192)Rule changes
flake8-pytest-style] MarkPT022fixes as unsafe (#26440)refurb] Mark fixes that remove unknown separators as unsafe (FURB105) (#27200)Server
Documentation
pyconMarkdown formatting (#27153)flake8-bandit] DocumentTYPE_CHECKINGexception (S101) (#27004)flake8-import-conventions] Document thatextend-aliasescan override default aliases (#27191)pylint] Add missing fix safety gotchas fornon-augmented-assignment(PLR6104) (#27250)Other changes
Contributors
v0.16.0Compare 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: ignorecomments at the ends of lines, likenoqacomments, or on the line preceding a diagnostic. For example, these both suppress anunused-import(F401) diagnostic:Fixes are now shown in
checkandformat --checkoutput:This example also shows off the Markdown formatting.
format --checknow supports the same output formats as the linter, including thegithubandgitlaboutputs for rendering annotations in CI:See the CLI help or documentation for the
full list of supported formats.
The
filename,location,end_location,fix.edits[].location, andfix.edits[].end_locationfields in the JSON output format may now be
nullrather than defaulting to the empty string androw 1, column 1, respectively.
Stabilization
The following rules have been stabilized and are no longer in preview:
airflow3-incompatible-function-signature(
AIR303)missing-copyright-notice(
CPY001)unnecessary-from-float(FURB164)sorted-min-max(FURB192)implicit-string-concatenation-in-collection-literal(
ISC004)log-exception-outside-except-handler(
LOG004)invalid-bool-return-type(
PLE0304)too-many-positional-arguments(
PLR0917)stop-iteration-return(PLR1708)none-not-at-end-of-union(
RUF036)access-annotations-from-class-dict(
RUF063)duplicate-entry-in-dunder-all(
RUF068)The following behaviors have been stabilized:
blind-except(BLE001) is now suppressed whenthe exception is logged via
loggingmethods other thancritical,errorandexception.future-required-type-annotation(
FA102) now checks for additional PEP 585-compatibleAPIs, such as those from
collections.abc.f-string-in-get-text-func-call(
INT001),format-in-get-text-func-call(
INT002), andprintf-in-get-text-func-call(
INT003) now check for additional common ways of using thegettextmodule, such as assigningit to
builtins._.suspicious-url-open-usage(
S310) now resolves local string literal bindings to avoid more false positives.snmp-insecure-version(S508) andsnmp-weak-cryptography(S509) nowsupport the recommended API from newer versions of PySNMP.
typing-text-str-alias(UP019) nowrecognizes
typing_extensions.Textin addition totyping.Text.Preview features
pyupgrade] Fix false positive withTypeVardefault before Python 3.13 (UP040) (#26888)Bug fixes
ruff] Fix missing check on unrecognized early bound (RUF016) (#26986)Rule changes
Performance
pyupgrade] Speed upunnecessary-future-import(UP010) (#27047)Documentation
ruff] Add missing period in "Why is this bad?" section (RUF200) (#26930)flake8-simplify] Clarifyos.environbehavior on Windows (SIM112) (#26972)pydocstyle] Document fix safety (D400) (#26971)Contributors
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.