chore(deps): update dependency lint/ruff to v0.1.0
Metadata
Current evaluation
Merged automated dependency update for lint/ruff from v0.0.272 to v0.1.0. Generated by Renovate, approved by a reviewer, passed CI checks, and successfully merged without conflicts.
Suggested action: —
No scores available.
Issue body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [lint/ruff](https://docs.astral.sh/ruff) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.272` -> `==0.1.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>astral-sh/ruff (lint/ruff)</summary>
### [`v0.1.0`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#010)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.292...v0.1.0)
##### Breaking changes
- Unsafe fixes are no longer displayed or applied without opt-in ([#​7769](https://togithub.com/astral-sh/ruff/pull/7769))
- Drop formatting specific rules from the default set ([#​7900](https://togithub.com/astral-sh/ruff/pull/7900))
- The deprecated `format` setting has been removed ([#​7984](https://togithub.com/astral-sh/ruff/pull/7984))
- The `format` setting cannot be used to configure the output format, use `output-format` instead
- The `RUFF_FORMAT` environment variable is ignored, use `RUFF_OUTPUT_FORMAT` instead
- The `--format` option has been removed from `ruff check`, use `--output-format` instead
##### Rule changes
- Extend `reimplemented-starmap` (`FURB140`) to catch calls with a single and starred argument ([#​7768](https://togithub.com/astral-sh/ruff/pull/7768))
- Improve cases covered by `RUF015` ([#​7848](https://togithub.com/astral-sh/ruff/pull/7848))
- Update `SIM15` to allow `open` followed by `close` ([#​7916](https://togithub.com/astral-sh/ruff/pull/7916))
- Respect `msgspec.Struct` default-copy semantics in `RUF012` ([#​7786](https://togithub.com/astral-sh/ruff/pull/7786))
- Add `sqlalchemy` methods to \`flake8-boolean-trap\`\` exclusion list ([#​7874](https://togithub.com/astral-sh/ruff/pull/7874))
- Add fix for `PLR1714` ([#​7910](https://togithub.com/astral-sh/ruff/pull/7910))
- Add fix for `PIE804` ([#​7884](https://togithub.com/astral-sh/ruff/pull/7884))
- Add fix for `PLC0208` ([#​7887](https://togithub.com/astral-sh/ruff/pull/7887))
- Add fix for `PYI055` ([#​7886](https://togithub.com/astral-sh/ruff/pull/7886))
- Update `non-pep695-type-alias` to require `--unsafe-fixes` outside of stub files ([#​7836](https://togithub.com/astral-sh/ruff/pull/7836))
- Improve fix message for `UP018` ([#​7913](https://togithub.com/astral-sh/ruff/pull/7913))
- Update `PLW3201` to support `Enum` [sunder names](https://docs.python.org/3/library/enum.html#supported-sunder-names) ([#​7987](https://togithub.com/astral-sh/ruff/pull/7987))
##### Preview features
- Only show warnings for empty preview selectors when enabling rules ([#​7842](https://togithub.com/astral-sh/ruff/pull/7842))
- Add `unnecessary-key-check` to simplify `key in dct and dct[key]` to `dct.get(key)` ([#​7895](https://togithub.com/astral-sh/ruff/pull/7895))
- Add `assignment-in-assert` to prevent walrus expressions in assert statements ([#​7856](https://togithub.com/astral-sh/ruff/pull/7856))
- \[`refurb`] Add `single-item-membership-test` (`FURB171`) ([#​7815](https://togithub.com/astral-sh/ruff/pull/7815))
- \[`pylint`] Add `and-or-ternary` (`R1706`) ([#​7811](https://togithub.com/astral-sh/ruff/pull/7811))
*New rules are added in [preview](https://docs.astral.sh/ruff/preview/).*
##### Configuration
- Add `unsafe-fixes` setting ([#​7769](https://togithub.com/astral-sh/ruff/pull/7769))
- Add `extend-safe-fixes` and `extend-unsafe-fixes` for promoting and demoting fixes ([#​7841](https://togithub.com/astral-sh/ruff/pull/7841))
##### CLI
- Added `--unsafe-fixes` option for opt-in to display and apply unsafe fixes ([#​7769](https://togithub.com/astral-sh/ruff/pull/7769))
- Fix use of deprecated `--format` option in warning ([#​7837](https://togithub.com/astral-sh/ruff/pull/7837))
- Show changed files when running under `--check` ([#​7788](https://togithub.com/astral-sh/ruff/pull/7788))
- Write summary messages to stderr when fixing via stdin instead of omitting them ([#​7838](https://togithub.com/astral-sh/ruff/pull/7838))
- Update fix summary message in `check --diff` to include unsafe fix hints ([#​7790](https://togithub.com/astral-sh/ruff/pull/7790))
- Add notebook `cell` field to JSON output format ([#​7664](https://togithub.com/astral-sh/ruff/pull/7664))
- Rename applicability levels to `Safe`, `Unsafe`, and `Display` ([#​7843](https://togithub.com/astral-sh/ruff/pull/7843))
##### Bug fixes
- Fix bug where f-strings were allowed in match pattern literal ([#​7857](https://togithub.com/astral-sh/ruff/pull/7857))
- Fix `SIM110` with a yield in the condition ([#​7801](https://togithub.com/astral-sh/ruff/pull/7801))
- Preserve trailing comments in `C414` fixes ([#​7775](https://togithub.com/astral-sh/ruff/pull/7775))
- Check sequence type before triggering `unnecessary-enumerate` `len` suggestion ([#​7781](https://togithub.com/astral-sh/ruff/pull/7781))
- Use correct start location for class/function clause header ([#​7802](https://togithub.com/astral-sh/ruff/pull/7802))
- Fix incorrect fixes for `SIM101` ([#​7798](https://togithub.com/astral-sh/ruff/pull/7798))
- Format comment before parameter default correctly ([#​7870](https://togithub.com/astral-sh/ruff/pull/7870))
- Fix `E251` false positive inside f-strings ([#​7894](https://togithub.com/astral-sh/ruff/pull/7894))
- Allow bindings to be created and referenced within annotations ([#​7885](https://togithub.com/astral-sh/ruff/pull/7885))
- Show per-cell diffs when analyzing notebooks over `stdin` ([#​7789](https://togithub.com/astral-sh/ruff/pull/7789))
- Avoid curly brace escape in f-string format spec ([#​7780](https://togithub.com/astral-sh/ruff/pull/7780))
- Fix lexing single-quoted f-string with multi-line format spec ([#​7787](https://togithub.com/astral-sh/ruff/pull/7787))
- Consider nursery rules to be in-preview for `ruff rule` ([#​7812](https://togithub.com/astral-sh/ruff/pull/7812))
- Report precise location for invalid conversion flag ([#​7809](https://togithub.com/astral-sh/ruff/pull/7809))
- Visit pattern match guard as a boolean test ([#​7911](https://togithub.com/astral-sh/ruff/pull/7911))
- Respect `--unfixable` in `ISC` rules ([#​7917](https://togithub.com/astral-sh/ruff/pull/7917))
- Fix edge case with `PIE804` ([#​7922](https://togithub.com/astral-sh/ruff/pull/7922))
- Show custom message in `PTH118` for `Path.joinpath` with starred arguments ([#​7852](https://togithub.com/astral-sh/ruff/pull/7852))
- Fix false negative in `outdated-version-block` when using greater than comparisons ([#​7920](https://togithub.com/astral-sh/ruff/pull/7920))
- Avoid converting f-strings within Django `gettext` calls ([#​7898](https://togithub.com/astral-sh/ruff/pull/7898))
- Fix false positive in `PLR6301` ([#​7933](https://togithub.com/astral-sh/ruff/pull/7933))
- Treat type aliases as typing-only expressions e.g. resolves false positive in `TCH004` ([#​7968](https://togithub.com/astral-sh/ruff/pull/7968))
- Resolve `cache-dir` relative to project root ([#​7962](https://togithub.com/astral-sh/ruff/pull/7962))
- Respect subscripted base classes in type-checking rules e.g. resolves false positive in `TCH003` ([#​7954](https://togithub.com/astral-sh/ruff/pull/7954))
- Fix JSON schema limit for `line-length` ([#​7883](https://togithub.com/astral-sh/ruff/pull/7883))
- Fix commented-out `coalesce` keyword ([#​7876](https://togithub.com/astral-sh/ruff/pull/7876))
##### Documentation
- Document `reimplemented-starmap` performance effects ([#​7846](https://togithub.com/astral-sh/ruff/pull/7846))
- Default to following the system dark/light mode ([#​7888](https://togithub.com/astral-sh/ruff/pull/7888))
- Add documentation for fixes ([#​7901](https://togithub.com/astral-sh/ruff/pull/7901))
- Fix typo in docs of `PLR6301` ([#​7831](https://togithub.com/astral-sh/ruff/pull/7831))
- Update `UP038` docs to note that it results in slower code ([#​7872](https://togithub.com/astral-sh/ruff/pull/7872))
- crlf -> cr-lf ([#​7766](https://togithub.com/astral-sh/ruff/pull/7766))
- Add an example of an unsafe fix ([#​7924](https://togithub.com/astral-sh/ruff/pull/7924))
- Fix documented examples for `unnecessary-subscript-reversal` ([#​7774](https://togithub.com/astral-sh/ruff/pull/7774))
- Correct error in tuple example in ruff formatter docs ([#​7822](https://togithub.com/astral-sh/ruff/pull/7822))
- Add versioning policy to documentation ([#​7923](https://togithub.com/astral-sh/ruff/pull/7923))
- Fix invalid code in `FURB177` example ([#​7832](https://togithub.com/astral-sh/ruff/pull/7832))
##### Formatter
- Less scary `ruff format` message ([#​7867](https://togithub.com/astral-sh/ruff/pull/7867))
- Remove spaces from import statements ([#​7859](https://togithub.com/astral-sh/ruff/pull/7859))
- Formatter quoting for f-strings with triple quotes ([#​7826](https://togithub.com/astral-sh/ruff/pull/7826))
- Update `ruff_python_formatter` generate.py comment ([#​7850](https://togithub.com/astral-sh/ruff/pull/7850))
- Document one-call chaining deviation ([#​7767](https://togithub.com/astral-sh/ruff/pull/7767))
- Allow f-string modifications in line-shrinking cases ([#​7818](https://togithub.com/astral-sh/ruff/pull/7818))
- Add trailing comment deviation to README ([#​7827](https://togithub.com/astral-sh/ruff/pull/7827))
- Add trailing zero between dot and exponential ([#​7956](https://togithub.com/astral-sh/ruff/pull/7956))
- Force parentheses for power operations in unary expressions ([#​7955](https://togithub.com/astral-sh/ruff/pull/7955))
##### Playground
- Fix playground `Quick Fix` action ([#​7824](https://togithub.com/astral-sh/ruff/pull/7824))
### [`v0.0.292`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.292)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.291...v0.0.292)
<!-- Release notes generated using configuration in .github/release.yml at v0.0.292 -->
#### What's Changed
##### Highlights
**This release includes full support for Python 3.12 ([out now!](https://www.python.org/downloads/release/python-3120/)), including the new type parameter ([PEP 695](https://peps.python.org/pep-0695/)) and f-string syntaxes ([PEP 701](https://peps.python.org/pep-0701/)).**
PEP 701 lifts many of the restrictions on f-strings that existed in the past, allowing for arbitrarily nested f-strings, consistent quote style within f-strings, and more, all of which are now supported by Ruff (thanks to [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7376](https://togithub.com/astral-sh/ruff/pull/7376)).
##### Breaking Changes
- In the formatter, `format.quote-style` no longer affects triple-quoted strings, to align with common conventions as well as the guidance from PEP 8 and PEP 257 (see: [https://github.com/astral-sh/ruff/pull/7680](https://togithub.com/astral-sh/ruff/pull/7680)).
- `line-too-long` (`E501`) now ignores trailing pragma comments (like `# type: ignore` and `# noqa`) when computing line length (see: [https://github.com/astral-sh/ruff/pull/7692](https://togithub.com/astral-sh/ruff/pull/7692)). This is similar to flake8-bugbear's methodology for detecting overlong lines, and ensures that adding pragmas like `# noqa` does not introduce further lint errors.
##### Rules
- \[`refurb`] Implement `print-empty-string` (`FURB105`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7617](https://togithub.com/astral-sh/ruff/pull/7617)
- \[`flake8-bandit`] Implement `weak-cryptographic-key` (`S505`) by [@​mkniewallner](https://togithub.com/mkniewallner) in [https://github.com/astral-sh/ruff/pull/7703](https://togithub.com/astral-sh/ruff/pull/7703)
- \[`refurb`] Implement `implicit-cwd` (`FURB177`) by [@​danparizher](https://togithub.com/danparizher) in [https://github.com/astral-sh/ruff/pull/7704](https://togithub.com/astral-sh/ruff/pull/7704)
- `unnecessary-pass` (`PIE790`) now flags all unnecessary `pass` statements; previously, the rule only flagged `pass` statements that followed a docstring in a two-statement body (see: [https://github.com/astral-sh/ruff/pull/7697](https://togithub.com/astral-sh/ruff/pull/7697)).
##### Settings
- Add `lint` section to Ruff configuration by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7549](https://togithub.com/astral-sh/ruff/pull/7549)
- Add `explicit-preview-rules` to toggle explicit selection of preview rules by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7390](https://togithub.com/astral-sh/ruff/pull/7390)
- Decrease PEP 593 error to a debug warning by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7745](https://togithub.com/astral-sh/ruff/pull/7745)
- Write full Jupyter notebook to `stdout` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7748](https://togithub.com/astral-sh/ruff/pull/7748)
- Extend `unnecessary-pass` (`PIE790`) to trigger on all unnecessary `pass` statements by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7697](https://togithub.com/astral-sh/ruff/pull/7697)
##### Bug Fixes
- Ignore blank lines between comments when counting newlines-after-imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7607](https://togithub.com/astral-sh/ruff/pull/7607)
- Avoid reordering mixed-indent-level comments after branches by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7609](https://togithub.com/astral-sh/ruff/pull/7609)
- Avoid flagging B009 and B010 on starred expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7621](https://togithub.com/astral-sh/ruff/pull/7621)
- Use deletion for D215 full-line removals by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7625](https://togithub.com/astral-sh/ruff/pull/7625)
- Avoid searching for bracketed comments in unparenthesized generators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7627](https://togithub.com/astral-sh/ruff/pull/7627)
- Update return type for `PT022` autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7613](https://togithub.com/astral-sh/ruff/pull/7613)
- Flag FURB105 with starred kwargs by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7630](https://togithub.com/astral-sh/ruff/pull/7630)
- Don't suggest replacing `builtin.open()` with `Path.open()` if the latter doesn't support all options by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7637](https://togithub.com/astral-sh/ruff/pull/7637)
- Use 1-based cell indices consistently for Notebooks by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7662](https://togithub.com/astral-sh/ruff/pull/7662)
- Add `Expr::Name` checks to rules which use `is_logger_candidate` by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7521](https://togithub.com/astral-sh/ruff/pull/7521)
- Ensure that B006 autofixes are inserted after imports by [@​Hoxbro](https://togithub.com/Hoxbro) in [https://github.com/astral-sh/ruff/pull/7629](https://togithub.com/astral-sh/ruff/pull/7629)
- Allow named expressions in `__all__` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7673](https://togithub.com/astral-sh/ruff/pull/7673)
- Include radix base prefix in large number representation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7700](https://togithub.com/astral-sh/ruff/pull/7700)
- Parenthesize multi-line attributes in B009 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7701](https://togithub.com/astral-sh/ruff/pull/7701)
- Insert necessary padding in B014 fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7699](https://togithub.com/astral-sh/ruff/pull/7699)
- fix(rules): improve S507 detection by [@​mkniewallner](https://togithub.com/mkniewallner) in [https://github.com/astral-sh/ruff/pull/7661](https://togithub.com/astral-sh/ruff/pull/7661)
- Ignore TODO tags in `commented-out-code` by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7523](https://togithub.com/astral-sh/ruff/pull/7523)
- Track fix isolation in `unnecessary-pass` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7715](https://togithub.com/astral-sh/ruff/pull/7715)
- Use fixed source code for parser context by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7717](https://togithub.com/astral-sh/ruff/pull/7717)
- Preserve parentheses in `quadratic-list-summation` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7719](https://togithub.com/astral-sh/ruff/pull/7719)
- Compute `NotebookIndex` for `Diagnostics` on stdin by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7663](https://togithub.com/astral-sh/ruff/pull/7663)
- Perform insertions before replacements by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7739](https://togithub.com/astral-sh/ruff/pull/7739)
- Skip all bracketed expressions when locating comparison ops by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7740](https://togithub.com/astral-sh/ruff/pull/7740)
- Fix PLE251 rules with f-string escaping by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7741](https://togithub.com/astral-sh/ruff/pull/7741)
- Skip BOM when inserting start-of-file imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7622](https://togithub.com/astral-sh/ruff/pull/7622)
- Emit `LexError` for dedent to incorrect level by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7638](https://togithub.com/astral-sh/ruff/pull/7638)
- Expand `DeprecatedLogWarn` to check for `Expr::Atrribute` calls by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7677](https://togithub.com/astral-sh/ruff/pull/7677)
##### Other Changes
- Add support for PEP 701 by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7376](https://togithub.com/astral-sh/ruff/pull/7376)
- Improve performance of `commented-out-code` (~50-80%) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7706](https://togithub.com/astral-sh/ruff/pull/7706)
#### New Contributors
- [@​bluthej](https://togithub.com/bluthej) made their first contribution in [https://github.com/astral-sh/ruff/pull/7665](https://togithub.com/astral-sh/ruff/pull/7665)
- [@​Hoxbro](https://togithub.com/Hoxbro) made their first contribution in [https://github.com/astral-sh/ruff/pull/7629](https://togithub.com/astral-sh/ruff/pull/7629)
- [@​danparizher](https://togithub.com/danparizher) made their first contribution in [https://github.com/astral-sh/ruff/pull/7704](https://togithub.com/astral-sh/ruff/pull/7704)
- [@​aspizu](https://togithub.com/aspizu) made their first contribution in [https://github.com/astral-sh/ruff/pull/7750](https://togithub.com/astral-sh/ruff/pull/7750)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.291...v0.0.292
### [`v0.0.291`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.291)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.290...v0.0.291)
<!-- Release notes generated using configuration in .github/release.yml at v0.0.291 -->
#### What's Changed
##### Deprecations
**The `format` command-line argument and configuration option has been renamed to `output-format`.** While Ruff will continue to respect `format` when passed as a command-line argument or configuration option, this backwards-compatible support will be dropped in a future release. See: [https://github.com/astral-sh/ruff/pull/7514](https://togithub.com/astral-sh/ruff/pull/7514).
##### Rules
- \[`flake8-bandit`] Implement `S201`: `flask-debug-true` by [@​mkniewallner](https://togithub.com/mkniewallner) in [https://github.com/astral-sh/ruff/pull/7503](https://togithub.com/astral-sh/ruff/pull/7503)
- \[`flake8-bandit`] Implement `S507`: `ssh_no_host_key_verification` by [@​mkniewallner](https://togithub.com/mkniewallner) in [https://github.com/astral-sh/ruff/pull/7528](https://togithub.com/astral-sh/ruff/pull/7528)
- \[`flake8-logging`] Implement `LOG002`: `invalid-get-logger-argument` by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7399](https://togithub.com/astral-sh/ruff/pull/7399)
- \[`flake8-logging`] Implement `LOG007`: `exception-without-exc-info` by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7410](https://togithub.com/astral-sh/ruff/pull/7410)
- \[`refurb`] Implement `FURB140`: `reimplemented-starmap` by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/7253](https://togithub.com/astral-sh/ruff/pull/7253)
- \[`refurb`] Implement `FURB148`: `unnecessary-enumerate` by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7454](https://togithub.com/astral-sh/ruff/pull/7454)
- \[`ruff`] Detect `asyncio.get_running_loop` calls in RUF006 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7562](https://togithub.com/astral-sh/ruff/pull/7562)
##### Settings
- Show `--no-X` variants in CLI help by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7504](https://togithub.com/astral-sh/ruff/pull/7504)
- Rename `format` option to `output-format` by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7514](https://togithub.com/astral-sh/ruff/pull/7514)
- Enable tab completion for `ruff rule` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7560](https://togithub.com/astral-sh/ruff/pull/7560)
##### Bug Fixes
- Add padding to prevent some autofix errors by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7461](https://togithub.com/astral-sh/ruff/pull/7461)
- Remove parentheses when rewriting assert calls to statements by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7464](https://togithub.com/astral-sh/ruff/pull/7464)
- Avoid flagging starred elements in C402 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7466](https://togithub.com/astral-sh/ruff/pull/7466)
- Extend `bad-dunder-method-name` to permit `attrs` dunders by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7472](https://togithub.com/astral-sh/ruff/pull/7472)
- Avoid N802 violations for [@​overload](https://togithub.com/overload) methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/astral-sh/ruff/pull/7498](https://togithub.com/astral-sh/ruff/pull/7498)
- Avoid flagging starred expressions in UP007 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7505](https://togithub.com/astral-sh/ruff/pull/7505)
- Ensure that LOG007 only triggers on `.exception()` calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7524](https://togithub.com/astral-sh/ruff/pull/7524)
- Use strict sorted and union for NoQA mapping insertion by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7531](https://togithub.com/astral-sh/ruff/pull/7531)
- Avoid inserting imports directly after continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7553](https://togithub.com/astral-sh/ruff/pull/7553)
- Add padding in `PERF102` fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7554](https://togithub.com/astral-sh/ruff/pull/7554)
- Avoid invalid fix for parenthesized values in F601 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7559](https://togithub.com/astral-sh/ruff/pull/7559)
- Treat `os.error` as an `OSError` alias by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7582](https://togithub.com/astral-sh/ruff/pull/7582)
- Extend `bad-dunder-method-name` to permit `__html__` by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7492](https://togithub.com/astral-sh/ruff/pull/7492)
- Fix stylist indentation with a formfeed by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7489](https://togithub.com/astral-sh/ruff/pull/7489)
#### New Contributors
- [@​MicaelJarniac](https://togithub.com/MicaelJarniac) made their first contribution in [https://github.com/astral-sh/ruff/pull/5498](https://togithub.com/astral-sh/ruff/pull/5498)
- [@​maheshsaripalli9](https://togithub.com/maheshsaripalli9) made their first contribution in [https://github.com/astral-sh/ruff/pull/7552](https://togithub.com/astral-sh/ruff/pull/7552)
- [@​T-256](https://togithub.com/T-256) made their first contribution in [https://github.com/astral-sh/ruff/pull/7585](https://togithub.com/astral-sh/ruff/pull/7585)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.290...v0.0.291
### [`v0.0.290`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.290)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.289...v0.0.290)
<!-- Release notes generated using configuration in .github/release.yml at v0.0.290 -->
#### What's Changed
##### Rules
- Update `deprecated-import` lists based on recent `typing-extensions` release by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7356](https://togithub.com/astral-sh/ruff/pull/7356)
- Add support for bounds, constraints, and explicit variance on generic type variables to `UP040` by [@​nathanwhit](https://togithub.com/nathanwhit) in [https://github.com/astral-sh/ruff/pull/6749](https://togithub.com/astral-sh/ruff/pull/6749)
##### Settings
- Show rule codes in shell tab completion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7375](https://togithub.com/astral-sh/ruff/pull/7375)
##### Bug Fixes
- Parenthesize single-generator arguments when adding reverse keyword by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7365](https://togithub.com/astral-sh/ruff/pull/7365)
- Invert reverse argument regardless of whether it's a boolean by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7372](https://togithub.com/astral-sh/ruff/pull/7372)
- Extend `C416` to catch tuple unpacking by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7363](https://togithub.com/astral-sh/ruff/pull/7363)
- Allow `NURSERY` rule selctor in JSON Schema by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7374](https://togithub.com/astral-sh/ruff/pull/7374)
- Avoid flagging single-quoted docstrings with continuations for multi-line rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7392](https://togithub.com/astral-sh/ruff/pull/7392)
- Treat whitespace-only line as blank for `D411` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7351](https://togithub.com/astral-sh/ruff/pull/7351)
##### Preview
[*What's this section?*](https://beta.ruff.rs/docs/preview/)
- \[`flake8-logging`] New rule `undocumented-warn` (`LOG009`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://togithub.com/astral-sh/ruff/pull/7249)
- \[`flake8-logging`] New rule `direct-logger-instantiation` (`LOG001`) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7397](https://togithub.com/astral-sh/ruff/pull/7397)
- \[`flake8-logging`] New plugin `flake8_logging` (`LOG`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://togithub.com/astral-sh/ruff/pull/7249)
- \[`perflint`] Add `manual-dict-comprehsion` (`PERF403`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6132](https://togithub.com/astral-sh/ruff/pull/6132)
- \[`pylint`] New rule `too-many-public-methods` (`PLR0904`) by [@​jelly](https://togithub.com/jelly) in [https://github.com/astral-sh/ruff/pull/6179](https://togithub.com/astral-sh/ruff/pull/6179)
- \[`refurb`] New rule `no-slice-copy` (`FURB145`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7007](https://togithub.com/astral-sh/ruff/pull/7007)
- Add warnings for nursery and preview rule selection by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7210](https://togithub.com/astral-sh/ruff/pull/7210)
- Remove the `PREVIEW` rule selector by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7389](https://togithub.com/astral-sh/ruff/pull/7389)
- [`pre-commit` support](https://togithub.com/astral-sh/ruff-pre-commit#using-ruffs-formatter-unstable) for the [alpha formatter](https://togithub.com/astral-sh/ruff/discussions/7310) by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff-pre-commit/pull/50](https://togithub.com/astral-sh/ruff-pre-commit/pull/50)
#### New Contributors
- [@​nathanwhit](https://togithub.com/nathanwhit) made their first contribution in [https://github.com/astral-sh/ruff/pull/6749](https://togithub.com/astral-sh/ruff/pull/6749)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.289...v0.0.290
### [`v0.0.289`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.289)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.288...v0.0.289)
<!-- Release notes generated using configuration in .github/release.yml at v0.0.289 -->
#### What's Changed
##### Bug Fixes
- Invert condition for < and <= in outdated version block by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284)
- Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224)
- Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863)
##### Preview
This release includes a new preview mode which can be used to opt-in to unstable rules and features.
- Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195)
- Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/7274)
See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://togithub.com/astral-sh/ruff/discussions/6998) for more details.
#### New Contributors
- [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289
### [`v0.0.288`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.288)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.287...v0.0.288)
#### What's Changed
##### Breaking Changes
- Remove emoji identifier support by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212)
- Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203)
##### Rules
- \[`ruff`]
- `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168)
##### Settings
- \[`flake8-self`]
- `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194)
##### Bug Fixes
- \[`flake8-bugbear`]
- `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090)
- `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160)
- `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091)
- `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057)
- `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080)
- `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148)
- \[`flake8-comprehensions`]
- `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152)
- `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185)
- `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204)
- `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081)
- `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189)
- \[`flake8-return`]
- `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116)
- \[`flake8-simplify`]
- `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191)
- `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221)
- `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150)
- `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223)
- `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118)
- `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117)
- `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167)
- \[`flake8-pytest-style`]
- `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151)
- \[`flynt`]
- `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222)
- \[`numpy`]
- `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187)
- `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083)
- \[`pandas-vet`]
- `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111)
- \[`pep8-naming`]
- `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119)
- \[`pydocstyle`]
- `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174)
- `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173)
- `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251)
- \[`pyflakes`]
- `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260)
- `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110)
- \[`pylint`]
- `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177)
- \[`pyupgrade`]
- `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202)
- `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079)
- `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137)
- `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112)
- `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113)
- `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114)
- `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149)
- `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171)
- \[`ruff`]
- `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063)
- Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170)
- Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115)
- Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209)
##### Other Changes
- Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138)
#### New Contributors
- [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093)
- [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108)
- [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179)
- [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194)
- [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203)
- [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288
### [`v0.0.287`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.287)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.286...v0.0.287)
<!-- Release notes generated using configuration in .github/release.yml at v0.0.287 -->
#### What's Changed
##### Rules
- \[refurb] Implement preview `repeated-append` rule (`FURB113`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702)
- \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://togithub.com/astral-sh/ruff/pull/6897)
- \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://togithub.com/astral-sh/ruff/pull/6904)
##### Bug Fixes
- Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://togithub.com/astral-sh/ruff/pull/6994)
- Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://togithub.com/astral-sh/ruff/pull/6886)
- Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://togithub.com/astral-sh/ruff/pull/6888)
- Fix ranges for global usages by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://togithub.com/astral-sh/ruff/pull/6917)
- Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://togithub.com/astral-sh/ruff/pull/6954)
- Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://togithub.com/astral-sh/ruff/pull/6955)
- Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://togithub.com/astral-sh/ruff/pull/7024)
- Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://togithub.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029)
- Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://togithub.com/astral-sh/ruff/pull/6937)
- Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://togithub.com/astral-sh/ruff/pull/6782)
#### New Contributors
- [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702)
- [@​Anselmoo](https://togithub.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://togithub.com/astral-sh/ruff/pull/6986)
- [@​njgrisafi](https://togithub.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://togithub.com/astral-sh/ruff/pull/7032)
- [@​WindowGenerator](https://togithub.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.286...v0.0.287
### [`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)
<!-- Release notes generated using configuration in .github/release.yml at v0.0.286 -->
#### What's Changed
##### New Rules
- \[`flake8-bugbear`] Update `function-call-in-argument-default` (`B008`) to ignore arguments with immutable annotations by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784)
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781)
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690)
- \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698)
- \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574)
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691)
##### Settings
- Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833)
##### Bug Fixes
- Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664)
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696)
- Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705)
- Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725)
- Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729)
- Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731)
- Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743)
- Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744)
- Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745)
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739)
- Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747)
- Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748)
- Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774)
- Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779)
- Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742)
- Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789)
- Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802)
- Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792)
- Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775)
- Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829)
- Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822)
- Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858)
- Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679)
- Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752)
- Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778)
- Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851)
- fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865)
- Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/6853)
**Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.285...v0.0.286
### [`v0.0.285`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.285)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.284...v0.0.285)
#### What's Changed
##### New rules
- \[`flake8-pytest-style`] Implement `pytest-unittest-raises-assertion` (`PT027`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6554](https://togithub.com/astral-sh/ruff/pull/6554)
- \[`flake
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - "every weekend" in timezone Etc/UTC.
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/canonical/craft-store).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4xOS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged automated dependency update for lint/ruff from v0.0.272 to v0.1.0. Generated by Renovate, approved by a reviewer, passed CI checks, and successfully merged without conflicts. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged automated dependency update upgrading lint/ruff from v0.0.272 to v0.1.0. The pull request passed validation and was successfully integrated into the main branch. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #217 chore(deps): update dependency lint/ruff to v0.1.8 | craft-cli | merged | Merged automated dependency update for lint/ruff from v0.1.7 to v0.1.8. Generated by Renovate, approved by two reviewers, passed CI and Codecov checks, and successfully merged. | |
| #115 chore(deps): update dependency lint/ruff to v0.1.1 | craft-store | merged | Merged an automated dependency update from renovate[bot] upgrading lint/ruff from v0.1.0 to v0.1.1. Approved, passed CI, and successfully merged into main with a single line change. | |
| #190 chore(deps): update dependency lint/ruff to v0.1.0 | craft-cli | merged | Merged an automated dependency update for lint/ruff from v0.0.290 to v0.1.0. The pull request passed CI checks, received approval, and was successfully merged with minimal configuration changes. | |
| #223 chore(deps): update dependency lint/ruff to v0.1.14 | craft-cli | merged | Merged automated dependency update for lint/ruff from v0.1.8 to v0.1.14 via Renovate bot. CI and code coverage checks passed, successfully integrating the update. | |
| #137 chore(deps): update dependency lint/ruff to v0.1.7 | craft-store | merged | Merged an automated Renovate update upgrading lint/ruff from v0.1.1 to v0.1.7. Approved by two reviewers, passed CI, and merged with a single-line configuration change. | |
| #142 chore(deps): update dependency lint/ruff to v0.1.1 | starbase | merged | Merged automated dependency update upgrading lint/ruff from v0.1.0 to v0.1.1. Approved by reviewer, passed CI checks, and successfully merged into main with a single line change. | |
| #172 chore(deps): update dependency lint/ruff to v0.1.11 | craft-application | merged | Merged a Renovate-generated update upgrading lint/ruff from v0.1.7 to v0.1.11. The change passed CI checks, maintained 99.20% test coverage, received two approvals, and was successfully merged. | |
| #152 chore(deps): update dependency lint/ruff to v0.1.6 | craft-application | merged | Merged automated dependency update upgrading lint/ruff from v0.1.2 to v0.1.6. Processed by Renovate bot, passed CI checks, and maintained 99.27% test coverage per Codecov. | |
| #165 chore(deps): update dependency lint/ruff to v0.1.7 | craft-application | merged | Merged an automated dependency update for lint/ruff from v0.1.6 to v0.1.7. Approved by two reviewers, passed CI checks, and successfully integrated into the main branch. | |
| #155 chore(deps): update dependency lint/ruff to v0.1.15 | craft-store | merged | Automatically updated lint/ruff from v0.1.9 to v0.1.15 via Renovate bot. The PR passed CI checks, received two approvals, and was successfully merged. |