← Back to issue list

chore(deps): update dependency lint/ruff to v0.0.284

View original Github issue

Metadata

Project
starbase
Number
#119
Type
pull request
State
merged
Author
renovate[bot]
Labels
Created
Updated
Closed

Current evaluation

Automated dependency update merging lint/ruff v0.0.284, replacing v0.0.272. Approved by reviewers, passed CI checks, and successfully merged into main with no coverage impact.

Suggested action:

No scores available.

Issue body

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [lint/ruff](https://beta.ruff.rs/docs) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.272` -> `==0.0.284` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/lint%2fruff/0.0.284?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/lint%2fruff/0.0.284?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/lint%2fruff/0.0.272/0.0.284?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/lint%2fruff/0.0.272/0.0.284?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (lint/ruff)</summary> ### [`v0.0.284`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.284) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.283...v0.0.284) #### What's Changed This release fixes a few bugs, notably the previous release announced a breaking change where the default target Python version changed from 3.10 to 3.8 but the change was not applied. Thanks to [@&#8203;rco-ableton](https://togithub.com/rco-ableton) for fixing this in [https://github.com/astral-sh/ruff/pull/6444](https://togithub.com/astral-sh/ruff/pull/6444) ##### Bug Fixes - Do not trigger `S108` if path is inside `tempfile.*` call by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6416](https://togithub.com/astral-sh/ruff/pull/6416) - Do not allow on zero tab width by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6429](https://togithub.com/astral-sh/ruff/pull/6429) - Fix false-positive in submodule resolution by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6435](https://togithub.com/astral-sh/ruff/pull/6435) #### New Contributors - [@&#8203;rco-ableton](https://togithub.com/rco-ableton) made their first contribution in [https://github.com/astral-sh/ruff/pull/6444](https://togithub.com/astral-sh/ruff/pull/6444) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.283...v0.0.284 ### [`v0.0.283`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.283) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.282...v0.0.283) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Assume Python 3.8 instead of 3.10 for target version by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6397](https://togithub.com/astral-sh/ruff/pull/6397) ##### Rules - \[`flake8-pyi`] `PYI019`: Detects if a type variable is used instead of `Self` in return annotations by [@&#8203;qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6204](https://togithub.com/astral-sh/ruff/pull/6204) - \[`flake8-pyi`] `PYI051`: Detects unions of `Literal` types by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6215](https://togithub.com/astral-sh/ruff/pull/6215) - \[`flake8-pyi`] `PYI055`: Detects unions of `type`s by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6316](https://togithub.com/astral-sh/ruff/pull/6316) - \[`pylint`] `E1300`: Detects invalid string format characters by [@&#8203;silvanocerza](https://togithub.com/silvanocerza) in [https://github.com/astral-sh/ruff/pull/6171](https://togithub.com/astral-sh/ruff/pull/6171) - \[`pyupgrade`] `UP040`: Upgrades type alias annotations to use PEP-695 syntax by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6289](https://togithub.com/astral-sh/ruff/pull/6289) ##### Rule Changes - \[`flake8-boolean-trap`] `FBT003`: Add `is_` and `is_not` to excluded functions by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6307](https://togithub.com/astral-sh/ruff/pull/6307) - \[`flake8-logging-format`] Allow capitalized names for logger candidate heuristic match by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6356](https://togithub.com/astral-sh/ruff/pull/6356) - \[`flake8-pyi`] Applicable rules are now checked non-stub code by [@&#8203;andersk](https://togithub.com/andersk) in [https://github.com/astral-sh/ruff/pull/6297](https://togithub.com/astral-sh/ruff/pull/6297) - `PYI013`: [`ellipsis-in-non-empty-class-body`](https://beta.ruff.rs/docs/rules/ellipsis-in-non-empty-class-body) - `PYI016`: [`duplicate-union-member`](https://beta.ruff.rs/docs/rules/duplicate-union-member) - `PYI018`: [`unused-private-type-var`](https://beta.ruff.rs/docs/rules/unused-private-type-var) - `PYI019`: [`custom-type-var-return-type`](https://beta.ruff.rs/docs/rules/custom-type-var-return-type) - `PYI024`: [`collections-named-tuple`](https://beta.ruff.rs/docs/rules/collections-named-tuple) - `PYI025`: [`unaliased-collections-abc-set-import`](https://beta.ruff.rs/docs/rules/unaliased-collections-abc-set-import) - `PYI030`: [`unnecessary-literal-union`](https://beta.ruff.rs/docs/rules/unnecessary-literal-union) - `PYI032`: [`any-eq-ne-annotation`](https://beta.ruff.rs/docs/rules/any-eq-ne-annotation) - `PYI034`: [`non-self-return-type`](https://beta.ruff.rs/docs/rules/non-self-return-type) - `PYI036`: [`bad-exit-annotation`](https://beta.ruff.rs/docs/rules/bad-exit-annotation) - `PYI041`: [`redundant-numeric-union`](https://beta.ruff.rs/docs/rules/redundant-numeric-union) - `PYI042`: [`snake-case-type-alias`](https://beta.ruff.rs/docs/rules/snake-case-type-alias) - `PYI043`: [`t-suffixed-type-alias`](https://beta.ruff.rs/docs/rules/t-suffixed-type-alias) - `PYI045`: [`iter-method-return-iterable`](https://beta.ruff.rs/docs/rules/iter-method-return-iterable) - `PYI046`: [`unused-private-protocol`](https://beta.ruff.rs/docs/rules/unused-private-protocol) - `PYI047`: [`unused-private-type-alias`](https://beta.ruff.rs/docs/rules/unused-private-type-alias) - `PYI049`: [`unused-private-typed-dict`](https://beta.ruff.rs/docs/rules/unused-private-typed-dict) - `PYI050`: [`no-return-argument-annotation-in-stub`](https://beta.ruff.rs/docs/rules/no-return-argument-annotation-in-stub) (Python ≥ 3.11) - `PYI051`: [`redundant-literal-union`](https://beta.ruff.rs/docs/rules/redundant-literal-union) - `PYI056`: [`unsupported-method-call-on-all`](https://beta.ruff.rs/docs/rules/unsupported-method-call-on-all) - \[`flake8-pyi`] `PYI027` is being replaced by `PYI022` / `UP035` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6354](https://togithub.com/astral-sh/ruff/pull/6354) - \[`pydocstyle`] `D103`: Don't require docstrings in `.pyi` files by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6239](https://togithub.com/astral-sh/ruff/pull/6239) - \[`pydocstyle`] `D203`: Ignore same-line docstrings for lines-before and lines-after rules by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6344](https://togithub.com/astral-sh/ruff/pull/6344) - \[`pylint`] `PLE0605`: Allow generic tuple and list calls in `__all__` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6247](https://togithub.com/astral-sh/ruff/pull/6247) - \[`pylint`] `PLR0124`: Add detection of comparisons with built-in calls by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6324](https://togithub.com/astral-sh/ruff/pull/6324) - \[`pyupgrade`] `UP032`: Add support for `await` expressions in f-strings by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6304](https://togithub.com/astral-sh/ruff/pull/6304) - \[`pyupgrade`] `UP032`: Add support for implicitly concatenated strings by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6263](https://togithub.com/astral-sh/ruff/pull/6263) - \[`pyupgrade`] `UP032`: Add support for repeated format fields by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6266](https://togithub.com/astral-sh/ruff/pull/6266) - \[`ruff`] `RUF012`: Permit `ClassVar` and `Final` without subscript by [@&#8203;bluetech](https://togithub.com/bluetech) in [https://github.com/astral-sh/ruff/pull/6273](https://togithub.com/astral-sh/ruff/pull/6273) ##### Bug Fixes - \[`flake8-bugbear`] `B006`: Respect `typing_extensions` imports of `Annotated` by [@&#8203;PIG208](https://togithub.com/PIG208) in [https://github.com/astral-sh/ruff/pull/6361](https://togithub.com/astral-sh/ruff/pull/6361) - \[`flake8-pyi`] `PYI019`: Fix panic with positional-only arguments by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6350](https://togithub.com/astral-sh/ruff/pull/6350) - \[`flake8-use-pathlib`] Avoid raising `PTH206` with `maxsplit` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6283](https://togithub.com/astral-sh/ruff/pull/6283) - \[`flake8`] `F841`: Update autofix to not remove Jupyer magic expressions by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6141](https://togithub.com/astral-sh/ruff/pull/6141) - \[`pycodestyle`] `E721`: Include comparisons to builtin types by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6325](https://togithub.com/astral-sh/ruff/pull/6325) - \[`pycodestyle`] `E721`: Match left-hand side `types()` call in `types-comparison` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6326](https://togithub.com/astral-sh/ruff/pull/6326) - \[`pyupgrade`] `UP031`: Avoid auto-fixing if there are comments within the right-hand side by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6364](https://togithub.com/astral-sh/ruff/pull/6364) - \[`pyupgrade`] `UP032`: Avoid auto-fixing if comments are present around format call arguments by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6342](https://togithub.com/astral-sh/ruff/pull/6342) - \[`pyupgrade`] `UP032`: Improve invalid expression check by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6308](https://togithub.com/astral-sh/ruff/pull/6308) - Avoid attempting to fix `.format(...)` calls with too-few-arguments by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6401](https://togithub.com/astral-sh/ruff/pull/6401) - Fix bug where `.gitignore` files in parent directories were incorrectly used by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6368](https://togithub.com/astral-sh/ruff/pull/6368) - Fix duplicate violations raised on nested bitwise or `Union` expressions by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6399](https://togithub.com/astral-sh/ruff/pull/6399) ##### Playground - Add a simple tooltip to the sidebar by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6295](https://togithub.com/astral-sh/ruff/pull/6295) - Add an icon for FIR by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6292](https://togithub.com/astral-sh/ruff/pull/6292) - Increase icon opacity on-hover by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6291](https://togithub.com/astral-sh/ruff/pull/6291) - Tweak background on theme button by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6290](https://togithub.com/astral-sh/ruff/pull/6290) ##### Other Changes - Improve handling of violations around Jupyter magic expressions by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5552](https://togithub.com/astral-sh/ruff/pull/5552) - Reduce memory usage by boxing type params and arguments fields on the class definition node by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6275](https://togithub.com/astral-sh/ruff/pull/6275) - Upgrade Rust to 1.71 by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6323](https://togithub.com/astral-sh/ruff/pull/6323) #### New Contributors - [@&#8203;silvanocerza](https://togithub.com/silvanocerza) made their first contribution in [https://github.com/astral-sh/ruff/pull/6171](https://togithub.com/astral-sh/ruff/pull/6171) - [@&#8203;PIG208](https://togithub.com/PIG208) made their first contribution in [https://github.com/astral-sh/ruff/pull/6361](https://togithub.com/astral-sh/ruff/pull/6361) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.282...v0.0.283 ### [`v0.0.282`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.282) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.281...v0.0.282) <!-- Release notes generated using configuration in .github/release.yml at v0.0.282 --> #### What's Changed ##### Bug Fixes - Reset model state when exiting deferred visitors by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6208](https://togithub.com/astral-sh/ruff/pull/6208) - Skip trivia when searching for named exception by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6218](https://togithub.com/astral-sh/ruff/pull/6218) - Avoid PERF401 false positive on list access in loop by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6220](https://togithub.com/astral-sh/ruff/pull/6220) - Avoid detecting continuations at non-start-of-line by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6219](https://togithub.com/astral-sh/ruff/pull/6219) - Revert "Expand scope of `quoted-annotation` rule ([#&#8203;5766](https://togithub.com/astral-sh/ruff/issues/5766))" by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6237](https://togithub.com/astral-sh/ruff/pull/6237) #### New Contributors - [@&#8203;klistwan](https://togithub.com/klistwan) made their first contribution in [https://github.com/astral-sh/ruff/pull/6146](https://togithub.com/astral-sh/ruff/pull/6146) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.281...v0.0.282 ### [`v0.0.281`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.281) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.280...v0.0.281) <!-- Release notes generated using configuration in .github/release.yml at v0.0.281 --> #### What's Changed See the [release blog post](https://astral.sh/blog/ruff-v0.0.281) for more, including detailed descriptions of any newly added rules. ##### New rules - \[`flake8-pyi`] Implement `PYI018` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6018](https://togithub.com/astral-sh/ruff/pull/6018) - \[`flake8-pyi`] Implement `PYI047` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6134](https://togithub.com/astral-sh/ruff/pull/6134) - \[`flake8-pyi`] Implement `PYI049` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6136](https://togithub.com/astral-sh/ruff/pull/6136) - \[`flake8-pyi`] Implement `PYI056` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/5959](https://togithub.com/astral-sh/ruff/pull/5959) - \[`flake8-pyi`] Implement `PYI046` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6098](https://togithub.com/astral-sh/ruff/pull/6098) - \[`flake8-use-pathlib`] Implement `glob` (`PTH207`) by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5939](https://togithub.com/astral-sh/ruff/pull/5939) - \[`flake8-use-pathlib`] Implement `os-sep-split` (`PTH206`) by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5936](https://togithub.com/astral-sh/ruff/pull/5936) - \[`pycodestyle`] Implement `E241` and `E242` (tab/multiple ws after commas) by [@&#8203;akx](https://togithub.com/akx) in [https://github.com/astral-sh/ruff/pull/6094](https://togithub.com/astral-sh/ruff/pull/6094) - \[`pylint`] Implement `self-assigning-variable` (`W0127`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6015](https://togithub.com/astral-sh/ruff/pull/6015) - \[`pylint`] Implement `eq-without-hash` rule (PLW1641) by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/astral-sh/ruff/pull/5955](https://togithub.com/astral-sh/ruff/pull/5955) - \[`pylint`] Implement `subprocess-popen-preexec-fn` (`W1509`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5978](https://togithub.com/astral-sh/ruff/pull/5978) ##### Rule changes - \[`flake8-bugbear`] Extends `B002` to detect unary prefix decrement operators by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5998](https://togithub.com/astral-sh/ruff/pull/5998) - \[`flake8-pytest-style`] Avoid raising PT012 for simple `with` statements by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6081](https://togithub.com/astral-sh/ruff/pull/6081) - \[`flake8-pytest-style`] Allow pytest.raises body to contain a single func or class definition by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6083](https://togithub.com/astral-sh/ruff/pull/6083) - \[`flake8-simplify`] Extend SIM118 with `not in` by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5995](https://togithub.com/astral-sh/ruff/pull/5995) - \[`perflint`] Skip `PERF203` violations for multi-statement loops by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6145](https://togithub.com/astral-sh/ruff/pull/6145) - \[`pyupgrade`] Add support for `int`, `float`, `bool` in `UP018` by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6013](https://togithub.com/astral-sh/ruff/pull/6013) - \[`tryceratops`] Add suggested fix for `TRY201` by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6008](https://togithub.com/astral-sh/ruff/pull/6008) ##### Settings - Allow specification of `logging.Logger` re-exports via `logger-objects` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5750](https://togithub.com/astral-sh/ruff/pull/5750) - Set default `max-complexity` to 10 for empty McCabe settings by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6073](https://togithub.com/astral-sh/ruff/pull/6073) - \[`pep8-naming`]: New config option `extend-ignore-names` by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6169](https://togithub.com/astral-sh/ruff/pull/6169) ##### Bug Fixes - Avoid raising `UP032` if `format` call arguments contain multiline expressions by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5971](https://togithub.com/astral-sh/ruff/pull/5971) - Fix `F507` false positive by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5986](https://togithub.com/astral-sh/ruff/pull/5986) - Fix logging rules with whitespace around dot by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6022](https://togithub.com/astral-sh/ruff/pull/6022) - Ignore end-of-line comments when dirtying if-with-same-arms branches by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6031](https://togithub.com/astral-sh/ruff/pull/6031) - Avoid treating `Literal` members as expressions with `__future__` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6032](https://togithub.com/astral-sh/ruff/pull/6032) - Avoid refactoring `x[:1]`-like slices in RUF015 by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6150](https://togithub.com/astral-sh/ruff/pull/6150) - Avoid key-in-dict violations for `self` accesses by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6165](https://togithub.com/astral-sh/ruff/pull/6165) - Avoid falsely marking non-submodules as submodule aliases by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6182](https://togithub.com/astral-sh/ruff/pull/6182) - Flag `[` as an invalid noqa suffix by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5982](https://togithub.com/astral-sh/ruff/pull/5982) - Ignore some common builtin overrides on standard library subclasses by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6074](https://togithub.com/astral-sh/ruff/pull/6074) - Avoid A003 violations for explicitly overridden methods by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6076](https://togithub.com/astral-sh/ruff/pull/6076) - Include file permissions in key for cached files by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/5901](https://togithub.com/astral-sh/ruff/pull/5901) - Ignore `explicit-string-concatenation` on single line by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6028](https://togithub.com/astral-sh/ruff/pull/6028) - Fix `SIM102` to handle indented `elif` by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6072](https://togithub.com/astral-sh/ruff/pull/6072) - Raise `PTH201` for `Path("")` by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6095](https://togithub.com/astral-sh/ruff/pull/6095) - Update `SIM115` to cover `pathlib.Path.open` by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/611](https://togithub.com/astral-sh/ruff/pull/611) - Ignore end-of-line file exemption comments by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6160](https://togithub.com/astral-sh/ruff/pull/6160) - Implement `--diff` for Jupyter Notebooks by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6149](https://togithub.com/astral-sh/ruff/pull/6149) - Skip BOM when determining Locator's line starts by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6159](https://togithub.com/astral-sh/ruff/pull/6159) - Avoid parenthesizing comprehension element by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6198](https://togithub.com/astral-sh/ruff/pull/6198) - Do not raise `SIM105` for non-exceptions by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5985](https://togithub.com/astral-sh/ruff/pull/5985) #### New Contributors - [@&#8203;AlexWaygood](https://togithub.com/AlexWaygood) made their first contribution in [https://github.com/astral-sh/ruff/pull/5973](https://togithub.com/astral-sh/ruff/pull/5973) - [@&#8203;RMPR](https://togithub.com/RMPR) made their first contribution in [https://github.com/astral-sh/ruff/pull/6048](https://togithub.com/astral-sh/ruff/pull/6048) - [@&#8203;arembridge](https://togithub.com/arembridge) made their first contribution in [https://github.com/astral-sh/ruff/pull/6079](https://togithub.com/astral-sh/ruff/pull/6079) - [@&#8203;Eutropios](https://togithub.com/Eutropios) made their first contribution in [https://github.com/astral-sh/ruff/pull/6082](https://togithub.com/astral-sh/ruff/pull/6082) - [@&#8203;jelly](https://togithub.com/jelly) made their first contribution in [https://github.com/astral-sh/ruff/pull/5955](https://togithub.com/astral-sh/ruff/pull/5955) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.280...v0.0.281 ### [`v0.0.280`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.280) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.279...v0.0.280) <!-- Release notes generated using configuration in .github/release.yml at v0.0.280 --> #### What's Changed ##### Bug Fixes - Avoid collapsing `elif` and `else` branches during import sorting by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5964](https://togithub.com/astral-sh/ruff/pull/5964) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.279...v0.0.280 ### [`v0.0.279`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.279) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.278...v0.0.279) <!-- Release notes generated using configuration in .github/release.yml at v0.0.279 --> #### What's Changed ##### Rules - \[`flake8-pyi`] Implement flake8-pyi's PYI026 by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/5844](https://togithub.com/astral-sh/ruff/pull/5844) - \[`flake8-pyi`] Implement flake8-pyi's `PYI017` by [@&#8203;qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/5895](https://togithub.com/astral-sh/ruff/pull/5895) - \[`flake8-pyi`] Implement flake8-pyi's `PYI036` by [@&#8203;density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/5668](https://togithub.com/astral-sh/ruff/pull/5668) - \[`flake8-pyi`] Implement flake8-pyi's `PYI041` by [@&#8203;density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/5722](https://togithub.com/astral-sh/ruff/pull/5722) - \[`flake8-use-pathlib`] Implement `os-path-getsize` and `os-path-get(a|m|c)-time` (`PTH202-205`) by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5835](https://togithub.com/astral-sh/ruff/pull/5835) - \[`flake8-use-pathlib`] Implement `path-constructor-default-argument` (`PTH201`) by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5833](https://togithub.com/astral-sh/ruff/pull/5833) - \[`pandas-vet`] Implement constant series rule (`PD101`) by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5802](https://togithub.com/astral-sh/ruff/pull/5802) - \[`pylint`] Implement Pylint's `consider-using-in` (`PLR1714`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5193](https://togithub.com/astral-sh/ruff/pull/5193) ##### Rule changes - \[`flake8-annotations`] Check for `Any` in other types for `ANN401` by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5601](https://togithub.com/astral-sh/ruff/pull/5601) - \[`flake8-bugbear`] Add autofix for B004 by [@&#8203;density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/5788](https://togithub.com/astral-sh/ruff/pull/5788) - \[`flake8-bugbear`] Remove `B904`'s lowercase exemption by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5751](https://togithub.com/astral-sh/ruff/pull/5751) - \[`flake8-use-pathlib`] extend PTH118 with `os.sep` by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5935](https://togithub.com/astral-sh/ruff/pull/5935) - \[`pyupgrade`] Expand scope of `quoted-annotation` rule (`UP037`) by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5766](https://togithub.com/astral-sh/ruff/pull/5766) - \[`pyupgrade`] Extend PEP 604 rewrites to support some quoted annotations by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5725](https://togithub.com/astral-sh/ruff/pull/5725) - \[`ruff`] Expand `RUF015` to include all expression types by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5767](https://togithub.com/astral-sh/ruff/pull/5767) ##### Bug Fixes - Consider single element subscript expr for implicit optional by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5717](https://togithub.com/astral-sh/ruff/pull/5717) - Ignore `Enum`-and-`str` subclasses for slots enforcement by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5749](https://togithub.com/astral-sh/ruff/pull/5749) - Avoid removing raw strings in comparison fixes by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5755](https://togithub.com/astral-sh/ruff/pull/5755) - Fix nested calls to `sorted` with differing arguments by [@&#8203;density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/5761](https://togithub.com/astral-sh/ruff/pull/5761) - Use unused variable detection to power `incorrect-dict-iterator` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5763](https://togithub.com/astral-sh/ruff/pull/5763) - Include alias when formatting import-from structs by [@&#8203;guillaumeLepape](https://togithub.com/guillaumeLepape) in [https://github.com/astral-sh/ruff/pull/5786](https://togithub.com/astral-sh/ruff/pull/5786) - Make `lint_only` aware of the source kind by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5876](https://togithub.com/astral-sh/ruff/pull/5876) - Restore `redefined-while-unused` violations in classes by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5926](https://togithub.com/astral-sh/ruff/pull/5926) - Flatten nested tuples when fixing UP007 violations by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5724](https://togithub.com/astral-sh/ruff/pull/5724) - Ignore Jupyter Notebooks for `--add-noqa` by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5727](https://togithub.com/astral-sh/ruff/pull/5727) - Avoid checking `EXE001` and `EXE002` on WSL by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5735](https://togithub.com/astral-sh/ruff/pull/5735) - Properly group assignment targets by [@&#8203;MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/5728](https://togithub.com/astral-sh/ruff/pull/5728) - Avoid stack overflow for non-BitOr binary types by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5743](https://togithub.com/astral-sh/ruff/pull/5743) - Move function visit out of `Expr::Call` branches by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5772](https://togithub.com/astral-sh/ruff/pull/5772) - \[B006] Add bytes to immutable types by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5776](https://togithub.com/astral-sh/ruff/pull/5776) - Format `SetComp` by [@&#8203;lkh42t](https://togithub.com/lkh42t) in [https://github.com/astral-sh/ruff/pull/5774](https://togithub.com/astral-sh/ruff/pull/5774) - Gate `runtime-import-in-type-checking-block` (`TCH004`) behind enabled flag by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5789](https://togithub.com/astral-sh/ruff/pull/5789) - perf: only compute start offset for overlong lines by [@&#8203;sbrugman](https://togithub.com/sbrugman) in [https://github.com/astral-sh/ruff/pull/5811](https://togithub.com/astral-sh/ruff/pull/5811) - Change `pandas-use-of-dot-read-table` rule to emit only when `read_table` is used on CSV data by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5807](https://togithub.com/astral-sh/ruff/pull/5807) - Do not fix `NamedTuple` calls containing both a list of fields and keywords by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5799](https://togithub.com/astral-sh/ruff/pull/5799) - Ignore directories when collecting files to lint by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5775](https://togithub.com/astral-sh/ruff/pull/5775) - Add filename to `noqa` warnings by [@&#8203;sobolevn](https://togithub.com/sobolevn) in [https://github.com/astral-sh/ruff/pull/5856](https://togithub.com/astral-sh/ruff/pull/5856) - Handle io errors gracefully by [@&#8203;konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/5611](https://togithub.com/astral-sh/ruff/pull/5611) - Allow `respect_gitignore` when not in a git repo by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5937](https://togithub.com/astral-sh/ruff/pull/5937) #### New Contributors - [@&#8203;eggplants](https://togithub.com/eggplants) made their first contribution in [https://github.com/astral-sh/ruff/pull/5741](https://togithub.com/astral-sh/ruff/pull/5741) - [@&#8203;guillaumeLepape](https://togithub.com/guillaumeLepape) made their first contribution in [https://github.com/astral-sh/ruff/pull/5786](https://togithub.com/astral-sh/ruff/pull/5786) - [@&#8203;odiseo0](https://togithub.com/odiseo0) made their first contribution in [https://github.com/astral-sh/ruff/pull/5888](https://togithub.com/astral-sh/ruff/pull/5888) - [@&#8203;DavidCain](https://togithub.com/DavidCain) made their first contribution in [https://github.com/astral-sh/ruff/pull/5889](https://togithub.com/astral-sh/ruff/pull/5889) - [@&#8203;LaBatata101](https://togithub.com/LaBatata101) made their first contribution in [https://github.com/astral-sh/ruff/pull/5844](https://togithub.com/astral-sh/ruff/pull/5844) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.278...v0.0.279 ### [`v0.0.278`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.278) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.277...v0.0.278) <!-- Release notes generated using configuration in .github/release.yml at main --> See the [release blog post](https://astral.sh/blog/ruff-v0.0.278) for more, including detailed descriptions of any newly added rules. #### What's Changed ##### Rules - \[`pylint`] Implement `typevar-bivariance` (`PLC0131`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5517](https://togithub.com/astral-sh/ruff/pull/5517) - \[`flake8-pyi`] Implement `unnecessary-literal-union` (`PYI030`) by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/5570](https://togithub.com/astral-sh/ruff/pull/5570) - \[`pylint`] Implement `type-name-incorrect-variance` (`PLC0105`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5651](https://togithub.com/astral-sh/ruff/pull/5651) - \[`ruff`] Implement `unnecessary-list-allocation-for-first-element` (`RUF015`) by [@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/astral-sh/ruff/pull/5549](https://togithub.com/astral-sh/ruff/pull/5549) - \[`flake8-bugbear`] Implement `re-sub-positional-args` (`B034`) by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5669](https://togithub.com/astral-sh/ruff/pull/5669) - \[`ruff`] Implement `invalid-index-type` (`RUF016`) by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/5602](https://togithub.com/astral-sh/ruff/pull/5602) ##### Settings - \[`isort`] Add `--case-sensitive` flag by [@&#8203;qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/5539](https://togithub.com/astral-sh/ruff/pull/5539) - \[`isort`] Support globbing in `isort` options by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5473](https://togithub.com/astral-sh/ruff/pull/5473) ##### Bug Fixes - Support autofix for some multiline `str.format` calls by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5638](https://togithub.com/astral-sh/ruff/pull/5638) - Avoid triggering `unnecessary-map` (`C417`) for late-bound lambdas by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5520](https://togithub.com/astral-sh/ruff/pull/5520) - Avoid triggering DTZ001-006 when using `.astimezone()` by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5524](https://togithub.com/astral-sh/ruff/pull/5524) - Enable attribute lookups via semantic model by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5536](https://togithub.com/astral-sh/ruff/pull/5536) - Avoid syntax errors when rewriting str(dict) in f-strings by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5538](https://togithub.com/astral-sh/ruff/pull/5538) - Differentiate between runtime and typing-time annotations by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5575](https://togithub.com/astral-sh/ruff/pull/5575) - Only run pyproject.toml lint rules when enabled by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5578](https://togithub.com/astral-sh/ruff/pull/5578) - Refactor isort directive skips to use iterators by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5623](https://togithub.com/astral-sh/ruff/pull/5623) - Allow descriptor instantiations in dataclass fields by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5537](https://togithub.com/astral-sh/ruff/pull/5537) - Refactor `noqa` directive parsing away from regex-based implementation by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5554](https://togithub.com/astral-sh/ruff/pull/5554) - Emit warnings for invalid `# noqa` directives by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5571](https://togithub.com/astral-sh/ruff/pull/5571) - Support individual codes on `# flake8: noqa` directives by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5618](https://togithub.com/astral-sh/ruff/pull/5618) - Add `tkinter` import convention by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5626](https://togithub.com/astral-sh/ruff/pull/5626) - Avoid `PERF401` if conditional depends on list var by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5603](https://togithub.com/astral-sh/ruff/pull/5603) - Fix typo in complex-if-statement-in-stub message by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5635](https://togithub.com/astral-sh/ruff/pull/5635) - Make TRY301 trigger only if a `raise` throws a caught exception by [@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/astral-sh/ruff/pull/5455](https://togithub.com/astral-sh/ruff/pull/5455) - Skip flake8-future-annotations checks in stub files by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5652](https://togithub.com/astral-sh/ruff/pull/5652) - Always allow PEP 585 and PEP 604 rewrites in stub files by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5653](https://togithub.com/astral-sh/ruff/pull/5653) - Add support for `Union` declarations without `|` to PYI016 by [@&#8203;zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/5598](https://togithub.com/astral-sh/ruff/pull/5598) - Ignore `_name_` and `_value_` accesses in `flake8-self` rules by [@&#8203;monosans](https://togithub.com/monosans) in [https://github.com/astral-sh/ruff/pull/5663](https://togithub.com/astral-sh/ruff/pull/5663) - Refactor `repeated_keys()` to use `ComparableExpr` by [@&#8203;qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/5696](https://togithub.com/astral-sh/ruff/pull/5696) #### New Contributors - [@&#8203;karosis88](https://togithub.com/karosis88) made their first contribution in [https://github.com/astral-sh/ruff/pull/5560](https://togithub.com/astral-sh/ruff/pull/5560) - [@&#8203;petermattia](https://togithub.com/petermattia) made their first contribution in [https://github.com/astral-sh/ruff/pull/5579](https://togithub.com/astral-sh/ruff/pull/5579) - [@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos) made their first contribution in [https://github.com/astral-sh/ruff/pull/5607](https://togithub.com/astral-sh/ruff/pull/5607) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.277...v0.0.278 ### [`v0.0.277`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.277) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.276...v0.0.277) <!-- Release notes generated using configuration in .github/release.yml at v0.0.277 --> #### What's Changed ##### Breaking Changes - Add .ipynb_checkpoints, .pyenv, .pytest_cache, and .vscode to default excludes by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5513](https://togithub.com/astral-sh/ruff/pull/5513) ##### Rules - \[`pylint`] Implement Pylint `typevar-name-mismatch` (`C0132`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5501](https://togithub.com/astral-sh/ruff/pull/5501) ##### Settings - Add `ruff rule --all` subcommand (with JSON output) by [@&#8203;akx](https://togithub.com/akx) in [https://github.com/astral-sh/ruff/pull/5059](https://togithub.com/astral-sh/ruff/pull/5059) ##### Bug Fixes - Fix eval detection for suspicious-eval-usage by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5506](https://togithub.com/astral-sh/ruff/pull/5506) - Avoid PERF rules for iteration-dependent assignments by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5508](https://togithub.com/astral-sh/ruff/pull/5508) - Avoid returning first-match for rule prefixes by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5511](https://togithub.com/astral-sh/ruff/pull/5511) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.276...v0.0.277 ### [`v0.0.276`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.276) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.275...v0.0.276) <!-- Release notes generated using configuration in .github/release.yml at v0.0.276 --> See the [release blog post](https://astral.sh/blog/ruff-v0.0.276) for more, including detailed descriptions of any newly added rules. #### What's Changed Highlights include: experimental support for linting Jupyter Notebooks. To opt-in to linting Jupyter Notebook files, add the `*.ipynb` pattern to your [`include`](settings.md#include) setting, like so: ```toml [tool.ruff] ### Allow Ruff to discover `*.ipynb` files. include = ["*.py", "*.pyi", "**/pyproject.toml", "*.ipynb"] ``` This will prompt Ruff to discover Jupyter Notebook files in any specified directories, and lint them accordingly. Jupyter Notebook support is currently opt-in and experimental. We'd love your help testing it out. Have feedback? Run into issues? [Let us know!](https://togithub.com/astral-sh/ruff/issues/new) ##### New Rules - \[`flake8-pyi`] Implement `PYI002`, `PYI003`, `PYI004`, `PYI005` by [@&#8203;density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/5457](https://togithub.com/astral-sh/ruff/pull/5457) - \[`numpy`] Implement `numpy-deprecated-function` (`NPY003`) by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5468](https://togithub.com/astral-sh/ruff/pull/5468) - \[`perflint`] Implement `unnecessary-list-cast` (`PERF101`) by [@&#8203;qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/5121](https://togithub.com/astral-sh/ruff/pull/5121) - \[`perflint`] Implement `try-except-in-loop` (`PERF203`) by [@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/astral-sh/ruff/pull/5166](https://togithub.com/astral-sh/ruff/pull/5166) - \[`perflint`] Implement `manual-list-comprehension` (`PERF401`) and `manual-list-copy` (`PERF402`) rules by [@&#8203;qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/5298](https://togithub.com/astral-sh/ruff/pull/5298) - \[`pylint`] Implement Pylint `single-string-used-for-slots` (`C0205`) as `single-string-slots` (`PLC0205`) by [@&#8203;tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/5399](https://togithub.com/astral-sh/ruff/pull/5399) ##### Jupyter - Experimental release for Jupyter notebook integration by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5363](https://togithub.com/astral-sh/ruff/pull/5363) - Enable --watch for Jupyter notebooks by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5394](https://togithub.com/astral-sh/ruff/pull/5394) - Consider Jupyter index for code frames (`--show-source`) by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5402](https://togithub.com/astral-sh/ruff/pull/5402) - fixup! Consider Jupyter index for code frames (`--show-source`) ([#&#8203;5402](https://togithub.com/astral-sh/ruff/issues/5402)) by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5414](https://togithub.com/astral-sh/ruff/pull/5414) ##### Settings - \[`pyupgrade`] Restore the `keep-runtime-typing` setting by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5470](https://togithub.com/astral-sh/ruff/pull/5470) - Add `PythonVersion::Py312` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5316](https://togithub.com/astral-sh/ruff/pull/5316) ##### Bug Fixes - Support `pydantic.BaseSettings` in `mutable-class-default` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5312](https://togithub.com/astral-sh/ruff/pull/5312) - Allow `__slots__` assignments in `mutable-class-default` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5314](https://togithub.com/astral-sh/ruff/pull/5314) - Avoid syntax errors when removing f-string prefixes by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5319](https://togithub.com/astral-sh/ruff/pull/5319) - Ignore unpacking in `iteration-over-set` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5392](https://togithub.com/astral-sh/ruff/pull/5392) - Replace same length equal line with dash line in D407 by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5383](https://togithub.com/astral-sh/ruff/pull/5383) - Exclude docstrings from PYI053 by [@&#8203;intgr](https://togithub.com/intgr) in [https://github.com/astral-sh/ruff/pull/5405](https://togithub.com/astral-sh/ruff/pull/5405) - Use "manual" fixability for E731 in shadowed context by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5430](https://togithub.com/astral-sh/ruff/pull/5430) - Detect consecutive, non-newline-delimited NumPy sections by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5467](https://togithub.com/astral-sh/ruff/pull/5467) - Fix `unnecessary-encode-utf8` to fix `encode` on parenthesized strings correctly by [@&#8203;harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/5478](https://togithub.com/astral-sh/ruff/pull/5478) - Allow `Final` assignments in stubs by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5490](https://togithub.com/astral-sh/ruff/pull/5490) - Respect `abc` decorators when classifying function types by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5315](https://togithub.com/astral-sh/ruff/pull/5315) - Allow `@Author` format for "Missing Author" rule in `flake8-todos` by [@&#8203;mayrholu](https://togithub.com/mayrholu) in [https://github.com/astral-sh/ruff/pull/4903](https://togithub.com/astral-sh/ruff/pull/4903) - Ignore type aliases for RUF013 by [@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/5344](https://togithub.com/astral-sh/ruff/pull/5344) - Change W605 autofix to use raw strings if possible by [@&#8203;hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/5352](https://togithub.com/astral-sh/ruff/pull/5352) - Add space when migrating to raw string by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5358](https://togithub.com/astral-sh/ruff/pull/5358) - Update the `invalid-escape-sequence` rule by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5359](https://togithub.com/astral-sh/ruff/pull/5359) - Include BaseException in B017 rule by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5466](https://togithub.com/astral-sh/ruff/pull/5466) - \[`flake8-django`] Skip duplicate violations in `DJ012` by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5469](https://togithub.com/astral-sh/ruff/pull/5469) #### New Contributors - [@&#8203;mayrholu](https://togithub.com/mayrholu) made their first contribution in [https://github.com/astral-sh/ruff/pull/4903](https://togithub.com/astral-sh/ruff/pull/4903) - [@&#8203;hauntsaninja](https://togithub.com/hauntsaninja) made their first contribution in [https://github.com/astral-sh/ruff/pull/5352](https://togithub.com/astral-sh/ruff/pull/5352) - [@&#8203;ethunk](https://togithub.com/ethunk) made their first contribution in [https://github.com/astral-sh/ruff/pull/5397](https://togithub.com/astral-sh/ruff/pull/5397) - [@&#8203;LouisDISPA](https://togithub.com/LouisDISPA) made their first contribution in [https://github.com/astral-sh/ruff/pull/5475](https://togithub.com/astral-sh/ruff/pull/5475) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.275...v0.0.276 ### [`v0.0.275`](https://togithub.com/astral-sh/ruff/compare/v0.0.274...v0.0.275) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.274...v0.0.275) ### [`v0.0.274`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.274) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.273...v0.0.274) <!-- Release notes generated using configuration in .github/release.yml at v0.0.274 --> #### What's Changed Follow-up release to `v0.0.273` to fix a panic in cache accesses. ##### Bug Fixes - Use package roots rather than package members for cache initialization by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5233](https://togithub.com/astral-sh/ruff/pull/5233) - Avoid `.unwrap()` on cache access by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5229](https://togithub.com/astral-sh/ruff/pull/5229) - Revert change to `RUF010` to remove unnecessary `str` calls by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5232](https://togithub.com/astral-sh/ruff/pull/5232) - Avoid erroneous RUF013 violations for quoted annotations by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/5234](https://togithub.com/astral-sh/ruff/pull/5234) **Full Changelog**: https://github.com/astral-sh/ruff/compare/v0.0.273...v0.0.274 ### [`v0.0.273`](https://togithub.com/astral-sh/ruff/compare/v0.0.272...v0.0.273) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.272...v0.0.273) </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/starbase). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Automated dependency update merging lint/ruff v0.0.284, replacing v0.0.272. Approved by reviewers, passed CI checks, and successfully merged into main with no coverage impact.
qwen3.6-35b-a3b-mtp-q6 Merged automated dependency update for lint/ruff from v0.0.272 to v0.0.284 via Renovate bot. The change passed CI, maintained 100% test coverage, and was integrated into main without conflicts.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#91 chore(deps): update dependency lint/ruff to v0.0.272 starbase merged Merged automated dependency update for lint/ruff from v0.0.269 to v0.0.272. Approved by a reviewer, passed CI checks, and merged without coverage changes.
98%
#130 chore(deps): update dependency lint/ruff to v0.0.290 starbase merged Merged automated dependency update upgrading lint/ruff from v0.0.285 to v0.0.290. Approved by one reviewer, passed CI checks, and maintained 100% code coverage.
97%
#131 chore(deps): update dependency lint/ruff to v0.0.291 starbase merged Successfully merged an automated dependency update that upgraded lint/ruff from v0.0.290 to v0.0.291. The change received reviewer approval, passed all CI checks, and was integrated into the main branch.
97%
#230 chore(deps): update dependency lint/ruff to v0.1.15 craft-cli merged Merged automated dependency update upgrading lint/ruff from v0.1.14 to v0.1.15. Approved by two reviewers, passed CI checks, and maintained 94.81% test coverage across a single file change.
96%
#214 chore(deps): update dependency lint/ruff to v0.1.7 craft-cli merged Merged an automated dependency update upgrading lint/ruff from v0.1.6 to v0.1.7. Approved by two reviewers, passed CI checks, maintained 94.77% test coverage, and modified a single file before final merge.
96%
#165 chore(deps): update dependency lint/ruff to v0.1.7 craft-application merged Merged an automated dependency update for lint/ruff from v0.1.6 to v0.1.7. Approved by two reviewers, passed CI checks, and successfully integrated into the main branch.
96%
#109 chore(deps): update dependency lint/ruff to v0.4.7 craft-archives merged Automated dependency update for lint/ruff to v0.4.7 passed CI checks and code coverage validation, then was successfully merged into the main branch.
96%
#181 chore(deps): update dependency lint/ruff to v0.1.14 craft-application merged Merged an automated dependency update upgrading lint/ruff from v0.1.11 to v0.1.14. The change passed CI, received approvals, and maintained 99.29% test coverage.
96%
#129 chore(deps): update dependency lint/ruff to v0.1.2 craft-application merged Dependency update for lint/ruff from v0.1.1 to v0.1.2 was approved by two reviewers, passed CI checks, and successfully merged.
96%
#142 chore(deps): update dependency lint/ruff to v0.1.1 starbase merged Merged automated dependency update upgrading lint/ruff from v0.1.0 to v0.1.1. Approved by reviewer, passed CI checks, and successfully merged into main with a single line change.
96%