← Back to issue list

chore(deps): update dependency ruff to v0.1.6 - autoclosed

View original Github issue

Metadata

Project
charmcraft
Number
#1390
Type
pull request
State
closed
Author
renovate[bot]
Labels
—
Created
Updated
Closed

Current evaluation

Ruff 0.1.6 was not merged; charmcraft had switched from the PyPI dependency to Ruff's Snap in merged PR #1387 (commit 4fae04dc).

Resolution: closed superseded

Reason: The maintainer closed the Renovate update because Ruff was already supplied through a Snap. That packaging change landed in PR #1387 via commit 4fae04dc, making this pinned dependency update obsolete.

Evaluated by: mr-cal-bot

No scores available.

Issue body

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://docs.astral.sh/ruff) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `==0.0.282` -> `==0.1.6` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.282/0.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.282/0.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.1.6`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#016) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.1.5...v0.1.6) ##### Preview features - \[`flake8-boolean-trap`] Extend `boolean-type-hint-positional-argument` (`FBT001`) to include booleans in unions ([#&#8203;7501](https://togithub.com/astral-sh/ruff/pull/7501)) - \[`flake8-pie`] Extend `reimplemented-list-builtin` (`PIE807`) to `dict` reimplementations ([#&#8203;8608](https://togithub.com/astral-sh/ruff/pull/8608)) - \[`flake8-pie`] Extend `unnecessary-pass` (`PIE790`) to include ellipses (`...`) ([#&#8203;8641](https://togithub.com/astral-sh/ruff/pull/8641)) - \[`flake8-pie`] Implement fix for `unnecessary-spread` (`PIE800`) ([#&#8203;8668](https://togithub.com/astral-sh/ruff/pull/8668)) - \[`flake8-quotes`] Implement `unnecessary-escaped-quote` (`Q004`) ([#&#8203;8630](https://togithub.com/astral-sh/ruff/pull/8630)) - \[`pycodestyle`] Implement fix for `multiple-spaces-after-keyword` (`E271`) and `multiple-spaces-before-keyword` (`E272`) ([#&#8203;8622](https://togithub.com/astral-sh/ruff/pull/8622)) - \[`pycodestyle`] Implement fix for `multiple-spaces-after-operator` (`E222`) and `multiple-spaces-before-operator` (`E221`) ([#&#8203;8623](https://togithub.com/astral-sh/ruff/pull/8623)) - \[`pyflakes`] Extend `is-literal` (`F632`) to include comparisons against mutable initializers ([#&#8203;8607](https://togithub.com/astral-sh/ruff/pull/8607)) - \[`pylint`] Implement `redefined-argument-from-local` (`PLR1704`) ([#&#8203;8159](https://togithub.com/astral-sh/ruff/pull/8159)) - \[`pylint`] Implement fix for `unnecessary-lambda` (`PLW0108`) ([#&#8203;8621](https://togithub.com/astral-sh/ruff/pull/8621)) - \[`refurb`] Implement `if-expr-min-max` (`FURB136`) ([#&#8203;8664](https://togithub.com/astral-sh/ruff/pull/8664)) - \[`refurb`] Implement `math-constant` (`FURB152`) ([#&#8203;8727](https://togithub.com/astral-sh/ruff/pull/8727)) ##### Rule changes - \[`flake8-annotations`] Add autotyping-like return type inference for annotation rules ([#&#8203;8643](https://togithub.com/astral-sh/ruff/pull/8643)) - \[`flake8-future-annotations`] Implement fix for `future-required-type-annotation` (`FA102`) ([#&#8203;8711](https://togithub.com/astral-sh/ruff/pull/8711)) - \[`flake8-implicit-namespace-package`] Avoid missing namespace violations in scripts with shebangs ([#&#8203;8710](https://togithub.com/astral-sh/ruff/pull/8710)) - \[`pydocstyle`] Update `over-indentation` (`D208`) to preserve indentation offsets when fixing overindented lines ([#&#8203;8699](https://togithub.com/astral-sh/ruff/pull/8699)) - \[`pyupgrade`] Refine `timeout-error-alias` (`UP041`) to remove false positives ([#&#8203;8587](https://togithub.com/astral-sh/ruff/pull/8587)) ##### Formatter - Fix instability in `await` formatting with fluent style ([#&#8203;8676](https://togithub.com/astral-sh/ruff/pull/8676)) - Compare formatted and unformatted ASTs during formatter tests ([#&#8203;8624](https://togithub.com/astral-sh/ruff/pull/8624)) - Preserve trailing semicolon for Notebooks ([#&#8203;8590](https://togithub.com/astral-sh/ruff/pull/8590)) ##### CLI - Improve debug printing for resolving origin of config settings ([#&#8203;8729](https://togithub.com/astral-sh/ruff/pull/8729)) - Write unchanged, excluded files to stdout when read via stdin ([#&#8203;8596](https://togithub.com/astral-sh/ruff/pull/8596)) ##### Configuration - \[`isort`] Support disabling sections with `no-sections = true` ([#&#8203;8657](https://togithub.com/astral-sh/ruff/pull/8657)) - \[`pep8-naming`] Support local and dynamic class- and static-method decorators ([#&#8203;8592](https://togithub.com/astral-sh/ruff/pull/8592)) - \[`pydocstyle`] Allow overriding pydocstyle convention rules ([#&#8203;8586](https://togithub.com/astral-sh/ruff/pull/8586)) ##### Bug fixes - Avoid syntax error via importing `trio.lowlevel` ([#&#8203;8730](https://togithub.com/astral-sh/ruff/pull/8730)) - Omit unrolled augmented assignments in `PIE794` ([#&#8203;8634](https://togithub.com/astral-sh/ruff/pull/8634)) - Slice source code instead of generating it for `EM` fixes ([#&#8203;7746](https://togithub.com/astral-sh/ruff/pull/7746)) - Allow whitespace around colon in slices for `whitespace-before-punctuation` (`E203`) ([#&#8203;8654](https://togithub.com/astral-sh/ruff/pull/8654)) - Use function range for `no-self-use` ([#&#8203;8637](https://togithub.com/astral-sh/ruff/pull/8637)) - F-strings doesn't contain bytes literal for `PLW0129` ([#&#8203;8675](https://togithub.com/astral-sh/ruff/pull/8675)) - Improve detection of `TYPE_CHECKING` blocks imported from `typing_extensions` or `_typeshed` ([#&#8203;8429](https://togithub.com/astral-sh/ruff/pull/8429)) - Treat display as a builtin in IPython ([#&#8203;8707](https://togithub.com/astral-sh/ruff/pull/8707)) - Avoid `FURB113` autofix if comments are present ([#&#8203;8494](https://togithub.com/astral-sh/ruff/pull/8494)) - Consider the new f-string tokens for `flake8-commas` ([#&#8203;8582](https://togithub.com/astral-sh/ruff/pull/8582)) - Remove erroneous bad-dunder-name reference ([#&#8203;8742](https://togithub.com/astral-sh/ruff/pull/8742)) - Avoid recommending Self usages in metaclasses ([#&#8203;8639](https://togithub.com/astral-sh/ruff/pull/8639)) - Detect runtime-evaluated base classes defined in the current file ([#&#8203;8572](https://togithub.com/astral-sh/ruff/pull/8572)) - Avoid inserting trailing commas within f-strings ([#&#8203;8574](https://togithub.com/astral-sh/ruff/pull/8574)) - Remove incorrect deprecation label for stdout and stderr ([#&#8203;8743](https://togithub.com/astral-sh/ruff/pull/8743)) - Fix unnecessary parentheses in UP007 fix ([#&#8203;8610](https://togithub.com/astral-sh/ruff/pull/8610)) - Remove repeated and erroneous scoped settings headers in docs ([#&#8203;8670](https://togithub.com/astral-sh/ruff/pull/8670)) - Trim trailing empty strings when converting to f-strings ([#&#8203;8712](https://togithub.com/astral-sh/ruff/pull/8712)) - Fix ordering for `force-sort-within-sections` ([#&#8203;8665](https://togithub.com/astral-sh/ruff/pull/8665)) - Run unicode prefix rule over tokens ([#&#8203;8709](https://togithub.com/astral-sh/ruff/pull/8709)) - Update UP032 to unescape curly braces in literal parts of converted strings ([#&#8203;8697](https://togithub.com/astral-sh/ruff/pull/8697)) - List all ipython builtins ([#&#8203;8719](https://togithub.com/astral-sh/ruff/pull/8719)) ##### Documentation - Document conventions in the FAQ ([#&#8203;8638](https://togithub.com/astral-sh/ruff/pull/8638)) - Redirect from rule codes to rule pages in docs ([#&#8203;8636](https://togithub.com/astral-sh/ruff/pull/8636)) - Fix permalink to convention setting ([#&#8203;8575](https://togithub.com/astral-sh/ruff/pull/8575)) ### [`v0.1.5`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#015) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.1.4...v0.1.5) ##### Preview features - \[`flake8-bandit`] Implement `mako-templates` (`S702`) ([#&#8203;8533](https://togithub.com/astral-sh/ruff/pull/8533)) - \[`flake8-trio`] Implement `TRIO105` ([#&#8203;8490](https://togithub.com/astral-sh/ruff/pull/8490)) - \[`flake8-trio`] Implement `TRIO109` ([#&#8203;8534](https://togithub.com/astral-sh/ruff/pull/8534)) - \[`flake8-trio`] Implement `TRIO110` ([#&#8203;8537](https://togithub.com/astral-sh/ruff/pull/8537)) - \[`flake8-trio`] Implement `TRIO115` ([#&#8203;8486](https://togithub.com/astral-sh/ruff/pull/8486)) - \[`refurb`] Implement `type-none-comparison` (`FURB169`) ([#&#8203;8487](https://togithub.com/astral-sh/ruff/pull/8487)) - Flag all comparisons against builtin types in `E721` ([#&#8203;8491](https://togithub.com/astral-sh/ruff/pull/8491)) - Make `SIM118` fix as safe when the expression is a known dictionary ([#&#8203;8525](https://togithub.com/astral-sh/ruff/pull/8525)) ##### Formatter - Fix multiline lambda expression statement formatting ([#&#8203;8466](https://togithub.com/astral-sh/ruff/pull/8466)) ##### CLI - Add hidden `--extension` to override inference of source type from file extension ([#&#8203;8373](https://togithub.com/astral-sh/ruff/pull/8373)) ##### Configuration - Account for selector specificity when merging `extend_unsafe_fixes` and `override extend_safe_fixes` ([#&#8203;8444](https://togithub.com/astral-sh/ruff/pull/8444)) - Add support for disabling cache with `RUFF_NO_CACHE` environment variable ([#&#8203;8538](https://togithub.com/astral-sh/ruff/pull/8538)) ##### Bug fixes - \[`E721`] Flag comparisons to `memoryview` ([#&#8203;8485](https://togithub.com/astral-sh/ruff/pull/8485)) - Allow collapsed-ellipsis bodies in other statements ([#&#8203;8499](https://togithub.com/astral-sh/ruff/pull/8499)) - Avoid `D301` autofix for `u` prefixed strings ([#&#8203;8495](https://togithub.com/astral-sh/ruff/pull/8495)) - Only flag `flake8-trio` rules when `trio` import is present ([#&#8203;8550](https://togithub.com/astral-sh/ruff/pull/8550)) - Reject more syntactically invalid Python programs ([#&#8203;8524](https://togithub.com/astral-sh/ruff/pull/8524)) - Avoid raising `TRIO115` violations for `trio.sleep(...)` calls with non-number values ([#&#8203;8532](https://togithub.com/astral-sh/ruff/pull/8532)) - Fix `F841` false negative on assignment to multiple variables ([#&#8203;8489](https://togithub.com/astral-sh/ruff/pull/8489)) ##### Documentation - Fix link to isort `known-first-party` ([#&#8203;8562](https://togithub.com/astral-sh/ruff/pull/8562)) - Add notes on fix safety to a few rules ([#&#8203;8500](https://togithub.com/astral-sh/ruff/pull/8500)) - Add missing toml config tabs ([#&#8203;8512](https://togithub.com/astral-sh/ruff/pull/8512)) - Add instructions for configuration of Emacs ([#&#8203;8488](https://togithub.com/astral-sh/ruff/pull/8488)) - Improve detail link contrast in dark mode ([#&#8203;8548](https://togithub.com/astral-sh/ruff/pull/8548)) - Fix typo in example ([#&#8203;8506](https://togithub.com/astral-sh/ruff/pull/8506)) - Added tabs for configuration files in the documentation ([#&#8203;8480](https://togithub.com/astral-sh/ruff/pull/8480)) - Recommend `project.requires-python` over `target-version` ([#&#8203;8513](https://togithub.com/astral-sh/ruff/pull/8513)) - Add singleton escape hatch to `B008` documentation ([#&#8203;8501](https://togithub.com/astral-sh/ruff/pull/8501)) - Fix tab configuration docs ([#&#8203;8502](https://togithub.com/astral-sh/ruff/pull/8502)) ### [`v0.1.4`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#014) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.1.3...v0.1.4) ##### Preview features - \[`flake8-trio`] Implement `timeout-without-await` (`TRIO001`) ([#&#8203;8439](https://togithub.com/astral-sh/ruff/pull/8439)) - \[`numpy`] Implement NumPy 2.0 migration rule (`NPY200`) ([#&#8203;7702](https://togithub.com/astral-sh/ruff/pull/7702)) - \[`pylint`] Implement `bad-open-mode` (`W1501`) ([#&#8203;8294](https://togithub.com/astral-sh/ruff/pull/8294)) - \[`pylint`] Implement `import-outside-toplevel` (`C0415`) rule ([#&#8203;5180](https://togithub.com/astral-sh/ruff/pull/5180)) - \[`pylint`] Implement `useless-with-lock` (`W2101`) ([#&#8203;8321](https://togithub.com/astral-sh/ruff/pull/8321)) - \[`pyupgrade`] Implement `timeout-error-alias` (`UP041`) ([#&#8203;8476](https://togithub.com/astral-sh/ruff/pull/8476)) - \[`refurb`] Implement `isinstance-type-none` (`FURB168`) ([#&#8203;8308](https://togithub.com/astral-sh/ruff/pull/8308)) - Detect confusable Unicode-to-Unicode units in `RUF001`, `RUF002`, and `RUF003` ([#&#8203;4430](https://togithub.com/astral-sh/ruff/pull/4430)) - Add newline after module docstrings in preview style ([#&#8203;8283](https://togithub.com/astral-sh/ruff/pull/8283)) ##### Formatter - Add a note on line-too-long to the formatter docs ([#&#8203;8314](https://togithub.com/astral-sh/ruff/pull/8314)) - Preserve trailing statement semicolons when using `fmt: skip` ([#&#8203;8273](https://togithub.com/astral-sh/ruff/pull/8273)) - Preserve trailing semicolons when using `fmt: off` ([#&#8203;8275](https://togithub.com/astral-sh/ruff/pull/8275)) - Avoid duplicating linter-formatter compatibility warnings ([#&#8203;8292](https://togithub.com/astral-sh/ruff/pull/8292)) - Avoid inserting a newline after function docstrings ([#&#8203;8375](https://togithub.com/astral-sh/ruff/pull/8375)) - Insert newline between docstring and following own line comment ([#&#8203;8216](https://togithub.com/astral-sh/ruff/pull/8216)) - Split tuples in return positions by comma first ([#&#8203;8280](https://togithub.com/astral-sh/ruff/pull/8280)) - Avoid treating byte strings as docstrings ([#&#8203;8350](https://togithub.com/astral-sh/ruff/pull/8350)) - Add `--line-length` option to `format` command ([#&#8203;8363](https://togithub.com/astral-sh/ruff/pull/8363)) - Avoid parenthesizing unsplittable because of comments ([#&#8203;8431](https://togithub.com/astral-sh/ruff/pull/8431)) ##### CLI - Add `--output-format` to `ruff rule` and `ruff linter` ([#&#8203;8203](https://togithub.com/astral-sh/ruff/pull/8203)) ##### Bug fixes - Respect `--force-exclude` in `lint.exclude` and `format.exclude` ([#&#8203;8393](https://togithub.com/astral-sh/ruff/pull/8393)) - Respect `--extend-per-file-ignores` on the CLI ([#&#8203;8329](https://togithub.com/astral-sh/ruff/pull/8329)) - Extend `bad-dunder-method-name` to permit `__index__` ([#&#8203;8300](https://togithub.com/astral-sh/ruff/pull/8300)) - Fix panic with 8 in octal escape ([#&#8203;8356](https://togithub.com/astral-sh/ruff/pull/8356)) - Avoid raising `D300` when both triple quote styles are present ([#&#8203;8462](https://togithub.com/astral-sh/ruff/pull/8462)) - Consider unterminated f-strings in `FStringRanges` ([#&#8203;8154](https://togithub.com/astral-sh/ruff/pull/8154)) - Avoid including literal `shell=True` for truthy, non-`True` diagnostics ([#&#8203;8359](https://togithub.com/astral-sh/ruff/pull/8359)) - Avoid triggering single-element test for starred expressions ([#&#8203;8433](https://togithub.com/astral-sh/ruff/pull/8433)) - Detect and ignore Jupyter automagics ([#&#8203;8398](https://togithub.com/astral-sh/ruff/pull/8398)) - Fix invalid E231 error with f-strings ([#&#8203;8369](https://togithub.com/astral-sh/ruff/pull/8369)) - Avoid triggering `NamedTuple` rewrite with starred annotation ([#&#8203;8434](https://togithub.com/astral-sh/ruff/pull/8434)) - Avoid un-setting bracket flag in logical lines ([#&#8203;8380](https://togithub.com/astral-sh/ruff/pull/8380)) - Place 'r' prefix before 'f' for raw format strings ([#&#8203;8464](https://togithub.com/astral-sh/ruff/pull/8464)) - Remove trailing periods from NumPy 2.0 code actions ([#&#8203;8475](https://togithub.com/astral-sh/ruff/pull/8475)) - Fix bug where `PLE1307` was raised when formatting `%c` with characters ([#&#8203;8407](https://togithub.com/astral-sh/ruff/pull/8407)) - Remove unicode flag from comparable ([#&#8203;8440](https://togithub.com/astral-sh/ruff/pull/8440)) - Improve B015 message ([#&#8203;8295](https://togithub.com/astral-sh/ruff/pull/8295)) - Use `fixedOverflowWidgets` for playground popover ([#&#8203;8458](https://togithub.com/astral-sh/ruff/pull/8458)) - Mark `byte_bounds` as a non-backwards-compatible NumPy 2.0 change ([#&#8203;8474](https://togithub.com/astral-sh/ruff/pull/8474)) ##### Internals - Add a dedicated cache directory per Ruff version ([#&#8203;8333](https://togithub.com/astral-sh/ruff/pull/8333)) - Allow selective caching for `--fix` and `--diff` ([#&#8203;8316](https://togithub.com/astral-sh/ruff/pull/8316)) - Improve performance of comment parsing ([#&#8203;8193](https://togithub.com/astral-sh/ruff/pull/8193)) - Improve performance of string parsing ([#&#8203;8227](https://togithub.com/astral-sh/ruff/pull/8227)) - Use a dedicated sort key for isort import sorting ([#&#8203;7963](https://togithub.com/astral-sh/ruff/pull/7963)) ### [`v0.1.3`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#013) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.1.2...v0.1.3) This release includes a variety of improvements to the Ruff formatter, removing several known and unintentional deviations from Black. ##### Formatter - Avoid space around pow for `None`, `True` and `False` ([#&#8203;8189](https://togithub.com/astral-sh/ruff/pull/8189)) - Avoid sorting all paths in the format command ([#&#8203;8181](https://togithub.com/astral-sh/ruff/pull/8181)) - Insert necessary blank line between class and leading comments ([#&#8203;8224](https://togithub.com/astral-sh/ruff/pull/8224)) - Avoid introducing new parentheses in annotated assignments ([#&#8203;8233](https://togithub.com/astral-sh/ruff/pull/8233)) - Refine the warnings about incompatible linter options ([#&#8203;8196](https://togithub.com/astral-sh/ruff/pull/8196)) - Add test and basic implementation for formatter preview mode ([#&#8203;8044](https://togithub.com/astral-sh/ruff/pull/8044)) - Refine warning about incompatible `isort` settings ([#&#8203;8192](https://togithub.com/astral-sh/ruff/pull/8192)) - Only omit optional parentheses for starting or ending with parentheses ([#&#8203;8238](https://togithub.com/astral-sh/ruff/pull/8238)) - Use source type to determine parser mode for formatting ([#&#8203;8205](https://togithub.com/astral-sh/ruff/pull/8205)) - Don't warn about magic trailing comma when `isort.force-single-line` is true ([#&#8203;8244](https://togithub.com/astral-sh/ruff/pull/8244)) - Use `SourceKind::diff` for formatter ([#&#8203;8240](https://togithub.com/astral-sh/ruff/pull/8240)) - Fix `fmt:off` with trailing child comment ([#&#8203;8234](https://togithub.com/astral-sh/ruff/pull/8234)) - Formatter parentheses support for `IpyEscapeCommand` ([#&#8203;8207](https://togithub.com/astral-sh/ruff/pull/8207)) ##### Linter - \[`pylint`] Add buffer methods to `bad-dunder-method-name` (`PLW3201`) exclusions ([#&#8203;8190](https://togithub.com/astral-sh/ruff/pull/8190)) - Match rule prefixes from `external` codes setting in `unused-noqa` ([#&#8203;8177](https://togithub.com/astral-sh/ruff/pull/8177)) - Use `line-length` setting for isort in lieu of `pycodestyle.max-line-length` ([#&#8203;8235](https://togithub.com/astral-sh/ruff/pull/8235)) - Update fix for `unnecessary-paren-on-raise-exception` to unsafe for unknown types ([#&#8203;8231](https://togithub.com/astral-sh/ruff/pull/8231)) - Correct quick fix message for `W605` ([#&#8203;8255](https://togithub.com/astral-sh/ruff/pull/8255)) ##### Documentation - Fix typo in max-doc-length documentation ([#&#8203;8201](https://togithub.com/astral-sh/ruff/pull/8201)) - Improve documentation around linter-formatter conflicts ([#&#8203;8257](https://togithub.com/astral-sh/ruff/pull/8257)) - Fix link to error suppression documentation in `unused-noqa` ([#&#8203;8172](https://togithub.com/astral-sh/ruff/pull/8172)) - Add `external` option to `unused-noqa` documentation ([#&#8203;8171](https://togithub.com/astral-sh/ruff/pull/8171)) - Add title attribute to icons ([#&#8203;8060](https://togithub.com/astral-sh/ruff/pull/8060)) - Clarify unsafe case in RSE102 ([#&#8203;8256](https://togithub.com/astral-sh/ruff/pull/8256)) - Fix skipping formatting examples ([#&#8203;8210](https://togithub.com/astral-sh/ruff/pull/8210)) - docs: fix name of `magic-trailing-comma` option in README ([#&#8203;8200](https://togithub.com/astral-sh/ruff/pull/8200)) - Add note about scope of rule changing in versioning policy ([#&#8203;8169](https://togithub.com/astral-sh/ruff/pull/8169)) - Document: Fix default lint rules ([#&#8203;8218](https://togithub.com/astral-sh/ruff/pull/8218)) - Fix a wrong setting in configuration.md ([#&#8203;8186](https://togithub.com/astral-sh/ruff/pull/8186)) - Fix misspelled TOML headers in the tutorial ([#&#8203;8209](https://togithub.com/astral-sh/ruff/pull/8209)) ### [`v0.1.2`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#012) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.1.1...v0.1.2) This release includes the Beta version of the Ruff formatter — an extremely fast, Black-compatible Python formatter. Try it today with `ruff format`! [Check out the blog post](https://astral.sh/blog/the-ruff-formatter) and [read the docs](https://docs.astral.sh/ruff/formatter/). ##### Preview features - \[`pylint`] Implement `non-ascii-module-import` (`C2403`) ([#&#8203;8056](https://togithub.com/astral-sh/ruff/pull/8056)) - \[`pylint`] implement `non-ascii-name` (`C2401`) ([#&#8203;8038](https://togithub.com/astral-sh/ruff/pull/8038)) - \[`pylint`] Implement unnecessary-lambda (W0108) ([#&#8203;7953](https://togithub.com/astral-sh/ruff/pull/7953)) - \[`refurb`] Implement `read-whole-file` (`FURB101`) ([#&#8203;7682](https://togithub.com/astral-sh/ruff/pull/7682)) - Add fix for `E223`, `E224`, and `E242` ([#&#8203;8143](https://togithub.com/astral-sh/ruff/pull/8143)) - Add fix for `E225`, `E226`, `E227`, and `E228` ([#&#8203;8136](https://togithub.com/astral-sh/ruff/pull/8136)) - Add fix for `E252` ([#&#8203;8142](https://togithub.com/astral-sh/ruff/pull/8142)) - Add fix for `E261` ([#&#8203;8114](https://togithub.com/astral-sh/ruff/pull/8114)) - Add fix for `E273` and `E274` ([#&#8203;8144](https://togithub.com/astral-sh/ruff/pull/8144)) - Add fix for `E275` ([#&#8203;8133](https://togithub.com/astral-sh/ruff/pull/8133)) - Update `SIM401` to catch ternary operations ([#&#8203;7415](https://togithub.com/astral-sh/ruff/pull/7415)) - Update `E721` to allow `is` and `is` not for direct type comparisons ([#&#8203;7905](https://togithub.com/astral-sh/ruff/pull/7905)) ##### Rule changes - Add `backports.strenum` to `deprecated-imports` ([#&#8203;8113](https://togithub.com/astral-sh/ruff/pull/8113)) - Update `SIM112` to ignore `https_proxy`, `http_proxy`, and `no_proxy` ([#&#8203;8140](https://togithub.com/astral-sh/ruff/pull/8140)) - Update fix for `literal-membership` (`PLR6201`) to be unsafe ([#&#8203;8097](https://togithub.com/astral-sh/ruff/pull/8097)) - Update fix for `mutable-argument-defaults` (`B006`) to be unsafe ([#&#8203;8108](https://togithub.com/astral-sh/ruff/pull/8108)) ##### Formatter - Change `line-ending` default to `auto` ([#&#8203;8057](https://togithub.com/astral-sh/ruff/pull/8057)) - Respect parenthesized generators in `has_own_parentheses` ([#&#8203;8100](https://togithub.com/astral-sh/ruff/pull/8100)) - Add caching to formatter ([#&#8203;8089](https://togithub.com/astral-sh/ruff/pull/8089)) - Remove `--line-length` option from `format` command ([#&#8203;8131](https://togithub.com/astral-sh/ruff/pull/8131)) - Add formatter to `line-length` documentation ([#&#8203;8150](https://togithub.com/astral-sh/ruff/pull/8150)) - Warn about incompatible formatter options ([#&#8203;8088](https://togithub.com/astral-sh/ruff/pull/8088)) - Fix range of unparenthesized tuple subject in match statement ([#&#8203;8101](https://togithub.com/astral-sh/ruff/pull/8101)) - Remove experimental formatter warning ([#&#8203;8148](https://togithub.com/astral-sh/ruff/pull/8148)) - Don't move type param opening parenthesis comment ([#&#8203;8163](https://togithub.com/astral-sh/ruff/pull/8163)) - Update versions in format benchmark script ([#&#8203;8110](https://togithub.com/astral-sh/ruff/pull/8110)) - Avoid loading files for cached format results ([#&#8203;8134](https://togithub.com/astral-sh/ruff/pull/8134)) ##### CLI - Show the `ruff format` command in help menus ([#&#8203;8167](https://togithub.com/astral-sh/ruff/pull/8167)) - Add `ruff version` command with long version display ([#&#8203;8034](https://togithub.com/astral-sh/ruff/pull/8034)) ##### Configuration - New `pycodestyle.max-line-length` option ([#&#8203;8039](https://togithub.com/astral-sh/ruff/pull/8039)) ##### Bug fixes - Detect `sys.version_info` slices in `outdated-version-block` ([#&#8203;8112](https://togithub.com/astral-sh/ruff/pull/8112)) - Avoid if-else simplification for `TYPE_CHECKING` blocks ([#&#8203;8072](https://togithub.com/astral-sh/ruff/pull/8072)) - Avoid false-positive print separator diagnostic with starred argument ([#&#8203;8079](https://togithub.com/astral-sh/ruff/pull/8079)) ##### Documentation - Fix message for `too-many-arguments` lint ([#&#8203;8092](https://togithub.com/astral-sh/ruff/pull/8092)) - Fix `extend-unsafe-fixes` and `extend-safe-fixes` example ([#&#8203;8139](https://togithub.com/astral-sh/ruff/pull/8139)) - Add links to `flake8-import-conventions` options ([#&#8203;8115](https://togithub.com/astral-sh/ruff/pull/8115)) - Rework the documentation to incorporate the Ruff formatter ([#&#8203;7732](https://togithub.com/astral-sh/ruff/pull/7732)) - Fix `Options` JSON schema description ([#&#8203;8081](https://togithub.com/astral-sh/ruff/pull/8081)) - Fix typo (`pytext` -> `pytest`) ([#&#8203;8117](https://togithub.com/astral-sh/ruff/pull/8117)) - Improve `magic-value-comparison` example in docs ([#&#8203;8111](https://togithub.com/astral-sh/ruff/pull/8111)) ### [`v0.1.1`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#011) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.1.0...v0.1.1) ##### Rule changes - Add unsafe fix for `escape-sequence-in-docstring` (`D301`) ([#&#8203;7970](https://togithub.com/astral-sh/ruff/pull/7970)) ##### Configuration - Respect `#(deprecated)` attribute in configuration options ([#&#8203;8035](https://togithub.com/astral-sh/ruff/pull/8035)) - Add `[format|lint].exclude` options ([#&#8203;8000](https://togithub.com/astral-sh/ruff/pull/8000)) - Respect `tab-size` setting in formatter ([#&#8203;8006](https://togithub.com/astral-sh/ruff/pull/8006)) - Add `lint.preview` ([#&#8203;8002](https://togithub.com/astral-sh/ruff/pull/8002)) ##### Preview features - \[`pylint`] Implement `literal-membership` (`PLR6201`) ([#&#8203;7973](https://togithub.com/astral-sh/ruff/pull/7973)) - \[`pylint`] Implement `too-many-boolean-expressions` (`PLR0916`) ([#&#8203;7975](https://togithub.com/astral-sh/ruff/pull/7975)) - \[`pylint`] Implement `misplaced-bare-raise` (`E0704`) ([#&#8203;7961](https://togithub.com/astral-sh/ruff/pull/7961)) - \[`pylint`] Implement `global-at-module-level` (`W0604`) ([#&#8203;8058](https://togithub.com/astral-sh/ruff/pull/8058)) - \[`pylint`] Implement `unspecified-encoding` (`PLW1514`) ([#&#8203;7939](https://togithub.com/astral-sh/ruff/pull/7939)) - Add fix for `triple-single-quotes` (`D300`) ([#&#8203;7967](https://togithub.com/astral-sh/ruff/pull/7967)) ##### Formatter - New code style badge for `ruff format` ([#&#8203;7878](https://togithub.com/astral-sh/ruff/pull/7878)) - Fix comments outside expression parentheses ([#&#8203;7873](https://togithub.com/astral-sh/ruff/pull/7873)) - Add `--target-version` to `ruff format` ([#&#8203;8055](https://togithub.com/astral-sh/ruff/pull/8055)) - Skip over parentheses when detecting `in` keyword ([#&#8203;8054](https://togithub.com/astral-sh/ruff/pull/8054)) - Add `--diff` option to `ruff format` ([#&#8203;7937](https://togithub.com/astral-sh/ruff/pull/7937)) - Insert newline after nested function or class statements ([#&#8203;7946](https://togithub.com/astral-sh/ruff/pull/7946)) - Use `pass` over ellipsis in non-function/class contexts ([#&#8203;8049](https://togithub.com/astral-sh/ruff/pull/8049)) ##### Bug fixes - Lazily evaluate all PEP 695 type alias values ([#&#8203;8033](https://togithub.com/astral-sh/ruff/pull/8033)) - Avoid failed assertion when showing fixes from stdin ([#&#8203;8029](https://togithub.com/astral-sh/ruff/pull/8029)) - Avoid flagging HTTP and HTTPS literals in urllib-open ([#&#8203;8046](https://togithub.com/astral-sh/ruff/pull/8046)) - Avoid flagging `bad-dunder-method-name` for `_` ([#&#8203;8015](https://togithub.com/astral-sh/ruff/pull/8015)) - Remove Python 2-only methods from `URLOpen` audit ([#&#8203;8047](https://togithub.com/astral-sh/ruff/pull/8047)) - Use set bracket replacement for `iteration-over-set` to preserve whitespace and comments ([#&#8203;8001](https://togithub.com/astral-sh/ruff/pull/8001)) ##### Documentation - Update tutorial to match revised Ruff defaults ([#&#8203;8066](https://togithub.com/astral-sh/ruff/pull/8066)) - Update rule `B005` docs ([#&#8203;8028](https://togithub.com/astral-sh/ruff/pull/8028)) - Update GitHub actions example in docs to use `--output-format` ([#&#8203;8014](https://togithub.com/astral-sh/ruff/pull/8014)) - Document `lint.preview` and `format.preview` ([#&#8203;8032](https://togithub.com/astral-sh/ruff/pull/8032)) - Clarify that new rules should be added to `RuleGroup::Preview`. ([#&#8203;7989](https://togithub.com/astral-sh/ruff/pull/7989)) ### [`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) This is the first release which uses the `CHANGELOG` file. See [GitHub Releases](https://togithub.com/astral-sh/ruff/releases) for prior changelog entries. Read Ruff's new [versioning policy](https://docs.astral.sh/ruff/versioning/). ##### Breaking changes - Unsafe fixes are no longer displayed or applied without opt-in ([#&#8203;7769](https://togithub.com/astral-sh/ruff/pull/7769)) - Drop formatting specific rules from the default set ([#&#8203;7900](https://togithub.com/astral-sh/ruff/pull/7900)) - The deprecated `format` setting has been removed ([#&#8203;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 ([#&#8203;7768](https://togithub.com/astral-sh/ruff/pull/7768)) - Improve cases covered by `RUF015` ([#&#8203;7848](https://togithub.com/astral-sh/ruff/pull/7848)) - Update `SIM15` to allow `open` followed by `close` ([#&#8203;7916](https://togithub.com/astral-sh/ruff/pull/7916)) - Respect `msgspec.Struct` default-copy semantics in `RUF012` ([#&#8203;7786](https://togithub.com/astral-sh/ruff/pull/7786)) - Add `sqlalchemy` methods to \`flake8-boolean-trap\`\` exclusion list ([#&#8203;7874](https://togithub.com/astral-sh/ruff/pull/7874)) - Add fix for `PLR1714` ([#&#8203;7910](https://togithub.com/astral-sh/ruff/pull/7910)) - Add fix for `PIE804` ([#&#8203;7884](https://togithub.com/astral-sh/ruff/pull/7884)) - Add fix for `PLC0208` ([#&#8203;7887](https://togithub.com/astral-sh/ruff/pull/7887)) - Add fix for `PYI055` ([#&#8203;7886](https://togithub.com/astral-sh/ruff/pull/7886)) - Update `non-pep695-type-alias` to require `--unsafe-fixes` outside of stub files ([#&#8203;7836](https://togithub.com/astral-sh/ruff/pull/7836)) - Improve fix message for `UP018` ([#&#8203;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) ([#&#8203;7987](https://togithub.com/astral-sh/ruff/pull/7987)) ##### Preview features - Only show warnings for empty preview selectors when enabling rules ([#&#8203;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)` ([#&#8203;7895](https://togithub.com/astral-sh/ruff/pull/7895)) - Add `assignment-in-assert` to prevent walrus expressions in assert statements ([#&#8203;7856](https://togithub.com/astral-sh/ruff/pull/7856)) - \[`refurb`] Add `single-item-membership-test` (`FURB171`) ([#&#8203;7815](https://togithub.com/astral-sh/ruff/pull/7815)) - \[`pylint`] Add `and-or-ternary` (`R1706`) ([#&#8203;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 ([#&#8203;7769](https://togithub.com/astral-sh/ruff/pull/7769)) - Add `extend-safe-fixes` and `extend-unsafe-fixes` for promoting and demoting fixes ([#&#8203;7841](https://togithub.com/astral-sh/ruff/pull/7841)) ##### CLI - Added `--unsafe-fixes` option for opt-in to display and apply unsafe fixes ([#&#8203;7769](https://togithub.com/astral-sh/ruff/pull/7769)) - Fix use of deprecated `--format` option in warning ([#&#8203;7837](https://togithub.com/astral-sh/ruff/pull/7837)) - Show changed files when running under `--check` ([#&#8203;7788](https://togithub.com/astral-sh/ruff/pull/7788)) - Write summary messages to stderr when fixing via stdin instead of omitting them ([#&#8203;7838](https://togithub.com/astral-sh/ruff/pull/7838)) - Update fix summary message in `check --diff` to include unsafe fix hints ([#&#8203;7790](https://togithub.com/astral-sh/ruff/pull/7790)) - Add notebook `cell` field to JSON output format ([#&#8203;7664](https://togithub.com/astral-sh/ruff/pull/7664)) - Rename applicability levels to `Safe`, `Unsafe`, and `Display` ([#&#8203;7843](https://togithub.com/astral-sh/ruff/pull/7843)) ##### Bug fixes - Fix bug where f-strings were allowed in match pattern literal ([#&#8203;7857](https://togithub.com/astral-sh/ruff/pull/7857)) - Fix `SIM110` with a yield in the condition ([#&#8203;7801](https://togithub.com/astral-sh/ruff/pull/7801)) - Preserve trailing comments in `C414` fixes ([#&#8203;7775](https://togithub.com/astral-sh/ruff/pull/7775)) - Check sequence type before triggering `unnecessary-enumerate` `len` suggestion ([#&#8203;7781](https://togithub.com/astral-sh/ruff/pull/7781)) - Use correct start location for class/function clause header ([#&#8203;7802](https://togithub.com/astral-sh/ruff/pull/7802)) - Fix incorrect fixes for `SIM101` ([#&#8203;7798](https://togithub.com/astral-sh/ruff/pull/7798)) - Format comment before parameter default correctly ([#&#8203;7870](https://togithub.com/astral-sh/ruff/pull/7870)) - Fix `E251` false positive inside f-strings ([#&#8203;7894](https://togithub.com/astral-sh/ruff/pull/7894)) - Allow bindings to be created and referenced within annotations ([#&#8203;7885](https://togithub.com/astral-sh/ruff/pull/7885)) - Show per-cell diffs when analyzing notebooks over `stdin` ([#&#8203;7789](https://togithub.com/astral-sh/ruff/pull/7789)) - Avoid curly brace escape in f-string format spec ([#&#8203;7780](https://togithub.com/astral-sh/ruff/pull/7780)) - Fix lexing single-quoted f-string with multi-line format spec ([#&#8203;7787](https://togithub.com/astral-sh/ruff/pull/7787)) - Consider nursery rules to be in-preview for `ruff rule` ([#&#8203;7812](https://togithub.com/astral-sh/ruff/pull/7812)) - Report precise location for invalid conversion flag ([#&#8203;7809](https://togithub.com/astral-sh/ruff/pull/7809)) - Visit pattern match guard as a boolean test ([#&#8203;7911](https://togithub.com/astral-sh/ruff/pull/7911)) - Respect `--unfixable` in `ISC` rules ([#&#8203;7917](https://togithub.com/astral-sh/ruff/pull/7917)) - Fix edge case with `PIE804` ([#&#8203;7922](https://togithub.com/astral-sh/ruff/pull/7922)) - Show custom message in `PTH118` for `Path.joinpath` with starred arguments ([#&#8203;7852](https://togithub.com/astral-sh/ruff/pull/7852)) - Fix false negative in `outdated-version-block` when using greater than comparisons ([#&#8203;7920](https://togithub.com/astral-sh/ruff/pull/7920)) - Avoid converting f-strings within Django `gettext` calls ([#&#8203;7898](https://togithub.com/astral-sh/ruff/pull/7898)) - Fix false positive in `PLR6301` ([#&#8203;7933](https://togithub.com/astral-sh/ruff/pull/7933)) - Treat type aliases as typing-only expressions e.g. resolves false positive in `TCH004` ([#&#8203;7968](https://togithub.com/astral-sh/ruff/pull/7968)) - Resolve `cache-dir` relative to project root ([#&#8203;7962](https://togithub.com/astral-sh/ruff/pull/7962)) - Respect subscripted base classes in type-checking rules e.g. resolves false positive in `TCH003` ([#&#8203;7954](https://togithub.com/astral-sh/ruff/pull/7954)) - Fix JSON schema limit for `line-length` ([#&#8203;7883](https://togithub.com/astral-sh/ruff/pull/7883)) - Fix commented-out `coalesce` keyword ([#&#8203;7876](https://togithub.com/astral-sh/ruff/pull/7876)) ##### Documentation - Document `reimplemented-starmap` performance effects ([#&#8203;7846](https://togithub.com/astral-sh/ruff/pull/7846)) - Default to following the system dark/light mode ([#&#8203;7888](https://togithub.com/astral-sh/ruff/pull/7888)) - Add documentation for fixes ([#&#8203;7901](https://togithub.com/astral-sh/ruff/pull/7901)) - Fix typo in docs of `PLR6301` ([#&#8203;7831](https://togithub.com/astral-sh/ruff/pull/7831)) - Update `UP038` docs to note that it results in slower code ([#&#8203;7872](https://togithub.com/astral-sh/ruff/pull/7872)) - crlf -> cr-lf ([#&#8203;7766](https://togithub.com/astral-sh/ruff/pull/7766)) - Add an example of an unsafe fix ([#&#8203;7924](https://togithub.com/astral-sh/ruff/pull/7924)) - Fix documented examples for `unnecessary-subscript-reversal` ([#&#8203;7774](https://togithub.com/astral-sh/ruff/pull/7774)) - Correct error in tuple example in ruff formatter docs ([#&#8203;7822](https://togithub.com/astral-sh/ruff/pull/7822)) - Add versioning policy to documentation ([#&#8203;7923](https://togithub.com/astral-sh/ruff/pull/7923)) - Fix invalid code in `FURB177` example ([#&#8203;7832](https://togithub.com/astral-sh/ruff/pull/7832)) ##### Formatter - Less scary `ruff format` message ([#&#8203;7867](https://togithub.com/astral-sh/ruff/pull/7867)) - Remove spaces from import statements ([#&#8203;7859](https://togithub.com/astral-sh/ruff/pull/7859)) - Formatter quoting for f-strings with triple quotes ([#&#8203;7826](https://togithub.com/astral-sh/ruff/pull/7826)) - Update `ruff_python_formatter` generate.py comment ([#&#8203;7850](https://togithub.com/astral-sh/ruff/pull/7850)) - Document one-call chaining deviation ([#&#8203;7767](https://togithub.com/astral-sh/ruff/pull/7767)) - Allow f-string modifications in line-shrinking cases ([#&#8203;7818](https://togithub.com/astral-sh/ruff/pull/7818)) - Add trailing comment deviation to README ([#&#8203;7827](https://togithub.com/astral-sh/ruff/pull/7827)) - Add trailing zero between dot and exponential ([#&#8203;7956](https://togithub.com/astral-sh/ruff/pull/7956)) - Force parentheses for power operations in unary expressions ([#&#8203;7955](https://togithub.com/astral-sh/ruff/pull/7955)) ##### Playground - Fix playground `Quick Fix` action ([#&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7706](https://togithub.com/astral-sh/ruff/pull/7706) #### New Contributors - [@&#8203;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) - [@&#8203;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) - [@&#8203;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) - [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;overload](https://togithub.com/overload) methods by [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7489](https://togithub.com/astral-sh/ruff/pull/7489) #### New Contributors - [@&#8203;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) - [@&#8203;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) - [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://gi </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - "before 07:00" 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/charmcraft). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Ruff 0.1.6 was not merged; charmcraft had switched from the PyPI dependency to Ruff's Snap in merged PR #1387 (commit 4fae04dc).
stealth/space-bunny-alpha — closed superseded Closed unmerged as obsolete after #1387 (commit 4fae04dc) switched Charmcraft from a pinned Ruff dependency to the Ruff snap.
stealth/space-bunny-alpha — closed superseded Renovate PR #1390 closed unmerged as obsolete after PR #1387, commit 4fae04dc, switched Charmcraft to the Ruff Snap.
stealth/space-bunny-alpha — closed superseded Ruff 0.1.6 update closed unmerged after #1387 switched Charmcraft to the ruff snap; maintainer @lengau confirmed the snap change made it obsolete.
stealth/space-bunny-alpha — closed superseded Ruff 0.1.6 was not merged; a maintainer closed #1390 because Charmcraft had switched to using the Ruff snap.
qwen/qwen3.6-35b-a3b — — The ruff v0.1.6 dependency update was closed without merging. A maintainer rejected the PR after the project switched to managing ruff via a snap package instead of pip.
qwen3.6-35b-a3b-mtp-q6 — — Renovate dependency update for ruff v0.1.6 was closed after a maintainer noted the project switched to the ruff snap, abandoning the update.

Update history

No update history recorded yet.

Related work

  • Superseded By: canonical/charmcraft#1387 (confidence 99%)

    Merged PR #1387 switched CI and tox from the Ruff Python package to the Ruff Snap.

Related issues

Issue Project State Summary Similarity
#423 chore(deps): update dependency ruff to v0.1.6 rockcraft merged Merged PR #423 updated Ruff from 0.1.1 to 0.1.6 in two dependency files; resolving commit: 945051ff.
90%
#205 chore(deps): update dependency lint/ruff to v0.2.1 - autoclosed craft-application closed Renovate PR #205 was auto-closed unmerged; PR #206 replaced its Ruff package pin with Ruff from the Snap.
89%
#1071 chore(deps): update dependency ruff to v0.0.261 charmcraft merged Merged PR #1071 in commit 790a9041, updating Ruff from v0.0.256 to v0.0.261 after approval and automerge.
88%
#142 chore(deps): update dependency lint/ruff to v0.1.1 starbase merged Merged PR #142 via commit 6b79ebe, updating the pinned Ruff dependency from v0.1.0 to v0.1.1.
88%
#589 chore(deps): update dependency ruff to v0.1.14 craft-parts merged Renovate PR bumping ruff0.1.6 to 0.1.14 was approved and auto-merged into main (commit 210fd091), a one-line dependency change in the lint requirements.
88%
#4417 chore(deps): update ruff to 0.1.1 and fix lint issues snapcraft merged Ruff 0.1.1 dependency bump plus lint fixes merged to snapcraft main as commit 4b1cff546 (PR #4417, +66/-36 across 19 files). A later follow-up, style: ruff 0.16 (#582), superseded the pin.
88%
#43 chore(deps): update dependency lint/ruff to v0.0.284 craft-application closed Closed unmerged after manual changes were requested; Ruff 0.0.284 was subsequently merged via canonical/craft-application#119 in commit be3ae62f.
88%
#69 chore(deps): update dependency ruff to v0.0.269 starbase merged Merged Ruff dependency update from v0.0.267 to v0.0.269 in commit ffe9887.
88%
#595 chore(deps): update dependency lint/ruff to v0.5.1 craft-providers closed Renovate PR to bump lint/ruff 0.4.10 → 0.5.1 was closed unmerged; maintainer @lengau closed it as "superseded by #597", which replaced the pinned ruff dep with the ruff snap.
87%
#235 chore(deps): update dependency lint/ruff to v0.2.2 - autoclosed craft-cli closed Renovate's ruff 0.1.15 -> 0.2.2 bump was autoclosed unmerged; the ruff0.2.x upgrade landed instead via hand-written PR #236 (commit ddc3fd5), later bumped to ~=0.3.5 in #246.
87%