Skip to content

Commit 724ccc1

Browse files
authored
Bump 0.15.9 (#24369)
1 parent 96d9e09 commit 724ccc1

File tree

11 files changed

+78
-17
lines changed

11 files changed

+78
-17
lines changed

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,66 @@
11
# Changelog
22

3+
## 0.15.9
4+
5+
Released on 2026-04-02.
6+
7+
### Preview features
8+
9+
- \[`pyflakes`\] Flag annotated variable redeclarations as `F811` in preview mode ([#24244](https://github.com/astral-sh/ruff/pull/24244))
10+
- \[`ruff`\] Allow dunder-named assignments in non-strict mode for `RUF067` ([#24089](https://github.com/astral-sh/ruff/pull/24089))
11+
12+
### Bug fixes
13+
14+
- \[`flake8-errmsg`\] Avoid shadowing existing `msg` in fix for `EM101` ([#24363](https://github.com/astral-sh/ruff/pull/24363))
15+
- \[`flake8-simplify`\] Ignore pre-initialization references in `SIM113` ([#24235](https://github.com/astral-sh/ruff/pull/24235))
16+
- \[`pycodestyle`\] Fix `W391` fixes for consecutive empty notebook cells ([#24236](https://github.com/astral-sh/ruff/pull/24236))
17+
- \[`pyupgrade`\] Fix `UP008` nested class matching ([#24273](https://github.com/astral-sh/ruff/pull/24273))
18+
- \[`pyupgrade`\] Ignore strings with string-only escapes (`UP012`) ([#16058](https://github.com/astral-sh/ruff/pull/16058))
19+
- \[`ruff`\] `RUF072`: skip formfeeds on dedent ([#24308](https://github.com/astral-sh/ruff/pull/24308))
20+
- \[`ruff`\] Avoid re-using symbol in `RUF024` fix ([#24316](https://github.com/astral-sh/ruff/pull/24316))
21+
- \[`ruff`\] Parenthesize expression in `RUF050` fix ([#24234](https://github.com/astral-sh/ruff/pull/24234))
22+
- Disallow starred expressions as values of starred expressions ([#24280](https://github.com/astral-sh/ruff/pull/24280))
23+
24+
### Rule changes
25+
26+
- \[`flake8-simplify`\] Suppress `SIM105` for `except*` before Python 3.12 ([#23869](https://github.com/astral-sh/ruff/pull/23869))
27+
- \[`pyflakes`\] Extend `F507` to flag `%`-format strings with zero placeholders ([#24215](https://github.com/astral-sh/ruff/pull/24215))
28+
- \[`pyupgrade`\] `UP018` should detect more unnecessarily wrapped literals (UP018) ([#24093](https://github.com/astral-sh/ruff/pull/24093))
29+
- \[`pyupgrade`\] Fix `UP008` callable scope handling to support lambdas ([#24274](https://github.com/astral-sh/ruff/pull/24274))
30+
- \[`ruff`\] `RUF010`: Mark fix as unsafe when it deletes a comment ([#24270](https://github.com/astral-sh/ruff/pull/24270))
31+
32+
### Formatter
33+
34+
- Add `nested-string-quote-style` formatting option ([#24312](https://github.com/astral-sh/ruff/pull/24312))
35+
36+
### Documentation
37+
38+
- \[`flake8-bugbear`\] Clarify RUF071 fix safety for non-path string comparisons ([#24149](https://github.com/astral-sh/ruff/pull/24149))
39+
- \[`flake8-type-checking`\] Clarify import cycle wording for `TC001`/`TC002`/`TC003` ([#24322](https://github.com/astral-sh/ruff/pull/24322))
40+
41+
### Other changes
42+
43+
- Avoid rendering fix lines with trailing whitespace after `|` ([#24343](https://github.com/astral-sh/ruff/pull/24343))
44+
45+
### Contributors
46+
47+
- [@charliermarsh](https://github.com/charliermarsh)
48+
- [@MichaReiser](https://github.com/MichaReiser)
49+
- [@tranhoangtu-it](https://github.com/tranhoangtu-it)
50+
- [@dylwil3](https://github.com/dylwil3)
51+
- [@zsol](https://github.com/zsol)
52+
- [@renovate](https://github.com/renovate)
53+
- [@bitloi](https://github.com/bitloi)
54+
- [@danparizher](https://github.com/danparizher)
55+
- [@chinar-amrutkar](https://github.com/chinar-amrutkar)
56+
- [@second-ed](https://github.com/second-ed)
57+
- [@getehen](https://github.com/getehen)
58+
- [@Redovo1](https://github.com/Redovo1)
59+
- [@matthewlloyd](https://github.com/matthewlloyd)
60+
- [@zanieb](https://github.com/zanieb)
61+
- [@InSyncWithFoo](https://github.com/InSyncWithFoo)
62+
- [@RenzoMXD](https://github.com/RenzoMXD)
63+
364
## 0.15.8
465

566
Released on 2026-03-26.

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ curl -LsSf https://astral.sh/ruff/install.sh | sh
152152
powershell -c "irm https://astral.sh/ruff/install.ps1 | iex"
153153

154154
# For a specific version.
155-
curl -LsSf https://astral.sh/ruff/0.15.8/install.sh | sh
156-
powershell -c "irm https://astral.sh/ruff/0.15.8/install.ps1 | iex"
155+
curl -LsSf https://astral.sh/ruff/0.15.9/install.sh | sh
156+
powershell -c "irm https://astral.sh/ruff/0.15.9/install.ps1 | iex"
157157
```
158158

159159
You can also install Ruff via [Homebrew](https://formulae.brew.sh/formula/ruff), [Conda](https://anaconda.org/conda-forge/ruff),
@@ -186,7 +186,7 @@ Ruff can also be used as a [pre-commit](https://pre-commit.com/) hook via [`ruff
186186
```yaml
187187
- repo: https://github.com/astral-sh/ruff-pre-commit
188188
# Ruff version.
189-
rev: v0.15.8
189+
rev: v0.15.9
190190
hooks:
191191
# Run the linter.
192192
- id: ruff-check

crates/ruff/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ruff"
3-
version = "0.15.8"
3+
version = "0.15.9"
44
publish = true
55
authors = { workspace = true }
66
edition = { workspace = true }

crates/ruff_linter/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ruff_linter"
3-
version = "0.15.8"
3+
version = "0.15.9"
44
publish = false
55
authors = { workspace = true }
66
edition = { workspace = true }

crates/ruff_wasm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ruff_wasm"
3-
version = "0.15.8"
3+
version = "0.15.9"
44
publish = false
55
authors = { workspace = true }
66
edition = { workspace = true }

docs/formatter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ support needs to be explicitly included by adding it to `types_or`:
306306
```yaml title=".pre-commit-config.yaml"
307307
repos:
308308
- repo: https://github.com/astral-sh/ruff-pre-commit
309-
rev: v0.15.8
309+
rev: v0.15.9
310310
hooks:
311311
- id: ruff-format
312312
types_or: [python, pyi, jupyter, markdown]

docs/integrations.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ You can add the following configuration to `.gitlab-ci.yml` to run a `ruff forma
8080
stage: build
8181
interruptible: true
8282
image:
83-
name: ghcr.io/astral-sh/ruff:0.15.8-alpine
83+
name: ghcr.io/astral-sh/ruff:0.15.9-alpine
8484
before_script:
8585
- cd $CI_PROJECT_DIR
8686
- ruff --version
@@ -106,7 +106,7 @@ Ruff can be used as a [pre-commit](https://pre-commit.com) hook via [`ruff-pre-c
106106
```yaml
107107
- repo: https://github.com/astral-sh/ruff-pre-commit
108108
# Ruff version.
109-
rev: v0.15.8
109+
rev: v0.15.9
110110
hooks:
111111
# Run the linter.
112112
- id: ruff-check
@@ -119,7 +119,7 @@ To enable lint fixes, add the `--fix` argument to the lint hook:
119119
```yaml
120120
- repo: https://github.com/astral-sh/ruff-pre-commit
121121
# Ruff version.
122-
rev: v0.15.8
122+
rev: v0.15.9
123123
hooks:
124124
# Run the linter.
125125
- id: ruff-check
@@ -133,7 +133,7 @@ To avoid running on Jupyter Notebooks, remove `jupyter` from the list of allowed
133133
```yaml
134134
- repo: https://github.com/astral-sh/ruff-pre-commit
135135
# Ruff version.
136-
rev: v0.15.8
136+
rev: v0.15.9
137137
hooks:
138138
# Run the linter.
139139
- id: ruff-check

docs/tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ This tutorial has focused on Ruff's command-line interface, but Ruff can also be
369369
```yaml
370370
- repo: https://github.com/astral-sh/ruff-pre-commit
371371
# Ruff version.
372-
rev: v0.15.8
372+
rev: v0.15.9
373373
hooks:
374374
# Run the linter.
375375
- id: ruff-check

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "ruff"
7-
version = "0.15.8"
7+
version = "0.15.9"
88
description = "An extremely fast Python linter and code formatter, written in Rust."
99
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
1010
readme = "README.md"

0 commit comments

Comments
 (0)