1337 Commits
Author SHA1 Message Date
astral-automations-bot[bot]andBrent Westbrook ba65abf8ba Bump version to 0.17.3 (#29745)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-10-26 20:14:27 -04:00
astral-automations-bot[bot]andBrent Westbrook 30516b42ab Bump version to 0.17.2 (#29637)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-10-22 13:54:24 -04:00
zaniebotandZanie Blue c23d6967c9 Clarify documentation and correct stale guidance (#29374)
The documentation has stale configuration guidance and a few examples
that do not work as written. Clarify the prose and correct editor
configuration precedence, user-level configuration discovery, rule
descriptions, and the tutorial and configuration examples.

---------

Co-authored-by: Zanie Blue <zanie@openai.com>
2026-10-15 13:36:53 -05:00
astral-automations-bot[bot] 4683270c69 Bump version to 0.17.1 (#29420)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
2026-10-15 10:56:41 -04:00
astral-automations-bot[bot]andBrent Westbrook 5b27c1ccfa Bump version to 0.17.0 (#29259)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <brentrwestbrook@gmail.com>
2026-10-09 13:45:29 -04:00
Brent Westbrook ef23c9c39e Update default and latest Python versions for 3.15 (#28792)
Summary
--

This PR updates our default Python version to 3.11, in line with 3.10
reaching [EOL] next month, and
updates our latest Python version to 3.15. I followed last year's PR
(#20725) to find everywhere
that needed to change. Fortunately there were not as many test changes
needed as last year's
deferred annotation issues.

I also updated the language classifier in our pyproject.toml.

[EOL]: https://devguide.python.org/versions/#supported-versions

Test Plan
--

Existing tests with updated snapshots. Most of the updates were to
snapshots for TC001, TC002, and
TC003, which now default to the lazy-import fix.

After updating the snapshots, I tried to make sure we still had coverage
for whatever changed. That
meant adding a few more mdtests for the TC rules, and one small mdtest
for RUF017 to restore
coverage for the `functools.reduce` fix.
2026-10-09 12:26:57 -04:00
Micha Reiser 4776a20c73 [ruff] Support Unicode dummy variable names (#28722)
Fixes #28721
2026-10-09 12:26:57 -04:00
astral-automations-bot[bot]andBrent Westbrook 3265ed1f94 Bump version to 0.16.10 (#29055)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <brentrwestbrook@gmail.com>
2026-10-01 13:40:09 -04:00
Florian Best dbcd6b02c3 docs(faq): add Python 3.15 as supported (preview) version (#28907) 2026-09-29 09:48:15 -04:00
astral-automations-bot[bot]andBrent Westbrook 0be08a206f Bump version to 0.16.9 (#28882)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-09-24 16:21:50 -04:00
astral-automations-bot[bot]andBrent Westbrook 62914c4b9b Bump version to 0.16.8 (#28648)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-09-16 11:31:02 -04:00
astral-automations-bot[bot]andBrent Westbrook b5dba861cc Bump version to 0.16.7 (#28496)
Co-authored-by: astral-automations-bot[bot] <305554984+astral-automations-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-09-10 13:47:30 -04:00
Micha Reiser 00948c00a6 Remove the "Who’s Using Ruff?" list (#28455)
## Summary

Removes the "Who's using ruff?" list. 

The section was useful when Ruff was young and not well known. Ruff is
now widely used in the ecosystem, so that this list provides diminishing
returns and we also lack a clear guidance on what it takes for a project
to be added.
2026-09-10 09:27:24 -04:00
Brent Westbrook 22f65a2ab5 Bump 0.16.6 (#28280) 2026-09-03 12:36:42 -04:00
Brent Westbrook 9e4938c4a6 Bump 0.16.5 (#28110) 2026-08-27 12:09:07 -04:00
Brent Westbrook 11c76bf48f Bump 0.16.4 (#27937) 2026-08-20 13:14:29 -04:00
William Woodruff 66418ef0d4 Use pinned forms for uvx (#27798)
Signed-off-by: William Woodruff <william@yossarian.net>
2026-08-16 16:26:55 -04:00
Brent Westbrook b0e47022cf Bump 0.16.3 (#27723) 2026-08-13 09:39:16 -04:00
Brent Westbrook 5b48a04097 Bump 0.16.2 (#27555) 2026-08-07 09:12:50 -04:00
Brent Westbrook 80790b348b Bump 0.16.1 (#27330) 2026-07-30 13:54:42 -04:00
Brent Westbrook a2635fd8f3 Bump 0.16.0 (#27136) 2026-07-23 14:37:34 -04:00
Brent Westbrook b30f040232 Stabilize new default rules (#27035)
This PR stabilizes the expanded default rule set currently in preview
and adds a new generated `Default Rules` page to the docs to avoid
needing to include a lengthy selector block in multiple places.
2026-07-23 13:38:29 -04:00
Brent Westbrook 0177a7e0d2 Bump 0.15.22 (#26884) 2026-07-16 10:54:43 -04:00
Brent Westbrook 3e1f636451 Bump 0.15.21 (#26676) 2026-07-09 15:42:27 -04:00
Sylvestre Ledru ef2eef43fa Fix Mozilla Firefox repository link in README (#26537) 2026-07-04 10:18:21 +00:00
Avasam 427138fee8 Add "How does Ruff's import sorting compare to isort?" link to README (#26530)
## Summary

Noticed a small inconsistency where the doc exists, but is only linked
to for Flake8 and Black, not isort.

## Test Plan

Look at the file preview and click the link

https://github.com/Avasam/ruff/blob/a42f1cd4b999a36081d371df43334c3204525171/README.md
2026-07-03 14:02:54 -04:00
Brent Westbrook f82a36b6ba Bump 0.15.20 (#26376) 2026-06-25 10:00:55 -07:00
Charlie Marsh 7f0436561d Bump version to 0.15.19 (#26291) 2026-06-23 20:42:26 -04:00
Brent Westbrook 6686f63404 Bump 0.15.18 (#26135) 2026-06-18 11:07:24 -07:00
Brent Westbrook 7c645a9a1b Bump 0.15.17 (#25872) 2026-06-11 10:08:53 -07:00
Brent Westbrook 6c498ab539 Bump 0.15.16 (#25635) 2026-06-04 09:15:41 -07:00
Brent Westbrook db5aa0a5f1 Bump 0.15.15 (#25431) 2026-05-28 06:54:03 -07:00
Brent Westbrook 9ad2da3015 Bump 0.15.14 (#25295) 2026-05-21 07:17:42 -07:00
Brent Westbrook 2afb467ce3 Bump 0.15.13 (#25157) 2026-05-14 13:18:49 +00:00
Tobias Hernstig bbc529bc8a docs: Use correct number of lint rules supported (#24942) 2026-04-30 09:08:53 +00:00
Dylan 66f93cf7ed Bump 0.15.12 (#24815) 2026-04-24 12:36:40 -05:00
Amethyst Reese 53554b1cfe Bump 0.15.11 (#24678) 2026-04-16 11:17:46 -07:00
Brent Westbrook 252f76102a Bump 0.15.10 (#24519) 2026-04-09 09:48:41 -04:00
Dylan 724ccc1ae8 Bump 0.15.9 (#24369) 2026-04-02 12:59:00 -05:00
Amethyst Reese c2a8815842 Release 0.15.8 (#24217)
- **changelog**
- **everything else**
2026-03-26 11:20:09 -07:00
Brent Westbrook 0ef39de46c Bump 0.15.7 (#24049) 2026-03-19 12:09:44 -04:00
Dylan e4c7f35777 Bump 0.15.6 (#23919) 2026-03-12 17:48:57 -05:00
Amethyst ReeseandBrent Westbrook 5e4a3d9c3b Bump 0.15.5 (#23743)
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-03-05 19:48:21 +00:00
Brent Westbrook bc12fbb565 Update default Python version examples (#23605)
## Summary

Brings our documentation up to date with the implementation, see
https://github.com/astral-sh/ruff/pull/17529#issuecomment-3972000021

## Test Plan
2026-02-27 18:00:03 -05:00
Brent Westbrook f14edd8661 Bump 0.15.4 (#23595)
Just to be sure, I ran the example from #23587 again on this branch:

```console
~/astral/ruff on  brent/0.15.4 [$] is 📦 v0.15.4 via 🐍 v3.14.2 via 🦀 v1.93.0
❯ echo 'x = id' | uvx ruff@latest --isolated check - --preview --select ANN003,PLR1712

error: Ruff crashed. If you could open an issue at:

    https://github.com/astral-sh/ruff/issues/new?title=%5BPanic%5D

...quoting the executed command, along with the relevant file contents and `pyproject.toml` settings, we'd be very appreciative!


thread 'main' (1681253) panicked at crates/ruff_python_semantic/src/definition.rs:285:26:
index out of bounds: the len is 0 but the index is 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

~/astral/ruff on  brent/0.15.4 [$] is 📦 v0.15.4 via 🐍 v3.14.2 via 🦀 v1.93.0
❯ echo 'x = id' | just run --isolated check - --preview --select ANN003,PLR1712
cargo run -p ruff -- --isolated check - --preview --select ANN003,PLR1712
   Compiling ruff_python_semantic v0.0.0 (/home/brent/astral/ruff/crates/ruff_python_semantic)
   Compiling ruff v0.15.4 (/home/brent/astral/ruff/crates/ruff)
   Compiling ruff_linter v0.15.4 (/home/brent/astral/ruff/crates/ruff_linter)
   Compiling ruff_graph v0.1.0 (/home/brent/astral/ruff/crates/ruff_graph)
   Compiling ruff_workspace v0.0.0 (/home/brent/astral/ruff/crates/ruff_workspace)
   Compiling ruff_markdown v0.0.0 (/home/brent/astral/ruff/crates/ruff_markdown)
   Compiling ruff_server v0.2.2 (/home/brent/astral/ruff/crates/ruff_server)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.14s
     Running `target/debug/ruff --isolated check - --preview --select ANN003,PLR1712`
warning: Detected debug build without --no-cache.
All checks passed!
```
2026-02-26 14:46:41 -05:00
Brent Westbrook e5f2f36a3f Bump 0.15.3 (#23585) 2026-02-26 10:22:43 -05:00
Dylan 7cc15f024b Bump 0.15.2 (#23430) 2026-02-19 15:04:36 -06:00
Brent Westbrook 222574af90 Expand the default rule set (#23385)
## Summary

This PR adds the new default rule set in preview. This ended up being
pretty non-invasive because the `DEFAULT_SELECTORS` are only used in one
place where `preview` isn't set to the default value of `false`.

I've currently listed each rule with a separate `RuleSelector`, which I
generated with the script below. I thought about trying to be more
clever by finding the smallest set of prefix selectors that yield the
same rule set, but I figured this would be the easiest way to add and
remove rules in the future anyway.

<details><summary>Script</summary>
<p>

```py
import json
import subprocess
import tomllib
from pathlib import Path
from string import ascii_uppercase

RULES = {
    rule["code"]: rule["linter"]
    for rule in json.loads(
        subprocess.run(
            ["ruff", "rule", "--all", "--output-format=json"],
            check=True,
            text=True,
            capture_output=True,
        ).stdout
    )
}

for code, linter in RULES.items():
    if linter == "Ruff-specific rules":
        RULES[code] = "Ruff"


def kebab_to_pascal(s: str) -> str:
    return "".join(part.title() for part in s.split("-"))


rules = tomllib.loads(Path("proposal.toml").read_text())["lint"]["select"]

for rule in rules:
    linter = kebab_to_pascal(RULES[rule])
    suffix = rule.lstrip(ascii_uppercase)

    prefix = "_"
    match linter:
        case "Flake8Comprehensions":
            suffix = suffix.removeprefix("4")
        case "Pycodestyle":
            prefix = ""
            suffix = rule
        case "Flake8Gettext":
            linter = "Flake8GetText"
        case "Pep8Naming":
            linter = "PEP8Naming"
        case "Pylint":
            prefix = ""
            suffix = rule.removeprefix("PL")
        case "Flake8Debugger":
            suffix = suffix.removeprefix("10")

    print(
        " " * 4,
        f"RuleSelector::rule(RuleCodePrefix::{linter}("
        f"codes::{linter}::{prefix}{suffix})),"
        f" // {rule}",
        sep="",
    )
```

</p>
</details> 

## Test Plan

A new CLI test showing the preview default rules. I filtered down the
snapshot to just the `linter.rules.enabled` section, which isn't
strictly necessary but was a lot shorter. I also tested manually in VS
Code to make sure I didn't miss wiring up the preview defaults in the
server:

<img width="681" height="340" alt="image"
src="https://github.com/user-attachments/assets/9f7a0cd4-968e-40d6-abf0-dfbfa496531d"
/>


I also tested in the playground.
2026-02-19 14:45:18 -05:00
Amethyst ReeseandBrent Westbrook a2f11d239f Prepare for 0.15.1 (#23253)
- **Changelog**
- **Everything else**

---------

Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-02-12 14:17:21 -08:00
Brent Westbrook ce5f7b6127 Bump 0.15.0 (#23055) 2026-02-03 12:20:59 -05:00