Skip to content

Commit 8b305e2

Browse files
committed
Merge branch 'main' into add-PLR0916
2 parents 0fea7e1 + 5da0f91 commit 8b305e2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1754
-972
lines changed

.github/workflows/docs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
run: mkdocs build --strict -f mkdocs.generated.yml
4848
- name: "Deploy to Cloudflare Pages"
4949
if: ${{ env.CF_API_TOKEN_EXISTS == 'true' }}
50-
uses: cloudflare/wrangler-action@v3.2.0
50+
uses: cloudflare/wrangler-action@v3.3.1
5151
with:
5252
apiToken: ${{ secrets.CF_API_TOKEN }}
5353
accountId: ${{ secrets.CF_ACCOUNT_ID }}

.github/workflows/playground.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
working-directory: playground
4141
- name: "Deploy to Cloudflare Pages"
4242
if: ${{ env.CF_API_TOKEN_EXISTS == 'true' }}
43-
uses: cloudflare/wrangler-action@v3.2.0
43+
uses: cloudflare/wrangler-action@v3.3.1
4444
with:
4545
apiToken: ${{ secrets.CF_API_TOKEN }}
4646
accountId: ${{ secrets.CF_ACCOUNT_ID }}

BREAKING_CHANGES.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
## 0.1.0
44

5+
### The deprecated `format` setting has been removed
6+
7+
Ruff previously used the `format` setting, `--format` CLI option, and `RUFF_FORMAT` environment variable to
8+
configure the output format of the CLI. This usage was deprecated in `v0.0.291` — the `format` setting is now used
9+
to control Ruff's code formatting. As of this release:
10+
11+
- The `format` setting cannot be used to configure the output format, use `output-format` instead
12+
- The `RUFF_FORMAT` environment variable is ignored, use `RUFF_OUTPUT_FORMAT` instead
13+
- The `--format` option has been removed from `ruff check`, use `--output-format` instead
14+
515
### Unsafe fixes are not applied by default ([#7769](https://github.com/astral-sh/ruff/pull/7769))
616

717
Ruff labels fixes as "safe" and "unsafe". The meaning and intent of your code will be retained when applying safe

