chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore(deps): update dependency ruff to v0.16.5 - #77

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x
Open

chore(deps): update dependency ruff to v0.16.5#77
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ruff-0.x

Conversation

@renovate

@renovaterenovateBot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageChangeAgeConfidence
ruff (source, changelog)==0.15.22==0.16.5ageconfidence

Release Notes

astral-sh/ruff (ruff)

v0.16.5

Compare Source

Released on 2026-08-27.

Preview features
Bug fixes
  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#​28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#​28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#​28000)
Server
  • Fix duplicated "of" in ClientOptions doc comment (#​27978)
Documentation
  • Document rule acceptance guidelines (#​27910)
  • Document the new category selectors (#​27906)
Contributors

v0.16.4

Compare Source

Released on 2026-08-20.

Preview features
  • [flake8-use-pathlib] Add autofix for PTH116 (#​26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#​27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#​27643)
Bug fixes
  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#​27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#​27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#​27738)
Rule changes
  • [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 (#​27766)
  • [ruff] Add ctypes.LittleEndianStructure and related types to existing exception (RUF012) (#​27753)
  • [syntax-errors] Detect duplicate keyword arguments (#​17804)
  • [syntax-errors] Detect parameters declared nonlocal (#​27628)
Server
  • Offer display-only fixes and mark safe fixes preferred (#​27807)
  • Support pull diagnostics for notebook cells (#​27779)
Documentation
  • Add default indicator to rules table (#​27724)
  • Fix broken link to Python docs (#​27757)
Other changes
  • Fix s390x stacker assembly in release builds (#​27776)
  • Guarantee minimum stack size when parsing a module, standalone expression, and suites (#​25464)
  • Reduce configuration deserialization code size (#​27924)
  • Check packed AST index bounds (#​27849)
Contributors

v0.16.3

Compare Source

Released on 2026-08-13.

Preview features
  • [pylint] Fix false negatives on negative numbers (PLR6104) (#​27251)
  • [pyupgrade] Add rule to replace while 1 with while True (UP048) (#​27190)
Bug fixes
  • [flake8-bandit] Also check keyword arguments (S602, S603, S607, S609) (#​27687)
  • [pylint] Allow continue in finally on Python 3.8 (#​27626)
  • [pylint] Fix PLE1307 false positive with bools (#​27651)
  • [pylint] Fix false positives and negatives with %b format character (PLE1300, PLE1307) (#​27560)
  • [pylint] Improve handling of concatenated strings (PLE1300) (#​27659)
Rule changes
  • [numpy] Make np.chararray autofix backwards-compatible (NPY201) (#​27527)
Performance
  • Enable PGO for Linux x86-64 Ruff releases (#​27570)
  • Enable PGO for Linux ARM64 Ruff releases (#​27574)
  • Enable PGO for Windows x86-64 Ruff releases (#​27573)
  • Enable PGO for macOS ARM64 Ruff releases (#​27572)
  • Reduce Expr size to 64 bytes (#​27591)
CLI
  • Hyperlink rule codes in ruff check --statistics output (#​27646)
Documentation
  • [ruff] Also suggest asyncio.TaskGroup (RUF006) (#​27461)
Other changes
Contributors

v0.16.2

Compare Source

Released on 2026-08-06.

Bug fixes
  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#​27335)
Server
  • Register formatting capabilities dynamically to exclude TOML files (#​27332)
Contributors

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:

    importmath# ruff: ignore[F401]# ruff: ignore[F401]importos
  • 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 math2 + import math3 | ``` |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

renovateBot commented Aug 29, 2026

Copy link
Copy Markdown
ContributorAuthor

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


  • Branch has one or more failed status checks

@renovaterenovateBot added the 🤖 dependencies Pull requests that update a dependency file label Aug 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants