chore(deps): update dependency lint/ruff to v0.4.2
Metadata
Current evaluation
Renovate PR merged: bumped lint/ruff pin from 0.3.7 to 0.4.2 in pyproject.toml (single-line change, approved, no CI issues). Superseded shortly after by #566 (ruff 0.4.3).
Resolution: closed resolved
Reason: PR #564 was approved (1 reviewer) and merged into main, changing the lint/ruff dependency pin from ==0.3.7 to ==0.4.2 (+1/-1 line in the project's pyproject.toml). The bump was later followed by the follow-up Renovate PR #566 (ruff 0.4.3), which also merged.
Evaluated by: mr-cal-bot
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/blob/main/CHANGELOG.md)) | `==0.3.7` -> `==0.4.2` | [](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.4.2`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#042)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.1...v0.4.2)
##### Rule changes
- \[`flake8-pyi`] Allow for overloaded `__exit__` and `__aexit__` definitions (`PYI036`) ([#​11057](https://togithub.com/astral-sh/ruff/pull/11057))
- \[`pyupgrade`] Catch usages of `"%s" % var` and provide an unsafe fix (`UP031`) ([#​11019](https://togithub.com/astral-sh/ruff/pull/11019))
- \[`refurb`] Implement new rule that suggests min/max over `sorted()` (`FURB192`) ([#​10868](https://togithub.com/astral-sh/ruff/pull/10868))
##### Server
- Fix an issue with missing diagnostics for Neovim and Helix ([#​11092](https://togithub.com/astral-sh/ruff/pull/11092))
- Implement hover documentation for `noqa` codes ([#​11096](https://togithub.com/astral-sh/ruff/pull/11096))
- Introduce common Ruff configuration options with new server settings ([#​11062](https://togithub.com/astral-sh/ruff/pull/11062))
##### Bug fixes
- Use `macos-12` for building release wheels to enable macOS 11 compatibility ([#​11146](https://togithub.com/astral-sh/ruff/pull/11146))
- \[`flake8-blind-expect`] Allow raise from in `BLE001` ([#​11131](https://togithub.com/astral-sh/ruff/pull/11131))
- \[`flake8-pyi`] Allow simple assignments to `None` in enum class scopes (`PYI026`) ([#​11128](https://togithub.com/astral-sh/ruff/pull/11128))
- \[`flake8-simplify`] Avoid raising `SIM911` for non-`zip` attribute calls ([#​11126](https://togithub.com/astral-sh/ruff/pull/11126))
- \[`refurb`] Avoid `operator.itemgetter` suggestion for single-item tuple ([#​11095](https://togithub.com/astral-sh/ruff/pull/11095))
- \[`ruff`] Respect per-file-ignores for `RUF100` with no other diagnostics ([#​11058](https://togithub.com/astral-sh/ruff/pull/11058))
- \[`ruff`] Fix async comprehension false positive (`RUF029`) ([#​11070](https://togithub.com/astral-sh/ruff/pull/11070))
##### Documentation
- \[`flake8-bugbear`] Document explicitly disabling strict zip (`B905`) ([#​11040](https://togithub.com/astral-sh/ruff/pull/11040))
- \[`flake8-type-checking`] Mention `lint.typing-modules` in `TCH001`, `TCH002`, and `TCH003` ([#​11144](https://togithub.com/astral-sh/ruff/pull/11144))
- \[`isort`] Improve documentation around custom `isort` sections ([#​11050](https://togithub.com/astral-sh/ruff/pull/11050))
- \[`pylint`] Fix documentation oversight for `invalid-X-returns` ([#​11094](https://togithub.com/astral-sh/ruff/pull/11094))
##### Performance
- Use `matchit` to resolve per-file settings ([#​11111](https://togithub.com/astral-sh/ruff/pull/11111))
### [`v0.4.1`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#041)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.0...v0.4.1)
##### Preview features
- \[`pylint`] Implement `invalid-hash-returned` (`PLE0309`) ([#​10961](https://togithub.com/astral-sh/ruff/pull/10961))
- \[`pylint`] Implement `invalid-index-returned` (`PLE0305`) ([#​10962](https://togithub.com/astral-sh/ruff/pull/10962))
##### Bug fixes
- \[`pylint`] Allow `NoReturn`-like functions for `__str__`, `__len__`, etc. (`PLE0307`) ([#​11017](https://togithub.com/astral-sh/ruff/pull/11017))
- Parser: Use empty range when there's "gap" in token source ([#​11032](https://togithub.com/astral-sh/ruff/pull/11032))
- \[`ruff`] Ignore stub functions in `unused-async` (`RUF029`) ([#​11026](https://togithub.com/astral-sh/ruff/pull/11026))
- Parser: Expect indented case block instead of match stmt ([#​11033](https://togithub.com/astral-sh/ruff/pull/11033))
### [`v0.4.0`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#040)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.7...v0.4.0)
##### A new, hand-written parser
Ruff's new parser is **>2x faster**, which translates to a **20-40% speedup** for all linting and formatting invocations.
There's a lot to say about this exciting change, so check out the [blog post](https://astral.sh/blog/ruff-v0.4.0) for more details!
See [#​10036](https://togithub.com/astral-sh/ruff/pull/10036) for implementation details.
##### A new language server in Rust
With this release, we also want to highlight our new language server. `ruff server` is a Rust-powered language
server that comes built-in with Ruff. It can be used with any editor that supports the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP).
It uses a multi-threaded, lock-free architecture inspired by `rust-analyzer` and it will open the door for a lot
of exciting features. Itβs also faster than our previous [Python-based language server](https://togithub.com/astral-sh/ruff-lsp)
\-- but you probably guessed that already.
`ruff server` is only in alpha, but it has a lot of features that you can try out today:
- Lints Python files automatically and shows quick-fixes when available
- Formats Python files, with support for range formatting
- Comes with commands for quickly performing actions: `ruff.applyAutofix`, `ruff.applyFormat`, and `ruff.applyOrganizeImports`
- Supports `source.fixAll` and `source.organizeImports` source actions
- Automatically reloads your project configuration when you change it
To setup `ruff server` with your editor, refer to the [README.md](https://togithub.com/astral-sh/ruff/blob/main/crates/ruff_server/README.md).
##### Preview features
- \[`pycodestyle`] Do not trigger `E3` rules on `def`s following a function/method with a dummy body ([#​10704](https://togithub.com/astral-sh/ruff/pull/10704))
- \[`pylint`] Implement `invalid-bytes-returned` (`E0308`) ([#​10959](https://togithub.com/astral-sh/ruff/pull/10959))
- \[`pylint`] Implement `invalid-length-returned` (`E0303`) ([#​10963](https://togithub.com/astral-sh/ruff/pull/10963))
- \[`pylint`] Implement `self-cls-assignment` (`W0642`) ([#​9267](https://togithub.com/astral-sh/ruff/pull/9267))
- \[`pylint`] Omit stubs from `invalid-bool` and `invalid-str-return-type` ([#​11008](https://togithub.com/astral-sh/ruff/pull/11008))
- \[`ruff`] New rule `unused-async` (`RUF029`) to detect unneeded `async` keywords on functions ([#​9966](https://togithub.com/astral-sh/ruff/pull/9966))
##### Rule changes
- \[`flake8-bandit`] Allow `urllib.request.urlopen` calls with static `Request` argument (`S310`) ([#​10964](https://togithub.com/astral-sh/ruff/pull/10964))
- \[`flake8-bugbear`] Treat `raise NotImplemented`-only bodies as stub functions (`B006`) ([#​10990](https://togithub.com/astral-sh/ruff/pull/10990))
- \[`flake8-slots`] Respect same-file `Enum` subclasses (`SLOT000`) ([#​11006](https://togithub.com/astral-sh/ruff/pull/11006))
- \[`pylint`] Support inverted comparisons (`PLR1730`) ([#​10920](https://togithub.com/astral-sh/ruff/pull/10920))
##### Linter
- Improve handling of builtin symbols in linter rules ([#​10919](https://togithub.com/astral-sh/ruff/pull/10919))
- Improve display of rules in `--show-settings` ([#​11003](https://togithub.com/astral-sh/ruff/pull/11003))
- Improve inference capabilities of the `BuiltinTypeChecker` ([#​10976](https://togithub.com/astral-sh/ruff/pull/10976))
- Resolve classes and functions relative to script name ([#​10965](https://togithub.com/astral-sh/ruff/pull/10965))
- Improve performance of `RuleTable::any_enabled` ([#​10971](https://togithub.com/astral-sh/ruff/pull/10971))
##### Server
*This section is devoted to updates for our new language server, written in Rust.*
- Enable ruff-specific source actions ([#​10916](https://togithub.com/astral-sh/ruff/pull/10916))
- Refreshes diagnostics for open files when file configuration is changed ([#​10988](https://togithub.com/astral-sh/ruff/pull/10988))
- Important errors are now shown as popups ([#​10951](https://togithub.com/astral-sh/ruff/pull/10951))
- Introduce settings for directly configuring the linter and formatter ([#​10984](https://togithub.com/astral-sh/ruff/pull/10984))
- Resolve configuration for each document individually ([#​10950](https://togithub.com/astral-sh/ruff/pull/10950))
- Write a setup guide for Neovim ([#​10987](https://togithub.com/astral-sh/ruff/pull/10987))
##### Configuration
- Add `RUFF_OUTPUT_FILE` environment variable support ([#​10992](https://togithub.com/astral-sh/ruff/pull/10992))
##### Bug fixes
- Avoid `non-augmented-assignment` for reversed, non-commutative operators (`PLR6104`) ([#​10909](https://togithub.com/astral-sh/ruff/pull/10909))
- Limit commutative non-augmented-assignments to primitive data types (`PLR6104`) ([#​10912](https://togithub.com/astral-sh/ruff/pull/10912))
- Respect `per-file-ignores` for `RUF100` on blanket `# noqa` ([#​10908](https://togithub.com/astral-sh/ruff/pull/10908))
- Consider `if` expression for parenthesized with items parsing ([#​11010](https://togithub.com/astral-sh/ruff/pull/11010))
- Consider binary expr for parenthesized with items parsing ([#​11012](https://togithub.com/astral-sh/ruff/pull/11012))
- Reset `FOR_TARGET` context for all kinds of parentheses ([#​11009](https://togithub.com/astral-sh/ruff/pull/11009))
</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-providers).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | β | closed resolved | Renovate PR merged: bumped lint/ruff pin from 0.3.7 to 0.4.2 in pyproject.toml (single-line change, approved, no CI issues). Superseded shortly after by #566 (ruff 0.4.3). | |
| qwen/qwen3.6-35b-a3b | β | closed resolved | Dependency update merged upgrading lint/ruff from v0.3.7 to v0.4.2, introducing a new hand-written parser, Rust-based language server, and various rule improvements. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Superseded By:
craft-providers#566
(confidence 88%)
Merged follow-up Renovate PR bumping lint/ruff from v0.4.2 to v0.4.3, building directly on the pin set here
-
Related To:
craft-providers#543
(confidence 62%)
Prior merged Renovate ruff bump (0.3.2 -> 0.3.4) in the same dependency line
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #223 chore(deps): update dependency lint/ruff to v0.1.14 | craft-cli | merged | Renovate dependency bump merged: lint/ruff pin in pyproject.toml moved from ==0.1.8 to ==0.1.14 in commit c40d80e (PR #223), approved with no CI failures. | |
| #172 chore(deps): update dependency lint/ruff to v0.1.11 | craft-application | merged | Renovate dependency bump merged as commit a2ab6c42, raising the lint group's ruff pin from 0.1.7 to 0.1.11 (single-line pyproject.toml change); later superseded by #181/#190. | |
| #165 chore(deps): update dependency lint/ruff to v0.1.7 | craft-application | merged | Renovate PR #165 bumped lint/ruff from 0.1.6 to 0.1.7 in pyproject.toml (+1/-1). Approved by 2 reviewers and merged into main as commit 8d5b9926. | |
| #181 chore(deps): update dependency lint/ruff to v0.1.14 | craft-application | merged | Renovate PR bumping lint/ruff from ==0.1.11 to ==0.1.14 was approved by 3 reviewers and merged into main (commit bf491e38), a one-line pyproject.toml change; CI and Codecov checks were clean. | |
| #155 chore(deps): update dependency lint/ruff to v0.1.15 | craft-store | merged | Renovate PR merged as commit dbb47aa, bumping lint/ruff in pyproject.toml from ==0.1.9 to ==0.1.15 (+1/-1 line). Approved with no CI failures. | |
| #152 chore(deps): update dependency lint/ruff to v0.1.6 | craft-application | merged | Renovate PR bumping lint/ruff from 0.1.2 to 0.1.6 was approved and merged into main as commit 4fdb1b44 ("chore(deps): update dependency lint/ruff to v0.1.6 (#152)"), a one-line pyproject.toml change. | |
| #578 chore(deps): update dependency lint/ruff to v0.4.10 | craft-providers | merged | Renovate PR merged: bumped the lint/ruff dependency from 0.4.8 to 0.4.10 (commit 117db56) after reviewer approval; a single-line version change. | |
| #107 chore(deps): update dependency lint/ruff to v0.1.0 | craft-store | merged | Renovate PR #107 bumped lint/ruff from 0.0.272 to 0.1.0 in requirements.txt; approved and merged as commit 1253462, a single-line pin change. | |
| #204 chore(deps): update dependency lint/ruff to v0.1.6 | craft-cli | merged | Renovate PR #204 merged, upgrading lint/ruff from 0.1.0 to 0.1.6 after two approvals; the dependency pin changed by one line. | |
| #543 chore(deps): update dependency lint/ruff to v0.3.4 | craft-providers | merged | Renovate PR #543 was merged, updating lint/ruff from v0.3.2 to v0.3.4 in commit 41a09fe. |