Skip to content

Commit 569386e

Browse files
authored
Update BREAKING_CHANGES.md (#16714)
I copied the Breaking Changes section from the changelog and added the RUF035 entry at the end to avoid reference the Remapped Rules section.
1 parent c67814c commit 569386e

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

BREAKING_CHANGES.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
11
# Breaking Changes
22

3+
## 0.10.0
4+
5+
- **Changes to how the Python version is inferred when a `target-version` is not specified** ([#16319](https://github.com/astral-sh/ruff/pull/16319))
6+
7+
In previous versions of Ruff, you could specify your Python version with:
8+
9+
- The `target-version` option in a `ruff.toml` file or the `[tool.ruff]` section of a pyproject.toml file.
10+
- The `project.requires-python` field in a `pyproject.toml` file with a `[tool.ruff]` section.
11+
12+
These options worked well in most cases, and are still recommended for fine control of the Python version. However, because of the way Ruff discovers config files, `pyproject.toml` files without a `[tool.ruff]` section would be ignored, including the `requires-python` setting. Ruff would then use the default Python version (3.9 as of this writing) instead, which is surprising when you've attempted to request another version.
13+
14+
In v0.10, config discovery has been updated to address this issue:
15+
16+
- If Ruff finds a `ruff.toml` file without a `target-version`, it will check
17+
for a `pyproject.toml` file in the same directory and respect its
18+
`requires-python` version, even if it does not contain a `[tool.ruff]`
19+
section.
20+
- If Ruff finds a user-level configuration, the `requires-python` field of the closest `pyproject.toml` in a parent directory will take precedence.
21+
- If there is no config file (`ruff.toml`or `pyproject.toml` with a
22+
`[tool.ruff]` section) in the directory of the file being checked, Ruff will
23+
search for the closest `pyproject.toml` in the parent directories and use its
24+
`requires-python` setting.
25+
26+
- **Updated `TYPE_CHECKING` behavior** ([#16669](https://github.com/astral-sh/ruff/pull/16669))
27+
28+
Previously, Ruff only recognized typechecking blocks that tested the `typing.TYPE_CHECKING` symbol. Now, Ruff recognizes any local variable named `TYPE_CHECKING`. This release also removes support for the legacy `if 0:` and `if False:` typechecking checks. Use a local `TYPE_CHECKING` variable instead.
29+
30+
- **More robust noqa parsing** ([#16483](https://github.com/astral-sh/ruff/pull/16483))
31+
32+
The syntax for both file-level and in-line suppression comments has been unified and made more robust to certain errors. In most cases, this will result in more suppression comments being read by Ruff, but there are a few instances where previously read comments will now log an error to the user instead. Please refer to the documentation on [_Error suppression_](https://docs.astral.sh/ruff/linter/#error-suppression) for the full specification.
33+
34+
- **Avoid unnecessary parentheses around with statements with a single context manager and a trailing comment** ([#14005](https://github.com/astral-sh/ruff/pull/14005))
35+
36+
This change fixes a bug in the formatter where it introduced unnecessary parentheses around with statements with a single context manager and a trailing comment. This change may result in a change in formatting for some users.
37+
38+
- **Bump alpine default tag to 3.21 for derived Docker images** ([#16456](https://github.com/astral-sh/ruff/pull/16456))
39+
40+
Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Now the ruff:alpine image will use 3.21 instead of 3.20 and ruff:alpine3.20 will no longer be updated.
41+
42+
- **\[`unsafe-markup-use`\]: `RUF035` has been recoded to `S704`** ([#15957](https://github.com/astral-sh/ruff/pull/15957))
43+
344
## 0.9.0
445

546
Ruff now formats your code according to the 2025 style guide. As a result, your code might now get formatted differently. See the [changelog](./CHANGELOG.md#090) for a detailed list of changes.

0 commit comments

Comments
 (0)