Skip to content

Commit 9ad2da3

Browse files
authored
Bump 0.15.14 (#25295)
1 parent c714e84 commit 9ad2da3

15 files changed

Lines changed: 77 additions & 21 deletions

File tree

CHANGELOG.md

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

3+
## 0.15.14
4+
5+
Released on 2026-05-21.
6+
7+
### Preview features
8+
9+
- \[`airflow`\] Implement `airflow-task-implicit-multiple-outputs` (`AIR202`) ([#25152](https://github.com/astral-sh/ruff/pull/25152))
10+
- \[`flake8-use-pathlib`\] Mark `PTH101` fix as unsafe when first argument is a class attribute annotated as `int` ([#25086](https://github.com/astral-sh/ruff/pull/25086))
11+
- \[`pylint`\] Implement `too-many-try-statements` (`W0717`) ([#23970](https://github.com/astral-sh/ruff/pull/23970))
12+
- \[`ruff`\] Add `incorrect-decorator-order` (`RUF074`) ([#23461](https://github.com/astral-sh/ruff/pull/23461))
13+
- \[`ruff`\] Add `fallible-context-manager` (`RUF075`) ([#22844](https://github.com/astral-sh/ruff/pull/22844))
14+
15+
### Bug fixes
16+
17+
- Fix lambda formatting in interpolated string expressions ([#25144](https://github.com/astral-sh/ruff/pull/25144))
18+
- Treat generic `frozenset` annotations as immutable ([#25251](https://github.com/astral-sh/ruff/pull/25251))
19+
- \[`flake8-type-checking`\] Avoid `strict` behavior when `future-annotations` are enabled (`TC001`, `TC002`, `TC003`) ([#25035](https://github.com/astral-sh/ruff/pull/25035))
20+
- \[`pylint`\] Avoid false positives in `else` clause (`PLR1733`) ([#25177](https://github.com/astral-sh/ruff/pull/25177))
21+
22+
### Rule changes
23+
24+
- \[`flake8-comprehensions`\] Skip `C417` for lambdas with positional-only parameters ([#25272](https://github.com/astral-sh/ruff/pull/25272))
25+
- \[`flake8-simplify`\] Preserve f-string source verbatim in `SIM101` fix ([#25061](https://github.com/astral-sh/ruff/pull/25061))
26+
27+
### Performance
28+
29+
- Avoid unnecessary parser lookahead for operators ([#25290](https://github.com/astral-sh/ruff/pull/25290))
30+
31+
### Documentation
32+
33+
- Update code example setting Neovim LSP log level ([#25284](https://github.com/astral-sh/ruff/pull/25284))
34+
35+
### Other changes
36+
37+
- Add full PEP 798 support ([#25104](https://github.com/astral-sh/ruff/pull/25104))
38+
- Add a parser recursion limit ([#24810](https://github.com/astral-sh/ruff/pull/24810))
39+
- Update various `ruff_python_stdlib` APIs ([#25273](https://github.com/astral-sh/ruff/pull/25273))
40+
41+
### Contributors
42+
43+
- [@ocaballeror](https://github.com/ocaballeror)
44+
- [@lerebear](https://github.com/lerebear)
45+
- [@samuelcolvin](https://github.com/samuelcolvin)
46+
- [@baltasarblanco](https://github.com/baltasarblanco)
47+
- [@aconal-com](https://github.com/aconal-com)
48+
- [@anishgirianish](https://github.com/anishgirianish)
49+
- [@JelleZijlstra](https://github.com/JelleZijlstra)
50+
- [@AlexWaygood](https://github.com/AlexWaygood)
51+
- [@ntBre](https://github.com/ntBre)
52+
- [@adityasingh2400](https://github.com/adityasingh2400)
53+
- [@charliermarsh](https://github.com/charliermarsh)
54+
- [@Dev-iL](https://github.com/Dev-iL)
55+
- [@neutrinoceros](https://github.com/neutrinoceros)
56+
- [@shivamtiwari3](https://github.com/shivamtiwari3)
57+
- [@Dev-X25874](https://github.com/Dev-X25874)
58+
359
## 0.15.13
460

561
Released on 2026-05-14.

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.13/install.sh | sh
156-
powershell -c "irm https://astral.sh/ruff/0.15.13/install.ps1 | iex"
155+
curl -LsSf https://astral.sh/ruff/0.15.14/install.sh | sh
156+
powershell -c "irm https://astral.sh/ruff/0.15.14/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.13
189+
rev: v0.15.14
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.13"
3+
version = "0.15.14"
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.13"
3+
version = "0.15.14"
44
publish = false
55
authors = { workspace = true }
66
edition = { workspace = true }

crates/ruff_linter/src/rules/airflow/rules/task_implicit_multiple_outputs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ use crate::{Edit, Fix, FixAvailability, Violation};
5353
/// `XCom` layout, and a function with multiple return paths may not always
5454
/// return a dict.
5555
#[derive(ViolationMetadata)]
56-
#[violation_metadata(preview_since = "NEXT_RUFF_VERSION")]
56+
#[violation_metadata(preview_since = "0.15.14")]
5757
pub(crate) struct AirflowTaskImplicitMultipleOutputs {
5858
annotation_is_mapping: bool,
5959
}

crates/ruff_linter/src/rules/pylint/rules/too_many_try_statements.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ use crate::rules::pylint::helpers::num_statements;
6969
/// uses a different default setting.
7070
/// To replicate it exactly, set `lint.pylint.max-statements-in-try` to 1.
7171
#[derive(ViolationMetadata)]
72-
#[violation_metadata(preview_since = "NEXT_RUFF_VERSION")]
72+
#[violation_metadata(preview_since = "0.15.14")]
7373
pub(crate) struct TooManyStatementsInTryClause {
7474
statements: usize,
7575
max_statements: usize,

crates/ruff_linter/src/rules/ruff/rules/fallible_context_manager.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ use crate::checkers::ast::Checker;
4949
/// ## References
5050
/// - [Python documentation: `contextlib.contextmanager`](https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager)
5151
#[derive(ViolationMetadata)]
52-
#[violation_metadata(preview_since = "NEXT_RUFF_VERSION")]
52+
#[violation_metadata(preview_since = "0.15.14")]
5353
pub(crate) struct FallibleContextManager;
5454

5555
impl Violation for FallibleContextManager {

crates/ruff_linter/src/rules/ruff/rules/incorrect_decorator_order.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ use crate::checkers::ast::Checker;
4444
/// - [Python documentation: `abc.abstractmethod`](https://docs.python.org/3/library/abc.html#abc.abstractmethod)
4545
/// - [Python documentation: `contextlib.contextmanager`](https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager)
4646
#[derive(ViolationMetadata)]
47-
#[violation_metadata(preview_since = "NEXT_RUFF_VERSION")]
47+
#[violation_metadata(preview_since = "0.15.14")]
4848
pub(crate) struct IncorrectDecoratorOrder {
4949
outer_decorator: KnownDecorator,
5050
inner_decorator: KnownDecorator,

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.13"
3+
version = "0.15.14"
44
publish = false
55
authors = { workspace = true }
66
edition = { workspace = true }

0 commit comments

Comments
 (0)