|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## 0.7.0 |
| 4 | + |
| 5 | +Check out the [blog post](https://astral.sh/blog/ruff-v0.7.0) for a migration guide and overview of the changes! |
| 6 | + |
| 7 | +### Breaking changes |
| 8 | + |
| 9 | +- The pytest rules `PT001` and `PT023` now default to omitting the decorator parentheses when there are no arguments |
| 10 | + ([#12838](https://github.com/astral-sh/ruff/pull/12838), [#13292](https://github.com/astral-sh/ruff/pull/13292)). |
| 11 | + This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part. |
| 12 | + See the [blog post](https://astral.sh/blog/ruff-v0.7.0) for more details. |
| 13 | +- The `useless-try-except` rule (in our `tryceratops` category) has been recoded from `TRY302` to |
| 14 | + `TRY203` ([#13502](https://github.com/astral-sh/ruff/pull/13502)). This ensures Ruff's code is consistent with |
| 15 | + the same rule in the [`tryceratops`](https://github.com/guilatrova/tryceratops) linter. |
| 16 | +- The `lint.allow-unused-imports` setting has been removed ([#13677](https://github.com/astral-sh/ruff/pull/13677)). Use |
| 17 | + [`lint.pyflakes.allow-unused-imports`](https://docs.astral.sh/ruff/settings/#lint_pyflakes_allowed-unused-imports) |
| 18 | + instead. |
| 19 | + |
| 20 | +### Formatter preview style |
| 21 | + |
| 22 | +- Normalize implicit concatenated f-string quotes per part ([#13539](https://github.com/astral-sh/ruff/pull/13539)) |
| 23 | + |
| 24 | +### Preview linter features |
| 25 | + |
| 26 | +- \[`refurb`\] implement `hardcoded-string-charset` (FURB156) ([#13530](https://github.com/astral-sh/ruff/pull/13530)) |
| 27 | +- \[`refurb`\] Count codepoints not bytes for `slice-to-remove-prefix-or-suffix (FURB188)` ([#13631](https://github.com/astral-sh/ruff/pull/13631)) |
| 28 | + |
| 29 | +### Rule changes |
| 30 | + |
| 31 | +- \[`pylint`\] Mark `PLE1141` fix as unsafe ([#13629](https://github.com/astral-sh/ruff/pull/13629)) |
| 32 | +- \[`flake8-async`\] Consider async generators to be "checkpoints" for `cancel-scope-no-checkpoint` (`ASYNC100`) ([#13639](https://github.com/astral-sh/ruff/pull/13639)) |
| 33 | +- \[`flake8-bugbear`\] Do not suggest setting parameter `strict=` to `False` in `B905` diagnostic message ([#13656](https://github.com/astral-sh/ruff/pull/13656)) |
| 34 | +- \[`flake8-todos`\] Only flag the word "TODO", not words starting with "todo" (`TD006`) ([#13640](https://github.com/astral-sh/ruff/pull/13640)) |
| 35 | +- \[`pycodestyle`\] Fix whitespace-related false positives and false negatives inside type-parameter lists (`E231`, `E251`) ([#13704](https://github.com/astral-sh/ruff/pull/13704)) |
| 36 | +- \[`flake8-simplify`\] Stabilize preview behavior for `SIM115` so that the rule can detect files |
| 37 | + being opened from a wider range of standard-library functions ([#12959](https://github.com/astral-sh/ruff/pull/12959)). |
| 38 | + |
| 39 | +### CLI |
| 40 | + |
| 41 | +- Add explanation of fixable in `--statistics` command ([#13774](https://github.com/astral-sh/ruff/pull/13774)) |
| 42 | + |
| 43 | +### Bug fixes |
| 44 | + |
| 45 | +- \[`pyflakes`\] Allow `ipytest` cell magic (`F401`) ([#13745](https://github.com/astral-sh/ruff/pull/13745)) |
| 46 | +- \[`flake8-use-pathlib`\] Fix `PTH123` false positive when `open` is passed a file descriptor ([#13616](https://github.com/astral-sh/ruff/pull/13616)) |
| 47 | +- \[`flake8-bandit`\] Detect patterns from multi line SQL statements (`S608`) ([#13574](https://github.com/astral-sh/ruff/pull/13574)) |
| 48 | +- \[`flake8-pyi`\] - Fix dropped expressions in `PYI030` autofix ([#13727](https://github.com/astral-sh/ruff/pull/13727)) |
| 49 | + |
3 | 50 | ## 0.6.9
|
4 | 51 |
|
5 | 52 | ### Preview features
|
|
0 commit comments