renovate[bot]
9db3d704d8
Update dependency mdformat-mkdocs to v5.1.2 ( #22695 )
2026-01-18 20:56:56 -05:00
renovate[bot]
371d60cff1
Update dependency ruff to v0.14.13 ( #22697 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff )
([source](https://redirect.github.com/astral-sh/ruff ),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md ))
| `==0.14.11` → `==0.14.13` |

|

|
---
### Release Notes
<details>
<summary>astral-sh/ruff (ruff)</summary>
###
[`v0.14.13`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01413 )
Released on 2026-01-15.
This is a follow-up release to 0.14.12. Because of an issue publishing
the WASM packages, there is no GitHub release or Git tag for 0.14.12,
although the package was published to PyPI. The contents of the 0.14.13
release are identical to 0.14.12.
###
[`v0.14.12`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01412 )
Released on 2026-01-15.
##### Preview features
- \[`flake8-blind-except`] Allow more logging methods (`BLE001`)
([#​22057](https://redirect.github.com/astral-sh/ruff/pull/22057 ))
- \[`ruff`] Respect `lint.pydocstyle.property-decorators` in `RUF066`
([#​22515](https://redirect.github.com/astral-sh/ruff/pull/22515 ))
##### Bug fixes
- Fix configuration path in `--show-settings`
([#​22478](https://redirect.github.com/astral-sh/ruff/pull/22478 ))
- Respect `fmt: skip` for multiple statements on the same logical line
([#​22119](https://redirect.github.com/astral-sh/ruff/pull/22119 ))
##### Rule changes
- \[`pydocstyle`] Update Rust crate imperative to v1.0.7 (`D401`)
([#​22519](https://redirect.github.com/astral-sh/ruff/pull/22519 ))
- \[`isort`] Insert imports in alphabetical order (`I002`)
([#​22493](https://redirect.github.com/astral-sh/ruff/pull/22493 ))
##### Documentation
- Add llms.txt support for documentation
([#​22463](https://redirect.github.com/astral-sh/ruff/pull/22463 ))
- Use prek in documentation and CI
([#​22505](https://redirect.github.com/astral-sh/ruff/pull/22505 ))
- \[`flake8-pytest-style`] Add `check` parameter example to `PT017` docs
([#​22546](https://redirect.github.com/astral-sh/ruff/pull/22546 ))
- \[`ruff`] Make example error out-of-the-box (`RUF103`)
([#​22558](https://redirect.github.com/astral-sh/ruff/pull/22558 ))
- \[`ruff`] document `RUF100` trailing comment fix behavior
([#​22479](https://redirect.github.com/astral-sh/ruff/pull/22479 ))
##### Other changes
- wasm: Require explicit logging initialization
([#​22587](https://redirect.github.com/astral-sh/ruff/pull/22587 ))
##### Contributors
- [@​terror](https://redirect.github.com/terror )
- [@​harupy](https://redirect.github.com/harupy )
- [@​Jkhall81](https://redirect.github.com/Jkhall81 )
- [@​dhruvmanila](https://redirect.github.com/dhruvmanila )
- [@​lubaskinc0de](https://redirect.github.com/lubaskinc0de )
- [@​zanieb](https://redirect.github.com/zanieb )
- [@​MeGaGiGaGon](https://redirect.github.com/MeGaGiGaGon )
- [@​charliermarsh](https://redirect.github.com/charliermarsh )
- [@​renovate](https://redirect.github.com/renovate )
- [@​dylwil3](https://redirect.github.com/dylwil3 )
- [@​MichaReiser](https://redirect.github.com/MichaReiser )
- [@​11happy](https://redirect.github.com/11happy )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/ruff ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-19 01:01:25 +00:00
Brent Westbrook
fd9f87d02d
Bump 0.14.13 ( #22604 )
2026-01-15 12:53:20 -05:00
Brent Westbrook
f9dd973b13
Bump 0.14.12 ( #22602 )
2026-01-15 10:41:03 -05:00
renovate[bot]
eab41d5a4c
Update dependency ruff to v0.14.11 ( #22517 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 08:52:14 +01:00
Dylan
880513a013
Respect fmt: skip for multiple statements on same logical line ( #22119 )
...
This PR adjusts the logic for skipping formatting so that a `fmt: skip`
can affect multiple statements if they lie on the same line.
Specifically, a `fmt: skip` comment will now suppress all the statements
in the suite in which it appears whose range intersects the line
containing the skip directive. For example:
```python
x=[
'1'
];x=2 # fmt: skip
```
remains unchanged after formatting.
(Note that compound statements are somewhat special and were handled in
a previous PR - see #20633 ).
Closes #17331 and #11430 .
Simplest to review commit by commit - the key diffs of interest are the
commit introducing the core logic, and the diff between the snapshots
introduced in the last commit (compared to the second commit).
# Implementation
On `main` we format a suite of statements by iterating through them. If
we meet a statement with a leading or trailing (own-line)`fmt: off`
comment, then we suppress formatting until we meet a `fmt: on` comment.
Otherwise we format the statement using its own formatting rule.
How are `fmt: skip` comments handled then? They are handled internally
to the formatting of each statement. Specifically, calling `.fmt` on a
statement node will first check to see if there is a trailing,
end-of-line `fmt: skip` (or `fmt: off`/`yapf: off`), and if so then
write the node with suppressed formatting.
In this PR we move the responsibility for handling `fmt: skip` into the
formatting logic of the suite itself. This is done as follows:
- Before beginning to format the suite, we do a pass through the
statements and collect the data of ranges with skipped formatting. More
specifically, we create a map with key given by the _first_ skipped
statement in a block and value a pair consisting of the _last_ skipped
statement and the _range_ to write verbatim.
- We iterate as before, but if we meet a statement that is a key in the
map constructed above, we pause to write the associated range verbatim.
We then advance the iterator to the last statement in the block and
proceed as before.
## Addendum on range formatting
We also had to make some changes to range formatting in order to support
this new behavior. For example, we want to make sure that
```python
<RANGE_START>x=1<RANGE_END>;x=2 # fmt: skip
```
formats verbatim, rather than becoming
```python
x = 1;x=2 # fmt: skip
```
Recall that range formatting proceeds in two steps:
1. Find the smallest enclosing node containing the range AND that has
enough info to format the range (so it may be larger than you think,
e.g. a docstring has enclosing node given by the suite, not the string
itself.)
2. Carve out the formatted range from the result of formatting that
enclosing node.
We had to modify (1), since the suite knows how to format skipped nodes,
but nodes may not "know" they are skipped. To do this we altered the
`visit_body` bethod of the `FindEnclosingNode` visitor: now we iterate
through the statements and check for skipped ranges intersecting the
format range. If we find them, we return without descending. The result
is to consider the statement containing the suite as the enclosing node
in this case.
2026-01-10 14:56:58 +00:00
Zanie Blue
a6df4a3be7
Add llms.txt support for documentation ( #22463 )
...
Matching uv.
Co-authored-by: Claude <noreply@anthropic.com >
2026-01-09 09:56:41 -06:00
Dylan
c920cf8cdb
Bump 0.14.11 ( #22462 )
2026-01-08 12:51:47 -06:00
Jason K Hall
7319c37f4e
docs: fix jupyter notebook discovery info for editors ( #22447 )
...
Resolves #21892
## Summary
This PR updates `docs/editors/features.md` to clarify that Jupyter
Notebooks are now included by default as of version 0.6.0.
2026-01-08 11:52:01 +05:30
Jason K Hall
3b61da0da3
Allow Python 3.15 as valid target-version value in preview ( #22419 )
2026-01-07 09:38:36 +01:00
renovate[bot]
7cf1ca399a
Update dependency mdformat-mkdocs to v5 ( #22277 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-29 17:53:22 +01:00
renovate[bot]
2919ec9bd5
Update dependency mdformat to v1 ( #22276 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-29 17:38:15 +01:00
renovate[bot]
388c1b6f10
Update dependency mkdocs-material to v9.7.1 ( #22254 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-29 17:25:12 +01:00
renovate[bot]
cb87fb7424
Update dependency ruff to v0.14.10 ( #22255 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-29 17:23:43 +01:00
Vincent Ging Ho Yim
22ce0c8a51
Decrease Markdown heading level ( #22152 )
2025-12-23 07:44:45 +00:00
Peter Law
87406b43ea
Fix iter example in usafe fixes doc ( #22118 )
...
## Summary
This appears to have been a copy/paste error from the list example, as
the subscript is not present in the original next/iter example only in
the case where the error case is shown. While in the specific example
code the subscript actually has no effect, it does make the example
slightly confusing.
Consider the following variations, first the example from the docs
unchanged and second the same code but not hitting the intended error
case (due to using a non-empty collection):
```console
$ python3 -c 'next(iter(range(0)))[0]'
Traceback (most recent call last):
File "<string>", line 1, in <module>
StopIteration
$ python3 -c 'next(iter(range(1)))[0]'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: 'int' object is not subscriptable
```
## Test Plan
Not directly tested, however see inline snippets above.
2025-12-22 09:25:28 -05:00
Amethyst Reese
3d334a313e
Report diagnostics for invalid/unmatched range suppression comments ( #21908 )
...
## Summary
- Adds new RUF103 and RUF104 diagnostics for invalid and unmatched
suppression comments
- Reports RUF100 for any unused range suppression
- Reports RUF102 for range suppression comment with invalid rule codes
- Reports RUF103 for range suppression comment with invalid suppression syntax
- Reports RUF104 diagnostics for any unmatched range suppression comment (disable w/o enable)
## Test Plan
Updated snapshots from test cases with unmatched suppression comments
Issue #3711
Fixes #21878
Fixes #21875
2025-12-18 12:58:58 -08:00
Dylan
45bbb4cbff
Bump 0.14.10 ( #22058 )
2025-12-18 13:08:17 -06:00
charliecloudberry
260f463edd
Update setup.md ( #22024 )
2025-12-17 14:56:25 +01:00
Dylan
4e1cf5747a
Fluent formatting of method chains ( #21369 )
...
This PR implements a modification (in preview) to fluent formatting for
method chains: We break _at_ the first call instead of _after_.
For example, we have the following diff between `main` and this PR (with
`line-length=8` so I don't have to stretch out the text):
```diff
x = (
- df.merge()
+ df
+ .merge()
.groupby()
.agg()
.filter()
)
```
## Explanation of current implementation
Recall that we traverse the AST to apply formatting. A method chain,
while read left-to-right, is stored in the AST "in reverse". So if we
start with something like
```python
a.b.c.d().e.f()
```
then the first syntax node we meet is essentially `.f()`. So we have to
peek ahead. And we actually _already_ do this in our current fluent
formatting logic: we peek ahead to count how many calls we have in the
chain to see whether we should be using fluent formatting or now.
In this implementation, we actually _record_ this number inside the enum
for `CallChainLayout`. That is, we make the variant `Fluent` hold an
`AttributeState`. This state can either be:
- The number of call-like attributes preceding the current attribute
- The state `FirstCallOrSubscript` which means we are at the first
call-like attribute in the chain (reading from left to right)
- The state `BeforeFirstCallOrSubscript` which means we are in the
"first group" of attributes, preceding that first call.
In our example, here's what it looks like at each attribute:
```
a.b.c.d().e.f @ Fluent(CallsOrSubscriptsPreceding(1))
a.b.c.d().e @ Fluent(CallsOrSubscriptsPreceding(1))
a.b.c.d @ Fluent(FirstCallOrSubscript)
a.b.c @ Fluent(BeforeFirstCallOrSubscript)
a.b @ Fluent(BeforeFirstCallOrSubscript)
```
Now, as we descend down from the parent expression, we pass along this
little piece of state and modify it as we go to track where we are. This
state doesn't do anything except when we are in `FirstCallOrSubscript`,
in which case we add a soft line break.
Closes #8598
---------
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com >
2025-12-15 09:29:50 -06:00
Brent Westbrook
dec4154c8a
Document known lambda formatting deviations from Black ( #21954 )
...
Summary
--
Following #8179 , we now format long lambda expressions a bit more like
Black, preferring to keep long parameter lists on a single line, but we
go one step further to break the body itself across multiple lines and
parenthesize it if it's still too long. This PR documents both the
stable deviation that breaks parameters across multiple lines, and the
new preview deviation that breaks the body instead.
I also fixed a couple of typos in the section immediately above my
addition.
Test Plan
--
I tested all of the snippets here against `main` for the preview
behavior, our playground for the stable behavior, and Black's playground
for their behavior
2025-12-12 12:57:09 -05:00
Amethyst Reese
3f63ea4b50
Prepare 0.14.9 release ( #21927 )
...
- **Changelog and docs**
- **metadata**
2025-12-11 13:17:52 -08:00
Amethyst Reese
c055d665ef
Document range suppressions, reorganize suppression docs ( #21884 )
...
- **Reorganize suppression documentation, document range suppressions**
- **Note preview mode requirement**
Issue #21874 , #3711
2025-12-11 11:16:36 -08:00
Avasam
59b92b3522
Document *.pyw is included by default in preview ( #21885 )
...
Document `*.pyw` is included by default in preview mode.
Originally requested in https://github.com/astral-sh/ruff/issues/13246
and added in https://github.com/astral-sh/ruff/pull/20458
Co-authored-by: Amethyst Reese <amethyst@n7.gg >
2025-12-10 16:43:55 +00:00
mahiro
5df8a959f5
Update mkdocs-material to 9.7.0 (Insiders now free) ( #21797 )
2025-12-05 08:53:08 +01:00
Brent Westbrook
9d4f1c6ae2
Bump 0.14.8 ( #21791 )
2025-12-04 09:45:53 -05:00
Kieran Ryan
4686c36079
docs: Output file option with GitLab integration ( #21706 )
...
Co-authored-by: Micha Reiser <micha@reiser.io >
2025-12-01 10:07:25 +00:00
renovate[bot]
d8d1464d96
Update dependency ruff to v0.14.7 ( #21709 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff )
([source](https://redirect.github.com/astral-sh/ruff ),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md ))
| `==0.14.6` -> `==0.14.7` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>astral-sh/ruff (ruff)</summary>
###
[`v0.14.7`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0147 )
[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.14.6...0.14.7 )
Released on 2025-11-28.
##### Preview features
- \[`flake8-bandit`] Handle string literal bindings in
suspicious-url-open-usage (`S310`)
([#​21469](https://redirect.github.com/astral-sh/ruff/pull/21469 ))
- \[`pylint`] Fix `PLR1708` false positives on nested functions
([#​21177](https://redirect.github.com/astral-sh/ruff/pull/21177 ))
- \[`pylint`] Fix suppression for empty dict without tuple key
annotation (`PLE1141`)
([#​21290](https://redirect.github.com/astral-sh/ruff/pull/21290 ))
- \[`ruff`] Add rule `RUF066` to detect unnecessary class properties
([#​21535](https://redirect.github.com/astral-sh/ruff/pull/21535 ))
- \[`ruff`] Catch more dummy variable uses (`RUF052`)
([#​19799](https://redirect.github.com/astral-sh/ruff/pull/19799 ))
##### Bug fixes
- \[server] Set severity for non-rule diagnostics
([#​21559](https://redirect.github.com/astral-sh/ruff/pull/21559 ))
- \[`flake8-implicit-str-concat`] Avoid invalid fix in (`ISC003`)
([#​21517](https://redirect.github.com/astral-sh/ruff/pull/21517 ))
- \[`parser`] Fix panic when parsing IPython escape command expressions
([#​21480](https://redirect.github.com/astral-sh/ruff/pull/21480 ))
##### CLI
- Show partial fixability indicator in statistics output
([#​21513](https://redirect.github.com/astral-sh/ruff/pull/21513 ))
##### Contributors
- [@​mikeleppane](https://redirect.github.com/mikeleppane )
- [@​senekor](https://redirect.github.com/senekor )
- [@​ShaharNaveh](https://redirect.github.com/ShaharNaveh )
- [@​JumboBear](https://redirect.github.com/JumboBear )
- [@​prakhar1144](https://redirect.github.com/prakhar1144 )
- [@​tsvikas](https://redirect.github.com/tsvikas )
- [@​danparizher](https://redirect.github.com/danparizher )
- [@​chirizxc](https://redirect.github.com/chirizxc )
- [@​AlexWaygood](https://redirect.github.com/AlexWaygood )
- [@​MichaReiser](https://redirect.github.com/MichaReiser )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/ruff ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-01 01:02:48 +00:00
Dylan
ecab623fb2
Bump 0.14.7 ( #21684 )
2025-11-28 14:34:27 -06:00
Tsvika Shapira
df66946b89
Show partial fixability indicator in statistics output ( #21513 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Micha Reiser <micha@reiser.io >
2025-11-27 18:03:36 +01:00
JumboBear
e2e21508dc
docs: update reference to the pre-commit hook ( #21645 )
...
## Summary
The reference to the pre-commit hook inside the tutorial was to the
legacy alias `ruff` instead of the current `ruff-check`.
Ref: https://github.com/astral-sh/ruff-pre-commit/pull/124
## Test Plan
Not applicable.
2025-11-26 16:57:18 -05:00
renovate[bot]
8327f262ff
Update dependency ruff to v0.14.6 ( #21603 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff )
([source](https://redirect.github.com/astral-sh/ruff ),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md ))
| `==0.14.5` -> `==0.14.6` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>astral-sh/ruff (ruff)</summary>
###
[`v0.14.6`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0146 )
[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.14.5...0.14.6 )
Released on 2025-11-21.
##### Preview features
- \[`flake8-bandit`] Support new PySNMP API paths (`S508`, `S509`)
([#​21374](https://redirect.github.com/astral-sh/ruff/pull/21374 ))
##### Bug fixes
- Adjust own-line comment placement between branches
([#​21185](https://redirect.github.com/astral-sh/ruff/pull/21185 ))
- Avoid syntax error when formatting attribute expressions with outer
parentheses, parenthesized value, and trailing comment on value
([#​20418](https://redirect.github.com/astral-sh/ruff/pull/20418 ))
- Fix panic when formatting comments in unary expressions
([#​21501](https://redirect.github.com/astral-sh/ruff/pull/21501 ))
- Respect `fmt: skip` for compound statements on a single line
([#​20633](https://redirect.github.com/astral-sh/ruff/pull/20633 ))
- \[`refurb`] Fix `FURB103` autofix
([#​21454](https://redirect.github.com/astral-sh/ruff/pull/21454 ))
- \[`ruff`] Fix false positive for complex conversion specifiers in
`logging-eager-conversion` (`RUF065`)
([#​21464](https://redirect.github.com/astral-sh/ruff/pull/21464 ))
##### Rule changes
- \[`ruff`] Avoid false positive on `ClassVar` reassignment (`RUF012`)
([#​21478](https://redirect.github.com/astral-sh/ruff/pull/21478 ))
##### CLI
- Render hyperlinks for lint errors
([#​21514](https://redirect.github.com/astral-sh/ruff/pull/21514 ))
- Add a `ruff analyze` option to skip over imports in `TYPE_CHECKING`
blocks
([#​21472](https://redirect.github.com/astral-sh/ruff/pull/21472 ))
##### Documentation
- Limit `eglot-format` hook to eglot-managed Python buffers
([#​21459](https://redirect.github.com/astral-sh/ruff/pull/21459 ))
- Mention `force-exclude` in "Configuration > Python file discovery"
([#​21500](https://redirect.github.com/astral-sh/ruff/pull/21500 ))
##### Contributors
- [@​ntBre](https://redirect.github.com/ntBre )
- [@​dylwil3](https://redirect.github.com/dylwil3 )
- [@​gauthsvenkat](https://redirect.github.com/gauthsvenkat )
- [@​MichaReiser](https://redirect.github.com/MichaReiser )
- [@​thamer](https://redirect.github.com/thamer )
- [@​Ruchir28](https://redirect.github.com/Ruchir28 )
- [@​thejcannon](https://redirect.github.com/thejcannon )
- [@​danparizher](https://redirect.github.com/danparizher )
- [@​chirizxc](https://redirect.github.com/chirizxc )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/ruff ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNi4xIiwidXBkYXRlZEluVmVyIjoiNDIuMTYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 10:47:43 +05:30
Brent Westbrook
59c6cb521d
Bump 0.14.6 ( #21558 )
2025-11-21 09:00:56 -05:00
Josh Cannon
ac2d07e83c
Mention force-exclude in "Configuration > Python file discovery" ( #21500 )
2025-11-17 17:15:07 +01:00
Thamer Mahmoud
c16ef709f6
Limit eglot-format hook to eglot-managed Python buffers ( #21459 )
...
Running `eglot-format` in buffers not managed by Eglot causes a
`jsonrpc-error` in Emacs 30. It may also display a
`documentFormattingProvider` warning when the server does not support
formatting. Add checks for both.
2025-11-17 13:52:31 +00:00
renovate[bot]
1436e688cc
Update dependency ruff to v0.14.5 ( #21489 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [ruff](https://docs.astral.sh/ruff )
([source](https://redirect.github.com/astral-sh/ruff ),
[changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md ))
| `==0.14.4` -> `==0.14.5` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>astral-sh/ruff (ruff)</summary>
###
[`v0.14.5`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0145 )
[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.14.4...0.14.5 )
Released on 2025-11-13.
##### Preview features
- \[`flake8-simplify`] Apply `SIM113` when index variable is of type
`int`
([#​21395](https://redirect.github.com/astral-sh/ruff/pull/21395 ))
- \[`pydoclint`] Fix false positive when Sphinx directives follow a
"Raises" section (`DOC502`)
([#​20535](https://redirect.github.com/astral-sh/ruff/pull/20535 ))
- \[`pydoclint`] Support NumPy-style comma-separated parameters
(`DOC102`)
([#​20972](https://redirect.github.com/astral-sh/ruff/pull/20972 ))
- \[`refurb`] Auto-fix annotated assignments (`FURB101`)
([#​21278](https://redirect.github.com/astral-sh/ruff/pull/21278 ))
- \[`ruff`] Ignore `str()` when not used for simple conversion
(`RUF065`)
([#​21330](https://redirect.github.com/astral-sh/ruff/pull/21330 ))
##### Bug fixes
- Fix syntax error false positive on alternative `match` patterns
([#​21362](https://redirect.github.com/astral-sh/ruff/pull/21362 ))
- \[`flake8-simplify`] Fix false positive for iterable initializers with
generator arguments (`SIM222`)
([#​21187](https://redirect.github.com/astral-sh/ruff/pull/21187 ))
- \[`pyupgrade`] Fix false positive on relative imports from local
`.builtins` module (`UP029`)
([#​21309](https://redirect.github.com/astral-sh/ruff/pull/21309 ))
- \[`pyupgrade`] Consistently set the deprecated tag (`UP035`)
([#​21396](https://redirect.github.com/astral-sh/ruff/pull/21396 ))
##### Rule changes
- \[`refurb`] Detect empty f-strings (`FURB105`)
([#​21348](https://redirect.github.com/astral-sh/ruff/pull/21348 ))
##### CLI
- Add option to provide a reason to `--add-noqa`
([#​21294](https://redirect.github.com/astral-sh/ruff/pull/21294 ))
- Add upstream linter URL to `ruff linter --output-format=json`
([#​21316](https://redirect.github.com/astral-sh/ruff/pull/21316 ))
- Add color to `--help`
([#​21337](https://redirect.github.com/astral-sh/ruff/pull/21337 ))
##### Documentation
- Add a new "Opening a PR" section to the contribution guide
([#​21298](https://redirect.github.com/astral-sh/ruff/pull/21298 ))
- Added the PyScripter IDE to the list of "Who is using Ruff?"
([#​21402](https://redirect.github.com/astral-sh/ruff/pull/21402 ))
- Update PyCharm setup instructions
([#​21409](https://redirect.github.com/astral-sh/ruff/pull/21409 ))
- \[`flake8-annotations`] Add link to `allow-star-arg-any` option
(`ANN401`)
([#​21326](https://redirect.github.com/astral-sh/ruff/pull/21326 ))
##### Other changes
- \[`configuration`] Improve error message when `line-length` exceeds
`u16::MAX`
([#​21329](https://redirect.github.com/astral-sh/ruff/pull/21329 ))
##### Contributors
- [@​njhearp](https://redirect.github.com/njhearp )
- [@​11happy](https://redirect.github.com/11happy )
- [@​hugovk](https://redirect.github.com/hugovk )
- [@​Gankra](https://redirect.github.com/Gankra )
- [@​ntBre](https://redirect.github.com/ntBre )
- [@​pyscripter](https://redirect.github.com/pyscripter )
- [@​danparizher](https://redirect.github.com/danparizher )
- [@​MichaReiser](https://redirect.github.com/MichaReiser )
- [@​henryiii](https://redirect.github.com/henryiii )
-
[@​charliecloudberry](https://redirect.github.com/charliecloudberry )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/ruff ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-17 10:53:23 +05:30
Brent Westbrook
87dafb8787
Bump 0.14.5 ( #21435 )
2025-11-13 14:37:31 -05:00
charliecloudberry
d49c326309
Update PyCharm setup instructions ( #21409 )
...
Co-authored-by: Micha Reiser <micha@reiser.io >
2025-11-13 18:54:08 +01:00
Micha Reiser
7b237d316f
Add option to provide a reason to --add-noqa ( #21294 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-11 14:03:46 +01:00
renovate[bot]
dd751e8d07
Update dependency ruff to v0.14.4 ( #21353 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 01:35:42 +00:00
Dylan
c7ff9826d6
Bump 0.14.4 ( #21306 )
2025-11-06 15:47:29 -06:00
Loïc Riegel
c6573b16ac
docs: revise Ruff setup instructions for Zed editor ( #20935 )
...
Co-authored-by: Micha Reiser <micha@reiser.io >
2025-11-06 01:11:29 +00:00
renovate[bot]
666dd5fef1
Update dependency ruff to v0.14.3 ( #21239 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 03:13:38 +00:00
Amethyst Reese
8737a2d5f5
Bump v0.14.3 ( #21152 )
...
- **Upgrade to rooster==0.1.1**
- **Changelog for v0.14.3**
- **Bump v0.14.3**
2025-10-30 17:06:29 -07:00
renovate[bot]
d846a0319a
Update dependency mdformat-mkdocs to v4.4.2 ( #21088 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 07:47:46 +01:00
Brent Westbrook
83a3bc4ee9
Bump 0.14.2 ( #21051 )
2025-10-23 15:17:22 -04:00
Dylan
2bffef5966
Bump 0.14.1 ( #20925 )
2025-10-16 12:44:13 -05:00
Justin Su
fe4e3e2e75
Update setup instructions for Zed 0.208.0+ ( #20902 )
...
Co-authored-by: Micha Reiser <micha@reiser.io >
2025-10-16 07:39:48 +00:00
Amethyst Reese
beea8cdfec
Bump 0.14.0 ( #20751 )
2025-10-07 11:05:47 -07:00
renovate[bot]
c895b29f23
Update dependency ruff to v0.13.3 ( #20707 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 08:26:22 +02:00