-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not use code location for Gitlab fingerprints. #7203
Do not use code location for Gitlab fingerprints. #7203
Conversation
PR Check ResultsEcosystem✅ ecosystem check detected no changes. |
crates/ruff/src/message/gitlab.rs
Outdated
while fingerprints.contains(&message_fingerprint) { | ||
message_fingerprint = fingerprint(message, &message_fingerprint); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A comment about the purpose of this may be useful.
Doesn't this make the fingerprint change based on previous fingerprints? Won't this dependency change a downstream fingerprint if a conflicting upstream diagnostic is fixed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My thinking is that "value for money", just doing this will be a lot less annoying and give a lot less noise in the gitlab reports, than having code position included, which would trigger for almost no reason. At least with this method the false reporting of fixed/new issues will either be either when a new issue is introduced, which has the same name, or an issue which there are multiples are with the same name, is fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main "issue" I see with the heuristic is that GitLab will mark the wrong diagnostic as fixed if there's a hash collision, but I haven't developed a better heuristic.
Let's say we have two unused variable diagnostics in a file:
x = 1
y = 2
There's a hash collision for x
and y
, so y
performs a second hashing round
and we now fix the first violation
x = 1
y = 2
print(x)
There's no longer a hash collision for y
, meaning that the diagnostic for y
now gets the hash (fingerprint) of the violation that used to be for x
.
We could consider including more information when a hash collision occurs but not sure what information that would be that doesn't suffer from the original issue and distinguishes multiple diagnostics sufficiently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for your contribution. I hope you had some fun writing your first Rust code.
I ask you to change fingerprint
to return a u64
and delay the string serialization until we initialize the "fingerprint"
field for improved performance and lower memory usage.
We're then good to mere and pack this into the next release!
crates/ruff/src/message/gitlab.rs
Outdated
@@ -116,8 +121,7 @@ fn fingerprint( | |||
let mut hasher = DefaultHasher::new(); | |||
|
|||
kind.rule().hash(&mut hasher); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is unrelated to your change but I noticed it now when reviewing this PR. It would probably be better to hash kind.name
rather than the rule because the Rule's hash implementation changes every time a new rule is inserted into the Rule
enum above which happens frequently. What do you think @zanieb ?
kind.rule().hash(&mut hasher); | |
kind.name.hash(&mut hasher); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This made sense to change, as you present it, since that could lead to as much a breaking change every time a new rule is added, as changing the hashing as we are doing with this.
Using code location when creating hash for Gitlab fingerprints makes the codequality reports in Gitlab very unstable. Any change of position would trigger both a "fixed" message, and a "new problem detected" message in Gitlab, making it very noisy.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.287` -> `^0.0.288` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.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://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.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://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.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://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.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://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.286` -> `^0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.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://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.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://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 ### [`v0.0.287`](https://github.com/astral-sh/ruff/releases/tag/v0.0.287) [Compare Source](https://github.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://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://github.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://github.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://github.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://github.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://github.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://github.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://github.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://github.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://github.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://github.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://github.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://github.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://github.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://github.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://github.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://github.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://github.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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/fulcrum-so/ziggy-pydust). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.286` -> `^0.0.290` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.290`](https://github.com/astral-sh/ruff/releases/tag/v0.0.290) [Compare Source](https://github.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://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7356](https://github.com/astral-sh/ruff/pull/7356) - Add support for bounds, constraints, and explicit variance on generic type variables to `UP040` by [@​nathanwhit](https://github.com/nathanwhit) in [https://github.com/astral-sh/ruff/pull/6749](https://github.com/astral-sh/ruff/pull/6749) ##### Settings - Show rule codes in shell tab completion by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7375](https://github.com/astral-sh/ruff/pull/7375) ##### Bug Fixes - Parenthesize single-generator arguments when adding reverse keyword by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7365](https://github.com/astral-sh/ruff/pull/7365) - Invert reverse argument regardless of whether it's a boolean by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7372](https://github.com/astral-sh/ruff/pull/7372) - Extend `C416` to catch tuple unpacking by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7363](https://github.com/astral-sh/ruff/pull/7363) - Allow `NURSERY` rule selctor in JSON Schema by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7374](https://github.com/astral-sh/ruff/pull/7374) - Avoid flagging single-quoted docstrings with continuations for multi-line rules by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7392](https://github.com/astral-sh/ruff/pull/7392) - Treat whitespace-only line as blank for `D411` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7351](https://github.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://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://github.com/astral-sh/ruff/pull/7249) - \[`flake8-logging`] New rule `direct-logger-instantiation` (`LOG001`) by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7397](https://github.com/astral-sh/ruff/pull/7397) - \[`flake8-logging`] New plugin `flake8_logging` (`LOG`) by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://github.com/astral-sh/ruff/pull/7249) - \[`perflint`] Add `manual-dict-comprehsion` (`PERF403`) by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6132](https://github.com/astral-sh/ruff/pull/6132) - \[`pylint`] New rule `too-many-public-methods` (`PLR0904`) by [@​jelly](https://github.com/jelly) in [https://github.com/astral-sh/ruff/pull/6179](https://github.com/astral-sh/ruff/pull/6179) - \[`refurb`] New rule `no-slice-copy` (`FURB145`) by [@​tjkuson](https://github.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7007](https://github.com/astral-sh/ruff/pull/7007) - Add warnings for nursery and preview rule selection by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7210](https://github.com/astral-sh/ruff/pull/7210) - Remove the `PREVIEW` rule selector by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7389](https://github.com/astral-sh/ruff/pull/7389) - [`pre-commit` support](https://github.com/astral-sh/ruff-pre-commit#using-ruffs-formatter-unstable) for the [alpha formatter](https://github.com/astral-sh/ruff/discussions/7310) by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff-pre-commit/pull/50](https://github.com/astral-sh/ruff-pre-commit/pull/50) #### New Contributors - [@​nathanwhit](https://github.com/nathanwhit) made their first contribution in [https://github.com/astral-sh/ruff/pull/6749](https://github.com/astral-sh/ruff/pull/6749) **Full Changelog**: astral-sh/ruff@v0.0.289...v0.0.290 ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.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://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.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://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 ### [`v0.0.287`](https://github.com/astral-sh/ruff/releases/tag/v0.0.287) [Compare Source](https://github.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://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://github.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://github.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://github.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://github.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://github.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://github.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://github.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://github.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://github.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://github.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://github.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://github.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://github.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://github.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://github.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://github.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://github.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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/fulcrum-so/ziggy-pydust-template). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Using code location when creating hash for Gitlab fingerprints makes the codequality reports in Gitlab very unstable. Any change of position would trigger both a "fixed" message, and a "new problem detected" message in Gitlab, making it very noisy.
Summary
Do not use code location for Gitlab fingerprints.
Using code location when creating hash for Gitlab fingerprints
makes the codequality reports in Gitlab very unstable.
Any change of position would trigger both a "fixed" message, and
a "new problem detected" message in Gitlab, making it very noisy.
Test Plan
By running
RUFF_UPDATE_SCHEMA=1 cargo test
Also, ran
cargo run -p ruff_cli -- /path/to/pyfile --no-cache --format gitlab
before and after moving adding new lines, and observed that fingerprints in report did not change.Close #7159