CHANGELOG.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Changelog
2+
3+
This is the first release which uses the `CHANGELOG` file. See [GitHub Releases](https://github.com/astral-sh/ruff/releases) for prior changelog entries.
4+
5+
Read Ruff's new [versioning policy](https://docs.astral.sh/ruff/versioning/).
6+
7+
## 0.1.0
8+
9+
### Breaking changes
10+
11+
- Unsafe fixes are no longer displayed or applied without opt-in ([#7769](https://github.com/astral-sh/ruff/pull/7769))
12+
- Drop formatting specific rules from the default set ([#7900](https://github.com/astral-sh/ruff/pull/7900))
13+
- The deprecated `format` setting has been removed ([#7984](https://github.com/astral-sh/ruff/pull/7984))
14+
- The `format` setting cannot be used to configure the output format, use `output-format` instead
15+
- The `RUFF_FORMAT` environment variable is ignored, use `RUFF_OUTPUT_FORMAT` instead
16+
- The `--format` option has been removed from `ruff check`, use `--output-format` instead
17+
18+
### Rule changes
19+
20+
- Extend `reimplemented-starmap` (`FURB140`) to catch calls with a single and starred argument ([#7768](https://github.com/astral-sh/ruff/pull/7768))
21+
- Improve cases covered by `RUF015` ([#7848](https://github.com/astral-sh/ruff/pull/7848))
22+
- Update `SIM15` to allow `open` followed by `close` ([#7916](https://github.com/astral-sh/ruff/pull/7916))
23+
- Respect `msgspec.Struct` default-copy semantics in `RUF012` ([#7786](https://github.com/astral-sh/ruff/pull/7786))
24+
- Add `sqlalchemy` methods to \`flake8-boolean-trap\`\` exclusion list ([#7874](https://github.com/astral-sh/ruff/pull/7874))
25+
- Add fix for `PLR1714` ([#7910](https://github.com/astral-sh/ruff/pull/7910))
26+
- Add fix for `PIE804` ([#7884](https://github.com/astral-sh/ruff/pull/7884))
27+
- Add fix for `PLC0208` ([#7887](https://github.com/astral-sh/ruff/pull/7887))
28+
- Add fix for `PYI055` ([#7886](https://github.com/astral-sh/ruff/pull/7886))
29+
- Update `non-pep695-type-alias` to require `--unsafe-fixes` outside of stub files ([#7836](https://github.com/astral-sh/ruff/pull/7836))
30+
- Improve fix message for `UP018` ([#7913](https://github.com/astral-sh/ruff/pull/7913))
31+
- Update `PLW3201` to support `Enum` [sunder names](https://docs.python.org/3/library/enum.html#supported-sunder-names) ([#7987](https://github.com/astral-sh/ruff/pull/7987))
32+
33+
### Preview features
34+
35+
- Only show warnings for empty preview selectors when enabling rules ([#7842](https://github.com/astral-sh/ruff/pull/7842))
36+
- Add `unnecessary-key-check` to simplify `key in dct and dct[key]` to `dct.get(key)` ([#7895](https://github.com/astral-sh/ruff/pull/7895))
37+
- Add `assignment-in-assert` to prevent walrus expressions in assert statements ([#7856](https://github.com/astral-sh/ruff/pull/7856))
38+
- \[`refurb`\] Add `single-item-membership-test` (`FURB171`) ([#7815](https://github.com/astral-sh/ruff/pull/7815))
39+
- \[`pylint`\] Add `and-or-ternary` (`R1706`) ([#7811](https://github.com/astral-sh/ruff/pull/7811))
40+
41+
_New rules are added in [preview](https://docs.astral.sh/ruff/preview/)._
42+
43+
### Configuration
44+
45+
- Add `unsafe-fixes` setting ([#7769](https://github.com/astral-sh/ruff/pull/7769))
46+
- Add `extend-safe-fixes` and `extend-unsafe-fixes` for promoting and demoting fixes ([#7841](https://github.com/astral-sh/ruff/pull/7841))
47+
48+
### CLI
49+
50+
- Added `--unsafe-fixes` option for opt-in to display and apply unsafe fixes ([#7769](https://github.com/astral-sh/ruff/pull/7769))
51+
- Fix use of deprecated `--format` option in warning ([#7837](https://github.com/astral-sh/ruff/pull/7837))
52+
- Show changed files when running under `--check` ([#7788](https://github.com/astral-sh/ruff/pull/7788))
53+
- Write summary messages to stderr when fixing via stdin instead of omitting them ([#7838](https://github.com/astral-sh/ruff/pull/7838))
54+
- Update fix summary message in `check --diff` to include unsafe fix hints ([#7790](https://github.com/astral-sh/ruff/pull/7790))
55+
- Add notebook `cell` field to JSON output format ([#7664](https://github.com/astral-sh/ruff/pull/7664))
56+
- Rename applicability levels to `Safe`, `Unsafe`, and `Display` ([#7843](https://github.com/astral-sh/ruff/pull/7843))
57+
58+
### Bug fixes
59+
60+
- Fix bug where f-strings were allowed in match pattern literal ([#7857](https://github.com/astral-sh/ruff/pull/7857))
61+
- Fix `SIM110` with a yield in the condition ([#7801](https://github.com/astral-sh/ruff/pull/7801))
62+
- Preserve trailing comments in `C414` fixes ([#7775](https://github.com/astral-sh/ruff/pull/7775))
63+
- Check sequence type before triggering `unnecessary-enumerate` `len` suggestion ([#7781](https://github.com/astral-sh/ruff/pull/7781))
64+
- Use correct start location for class/function clause header ([#7802](https://github.com/astral-sh/ruff/pull/7802))
65+
- Fix incorrect fixes for `SIM101` ([#7798](https://github.com/astral-sh/ruff/pull/7798))
66+
- Format comment before parameter default correctly ([#7870](https://github.com/astral-sh/ruff/pull/7870))
67+
- Fix `E251` false positive inside f-strings ([#7894](https://github.com/astral-sh/ruff/pull/7894))
68+
- Allow bindings to be created and referenced within annotations ([#7885](https://github.com/astral-sh/ruff/pull/7885))
69+
- Show per-cell diffs when analyzing notebooks over `stdin` ([#7789](https://github.com/astral-sh/ruff/pull/7789))
70+
- Avoid curly brace escape in f-string format spec ([#7780](https://github.com/astral-sh/ruff/pull/7780))
71+
- Fix lexing single-quoted f-string with multi-line format spec ([#7787](https://github.com/astral-sh/ruff/pull/7787))
72+
- Consider nursery rules to be in-preview for `ruff rule` ([#7812](https://github.com/astral-sh/ruff/pull/7812))
73+
- Report precise location for invalid conversion flag ([#7809](https://github.com/astral-sh/ruff/pull/7809))
74+
- Visit pattern match guard as a boolean test ([#7911](https://github.com/astral-sh/ruff/pull/7911))
75+
- Respect `--unfixable` in `ISC` rules ([#7917](https://github.com/astral-sh/ruff/pull/7917))
76+
- Fix edge case with `PIE804` ([#7922](https://github.com/astral-sh/ruff/pull/7922))
77+
- Show custom message in `PTH118` for `Path.joinpath` with starred arguments ([#7852](https://github.com/astral-sh/ruff/pull/7852))
78+
- Fix false negative in `outdated-version-block` when using greater than comparisons ([#7920](https://github.com/astral-sh/ruff/pull/7920))
79+
- Avoid converting f-strings within Django `gettext` calls ([#7898](https://github.com/astral-sh/ruff/pull/7898))
80+
- Fix false positive in `PLR6301` ([#7933](https://github.com/astral-sh/ruff/pull/7933))
81+
- Treat type aliases as typing-only expressions e.g. resolves false positive in `TCH004` ([#7968](https://github.com/astral-sh/ruff/pull/7968))
82+
- Resolve `cache-dir` relative to project root ([#7962](https://github.com/astral-sh/ruff/pull/7962))
83+
- Respect subscripted base classes in type-checking rules e.g. resolves false positive in `TCH003` ([#7954](https://github.com/astral-sh/ruff/pull/7954))
84+
- Fix JSON schema limit for `line-length` ([#7883](https://github.com/astral-sh/ruff/pull/7883))
85+
- Fix commented-out `coalesce` keyword ([#7876](https://github.com/astral-sh/ruff/pull/7876))
86+
87+
### Documentation
88+
89+
- Document `reimplemented-starmap` performance effects ([#7846](https://github.com/astral-sh/ruff/pull/7846))
90+
- Default to following the system dark/light mode ([#7888](https://github.com/astral-sh/ruff/pull/7888))
91+
- Add documentation for fixes ([#7901](https://github.com/astral-sh/ruff/pull/7901))
92+
- Fix typo in docs of `PLR6301` ([#7831](https://github.com/astral-sh/ruff/pull/7831))
93+
- Update `UP038` docs to note that it results in slower code ([#7872](https://github.com/astral-sh/ruff/pull/7872))
94+
- crlf -> cr-lf ([#7766](https://github.com/astral-sh/ruff/pull/7766))
95+
- Add an example of an unsafe fix ([#7924](https://github.com/astral-sh/ruff/pull/7924))
96+
- Fix documented examples for `unnecessary-subscript-reversal` ([#7774](https://github.com/astral-sh/ruff/pull/7774))
97+
- Correct error in tuple example in ruff formatter docs ([#7822](https://github.com/astral-sh/ruff/pull/7822))
98+
- Add versioning policy to documentation ([#7923](https://github.com/astral-sh/ruff/pull/7923))
99+
- Fix invalid code in `FURB177` example ([#7832](https://github.com/astral-sh/ruff/pull/7832))
100+
101+
### Formatter
102+
103+
- Less scary `ruff format` message ([#7867](https://github.com/astral-sh/ruff/pull/7867))
104+
- Remove spaces from import statements ([#7859](https://github.com/astral-sh/ruff/pull/7859))
105+
- Formatter quoting for f-strings with triple quotes ([#7826](https://github.com/astral-sh/ruff/pull/7826))
106+
- Update `ruff_python_formatter` generate.py comment ([#7850](https://github.com/astral-sh/ruff/pull/7850))
107+
- Document one-call chaining deviation ([#7767](https://github.com/astral-sh/ruff/pull/7767))
108+
- Allow f-string modifications in line-shrinking cases ([#7818](https://github.com/astral-sh/ruff/pull/7818))
109+
- Add trailing comment deviation to README ([#7827](https://github.com/astral-sh/ruff/pull/7827))
110+
- Add trailing zero between dot and exponential ([#7956](https://github.com/astral-sh/ruff/pull/7956))
111+
- Force parentheses for power operations in unary expressions ([#7955](https://github.com/astral-sh/ruff/pull/7955))
112+
113+
### Playground
114+
115+
- Fix playground `Quick Fix` action ([#7824](https://github.com/astral-sh/ruff/pull/7824))

CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ At a high level, the steps involved in adding a new lint rule are as follows:
170170
statements, like imports) or `analyze/expression.rs` (if your rule is based on analyzing
171171
expressions, like function calls).
172172

173-
1. Map the violation struct to a rule code in `crates/ruff_linter/src/codes.rs` (e.g., `B011`).
173+
1. Map the violation struct to a rule code in `crates/ruff_linter/src/codes.rs` (e.g., `B011`). New rules
174+
should be added in `RuleGroup::Preview`.
174175

175176
1. Add proper [testing](#rule-testing-fixtures-and-snapshots) for your rule.
176177

Cargo.lock

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

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ filetime = { version = "0.2.20" }
2121
glob = { version = "0.3.1" }
2222
globset = { version = "0.4.10" }
2323
ignore = { version = "0.4.20" }
24-
insta = { version = "1.33.0", feature = ["filters", "glob"] }
24+
insta = { version = "1.34.0", feature = ["filters", "glob"] }
2525
is-macro = { version = "0.3.0" }
2626
itertools = { version = "0.11.0" }
2727
libcst = { version = "1.1.0", default-features = false }
@@ -31,7 +31,7 @@ once_cell = { version = "1.17.1" }
3131
path-absolutize = { version = "3.1.1" }
3232
proc-macro2 = { version = "1.0.69" }
3333
quote = { version = "1.0.23" }
34-
regex = { version = "1.9.6" }
34+
regex = { version = "1.10.2" }
3535
rustc-hash = { version = "1.1.0" }
3636
schemars = { version = "0.8.15" }
3737
serde = { version = "1.0.152", features = ["derive"] }
@@ -50,7 +50,7 @@ tracing = { version = "0.1.37" }
5050
tracing-indicatif = { version = "0.3.4" }
5151
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
5252
unicode-ident = { version = "1.0.12" }
53-
unicode_names2 = { git = "https://github.com/konstin/unicode_names2", rev = "e2ee8155795a13afbea5caa4dbce8d1f93bc26eb" }
53+
unicode_names2 = { version = "1.2.0" }
5454
unicode-width = { version = "0.1.11" }
5555
uuid = { version = "1.4.1", features = ["v4", "fast-rng", "macro-diagnostics", "js"] }
5656
wsl = { version = "0.1.0" }

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ Ruff can also be used as a [pre-commit](https://pre-commit.com) hook:
140140
```yaml
141141
- repo: https://github.com/astral-sh/ruff-pre-commit
142142
# Ruff version.
143-
rev: v0.0.292
143+
rev: v0.1.0
144144
hooks:
145145
- id: ruff
146146
```

crates/flake8_to_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 = "flake8-to-ruff"
3-
version = "0.0.292"
3+
version = "0.1.0"
44
description = """
55
Convert Flake8 configuration files to Ruff configuration files.
66
"""

crates/ruff_cli/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_cli"
3-
version = "0.0.292"
3+
version = "0.1.0"
44
publish = false
55
authors = { workspace = true }
66
edition = { workspace = true }

0 commit comments

Comments
 (0)